Linguaxe Java
| Este artigo precisa dunha revisión ortográfica (recurso útil: corrector ortográfico en liña de galego). Pode axudarse do revisor ortográfico, activándoo en: Preferencias → Trebellos → Navegación → Colabore connosco neste artigo e noutros en condicións semellantes para que a Galipedia mellore e medre. |
| Paradigma: | Orientado a obxectos |
|---|---|
| Data: | 1990s |
| Deseñador: | Sun Microsystems |
| Última versión: | 6 |
| Tipo de dato: | Forte, Estático |
| Implementacións: | Numerosas |
| Influído por: | Objective-C, C++, Smalltalk, Eiffel |
| Influíu: | C#, J#, JavaScript |
| Sistema operativo: | Multiplataforma |
| Licenza de software: | GPL / Java Community Process |
| Web: | java.com |
Java é unha linguaxe de programación orientada a obxectos desenvolto por Sun Microsystems a principios dos anos noventa. A linguaxe Java toma moita da súa sintaxe da C e C++, pero ten un modelo de obxectos máis simple e elimina ferramentas de baixo nivel como punteiros.
As aplicacións Java están tipicamente compiladas nun bytecode, aínda que a compilación en código máquina nativo tamén é posible. No tempo de execución, o bytecode é normalmente interpretado ou compilado a código nativo para a execución, aínda que a execución directa por hardware do bytecode por un procesador Java tamén é posible.
A implementación orixinal e de referenza do compilador, a máquina virtual e as librerías de clases de Java foron desenvoltos por Sun Microsystems en 1995. Dende entón, Sun controlou as especificacións, o desenvolvemento e evolución da linguaxe a través do Java Community Process, aínda que outros desenvolveron tamén implementaciones alternativas destas tecnoloxías de Sun, algunhas ata baixo licenzas de software libre.
Entre novembro de 2006 e maio de 2007, Sun Microsystems liberou a maior parte das súas tecnoloxías Java baixo a licenza GNU GPL, de acordo coas especificaciones do Java Community Process, de tal forma que practicamente todo o Java de Sun é agora software libre (aínda que a biblioteca de clases de Sun que se require para executar os programas Java aínda non é software libre).
Índice |
Historia [editar]
Desenvolvida inicialmente por James Gosling na empresa Sun Microsystems. A linguaxe chamaba-se ao comezo Oak (carballo), e tentaba substituír ao C++. Hoxe en día, as especificacons da linguaxe Java, asi como as de JVM (Java Virtual Machine: Máquina virtual Java) e as APIs de Java API por Sun a través do Java Community Process.
A linguaxe de programación Java foi creada por James Gosling en xuño do 1991 para usarse nun proxecto de consumibles domésticos. A linguaxe chamábase ao comezo Oak, en referencia a un carballo que había nas proximidades das oficinas de Gosling, posteriormente chamouse Green e finalmente se chamaría Java.
Os obxectivos de Gosling eran implementar unha máquina virtual e unha linguaxe cunha sintaxe similar a C/C++. A primeira versión pública de Java data de 1995. Tiña como lema "Escribe código unha vez, execútao onde queiras" ("Write Once, Run Anywhere"), proporcionando entornos de execución gratuítos en varias plataformas. Era bastante seguro e a súa seguridade era configurable, permitindo restrinxir o acceso a redes e arquivos. A maior parte dos navegadores web pronto incorporaron a posibilidade de executar applets Java dentro de páxinas web. Java pronto fíxose popular. Coa chegada de Java 2, creáronse distintas especificacións para distintos tipos de plataformas. Por exemplo, J2EE era para aplicacións empresariais e J2ME era para aplicacións móbiles. J2SE era a denominación para a edición estándar. En 2006, debido a razóns de márqueting as diferentes versións de Java se denominaron Java EE, Java ME, and Java SE.
O 13 de novembro de 2006, Sun Microsystems liberou a maior parte das súas tecnoloxías Java baixo a licenza GNU GPL. O 8 de maio de 2007 Sun finalizou o proceso, facendo que todo o núcleo de Java fose software libre, coa excepción de pequenas porcións de código das que Sun non é dono do copyright.
Características principais [editar]
No deseño de Java seguíronse cinco obxectivos principais:
- Uso do paradigma de programación orientada a obxectos.
- O mesmo programa pode executarse en distintos sistemas operativos.
- Contén soporte para a programación de aplicacións en rede.
- Pode executar código de fontes externas de xeito seguro.
- Doado de empregar escollendo as mellores características das linguaxes de programación orientadas a obxectos do momento.
Linguaxe semi-interpretada [editar]
A linguaxe Java naceu co obxectivo fundamental de universalidade en canto a súa execucion do código compilado en calquera sistema operativo. Para acadar esta característica de universalidade (en canto ao sistema operativo), xenera un código compilado estándar ("byte code"), que é executado por un programa intérprete chamado JVM (Java Virtual Machine: Máquina virtual Java). É polo tanto semi-interpretada, xa que require compilacion.
Sintaxe [editar]
A sintaxe de Java deríva en gran medida de C++. A diferéncia de C++, que combina a sintaxe para programación estruturada, xenérica e orientada a obxectos, Java foi deseñado exclusivamente como unha linguaxe orientada a obxectos. Como resultado, case todo é un obxecto e todo o código escríbese dentro de clases. Como excepcións a este feito temos os tipos de datos intrínsecos (números enteiros e en coma flotante, booleanos, e caracteres), que non son clases por motivos de prestacións.
Exemplo: Ola Mundo [editar]
// ollo!: o ficheiro fonte debe-se chamar OlaMundo.java public class OlaMundo { public static void main(String[] args) { System.out.println("Ola Mundo!"); } }
Java vs JavaScript [editar]
Java non debe confundir-se coa linguaxe JavaScript, coa que comparte soamente o nome e unha sintaxe parecida. Existen unha implementación de JavaScript denominada Rhino que está escrita completamente en Java e forma parte do proxecto Mozilla.
Véxase tamén [editar]
Extensions e arquitecturas relacionadas [editar]
En canto a extensions e arquitecturas estreitamente relacionadas coa linguaxe Java incluense:
- J2EE (Java Enterprise edition: relacionada con compoñentes)
- J2ME (Micro-Edición para PDAs & móbiles)
- JMF (Java Media Framework)
- JNDI (Java Naming and Directory Interface)
- JSML (Java Speech API Markup Language)
- JDBC (Java Database Connectivity)
- JAIN (Java API for Integrated Networks)
- JDMK (Java Dynamic Management Kit)
- Jini (unha arquitectura de rede para a construción de sistemas distribuídos)
- Jiro
- JXTA (infrastrutura inter-pares (peer-to-peer) de fonte aberta (open source))
- JavaSpaces
- JMI (Java Metadata Interface)
- JMX (Java Management Extensions)
- JSP (JavaServer Pages)
- JSF (JavaServer Faces)
- JNI (Java Native Interface)
- J3D (API para programación gráfica en 3D)
- JOGL (API de baixo nivel para programacion gráfica en 3D usando OpenGL)
- OSGi Xestion dinámica de Servizos e Mantimento Remoto
Ligazóns externas [editar]
| Atención: Este artigo ou apartado precisa dun traballo de revisión. Por favor, vexa a lista de Artigos con problemas e de acordo coas indicacións que aparecen nesa páxina. Cando os problemas se resolvan, retire esta mensaxe e borre a páxina da lista de artigos con problemas, pero, por favor, non quite esta mensaxe ata que estea todo solucionado (se fose posible, sería mellor substituír este marcador por outro máis específico). (Desde abril de 2010.) |
- Sitio oficial de Java
- OSGi: Dynamic Service Management
- Newsgroup comp.lang.java, and its FAQ
- Javapedia project
- A Java glossary
- Java: Cornerstone of the Global Network Enterprise
- Vulnerabilities in Java Environments
- The Java Saga
- A history of Java
- Paul Graham, Java's Cover. Paulgraham.com, 2001.
- java sucks, by Jamie Zawinski
- Free But Shackled — The Java Trap, by Richard Stallman.
- The Dark Side of Java (PDF) by Conrad Weisert (View as HTML)
- beanshell An interpreted implementation of Java, which may be used as a shell or an embedded extension language
- SuperWaba, a Java-like virtual machine
- A pure java desktop
- Java on PocketPC
- JCreator official website
- Netbeans official website
- JExamples.com A site to find examples of Java API's
- TheServerSide.com A popular Java J2EE portal
- Javalobby A popular forum for Java discussions
- Java.Net A site for Java articles and upcoming projects
- OnJava.com An oreilly site for Java with many good Java articles
- IndicThreads.com An upcoming portal for Java and J2EE
- JavaPro magazine A popular java magazine
- Java Developer's Journal
- JavaWorld magazine A popular java magazine
- Java KB Offers Java discussions, news, articles, and an open source project directory.
- JavaRSS.com A Java portal of Java websites rich in Java & J2EE News, Articles, Blogs, Groups and Forums.
- Java Game Development Daily news and articles on Java game development
- Full Java Tutorial