Entrenamiento en Java. Lecciones de programación Java. Adquiriendo experiencia inicial. Trabajo independiente

Estamos acostumbrados a un acceso rápido a la información y a una absorción igualmente rápida. Preferimos vídeos de cinco minutos a conferencias profundas y artículos breves a libros. No diré que un buen libro sobre programación reemplazará cualquier artículo, no es así. Y ciertamente no reemplazará la práctica. Sin embargo, para mí personalmente, una comprensión real de los conceptos básicos de la programación se produjo después de que, después de haber resuelto cientos de problemas en un curso de programación y haber leído un montón de artículos, comencé a estudiar simultáneamente la teoría de los libros y profundicé en ellos. He estado buscando mi “mejor tutorial de Java para principiantes” personal durante bastante tiempo. A continuación se muestran varios libros que me fueron útiles en mayor o menor medida en diferentes etapas de mis estudios.

"Para los más pequeños"

Puedes empezar a leer los dos libros siguientes al inicio de tus estudios, en paralelo con el vídeo o, si estudias con JavaRush, junto con los primeros niveles. Ellos, especialmente el primero, son adecuados para personas sin experiencia en programación.

Dirígete primero a Java

Empecé con este libro no porque sea mi favorito, sino porque es el más sencillo. Este libro, según muchos programadores, es el mejor tutorial de Java desde cero. Además, es verdadera y completamente "desde cero", es decir, es adecuado para aquellos que recién están comenzando y aún no entienden del todo qué tipo de programación bestial. Ella vino a mí demasiado tarde. Creo que por eso no pude apreciarlo. Fue muy agradable “simplemente leerlo”, pero tuve que buscar algo específico durante mucho tiempo. El material allí se presenta de manera vívida, pero bastante superficial (¡porque es desde cero!) y muchos temas y explicaciones necesarias simplemente no están ahí. Pero mi amigo, a quien se lo heredó, estaba encantado con él y gritó que este no era sólo el mejor libro de texto de Java para principiantes, sino una obra maestra del mundo real y así es como se debe presentar el material complejo. Ventajas:
  • El mejor tutorial de Java desde cero, para principiantes, escrito en lenguaje vivo;
  • Ilustraciones geniales y humor;
  • Explicaciones con ejemplos de la vida real.
Defectos:
  • Mucha “agua” para los que ya entraron en el tema;
  • No siempre los acertijos y ejercicios son exitosos.

Herbert Shildt. Guía para principiantes de Java 8

Después de leer este libro de texto, pensé que sería adecuado para aquellos a quienes les gusta una presentación del material más tradicional que en Headfirst y, al mismo tiempo, buscan un tutorial desde cero. En algunos lugares, la presentación del libro es muy detallada y recuerda a una documentación ampliada y traducida con buenos ejemplos visuales. A veces, como para mí, el autor cruza la línea y comienza a masticar demasiado, la lectura se vuelve aburrida... y de repente - da un salto mortal - y casi instantáneamente se pasa por alto algún lugar bastante complejo, y uno se queda completamente desconcertado tratando de entender qué y dónde te lo perdiste. Sin embargo, no hay muchos pasajes de este tipo en el libro y conozco personas que creen que la Guía para principiantes es el mejor tutorial de Java para aquellos que aún no saben nada. Personalmente, no lo encontré muy fluido. Digamos que empiezo a clasificar colecciones y, en lugar de una explicación humana, me dan la tarea de crear de forma independiente un conjunto basado en matrices. Genial problema, pero me gustaría entender mejor qué son las colecciones estándar primero. Aunque este libro, como el anterior, se considera un libro de texto para principiantes, mi experiencia como docente sugiere que sólo sirve en combinación con otros materiales: no todo será sencillo y comprensible para un estudiante de humanidades. La "Guía para principiantes" es más adecuada para alguien que al menos aprendió programación (por ejemplo, en la universidad), lo abandonó hace mucho tiempo y, al mismo tiempo, le gusta el estilo de presentación del autor. Ventajas:
  • Presentación tradicional y reflexiva de los conceptos básicos;
  • Buenos ejemplos.
Defectos:
  • Hay “saltos” desde “demasiado masticable” hasta “dicho rápidamente”;
  • Un poco aburrido en algunos lugares.
Por cierto, Herbert Schildt tiene otro libro famoso sobre programación: “Java 8. Guía completa" Este es un libro de texto completamente diferente, más fundamental. Pasemos a ello.

Referencias y guías avanzadas.

Los libros de esta sección serán útiles para aquellos que ya se han involucrado al máximo y buscan libros para comprender mejor la teoría y la práctica.

Herbert Shildt "Java 8. La guía completa"

Decidí descargar este libro de Internet para evaluarlo y luego decidir si comprarlo o no. No es broma, ¡1300 páginas de texto! Bueno, el precio no es menos impresionante que el volumen. Hice exactamente lo mismo con la “Biblioteca del profesional” de Kay Horstmann en dos volúmenes (más información más abajo). De cara al futuro diré que elegí el segundo. ¿Por qué? Porque en el libro “Java. La guía completa" Vi las mismas deficiencias que en la "Guía para principiantes". A veces se mastica, a veces se arruga, pero al mismo tiempo no sólo se arruga, sino que de alguna manera se arruga de forma prolija. Probablemente este sea el estilo del autor y creo que a alguien le gustará, o mejor dicho, su forma de pensar. En general, Java 8: La guía definitiva es un buen libro de referencia para Java. Pero personalmente me gustó más la presentación de los mismos temas en otro libro. Ventajas:
  • Guía completa. Parece tener todos los temas que un principiante, y no sólo un principiante, necesita saber.
  • Explicaciones detalladas.
Defectos:
  • Mucha agua (¡pero a algunas personas les puede gustar!);
  • La traducción rusa no es la mejor.

Java. La biblioteca del profesional, Kay S. Horstmann, Gary Cornell

