viernes, 17 de julio de 2020

FASES DE UN PROGRAMA "Holamundo.java"

A continuación se explicará las fases por las que pasa un programa en java, desde la cabeza del programador, hasta la ejecución en un sistema.  Esta explicación estará basada en un ejemplo similar que propone Deitel en su libro “How to program in Java”.

Las fases de un programa en java son las siguientes:

  • Fase de Creación o Edición
  • Fase de Compilación
  • Fase de Carga del programa en memoria
  • Fase de Verificación de Bytecodes
  • Fase de Ejecución

1.     Fase de creación o edición

Lo primero que hace un programador una vez que ya tiene en mente la aplicación que desea desarrollar es empezar a escribir el código. Esto es lo que se conoce como fase de edición y el resultado de la misma es el código fuente.

Podemos escribir un programa en java usando algo tan simple como el editor de texto en Windows; vi, vim o gedit en GNU/linux; o bien podemos usar una herramienta más orientada al desarrollo, o sea una IDE, como puede ser Eclipse, Netbeans, Sublime, entre otras.

El archivo que contiene el código fuente de un programa en java tendrá la extensión .java.

Un ejemplo simple de una aplicación que imprima algo en consola es la siguiente:

El nombre del archivo .java debe coincidir con el nombre de la clase (class), en este caso Holamundo.java

2.     Fase de compilación

Una vez el programador baja su idea a un código fuente, es hora de compilar el mismo. Este proceso convierte nuestro código fuente en códigos de bytes que más tarde serán interpretados por la JVM.

A diferencia de muchos otros lenguajes, los códigos de bytes compilados, pueden ejecutarse en cualquier sistema (Linux, Windows, MacOS, etc) que tenga la JVM correspondiente. Esto les da la característica de portabilidad a los mismos, lo cual es uno de los puntos fuertes de java.

Para compilar el código fuente, puede hacerse a través de IDE o por consola, con el comando javac (java compiler). Para el ejemplo sería:

javac Holamundo.java

Si todo va bien, la salida de esto es un archivo Holamundo.class, el cual contiene los bytecodes de la aplicación.

3.     Fase de Carga del programa en memoria

Cuando se ejecuta el programa en java con el comando java, entra en juego un componente llamado cargador de clases. Este, carga las clases dinámicamente en la JVM. Cabe recordar que la JVM es como una especie de computadora virtual. Lo primero que hará el cargador de clases es intentar cargar nuestro .class en memoria e ir cargando todos los .class a los que el programa (en el ejemplo Holamundo.class) haga referencia. Las clases a las que la aplicación haga referencia pueden encontrarse localmente en el disco duro o bien remotamente.

Todas las JVMs incluyen un cargador de clases, el cual es conocido como cargador de clases primordial.

4.     Fase de Verificación de Bytecodes

A fin de asegurar que no se violan restricciones de seguridad, a medida que se van cargando las clases en memoria, el verificador de bytecodes examina los bytecodes para asegurar que sean válidos. Esto se realiza por que el sistema Java run-time no confía en el código que se está cargando.

Se realizan pruebas tales como que el formato del fragmento de código sea el correcto, así como también:

  • Que no se forjen punteros
  • Que no haya violaciones de acceso a la memoria
  • Que los objetos sean accedidos por lo que son (Por ejemplo, que un objeto System siempre sea usado como System y nada más)

5.     Fase de Ejecución

Esta es la fase donde la JVM ejecuta las acciones especificadas por los bytecodes cargados en su memoria.

Los archivos .class se cargan en la memoria virtual y es la máquina virtual la que se encarga de traducir estas instrucciones que ella puede entender a instrucciones que entiende el Sistema Operativo y hardware subyacente.

Como se observa en la imagen, la JVM actúa como una capa intermedia entre su lenguaje “máquina” (entendible por la JVM) y el sistema subyacente. Esto hace que el código compilado sea independiente de la plataforma en la cual se va a ejecutar.

A fin de ganar eficiencia en el proceso de interpretar el código que la JVM puede entender a código que sea entendible por la computadora, las JVMs actuales utilizan una técnica conocida como compilación Just in Time o JIT (También se lo conoce como HotSpot compiler). Cuando se detecta que hay bytecodes que se ejecutan con frecuencia el compilador JIT los traduce a lenguaje de máquina, con lo cual la próxima vez que la JVM encuentre estos bytecodes los ejecutará directamente sin necesidad de pasar por el proceso de interpretación, sumando eficiencia a la ejecución del programa en java.

Referencias

  • Deitel, H. M. (2005). Java How to Program in Java. Prentice-Hall.

  • Osorio, V. (23 de Agosto de 2010). Lo Que Andabas Buscando. Recuperado el 15 de Julio de 2020, de http://virginia-ingsystem10.blogspot.com/2010/08/proceso-de-compilacion-en-java.html

  • SITEOWNER. (18 de Julio de 2015). KNOW DIMENSION. Recuperado el 16 de Julio de 2020, de http://knowdimension.com/blog/lenguajes/programando-en-java-de-la-escritura-a-la-ejecucion/#:~:text=Las%20fases%20de%20un%20programa,Carga%20del%20programa%20en%20memoria

  • Un Aprendiz De Programación. (2012). Obtenido de http://unaprendizprogramacion.blogspot.com/2015/08/fases-de-un-programa-en-java.html

 

 

 

 

 

 


sábado, 1 de septiembre de 2018

EL GRAN MISTERIO DE LAS MATEMÁTICAS

ANÁLISIS: “ EL GRAN MISTERIO DE LAS MATEMÁTICAS”

