QUE ES LENGUAJE DE PROGRAMACION ?
Un lenguaje de programación es un lenguaje formal diseñado
para expresar procesos que
pueden ser llevados a cabo por máquinas como las computadoras.
Pueden usarse para crear programas que controlen el
comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo
de comunicación humana.1
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y
el significado de sus elementos y expresiones. Al proceso por el cual se
escribe, se prueba, se depura, se compila (de ser necesario) y se
mantiene el código fuente de un programa informático se le
llama programación.
También la palabra
programación se define como el proceso de creación de un programa de computadora,
mediante la aplicación de procedimientos lógicos, a través de los siguientes
pasos:
El desarrollo lógico del programa para
resolver un problema en particular.
Escritura de la lógica del programa
empleando un lenguaje de programación específico (codificación del programa).
Ensamblaje o compilación del programa hasta
convertirlo en lenguaje de máquina.
Desarrollo de la documentación.
JDK
Java Development Kit o
(), es un software que
provee herramientas de desarrollo para la creación
de programas en Java. Puede instalarse en una computadora local
o en una unidad de red.
En la unidad de red se
pueden tener las herramientas distribuidas en varias computadoras y trabajar
como una sola aplicación.
JDK en Windows
JAVAPATH: es una ruta
completa del directorio donde está instalado JDK.
PATH: variable donde
se agrega la ubicación de JDK.
Los programas más
importantes que se incluyen son:
appletviewer.exe: es
un visor de applets para generar sus vistas
previas, ya que un applet carece de método main y
no se puede ejecutar con el programa java.
javac.exe: es
el compilador de Java.
java.exe: es
el intérprete de Java.
javadoc.exe:
genera la documentación de las clases Java de un programa.
JRE
Java Runtime Environment o JRE es un conjunto de utilidades que
permite la ejecución de programas Java.
En su forma más
simple, el entorno en tiempo de ejecución de Java está conformado por una Máquina Virtual de Java o JVM, un
conjunto de bibliotecas Java y otros componentes necesarios para que una
aplicación escrita en lenguaje Java pueda ser ejecutada. El JRE actúa como un
"intermediario" entre el sistema operativo y Java.
La JVM es el programa
que ejecuta el código Java previamente compilado (bytecode) mientras que las
librerías de clases estándar son las que implementan el API de Java. Ambas JVM
y API deben ser consistentes entre sí, de ahí que sean distribuidas de modo
conjunto.
Un usuario sólo
necesita el JRE para ejecutar las aplicaciones desarrolladas en lenguaje Java,
mientras que para desarrollar nuevas aplicaciones en dicho lenguaje es
necesario un entorno de desarrollo, denominado JDK, que además del JRE (mínimo
imprescindible) incluye, entre otros, un compilador para
Java.
·
INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS
La programación
orientada a objetos es una “filosofía”, un modelo de programación,
Con su teoría y su
metodología, que conviene conocer y estudiar antes de nada. Un
Lenguaje orientado a
objetos es un lenguaje de programación que permite el diseño de
Aplicaciones
orientadas a objetos. Dicho esto, lo normal es que toda persona que vaya a
Desarrollar
aplicaciones orientadas a objetos aprenda primero la “filosofía” (o adquiera
La forma de pensar) y
después el lenguaje, porque “filosofía” sólo hay una y lenguajes
Muchos. En este
documento veremos brevemente los conceptos básicos de la
Programación orientada
a objetos desde un punto de vista global, sin particularizar para
Ningún lenguaje de
programación específico.
POO :
La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar
aplicaciones y programas informáticos. Está basado en varias técnicas,
incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento.
Su uso se popularizó a principios de la década de los años 1990. En la
actualidad, existe una gran variedad de lenguajes de programación que soportan
la orientación a objetos.
Eclipse
El entorno
de desarrollo Eclipse puede usarse para desarrollar código en cualquier lenguaje
de programación. Puede descargar el entorno y varios complementos
(plug-ins) de Java para desarrollar sus programas en Java.
NetBeans
NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de
módulos para extenderlo. NetBeans IDE1 es un producto libre
y gratuito sin restricciones de uso.
NetBeans es un proyecto de
código abierto de gran éxito con una gran base de usuarios, una comunidad en
constante crecimiento, y con cerca de 100 socios en todo el mundo. Sun
MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y
continúa siendo el patrocinador principal de los proyectos.
La plataforma NetBeans
permite que las aplicaciones sean desarrolladas a partir de un conjunto
de componentes de software llamados módulos. Un módulo es un
archivo Java que contiene clases de java escritas para interactuar con las APIs
de NetBeans y un archivo especial (manifest file) que lo identifica como
módulo. Las aplicaciones construidas a partir de módulos pueden ser extendidas
agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados
independientemente, las aplicaciones basadas en la plataforma NetBeans pueden
ser extendidas fácilmente por otros desarrolladores de software.
BlueJ:
una herramienta gratuita
diseñada para ayudar a enseñar Java orientado a objetos a los programadores
novatos.
es un entorno
integrado de desarrollo (de sus siglas en inglés IDE - Integrated Development Environment) para el
lenguaje de programación Java, desarrollado principalmente con propósitos
educacionales, pero también es adecuado para el desarrollo
de software a pequeña escala.
BlueJ fue desarrollado
para apoyar la enseñanza y el aprendizaje de la programación
orientada a objetos, y como resultado, su
diseño difiere de otros entornos de desarrollo.2 La pantalla principal muestra gráficamente la
estructura de clases de una aplicación en desarrollo (en un diagrama muy
parecido a UML), y los objetos pueden ser creados y
probados interactivamente. Combinado con una interfaz de usuario simple, esta
facilidad de interacción permite experimentar de manera fácil con los objetos en desarrollo. Los conceptos de la
orientación a objetos (clases, objetos, comunicación a través de llamadas
a métodos) son representadas visualmente en el diseño
de interacción en la interfaz.
jEdit
un editor de texto escrito en Java .
jEdit es un editor de texto libre, distribuido bajo los
términos de la Licencia pública general de GNU. Está escrito en Java y se ejecuta en Windows,GNU/Linux, Mac OS X y otros sistemas operativos que
dispongan de la máquina virtual Java.
JEdit dispone de docenas
de plugins para diferentes áreas de aplicaciones.
Soporta de forma nativa el resaltado
de sintaxis coloreado de la sintaxis
para más de 200 formatos
de fichero. También se puede incluir
nuevos formatos de forma manual utilizando ficheros XML. jEdit soporta UTF-8 y otros formatos de codificación del texto.
jEdit se puede
personalizar y extender con macros escritas en BeanShell, Jython, JavaScript y otros lenguajes
script.
Tiene amplio soporte de plegado de
código y capacidades de plegado
de texto, así como ajuste de texto con sangría.
Caracteristicas de java
La característica principal de
Javascript, de hecho, es la de ser un lenguaje de
scripting, pero, sobre todo, la de ser el lenguaje de scripting por
excelencia y, sin lugar a dudas, el más usado. Esta particularidad conlleva una
notable serie de ventajas y desventajas según el uso que se le deba dar y
teniendo en cuenta la relación que se establece entre el mecanismo
cliente-servidor. Para explicar con pocas palabras dicha relación, podemos
decir que el servidor envía los datos al cliente y estos datos pueden llegar en
en dos formatos diversos: en formato texto (o ASCII) o en formato binario (o código
máquina: Elcliente sabe cómo comprender sólo el formato binario (es decir, la secuencia de 1 y 0), por
lo que si los datos llegan en este formato son inmediatamente ejecutables (y,
por desgracia, no dejan abierta la posibilidad de efectuar controles), mientras
que si el formato es diverso tienen que ser interpretados y traducidos al
formato binario y, por tanto, el cliente necesitará un filtro, o mejor dicho,
un intérprete que sepa leer estos datos y los pueda traducir al binario. Los
datos en formato texto son visibles al usuario como simples combinaciones de
caracteres y de palabras y son, por tanto, fáciles de manipular, si bien
requieran más tiempo para su interpretación a causa de los distintos pasos y de
las transformaciones a las que deben someterse para que el cliente pueda
comprenderlos: Los datos en formato binario, sin embargo, son difíciles de
comprender por el usuario, pero inmediatamente ejecutables por el cliente ya
que no requieren fases intermedias.
Garbage Collection
Bueno,
cada vez que cree un objeto voy a tener memoria en uso, así podriamos llenar el
heap, incluso podríamos llegar a tener un OutOfMemoryException(cosa muy
rara, claro que pasaría si nos quedamos sin memoria, y si no la sabemos
utilizar, peor el asunto), para eso necesitamos borrar los objetos que no
tengan referencias, que queden perdidosen memoria, en el lenguaje
de programación C, la liberación de memoria va por parte del programador,
cuidando que objetos no se utilizan y eliminarlos manualmente, pero Java tiene
el Garbage Collector, que no es mas que un proceso de la JVM que está revisando
que objetos pueden ser borrados y cuales no.
¿Pero cómo
la JVM sabe que objetos deben borrarse? Sencillo, si los objetos están perdidos
en memoria, no tienen referencias, y por lo tanto no se pueden accesar, esos
son los candidatos a ser borrados, en la siguiente pasada del GC.
El GC es
un proceso de baja prioridad, por lo que no se pasa en todo momento liberando
memoria, si no que pasa de vez en cuando, que podría ser en un tiempo muerto
del procesador, aunque también nosotros podríamos sugerirle que
pase, pero va a pasar cuando pueda y quiera, un par de ejemplos de como
mandarlo llamar son estos.
Jit:
El compilador JIT convierte los
códigos de bytes en código máquina nativo. Este proceso de compilación se realiza sólo una
vez y se crea un vínculo entre el código de bytes y el correspondiente código
compilado.El propósito de este proceso es
aumentar la velocidad de ejecución de programas Java. Puede observar un incremento de la
velocidad de más de 50 veces cuando algunas funciones matemáticamente
intensivos se llevan a cabo.
Herencia
herencia es permitir la creación
de nuevas clases basadas en clases existentes.
La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona las clases de manera jerárquica; una clase padre o superclase sobre otras clases hijas o subclases.
La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona las clases de manera jerárquica; una clase padre o superclase sobre otras clases hijas o subclases.