Los libros de Schildt y Horstmann se comparan a menudo entre sí. Ambos tienen seguidores leales. Para mí, el libro de dos volúmenes de Horstmann es el mejor libro de texto sobre Java. También se convirtió en un libro de referencia para mí en los niveles principiante e intermedio de JavaRush. Cuando no entendía un tema, recurría principalmente a Horstmann y él me aclaraba muchas cosas. El libro cubre todo, desde la sintaxis hasta la programación multiproceso, la localización de aplicaciones y el trabajo con XML. Y no dejes que el nombre “Biblioteca profesional” te asuste (eso es lo que me asustó a mí), los conceptos básicos están bastante bien cubiertos. Además, es útil releerlo periódicamente para refrescar y organizar tus conocimientos. Dicen que incluso los profesionales encuentran en ello algo útil... No lo sé. ¡Si me hago profesional te lo diré! Ventajas:
  • Con un número impresionante de páginas, hay poca agua (a diferencia de Schildt).
  • Contiene todo lo que los principiantes necesitan.
  • Revela Java 8.
  • Buena presentación de temas sobre colecciones y genéricos.
  • Combina muy bien con JavaRush. Vaya al tema, resuelva los problemas, en algún momento no comprende algo: observe a Horstmann, inténtelo de nuevo.
Defectos:
  • Algunos pueden encontrar el libro un poco aburrido;
  • Sin práctica;
  • Traducción rusa con errores.

"Java" Métodos de programación". Blinov, Romanchik

Una vez leí en un foro que había un libro llamado “Programación industrial” y tenía algunos buenos problemas. Resultó que no mintieron. Encontré una copia en PDF en el sitio web bielorruso de EPAM. La publicación allí no es la más nueva (en Java 6), pero el libro está escrito como un libro de texto universitario sólido, es decir, en algunos lugares la presentación es algo pesada y académica. ¡PERO! Realmente hay una muy buena colección de problemas de programación Java, así como tareas de prueba. Dicen que los alumnos de EPAM aprenden de este libro y también ha sido adoptado por muchos cursos de Java fuera de línea.

El enfoque de las tareas allí es un poco diferente al de JavaRush, es decir, en promedio, las tareas aquí son un poco más complicadas y cada una de ellas es algo así como... no un mini, sino un microproyecto. Por eso recomiendo JavaRush incluso a los estudiantes, porque creo que la desventaja del lado práctico del curso es que todas las tareas ya están completamente diseñadas y hay demasiados consejos. Digamos que los problemas de programación orientada a objetos de esta colección me ayudaron a comprender muy bien esta programación orientada a objetos, junto con los libros de los "clásicos atemporales" sobre los que escribo a continuación. El libro fue escrito como para futuros "remeros", por lo que describe las tecnologías de Hibernate para el desarrollo de sistemas distribuidos, así como los conceptos básicos de HTML, XML, JavaScript. “Programación industrial” es, si no el mejor tutorial de Java, sí un muy buen libro de texto. Pero hay que llegar ya preparado. Digamos, después de una docena o dos niveles de JavaRush. Posteriormente descubrí su edición más nueva y revisada, ya bajo el nombre “Java. Métodos de programación."

Ventajas:
  • Excelente selección de problemas y elementos de prueba;
  • Existe una versión gratuita oficial (creo que es oficial, ya que no está en algún rastreador de raíz, sino en el sitio web de EPAM);
  • Comparación con C++.
  • Oportunidad de comprender lo que implica una pasantía en EPAM.
Defectos:
  • Presentación demasiado fundamental. Pero para repetir con práctica servirá.
  • Sin Java 8.

Clásico atemporal

Los libros sobre los que escribo a continuación pueden denominarse textos sagrados para principiantes y “javistes” avanzados.

Java efectivo, Joshua Bloch

Es un tesoro, no un libro, y se centra en los principios básicos del lenguaje de uno de sus autores, Joshua Bloch. Lo más probable es que ya haya utilizado sus bibliotecas (en la Colección Java, por ejemplo). Haré una reserva de inmediato: los principiantes completos, a excepción de algunos corredores de velocidad prodigios, no necesitan el libro Effective Java. Primero, es mejor dominar la sintaxis y tener al menos algo de práctica en programación, por así decirlo, "dominarlo" y luego asumir la creación de Joshua Bloch. El libro será útil para aquellos que quieran comprender verdaderamente Java, adoptar el enfoque correcto al programar en este lenguaje y comprender no solo cómo hacerlo, sino todo lo que debe hacerse exactamente de esa manera. Y también para aquellos que quieran comprender profundamente la programación orientada a objetos (en principio, son cosas interrelacionadas). Este libro es el mejor libro de texto sobre Java en el contexto del enfoque de programación orientado a objetos. Ventajas
  • Una brillante presentación de material sobre el tema de la POO.
  • Se proporcionan las mejores prácticas de programación.
  • El autor conoce muy bien Java desde dentro.
Defectos
  • Aún no hay traducción de la edición más reciente del libro (la tercera).

Filosofía Java, Bruce Eckel

El título de este libro habla por sí solo. ¡Este es otro “alfa y omega” para todos los que quieran conocer Java! En este libro encontrará ejemplos buenos y claros, y a partir de ellos quedará claro cómo funciona Java. Es difícil para mí decir cuál de los dos libros, "La Filosofía de Java" o "Programación Efectiva", es mejor. Yo diría que Eckel es algo más amigable con los principiantes, mientras que Bloch requiere algo de experiencia. Leí por primera vez el capítulo de "Filosofía de Java" cuando recién estaba comenzando a aprender JavaRush (creo que figuraba como recomendado en uno de los primeros niveles). Entonces ella no me convenía. Pero después del nivel 10 o 12, ¡era una canción! Y, diré, una canción muy útil. Volví a ello más tarde, cuando llegué a Programación Efectiva. Diré esto: dejemos que Bloch y Eckel hablen de lo mismo, pero de diferentes maneras, y den diferentes ejemplos. Ventajas
  • Una presentación detallada de los principios de Java por parte de un profesional;
  • Será bueno para aquellos que estén cambiando de otros lenguajes; existen muchas comparaciones con C++, por ejemplo.
  • Me parece que puedes empezar a leerlo en el nivel 10, pero Eckel, un poco más tarde.
