Procesos de Edición Compilación y Enlazado
Procesos de Edición Compilación y Enlazado
Procesos de Edición Compilación y Enlazado
Compilación.
La compilación es el proceso de traducción de programas fuente a programas
objeto. El programa objeto obtenido de la compilación ha sido traducido
normalmente al código común del lenguaje de máquina.
Para conseguir el programa máquina real se debe utilizar un programa llamado
montador o enlazador (linker). El proceso de montaje conduce a un programa en
lenguaje máquina directamente ejecutable.
Ejecución.
El proceso de ejecución de un programa escrito en un lenguaje de programación y
mediante un compilador tiene los siguientes pasos:
1. Escritura del programa fuente con un editor (programa que permite a una
computadora actuar de modo similar a una máquina de escribir electrónica) y
guardarlo en un dispositivo de almacenamiento (por ejemplo, un disco).
Edición.
En programación, cuando se desarrolla un programa, en la fase de edición, el
programador debe convertir el algoritmo que haya diseñado en instrucciones
escritas en un lenguaje de programación específico. Para ello, se debe hacer uso
de un editor de textos, con el cual se obtendrá el llamado código fuente del
programa.
Diseño.
En el diseño de un programa tenemos diferentes pasos:
¿Qué es el enlace?
En programación, la fase de enlace sirve para unir el código objeto de varios
subprogramas por medio de un enlazador. Cuando se desarrolla un programa,
estos pueden utilizar subprogramas y, de cada uno de ellos, su código objeto debe
ser enlazado (unido) al código objeto del programa que los utilice. Esto se realiza
mediante un programa llamado enlazador, montador o linkador en la fase de
enlace.
Editores Java.
Eclipse.
Desarrollado originalmente por IBM, Eclipse es un IDE multiplataforma de código
abierto actualmente desarrollado por la fundación Eclipse. Actualiza su versión
cada año, siendo la más reciente la versión 4.6 (Neon). Con Eclipse podrá
desarrollar aplicaciones de escritorio, web y móviles. Además de Java, Eclipse
también soporta lenguajes como C, C++, JSP, perl y php gracias a la amplia
variedad de plugins disponibles. La Depuración de código es uno de los puntos
fuertes de Eclipse, con una perspectiva específica y vista de errores. Con una gran
comunidad detrás, Eclipse está disponible para Windows, Linux y Mac.
Ventajas:
Excelente gestión de Proyectos.
Soporte para plugins.
Opciones de personalización.
Permite la integración de soluciones de terceros.
Ofrece herramientas para repositorios y servidores.
Desventajas:
Mayor consumo de recursos.
Netbeans.
Desarrollado inicialmente por Sun Microsystem, y ahora propiedad de
Oracle, Netbeans es gratuito y de código abierto. Una de las ventajas de usar este
IDE es la facilidad con la que se pueden crear aplicaciones con interfaz gráfica
gracias a la función Drap and Drop. Con este IDE podremos desarrollar todo tipo
de aplicaciones Java como Web, J2SE, EJB y aplicaciones móviles. Soporta los
lenguajes de programación Java, C/C++, XML, HTML, PHP, Groovy, Javadoc,
JavaScript y JSP. Este IDE es ideal para los que recién empiezan en la
programación, aunque la facilidad con la que se pueden crear interfaces gráficas
puede hacernos dependientes de los botones arrastar y soltar, olvidándonos de la
programación en sí. El software está disponible para los Sistemas Windows, Linux
y Mac.
Ventajas:
Eficiente gestión de Proyectos.
Reutilización de Modulos.
Identifica y soluciona problemas de código comunes.
Librería visual de Netbeans.
Herramientas de desarrollo integrado.
Desventajas:
Genera código basura al usar los botones de arrastrar y soltar.
Las librerías y complementos hacen que sea “muy pesado”.
IntelliJ IDEA
Desarrollado por JetBrains, este IDE incluye una versión gratuita (Community) y
otra de pago (Ultimate) con algunas funciones adicionales. La versión Community
ofrece soporte para Java, Groovy, Kotlin, XML, JSON, YAML; mientras que la
versión Ultimate soporta lenguajes como JavaScrip, TypeScript, SQL, XSL, XPath,
además de los soportados en la versión Commnity. Algunos otros lenguajes como
Ruby, Phyton o PHP también son soportados por medio de plugins. Para un
programador Java, la versión Community puede ser suficiente; aunque si su
cometido es desarrollar proyectos profesionales o para empresas de gran tamaño,
deberá adquirir la versión de pago (por suscripción). El programa está disponible
para Windows, Linux y Mac.
Ventajas:
Herramientas de desarrollo.
Soporte de Frameworks.
Atajos de teclado.
Enfocado a proyectos complejos.
Soporte técnico (Solo para la versión de pago).
Desventajas:
Pagos de Suscripción mensual/anual para la versión Ultimate.
JCreator.
JCreator es el IDE Java Comercial y propiedad de Xinox Software. Ofrece dos
ediciones de pago: JCreator Lite con funciones más que suficientes para un
programador Java; y JCreator Pro con algunas funciones extra como CVS y el
Depurador JDK. A diferencia de otras aplicaciones para programar en java,
JCreator está escrito en C++, lo cual hace que sea más rápido que otros IDEs
escritos en Java. Cuando necesite compilar su aplicación, no es necesario
seleccionar el documento principal de su proyecto, JCreator lo detecta
automáticamente. El software está disponible solo para Windows.
Ventajas:
Gestión de proyectos.
Plantillas de proyecto.
Interfaz de depuración independiente.
Interfaz de usuario totalmente personalizable.
Desventajas:
No ofrece versiones gratuitas.
No es apto para desarrollar sistemas complejos de gran tamaño.
jGRASP.
jGRASP es el más ligero de las aplicaciones para programar en Java aquí
mencionados. El nombre de GRASP son las siglas de “Representaciones gráficas
de algoritmos, estructuras y procesos”. Ofrece funcionalidades básicas, por lo que
es ideal para estudiantes que recién empiezan a programar en Java. Proporciona
visualizaciones de software CSD, Diagramas de Clase UML, así como vistas
Dinámicas y vistas Canvas. Produce CSD (diagramas de estructuras de control)
para Java, Python, C , C ++, Objective-C, Ada y VHDL. Puede ejecutarse en
Sistemas con una máquina virtual Java instalada. Está disponible para Windows,
Mac y Linux.
Ventajas:
Entorno de desarrollo ligero.
Extremadamente fácil de usar.
Gestión de Proyectos para C, C ++, Objective-C, y Ada.
Desventajas:
Funcionalidades muy básicas.