Desde la antigüedad hasta el día de hoy las matemáticas han sido estudiadas por muchos personajes como  Pitágoras, Platón, Arquímedes, Kepler, Fermat, Descartes, Galileo, Newton, Einstein entre otros, que han logrado encontrar en ellas muchas respuestas para poder explicar las diferentes hipótesis sobre los fenómenos presentes en la naturaleza. El hombre se ha servido de las matemáticas, los números y el álgebra para explorar el mundo físico y comprender las reglas de la naturaleza que nos rodea. Las matemáticas también nos han permitido llevar a cabo grandes hazañas tecnológicas y descubrimientos científicos como: el descifrado de las órbitas de los planetas, el descubrimiento del Boson de Higgs, e aterrizaje del Curiosity en Marte, los teoremas y las ecuaciones matemáticas de Pitágoras, la ley de gravitación universal de Newton, el misterioso número Pi, etc. Teorías científicas consideradas la clave del Universo. 

Las matemáticas rigen a todo el mundo y universo, ya que las matemáticas han logrado descubrir de una manera perfecta al mundo natural y gran parte del universo. Pero si las matemáticas rigen el mundo natural entonces ¿las matemáticas forman parte del universo y se descubrieron o son una invención del cerebro?. Es muy claro que, hacer converger a un solo punto este interrogante, de si la matemáticas son o se hace está muy distante, y diría yo, lejos de llegar a ser una verdad absoluta, es que las matemáticas son una relación entre lo que se inventa y se descubre, Todo tiene un principio y una estructura lógica que me permite crear, luego formalizarlo y luego volverlo general, esto hace las matemáticas: descubrir-inventar, estructurar, formalizar, demostrar y generalizar. Para mí hay partes de las matemáticas inventadas y parte de las matemáticas descubiertas y una lleva a la otra.

Las matemáticas es la base de ingeniería de sistemas, estas nos permitirá programar, diseñar, solucionar diferentes problemas utilizando teoremas, formulas, etc.

REFERENCIAS
1.    Docutami (Dirección). (2017). El Gran Misterio de las Matemáticas - Documental - Ciencia. Obtenido de https://www.youtube.com/watch?v=OJRDM9wn-9U&t=4s


miércoles, 29 de agosto de 2018

COMO EL CLIMA DETERMINO LA HISTORIA


ANÁLISIS: "COMO EL CLIMA DETERMINO LA HISTORIA"

Los diversos cambios climáticos jugaron un papel muy importante en la evolución humana. Todos los cambios climáticos obligaron a los seres vivos y en especial a los humanos a adaptarse, desarrollar habilidades y evolucionar ante circunstancias cambiantes. Las especies que no lograban adaptarse se extinguían y daban paso a otros seres más adaptables para que ocupasen su habitad. 
El clima por naturaleza es cambiante. En donde las condiciones climáticas favorables permitían que los seres lleguen a adaptarse y sobrevivir con los recursos que existiesen; así como también daba la posibilidad de formar grandes imperios, promover el comercio, prosperidad y logros artísticos. En cambio en las condiciones climáticas adversas pocos seres podían adaptarse así como por ejemplo el Hombre Neandertal tenían la anatomía perfecta como para poder vivir en la edad de hielo, pero como su dieta era consumir grandes cantidades de carne, un repentino caos climático, empezó a desaparecer a los animales y como seguido a estos hombres porque ya no tenían recursos para llevar una alimentación. Las condiciones climáticas adversas provocaba la escasez de recursos en las civilizaciones, lo cual conllevaba a guerras y otras catástrofes humanas. 
La ingeniería puede ser entendida "como el arte de dirigir la mayor parte de las fuentes de energía de la naturaleza para el uso y la conveniencia del hombre". La evolución fue importante para la carrera de ingeniería de sistema, al estar en este mundo tan cambiante, los humanos tuvieron la necesidad de adaptarse, lo cual impulso a que se innovara, desarrollar sistemas que beneficien a los humanos para una mejor adaptación y sobrevivencia, lo cual indicaría que la evolución ya no sería a nivel físico-mental, ahora la evolución se centraría solo en la mental.
En estos tiempos, donde nosotros fuimos los causantes del calentamiento global, estamos tratando de controlar el clima de la Tierra.
La película “Geostorm: Esta sí es la tormenta perfecta” se puede ver una forma de control del clima a través del trabajo de las diferentes ingenierías, pero la que controla toda esa red son ingenieros de sistemas. La historia de la película dirigida por Dean Devlin, se ubica en un futuro no muy lejano en el que después de una serie de desastres naturales sin precedentes en el planeta Tierra, los líderes del mundo se unieron para crear una intrincada red de satélites que controlan el clima y así mantener la humanidad a salvo de catástrofes. Pero ahora algo ha fallado, y ese sistema construido para proteger la Tierra ahora está atacando el planeta.
El equipo que lucha contrareloj para resolver el fallo y salvar al mundo de la destrucción cuenta con: un científico llamado Jake que, junto con su hermano Max, tienen la difícil tarea de resolver el problema de funcionamiento del programa del satélite. (Devlin, 2017)

REFERENCIAS

1.    Devlin, D. (Dirección). (2017). Geostorm [Película].
2. DOCUMENTALIA (Dirección). (2016). Cómo el clima determinó la historia 1/2 [Documental]. Obtenido de https://www.youtube.com/watch?v=xbQ3jkfkeVw
3. DOCUMENTALIA (Dirección). (2016). Cómo el clima determinó la historia 2/2 [Documental]. Obtenido de https://www.youtube.com/watch?v=GwvXahCBp_4





FILOSOFÍA DE SISTEMAS

Según lo indicado por (Arnold Cathalifaud & Osorio, 1998) donde tuvo en cuenta la definición proporcionada por Bertalanffy, la filoso...