Defectos
  • Traducciones al ruso muy infructuosas;
  • Falta de una nueva edición del libro en ruso.

Breves conclusiones

  1. El mejor tutorial de Java desde cero para aquellos que no saben nada de nada: Head First Java;
  2. El mejor libro de texto y de referencia de Java es la “Biblioteca del profesional”. Y, por supuesto, documentación de Oracle.
  3. La mejor colección de tareas de programación Java: JavaRush. Bueno, entre los libros - “Java. Métodos de programación".
  4. Los mejores clásicos atemporales son "La Filosofía de Java" y "Java Efectivo". Esta es una lectura obligada para todos los que decidieron comprender todo de verdad, para lograr una comprensión profunda. Pero es mejor leerlos poco a poco y en orden.
  5. Conclusión adicional: existe la posibilidad: leer en inglés. Las traducciones al ruso son generalmente muy débiles.
Versión en inglés de esta publicación: los mejores libros sobre Java para principiantes en CodeGym
Probablemente muchos dirán: “ya se han escrito muchos buenos libros sobre Java, ¿por qué otro?” Y para muchos, lo más probable es que mi libro no les aporte nada nuevo. Después de todo, su lector principal debería ser (presumiblemente) una persona que no tiene ninguna experiencia en programación. Por un lado, parece que basta con coger un libro con una buena y más completa descripción y listo. Pero en la práctica esto está lejos de ser el caso. No basta con leer sobre algo. Lo principal es entender cómo usarlo. Ser capaz de adaptar un conjunto diferente de herramientas para resolver un problema específico. Evaluar cuál de opciones existentes mejor. ¿Cómo lograr esto? Práctica. Mucha práctica analizando ejemplos triviales y resolviendo problemas similares por tu cuenta. Sin embargo, la práctica, lamentablemente, no lo es todo. Además, debe haber una teoría dosificada correctamente seleccionada. Esto significa que no entregaré todo el conocimiento completo al lector de una vez. Simplificaré mucho deliberadamente para comprender mejor la esencia de las cosas. Espero que los profesionales no me blasfemen airadamente por esto. Después de todo, después de leer mi libro, el lector podrá pasar a la literatura que proporciona un conocimiento más detallado y comprenderla por sí solo.


Capítulo: Introducción (o una historia sobre programación)

Probablemente, en nuestra era progresista, muchos hayan escuchado palabras como "programa" y "programación". Averigüemos qué es, de dónde vino y en qué direcciones se está descomponiendo ahora.
Primero, comencemos con el término "programa". Si en palabras simples, entonces un programa es una secuencia de acciones o instrucciones dirigidas a la computadora que esta debe realizar. Cuando ejecutamos un programa, ejecutamos uno a uno todos los comandos o instrucciones especificadas en el mismo. La programación, en consecuencia, es el proceso de crear o escribir programas.
¿Cómo entiende o descifra una computadora los comandos escritos en un programa?
De hecho, el programa que ve una computadora y el programa que ve una persona en la pantalla son muy diferentes, ya que están escritos en diferentes idiomas. Una máquina informática sólo comprende el llamado código binario: determinadas combinaciones de unos y ceros. ¿Porqué es eso? Todo es sencillo si recurrimos a la mecánica del proceso. Los comandos se transmiten a la computadora a través de bucles que consisten en un conjunto de cables (canales) y el llamado bus de datos. Hay una señal eléctrica en el canal, lo que significa que ha llegado una unidad. Sin señal - cero.
Sin embargo, si abrimos el texto de un programa escrito por un programador, no se verá como un conjunto continuo de unos y ceros y se podrá “leer” completamente y analizar en comandos. ¿Cómo entiende entonces una computadora los programas escritos por personas? Pero aquí trabajan los llamados traductores de un idioma a otro. Estos traductores se llaman traductores. Los traductores se pueden dividir en dos tipos: compiladores e intérpretes. Los compiladores traducen todo el programa y lo guardan en archivos ejecutables especiales. Para ejecutar un programa de este tipo, debe ejecutar el archivo resultante. Los intérpretes traducen comandos en línea y los ejecutan inmediatamente. Un comando a la vez: tradujo el comando - ejecutó, tradujo el siguiente - ejecutó, etc.
La cantidad de comandos en el código binario depende del nivel de complejidad del idioma desde el cual traduce el traductor. Si el lenguaje está lo suficientemente cerca del código binario, entonces un comando de dicho lenguaje tendrá de 1 (ensamblaje) a 10 comandos en código binario. Dichos lenguajes incluyen, por ejemplo, Pascal, C. Para lenguajes de alto nivel, como C++ y Java, la cantidad de comandos en código binario por comando de lenguaje de alto nivel puede ser 100 o más.
Por un lado, es mejor el uso de compiladores, ya que los programas traducidos íntegramente al lenguaje de máquina se ejecutan más rápido. Sin embargo, estos programas sólo se ejecutan en el sistema operativo específico para el que fueron compilados. Las ventajas de los intérpretes incluyen la llamada multiplataforma, es decir, independencia de un sistema operativo específico (plataforma). ¿Qué quiere decir esto? El hecho es que para ejecutar el mismo programa en diferentes sistemas operativos se utilizarán diferentes intérpretes: en Windows un intérprete, en Linux otro, en un tercer sistema operativo un tercero, etc. Pero el texto del programa en sí permanece sin cambios. y claro, dondequiera que lo abramos. Con un programa compilado todo es más complicado. En primer lugar, ya ha sido traducido al lenguaje de máquina y no podremos visualizarlo en el formato habitual. En segundo lugar, el programa está claramente centrado en un tema específico. Sistema operativo y es imposible cambiar esto en un programa compilado. Para lograr este truco, es necesario tomar el programa fuente, que está escrito en un lenguaje comprensible para el programador, realizar los cambios necesarios y compilarlo para otra plataforma (sistema operativo).
En principio, se pueden desarrollar tanto compiladores como intérpretes para cualquier idioma. Entre los lenguajes para los que existen compiladores e intérpretes, por ejemplo, se incluye Visual Basic. Sin embargo, hay varios lenguajes para los que sólo existen compiladores o intérpretes. Por ejemplo, para el lenguaje Pascal hay muchos compiladores, pero ningún intérprete (al menos no he oído hablar de ellos). Para los lenguajes VBScript y JavaScript, solo existen intérpretes.
Por separado, podemos distinguir lenguajes de programación que utilizan alguna combinación de principios de compilación e interpretación. Java también puede considerarse un lenguaje de este tipo. Primero, un compilador procesa un programa escrito en Java. Sin embargo, la salida no es código de máquina, sino algún código intermedio (pseudocódigo o código de bytes), que luego es interpretado por la máquina virtual Java. La Máquina Virtual Java es un programa que debe instalarse en el sistema operativo donde se ejecutará el programa convertido en pseudocódigo.
¿Cómo y dónde se escriben los programas?
Pensemos en lo que necesitamos para crear un programa que funcione. Primero, necesitamos escribir el texto del programa en alguna parte. Lo que significa que necesitamos algunos editor de texto, en el cual haremos esto y podremos guardarlo. En segundo lugar, necesitará un compilador o intérprete. En principio, este es el mínimo requerido. ¡Sin embargo! Cabe señalar que cuando escribimos programas, como todas las personas, cometemos errores. En primer lugar, podemos cometer un error en el texto. Sería conveniente que el editor de texto pudiera ver al menos los errores más simples en la sintaxis de los comandos escritos y de alguna manera notificárnoslo (por ejemplo, subrayando, como hace Word con los textos normales). En segundo lugar, puede haber errores lógicos cuando todo en el texto parece estar escrito correctamente, pero nada funciona como se esperaba. En este caso, sería bueno tener herramientas convenientes para encontrar errores mientras se ejecuta el programa.
Para comodidad de los programadores, todas las herramientas convenientes se combinan en programas especiales: sistemas de programación. Por lo general, tienen un editor de texto especial, traductores, un depurador (para encontrar errores durante la ejecución del programa) y muchas herramientas convenientes para facilitar el arduo trabajo del programador. Estos "beneficios" incluyen la generación automática de partes del programa, el cómodo lanzamiento de programas con un solo clic (cuando el propio sistema de programación inicia el traductor deseado y el programa ejecutable resultante) y mucho, mucho más.
Normalmente para un lenguaje no existe un sistema de programación, sino varios. Cada programador, por supuesto, elige el sistema que más le convenga. Por ejemplo, para Java, los sistemas de programación más comunes son "IntelliJ Idea", "Eclipse", "NetBeans".
Dado que el autor prefiere el primero de ellos y los demás aún los desconoce, para nuestra práctica utilizaremos "IntelliJ Idea".


Parte 1. Instalar los programas necesarios y configurarlos

Capítulo: JDK - Kit de desarrollo Java (kit de desarrollo Java)

Comencemos con lo más importante: instalar un conjunto de programas necesarios para desarrollar y ejecutar programas escritos en Java. En inglés, el nombre de este conjunto es Java Development Kit, o JDK para abreviar. Es la última abreviatura que usaremos en el futuro.
¿Qué está incluido en el JDK?
El JDK incluye los siguientes componentes:
1) JRE: entorno de ejecución de Java (entorno de ejecución de Java)
Un conjunto de programas y bibliotecas necesarios para ejecutar pseudocódigo. De hecho, esta es la máquina virtual Java, que es necesaria para ejecutar programas compilados para ella.
Nota: Si sólo desea ejecutar programas Java compilados y no compilarlos, no tiene sentido instalar el JDK. Basta con instalar sólo el JRE.
2) compiladores
3) depuradores
4) bibliotecas especializadas
5) y otras herramientas de desarrollo
¿Qué son las bibliotecas y qué hay en ellas?
Programas en idioma nivel alto Utilice fragmentos de código probados y listos para usar para realizar diversas acciones estándar. Dichas acciones incluyen: mostrar información en la pantalla, ingresar datos desde el teclado, calcular funciones matemáticas estándar, etc. Dichos fragmentos de código se encuentran en bibliotecas y se presentan como archivos separados.
¿Dónde puedo conseguir el JDK?
Cualquier versión del JDK se puede descargar de forma totalmente gratuita desde el sitio web oficial de Oracle. Para ello, primero introduzca las siguientes palabras de búsqueda en cualquier buscador de Internet: “descarga JDK”. El primer sitio de la lista es el nuestro.

Al firmar con la versión requerida, primero seleccione la opción "Aceptar acuerdo de licencia" (traducida del inglés como "Aceptar el acuerdo de licencia") y luego haga clic en el archivo deseado en esta tabla.
Como ya sabes, Java es un lenguaje de programación multiplataforma, es decir, el mismo programa escrito en él funciona igual en diferentes sistemas operativos. La última propiedad se logra gracias a diferentes JRE y JDK en diferentes sistemas operativos (plataformas).
Naturalmente, debes descargar el archivo de instalación que coincida con tu sistema operativo. Por ejemplo, si está trabajando en Linux, seleccione el archivo apropiado para Linux. Si está en Windows, un archivo para Windows.
Si está instalando el JDK en un sistema operativo de 32 bits, descargue el archivo marcado x86. Si es de 64 bits, está marcado como x64.
Nota. Puede averiguar la capacidad del sistema en Windows 7 de esta manera: haga clic en "Inicio", haga clic derecho en "Equipo", seleccione "Propiedades". Observamos el valor de la propiedad "Tipo de sistema".

Por ejemplo:

Para sistema operativo Windows de 64 bits y JDK 8u101 archivo requerido tendrá el siguiente nombre:
"jdk-8u101-windows-x64.exe"

Para un sistema operativo Windows de 32 bits y JDK 8u101, el archivo requerido tendrá el siguiente nombre:
"jdk-8u101-windows-i586.exe"

¿Cómo instalar y configurar correctamente JDK (para Windows 7)?
Etapa uno: instalación del JDK
Para instalar el JDK, debe ejecutar el archivo exe de instalación con la versión deseada del JDK. Luego solo necesitas seguir los pasos de instalación.
Nota: Se pueden instalar varias versiones de JDK y JRE en el mismo sistema operativo. Puede hacer que algún tipo de JRE sea el principal (que utilizará la máquina virtual Java) en la configuración del sistema operativo. Puedes configurar un JDK específico para un proyecto tanto en el sistema operativo (será común a todos los proyectos) como en el sistema de programación en el que está escrito este proyecto.
Veamos todo el proceso de instalación de JDK usando el ejemplo de instalación de JDK 8u102 en un sistema operativo de 64 bits. sistema windows 7 (deberá ejecutar el archivo jdk-8u102-windows-x64.exe).

1. En la primera ventana, simplemente haga clic en el botón "Siguiente".

2. En la segunda ventana, primero seleccione la carpeta donde se instalará nuestro JDK. Para hacer esto, haga clic en el botón "Cambiar..." y seleccione la ubicación deseada en el disco.

Nota: Es recomendable ceñirse a una ubicación común para todas las carpetas con diferentes versiones de JRE. Es decir, la estructura de la carpeta compartida debería ser algo como lo siguiente:

Después de esto, haga clic en el botón "Siguiente".

Etapa dos: configuración de variables de entorno
Para que el sistema de programación sepa qué jdk usar por defecto para sus programas y el sistema operativo pueda reconocer archivos java es necesario configurar variables de sistema en nuestro sistema operativo.
Para hacer esto en Windows 7, debe seguir los siguientes pasos:

1) Vaya a la siguiente configuración:
Botón "Inicio" --> haga clic derecho en "Computadora" --> "Propiedades" --> "Configuración de entorno avanzada" --> pestaña "Avanzada" --> botón "Variables de entorno..."

2) En la lista "Variables del sistema", haga clic en el botón "Crear".

3) Ingrese los datos requeridos y haga clic en "Aceptar":
Nombre de variable JAVA_HOME
Valor variable<путь к папке, куда устанавливалось JDK(не JRE!)>

4) Busque la variable "Ruta" en la lista de variables del sistema, selecciónela y haga clic en el botón "Cambiar".

5) Vaya al final del campo “Valor variable” (¡¡¡no elimine nada!!!), agregue el siguiente texto y haga clic en “Aceptar”:
;%JAVA_HOME%\bin\

6) Haga clic en Aceptar para la ventana Variables de entorno, luego en la pestaña Avanzado y reinicie su computadora.


Capítulo: IDE (Entorno de desarrollo integrado) "IntelliJ Idea" - Entorno de desarrollo integrado (sistema de programación) "IntelliJ Idea"

"IntelliJ Idea" es uno de los sistemas de programación más comunes para Java. Es conveniente y tiene muchas herramientas que facilitan el trabajo del programador. Las ventajas indudables incluyen asequible. versiones gratuitas este entorno de desarrollo en Internet.

Nota. El término IDE (entorno de desarrollo integrado) es idéntico al concepto de "sistema de programación", pero en un entorno profesional se utiliza con más frecuencia.

¿Dónde puedo conseguir "IntelliJ Idea"?
Este IDE se puede descargar desde el sitio web oficial de la empresa JetBrains. Para hacer esto, primero debe escribir las siguientes palabras de búsqueda en cualquier motor de búsqueda de Internet: “Intellij Idea”. El primer sitio de la lista que aparece es el nuestro.


En este artículo intentaré presentar los conceptos básicos de la programación en Delphi de la forma más sencilla y clara posible.

Java para tontos. Lección 1. ¡Hola Mundo!

Primero, te diré qué puede hacer Java. En primer lugar, en este idioma se pueden escribir subprogramas, programas que están integrados en la página web del sitio. Por ejemplo, podría ser un juego, un sistema de gráficos empresarial y mucho más. En segundo lugar, puede escribir aplicaciones completas en Java que no estén necesariamente relacionadas con la Web. O puede utilizar servlets, programas que, a diferencia de los subprogramas, no se ejecutan en el lado del cliente, sino en el lado del servidor.

Comencemos con lo más básico. Rindamos homenaje a la tradición y escribamos. el programa mas simple, que muestra un saludo Hola Mundo. Si no tienes Java, luego se puede descargar desde el sitio web oficial http://www.java.com/ru. Luego instálalo.

Si Java que ha instalado, luego escriba el siguiente texto en algún editor:

Clase pública Hola Mundo {

Principal pública estática vacía ( Argumentos de cadena ) {

Sistema . afuera . imprimir ( "¡Hola Mundo!" );

}

}

Y asegúrese de guardarlo con el nombre Hola Mundo. Java- El nombre de la clase ejecutable debe coincidir con el nombre del archivo. Para compilar, use el programa. javac.exe incluido en el paquete estándar Java. Así es como se vería un archivo por lotes de compilación este archivo java:

"c:\Archivos de programa\Java\jdk1.7.0\bin\javac" HolaMundo.java

pausa

Si no se produjeron errores durante la compilación:

entonces, lo más probable es que la compilación haya sido exitosa en el tuyo en el mismo directorio donde se encontraba HellowWorld. Java HellowWorld también ha aparecido.clase:

Ahora ejecutemos otro archivo por lotes que llamará al intérprete de Java junto con nuestro archivo compilado:

"c:\Archivos de programa\Java\jdk1.7.0\bin\java" Hola Mundo

pausa

Si todo se hace correctamente, deberías obtener este resultado:

Si lo recibió, puedo felicitarlo: ha escrito su primer programa en Java. En el futuro aprenderemos a escribir subprogramas de Java y mucho más. Y ahora unas palabras sobre el programa en sí. Como habrás notado, comienza con la palabra público. Este es un modificador que significa que estamos declarando algo disponible públicamente: una clase, un método de clase o una variable. Hay otros modificadores, por ejemplo: privado, protegido, amigable, final, abstracto, estático. Algunos de ellos se pueden combinar entre sí. Por ejemplo, privada significa que la variable que queremos declarar es privada para otras clases. Pero llegaremos al modificador más tarde. Ahora veamos la siguiente palabra clave, clase. Significa que estamos declarando una clase. En java todo se basa en clases. Una de las clases es necesariamente la base. Y la clase base debe ser pública. En este ejemplo, es la clase HelloWord. Por ahora es el único que tenemos.

Ahora intentaré explicar en palabras sencillas qué es. Clase Y lo que es un objeto.

Recordemos el curso de zoología de la escuela. ¿Cómo se clasifica el mundo vivo? Primero, se introduce el concepto de “reino”.

1. Reino de los organismos unicelulares,

2. Reino vegetal

3. Reino animal.

Tomemos animales. Se pueden dividir por tipo. Por ejemplo:

1. Tipo celentéreos.

2. Tipo de platelmintos.

3. Tipo de marisco.

4. Filo cordados.

Estos últimos se dividen en mamíferos, reptiles, anfibios, aves, etc. Puedes profundizar aún más en la clasificación, pero no lo haremos ahora, sino que pasaremos directamente a la programación.

En el lenguaje Java, es posible, de manera similar a la clasificación del mundo viviente, clasificar objetos (partes de programa y datos). Tiene clases para esto.

¡Para para! - dices - ¿por qué clasificar estos objetos?

Imagina que tú, como algún demiurgo (creador, dios), estás creando vida en la Tierra. Primero desarrollaste los compuestos orgánicos más simples. Entonces, por el bien del experimento, ¿qué pasará? Luego los combinaron en moléculas complejas, a partir de las cuales, como ladrillos, ensamblaron los microorganismos más simples. Pero su objetivo final es la creación de vida inteligente. Por lo tanto, no os detuvisteis ahí, sino que creasteis organismos multicelulares. Luego empezaron a mejorarlos y desarrollarlos. Algunas especies resultaron viables, otras se extinguieron (dinosaurios). Y finalmente se logró el objetivo: apareció el Homo Sapiens, el Homo sapiens.

Ahora bajemos a la tierra e imaginemos la programación como una creación, donde obligas a tu programa a evolucionar hasta un cierto estado en el que puede usarse, y luego, aumentando y mejorando gradualmente la funcionalidad.

Ahora imaginemos que un átomo es el comando de programa más simple o una unidad de información (que, como ve, son inseparables entre sí, porque el programa funciona con algo, así es, con información).

Entonces la molécula es una subrutina. O un objeto.

Entonces creamos un montón de objetos en nuestro programa. Necesitamos clasificarlos de alguna manera para no confundirnos. Para esto es para lo que Java proporciona clases. Utilizándolos, describimos una clase de objetos (un concepto general, por ejemplo pájaros), y luego, teniendo la clase descrita, podemos crear un objeto, una instancia de esta clase. Es decir, la clase es la palabra Aves en sí y el objeto es un pájaro específico, si continuamos con nuestra analogía.

Además, las aves son de diferentes tipos. Pero todos ellos tienen algunas características comunes, heredadas del concepto de “Aves”. Así mismo en Java, a partir de una clase puedes crear otra clase que herede sus propiedades y métodos (características). Se llama herencia.

Diferentes aves tienen diferentes colores de plumas, formas de pico y alas. Lo mismo ocurre con las clases, al crear una nueva clase, se pueden cambiar las características heredadas. Se llama polimorfismo.

Entonces, descubrimos los conceptos básicos de Java. Ahora repasemos el programa.

Así declaramos una clase:

clase pública Hola Mundo {

En este caso, solo hay una clase en nuestro programa, y ​​esta es la clase base, es decir, la clase encargada de lanzar el programa. Es por eso que su nombre debe coincidir con el nombre del archivo, para que el intérprete “sepa” dónde empezar a ejecutar el programa.

La clase base (HelloWorld) tiene un método base: main. Lo declaramos público y estático. El primero indica que el método es público. Si no fuera así, nuestro programa simplemente no se iniciaría. También hay métodos que no están disponibles públicamente, pero hablaremos de ellos en las próximas lecciones, por ahora solo recuerda que el método base (que se lanza cuando iniciamos el programa) debe ser público. Y su nombre debe ser principal para que el intérprete sepa por dónde empezar a ejecutar el programa.

Ahora lo que es estático. Este es un modificador que indica que el método es estático. Es decir, funciona incluso cuando no se crea una instancia de la clase (objeto). En general, los campos y métodos con el modificador estático son comunes a todos los objetos de la clase. También hablaremos de esto más adelante.

Cada método puede tener o no un valor de retorno. Si es así, entonces es una función. El tipo de valor de retorno también se incluye en la declaración del método. De lo contrario, configúrelo como anulado (como en nuestro ejemplo).

El acceso a los campos y métodos de un objeto se produce a través de un punto. También hay objetos integrados, por ejemplo, System, que usamos en nuestro ejemplo:

Sistema . afuera . imprimir ( "¡Hola Mundo!" );

en este caso, accedemos al campo de salida, que también es un objeto destinado a generar datos, y llamamos a su método de impresión, que muestra texto en la pantalla (como el comando PRINT en el viejo BASIC).

(C) Shuravin Alejandro

Y la creación de sitios web es cada vez más popular y atrae la atención de un gran número de personas. Incluso una persona sin educación especial puede comenzar a desarrollar programas, lo principal es el deseo y el deseo de aprender material nuevo y la práctica constante.

Opciones de estudio

¿Dónde empezar a aprender programación desde cero?Hay varias formas de dominar material nuevo en esta área. Los profesores privados te mostrarán cómo empezar a aprender programación desde cero y te enseñarán aspectos importantes del código de construcción. Sin embargo, este método es bastante caro, por lo que se utilizan principalmente los siguientes métodos de enseñanza:

  1. Cursos especializados. Su costo es mucho menor que el de las lecciones de un tutor personal. Vale la pena señalar que muchos empleadores responden positivamente a la disponibilidad de una variedad de certificados de finalización de la formación en academias de informática. Preste atención a los cursos de las empresas de fama mundial Microsoft y Cisco.
  2. Cursos gratuitos a distancia. En Internet existe una gran cantidad de servicios con los que puede ver cursos de conferencias de Oxford, Harvard y otras instituciones educativas famosas del mundo. También existen plataformas especiales para la formación de habilidades prácticas de programación. Lea más sobre el aprendizaje remoto y los servicios útiles de Internet más adelante en el artículo.
  3. Auto aprendizaje. ¿Dónde empezar a aprender programación desde cero si no planeas inscribirte en cursos y gastar dinero? En este caso, la forma más sencilla es informarse usted mismo. Debes empezar a estudiar leyendo lo básico, no ahondar en la teoría, empezar a practicar inmediatamente, porque solo en el proceso de creación de un programa adquirirás las habilidades necesarias.

Después de elegir la opción de formación que más te convenga, debes decidir el área temática, porque la programación tiene un abanico bastante amplio de ramas diferentes.

¿Cómo elegir la dirección correcta?

Depende directamente del tipo de software que creará en el futuro:


Si el salario es el factor más importante para usted, dirija su atención al mercado laboral. Hoy en día, los más demandados son los desarrolladores especializados en los lenguajes Java, C#, ASP.NET, C++.

Idiomas de bajo y alto nivel. Diferencia y aplicaciones

Se cree que todos los lenguajes de programación se dividen en alto y bajo nivel. El código de bajo nivel es más fácil de procesar para una computadora, pero lleva mucho tiempo escribirlo y requiere más conocimiento del dominio. Estos lenguajes (por ejemplo, ensamblador) se utilizan para escribir software para chips y microcontroladores digitales. No son muy convenientes para aprender a programar desde cero. Los útiles servicios y la literatura de autores de fama mundial que se proporcionan más adelante en este artículo le indicarán dónde empezar a escribir sus primeros programas.

Los lenguajes de alto nivel son mucho más fáciles de usar porque utilizan bibliotecas integradas para simplificar y visualizar el código. La mayoría del software moderno está escrito utilizando lenguajes de alto nivel.

Programación desde cero: ¿por dónde empezar las aplicaciones?

El proceso de creación de programas móviles permite a los programadores trabajar con las últimas herramientas y, como resultado, ganar una cantidad decente de dinero mediante la monetización. Primero debes elegir el sitio donde trabajarás:

  1. Google Play. Tienda de aplicaciones para usuarios del sistema operativo Android. Este sistema operativo tiene la mayor proporción de usuarios del mercado. Los lenguajes Java y C/C++ se utilizan para desarrollar aplicaciones y juegos. Los más populares son las aplicaciones y clientes de mensajería. redes sociales, almacenamiento en la nube, juegos.
  2. Tienda de Windows Mobile. Esta tienda está ganando popularidad rápidamente junto con los teléfonos inteligentes de Microsoft. En los países de la CEI, la mayoría de los usuarios prefieren tabletas basadas en la plataforma Windows Phone. Programar aplicaciones para una tienda de este tipo le ayuda a ganar más dinero con la monetización porque, a diferencia de Android, casi todos los programas de la tienda de Windows se distribuyen de forma paga.
  3. Tienda de aplicaciones. Otra plataforma rentable para el desarrollo (lenguaje - Objective-C). El proceso de creación de programas para dispositivos Apple requiere un entorno de desarrollo preinstalado llamado Xcode. El siguiente paso es aprender a programar en Objective-C desde cero. El libro de David Mark "Aprendiendo C para Mac" le dirá dónde empezar a escribir código. Segunda edicion."

lenguaje java

La mayoría de los desarrolladores profesionales recomiendan comenzar sus conocimientos de programación con el lenguaje Java. Es fácil de aprender y al mismo tiempo tiene demanda en el mercado. Utilice los siguientes consejos si decide aprender a programar desde cero. ¿Por dónde empezar con el desarrollo de Java?

Java es un lenguaje de programación orientado a objetos de alto nivel necesario para desarrollar la mayoría de las aplicaciones y juegos web modernos. Durante el proceso de compilación (convertir el código escrito en un lenguaje comprensible para el dispositivo), el código se convierte en una secuencia de bytes, por lo que el programa se puede probar fácilmente en cualquier máquina virtual Java.

Programación desde cero. ¿Por dónde empezar con la codificación Java y Web?

El lenguaje Java es ampliamente utilizado en el desarrollo web. Antes de comenzar el proceso de programación completo, debes aprender Java, PHP, MySQL, HTML, CSS. A continuación se ofrece una explicación más detallada de estos conceptos:

  1. Java: se utiliza para escribir utilidades para sitios web y escribir la lógica de la funcionalidad de la página web.
  2. PHP es un lenguaje para crear páginas de sitios web personales. Tiene una estructura de guión. El lenguaje líder en la creación de sitios web dinámicos que son populares en la actualidad. Se necesita PHP para comprender las secuencias de comandos y la programación desde cero. ¿Dónde empezar? De la lectura del libro de Josh Lockhat "PHP: The Right Way".
  3. MySQL es un sistema para gestionar los conceptos básicos de datos. Ampliamente utilizado en la creación de sitios web que requieren almacenar grandes cantidades de datos agrupados.
  4. HTML no es un lenguaje de programación. Este es un lenguaje de marcado que se utiliza para escribir la base de una página web (bloques de construcción, distribución de texto y párrafos, etc.).
  5. CSS: hoja de estilo en cascada. Se utiliza únicamente junto con HTML para darle estilo y apariencia al lenguaje de marcado.

Sólo aprendiendo los conceptos básicos de los hitos de estas tecnologías se puede empezar a crear sitios web profesionales dinámicos que tienen una gran demanda en la actualidad.

Programación web. Relevancia y características

El tema de la programación web es especialmente relevante hoy en día. Como se indicó anteriormente, para comenzar a desarrollar elementos web es necesario tener un conocimiento bastante grande sobre lenguajes de marcado, creación de scripts, lógica y estilos.

Hoy en día, no sorprenderá a nadie con sitios creados solo usando HTML y CSS, por lo que los desarrolladores web que pueden hacer que un sitio sea visualmente hermoso, así como llenarlo con todas las funciones necesarias para los usuarios, se han vuelto muy solicitados.

Este tipo de desarrollo requiere la creación de dos tipos de un mismo programa: partes de servidor y cliente. El programador debe comprender el principio de funcionamiento de los llamados sockets, paquetes de datos que permiten transmitir los flujos de información necesarios a través de la red entre el servidor y el cliente.

Creación de aplicaciones para el sistema operativo Windows.

Para desarrollar dichos programas, necesitará conocimientos del lenguaje C#. Un servicio gratuito de Microsoft llamado Virtual Academy le permitirá aprender todas las funciones de este lenguaje y practicar la escritura de aplicaciones sencillas.

Según la nueva política de Microsoft, todas las aplicaciones se cargan en la tienda de software, por lo que puedes obtener acceso para monetizar tu proyecto.

La familia de lenguajes C (C, C++, C#). Peculiaridades

Programación desde cero: ¿por dónde empezar a elegir un idioma? La respuesta a esta pregunta se puede obtener profundizando en más detalle en los tipos de tecnologías de creación de aplicaciones. También se debe tener en cuenta la relevancia de un idioma en particular.

Los lenguajes C, C++, C# tienen una cosa en común: la presencia de funciones POO (programación orientada a objetos). Esta tecnología le permite simplificar significativamente el proceso de escritura del código del programa. Cada objeto de software se describe en una clase específica y tiene sus propios parámetros, métodos y propiedades. Por lo tanto, el programador no tiene que escribir grandes fragmentos de código cada vez si es necesario utilizar el mismo objeto varias veces.

Servicios de Internet útiles para aprender los principios básicos de la programación y la estructura del código de cualquier aplicación.

En la primera etapa de formación, casi cualquier servicio web le ofrecerá probar sus capacidades utilizando Pascal, el más simple de los lenguajes de alto nivel. Se utiliza con fines educativos y se enseña en escuelas y colegios técnicos para que los estudiantes puedan comprender la programación desde cero. ¿Por dónde empezar con la codificación Pascal? En primer lugar, debes descargar el entorno de desarrollo a tu PC. Este es un pequeño archivo ejecutable en el que se escribirá el código del programa. Utilice TurboPascal porque es el entorno más popular para aprender este lenguaje de programación.

HourOfCode es un servicio web de Microsoft. Se pretende mostrar claramente a los estudiantes qué es un ciclo, variable, clase y condiciones. El proceso de aprendizaje es como un juego.

CodeAcademy es un recurso poderoso para aprender casi cualquier tecnología de codificación. Dedicándole sólo una hora al día ni siquiera notarás cómo aprenderás a programar y crear tus propios proyectos.

Udacity es un servicio que brinda a sus usuarios acceso gratuito a conferencias de profesores y desarrolladores famosos.

Adquiriendo experiencia inicial. Trabajo independiente

Después de aprender los principios básicos del idioma elegido, podrá comenzar con seguridad sus primeros proyectos. Empiece a trabajar como autónomo, porque así es como completará su cartera y adquirirá experiencia comunicándose con los clientes. Estas habilidades le serán útiles en el futuro si desea conseguir un trabajo en una empresa como desarrollador de software oficial.

Línea de fondo

Programación desde cero: ¿por dónde empezar? Para los principiantes, los profesores de universidades de renombre mundial recomiendan practicar con las estructuras básicas que forman la base de cualquier lenguaje de programación. Inscríbase en cursos especializados o estudie por su cuenta escuchando conferencias en línea.

A día de hoy, Java es el más famoso y popular entre todos los lenguajes de programación. Comenzó a existir en 1996, desarrollado inicialmente por Sun Microsystems. Con el tiempo, fue absorbida por Oracle Corporation. Los desarrolladores planearon hacer de Java un lenguaje universal aplicable a casi todas las tareas.

Durante los últimos 23 años, Java se ha expandido y mejorado enormemente. La versión actual hoy es Java 11, lanzada en septiembre del año pasado. Durante este tiempo, Java se ha convertido en algo más que un lenguaje de propósito general. Se le puede llamar una plataforma completa que tiene su propio ecosistema. Hoy en día, el lenguaje realmente se puede utilizar para cualquier cosa: desde crear pequeños programas hasta colosales portales de Internet. A menudo se utiliza para desarrollar software para todos los ordenadores, teléfonos inteligentes y aparatos inteligentes conocidos. La mayoría de las aplicaciones de Android están escritas en Java.


Características de Java

Tiene muchas características, pero la clave es el principio de traducir el código a un formato especial. código de bytes, que no está atado a la plataforma. Posteriormente, este código de bytes se procesa en la JVM. Este factor distingue a Java de otros lenguajes interpretados como perla, etc. En ellos, el código pasa inmediatamente al intérprete. Por otro lado, Java tampoco es un lenguaje puramente compilado (como los del tipo C).

Gracias a la arquitectura inusual, se logra la multiplataforma y la portabilidad de las aplicaciones basadas en Java. Estos productos se pueden ejecutar en Windows, Linux, Mac OS y ni siquiera requieren recompilación de código. La implementación de JVM en todas las plataformas puede diferir, pero el principio y la ejecución siguen siendo los mismos.

La sintaxis de Java es similar a la de los lenguajes C; nos recuerda mucho a y. Si tiene conocimientos de uno de los lenguajes tipo C, comprender Java no le resultará difícil.

La siguiente característica importante del idioma.- Recoge automáticamente toda la basura y la elimina de la memoria. En la práctica, esto significa que Java elimina de la memoria los objetos obsoletos y no utilizados sin comandos adicionales. En otros idiomas, esto debe hacerse manualmente, escribiendo periódicamente los comandos apropiados.

Java está clasificado como un lenguaje orientado a objetos. Hay soporte para herencia, polimorfismo y más. Este enfoque ayuda a crear proyectos grandes que son fáciles de escalar, expandir y editar.

Es un lenguaje relativamente simple que se puede aprender con bastante rapidez. Gracias a los marcos que contiene, puede crear funciones estándar para sitios web, juegos y aplicaciones en PC y teléfonos inteligentes con un par de comandos, sin alterar el código de bajo nivel.


Arriba