Aprender java desde cero

Responder
  1. #1
    jos
    Avatar de jos
    Registración
    Jul 2003
    Mensajes
    2,526
    Ubicación
    Argentina

    Aprender java desde cero

    Buenas, toda mi vida fui un renegado de los lenguajes de programacion, por malas experiencias que tuve con visual basic y matematica en la secundaria en general (limites derivadas, esas cosas). Actualmente me estoy amigando con la matematica, la programacion, y demas, y quiero aprender java especificamente, para hacer scripts mas que nada. tampoco me jodería aprenderlo bien, en niveles mas altos, y a futuro.


    Ahora bien, la pregunta es la siguiente, la idea es hacerlo desde mi casa, y aprender autodidactamente. Entonces necesito un libro, o lo que sea que me enseñe java de cero. Seguro hay miles, pero necesito una buena recomendación. Cero dramas con el ingles, así que pueden recomendar cosas en ingles.


    Muchas gracias
    • Me gusta
    Me gusta
    I5-6500 @3200mhz - CoolerMaster V8 - Gigabyte H110M-H DDR3 CF - - 12GB DDR3 @1600mhz - Sapphire R9 380- SSD Kingston SV300 - Samsung 640gb 16mb - PC Power & Cooling Silencer 610w - Raidmax Cobra Blue - LG 22MP55 -

  2. Compartí este Tema:
    • Vistas: 1413
    • Mensajes: 12
    Seguí este Tema: Suscribite
  3. #2
    Mirá! es como feis... Avatar de Alemar
    Registración
    Nov 2003
    Mensajes
    405
    Ubicación
    Venezuela

    Re: Aprender java desde cero

    Hola j0s, tanto tiempo

    Bueno, primero y principal no es necesario tener/saber matemáticas para programar, es el mito más grande de la historia porque lo único que necesitas es lógica y saber separar un gran problema en varios pequeños (que lo enseñan con la matemática, claro, pero como tal no es requisito y puedes aprender eso con otros métodos), así que no te desmotives por eso.

    Personalmente ya que llevo en el mercado laboral Venezolano alrededor de 6 años, hay una pequeña guerra entre Java y C# (.NET) y ambos son bien pagados. En internet y encuestas mundiales, se sitúan casi en el mismo renglón por lo que elegir uno u otro dependería más bien de tu estilo de trabajar y al entorno al que te querés orientar. Tomando ésto en cuenta, yo te recomendaría que comiences con C#. Por qué?...

    Java
    Pros:
    * Multiplataforma (aunque es muy relativo, no todos los jar que funcionan en un sistema pueden hacerlo en otro)
    * Fácil de aprender
    * Varios IDEs que elegir y ligeros (menos de 1 GB - Anjuta, Eclipse, Netbeans, IDEA, etc.)
    * Te sirve para desarrollo móvil también (Android, J2ME, BlackBerry, etc.)
    * Código abierto, gratis, whatever.

    Contras:
    * Demasiada fragmentación (JDK 5, 6, 7, J2ME, etc.)
    * Dependes de que el usuario tenga el runtime correcto para que funcione
    * Debido al punto de arriba, todos los entornos difieren y no hay unificación (problemas con variables de entorno, rutas, etc)
    * IDEs poco optimizados y lentos, inclusive algunos con bugs y la compatibilidad de proyectos entre IDEs es casi nula.
    * Código que haces para Windows, puede no funcionar en Linux por funciones relacionadas al core, como formatos de rutas, funciones de red, etc.
    * Comprado por Oracle, que en mi experiencia personal, no hacen más que joder todo lo que tocan.
    * Depurar se hace complicado cuando cambias de entorno, y no todo el código es fácilmente depurable a menos que cuentes con programas externos que te ayuden (como Valgrind, etc) incluso para depurar localmente.
    * Hay muchas cosas "naturales" (como leer un XML) que Java no hace solo, debes bajar librerías, leer su documentación (independiente) y aprender a usarlas. Incluso a veces, toca reinventar la rueda.
    * Para hacer programas visuales (GUI) debes usar varios kits (Swing, etc.) los cuales tienen una manera de trabajar muy diferente a lo normalmente visto desde las API de Windows (Visual Basic, por ej.).
    * Estructura de compilados (los .jar) nada amigable para Windows. Carpetas como:
    C:\proyectos\pruebaJava\com\java\swx\module\extra\ compatibility\SomeClass.java se hace bastante tediosa al tener rato trabajando con eso ya (y no me vengan con que Eclipse te lo separa en un arbolito...)

    Debido a todo esto, si bien Java es poderoso, es engorrosísimo. En cambio...

    C#
    Pros:
    * Multiplataforma (más que Java. Existe en Arduino, en Linux (con Mono) y hasta en Android (con Xamarin)).
    * Las librerías difícilmente cambian y el código es universal. En Linux por ej. System.Windows.Forms es lo mismo que en Windows, y mostrará lo mismo y funcionará igual salvo pequeñas diferencias. Lo mismo con System.Net y System.IO, por decir ejemplos.
    * IDE sólido y potente (su depurador e Intellisense son una maravilla) aunque pesado (1 DVD (4.5 GB) + update (v4, alrededor de 1 GB)
    * Hay compatibilidad hacia atrás, parcialmente. Código de .NET 3.0 funciona con runtime de 4.0 y 4.5. Código hecho en .NET 4.5 puede bajarse a 4.0 o 3.0 sin mucho problema.
    * La mayoría de las cosas ya las hacen las librerías de .NET (leer XML, parsear JSON, etc.) y lo que no existe puedes hacerlo de cero sin complicarte mucho.
    * Hay tanto documentación oficial bien hecha y concisa, como códigos y librerías gratis, a-la open-source, pero rara vez hay que usarlas.
    * Si tienes que usar PowerShell, se te hará más fácil entenderlo ya que es el mismo sintaxis de los scripts.
    * La estructura de los proyectos y carpetas lo decides tú.

    Contras:
    * Bloqueado a un solo IDE (Visual Studio), aunque ya hay maneras de usar otros como Sublime Text, Xamarin Studio, SharpDevelop, etc. dependiendo del proyecto.
    * Dependes de que exista el .NET Framework requerido - pero también pasa lo mismo con Java.
    * No hay tantas cosas open-source como en Java. Existen Codeplex, Codeproject, Stackoverflow y GitHub, pero hasta ahí. Aunque a mi parecer son fuente suficiente de información, y muy pocas cosas están indocumentadas.
    * C# va en rumbo a lo que Microsoft quiere, aunque escuchan a la comunidad, a veces provoca ahorcarlos, como cuando sacan su framework MVC para ASP.NET el cual es engorrosísimo a mi parecer. Sí, a veces se mandan sus cagadas también, pero no tan seguido xD.
    * No hay desarrollo móvil, a excepción de un runtime algo cerrado para Android, y bueno, Windows Phone/Windows Mobile/Windows CE.

    Ahora, mi opinión personal:

    Hay mucha gente que anda en un hype bastante fuerte. A Linus le da por decir, "me gusta github!" y entonces todo, TOOOODO el mundo se quiere pasar a Git. Y eso está mal, muy mal. El hype también es Java, lo libre, lo gratis (qué es más atractivo para una empresa que no pagar licenciamiento?) pero recordemos que lo barato sale caro, y por esto la mano de obra de software libre (Java, Linux, etc) es cara. Ganarás más dinero? seguramente, pero será directamente proporcional al estrés mental y fuerza de trabajo que debas aplicar para resolver el día a día.

    Es muy posible que vengan muchos FSF zealots a querer caerme encima por apoyar más a Microsoft con su C# y .NET, pero luego de haber trabajado con ambas tecnologías (para poder tener un punto de comparación y bases con las que hacer recomendaciones en este caso), pues con C# realmente gano bastante guita y no me estreso tanto resolviendo algo porque la mayoría de las cosas ya están hechas, y lo que no, sale fácil al ser un lenguaje bien diseñado, y puedo concentrarme en llevar ideas innovadoras a la empresa que me contrata (o hacer alguna app sencilla para resolverme algún problema casero) que gastarme incluso horas extra peleándome con algo que debería resolverse o funcionar solo de manera natural.

    ---

    Ahora bien, puesto toda esta información sobre la mesa, te recomendaría que comiences con C#. Te bajas Visual Studio (2012 preferiblemente) y haces alguna app sencilla ( la típica calculadora ), luego haces alguna app de cónsola y vas poco a poco. Lo ideal es tener un propósito para aprender, una meta que hacer, así se te hará más entretenido.

    Una de las ventajas que tiene C# es que es muy parecido a Java, pero para mantener la salud mental, C# es más fácil, y puedes saltar de ahí a Java si querés. Tómalo como un consejo de alguien que ya pasó por allí.

    En cuanto a recursos, no tengo muchos para C#, y la verdad odio leer libros - mientras más dinámico un tutorial y con imágenes, mejor - así que acá van los mejores que he visto:

    http://www.java2s.com/Tutorial/CSharp/CatalogCSharp.htm (esta página es muy buena, siempre hay snippets para todo)
    http://rbwhitaker.wikidot.com/c-sharp-tutorials (este no lo he visto, pero se ve muy atractivo)
    http://www.dotnetperls.com (buena "wiki", concisa y al punto, me encanta)

    Y si querés probar el código en tiempo real sin instalar nada:

    http://www.compileonline.com/compile_csharp_online.php
    http://ideone.com/
    https://compilr.com/ (hay que registrarse, pero es muy bueno).

    Bueno, cualquier cosa estoy a la orden che. Mucha suerte
    • Me gusta
    Me gusta
    ECS P45T-A | E7500 2.9Ghz | 8600GT 1GB | 3GB DDR2 667 | Win8.1 x64

    Citar Mensaje original enviado por Hanzo
    fucking multitasker del orto

  4. #3
    jos
    Avatar de jos
    Registración
    Jul 2003
    Mensajes
    2,526
    Ubicación
    Argentina

    Re: Aprender java desde cero

    Jojojo gracias por la respuesta tan completa. Creo que voy a empezar con c. Además parece menos mainstream (?).


    Se agradece

    Sent from my GT-I9070 using Tapatalk 2
    • Me gusta
    Me gusta
    I5-6500 @3200mhz - CoolerMaster V8 - Gigabyte H110M-H DDR3 CF - - 12GB DDR3 @1600mhz - Sapphire R9 380- SSD Kingston SV300 - Samsung 640gb 16mb - PC Power & Cooling Silencer 610w - Raidmax Cobra Blue - LG 22MP55 -

  5. #4
    Avatar de Thurk
    Registración
    May 2005
    Mensajes
    730
    Ubicación
    Argentina

    Re: Aprender java desde cero

    Ojo que C y C# lo único que tienen en común es parte del nombre.
    • Me gusta
    Me gusta

  6. #5
    jos
    Avatar de jos
    Registración
    Jul 2003
    Mensajes
    2,526
    Ubicación
    Argentina

    Re: Aprender java desde cero

    Tanto tiempo thurk


    Sí. Toda mi vida pensé que eran cosas similares. Entonces c o c++?

    Sent from my GT-I9070 using Tapatalk 2
    • Me gusta
    Me gusta
    I5-6500 @3200mhz - CoolerMaster V8 - Gigabyte H110M-H DDR3 CF - - 12GB DDR3 @1600mhz - Sapphire R9 380- SSD Kingston SV300 - Samsung 640gb 16mb - PC Power & Cooling Silencer 610w - Raidmax Cobra Blue - LG 22MP55 -

  7. #6
    Mirá! es como feis... Avatar de Alemar
    Registración
    Nov 2003
    Mensajes
    405
    Ubicación
    Venezuela

    Re: Aprender java desde cero

    No no no si comenzás con C o C++ te vas a volver un culo y medio. El lenguaje es C#, con el numeral al lado, y el programa Visual Studio 2012. Y NO TOQUES VB.NET XD, sería una herejía.
    • Me gusta
    Me gusta
    ECS P45T-A | E7500 2.9Ghz | 8600GT 1GB | 3GB DDR2 667 | Win8.1 x64

    Citar Mensaje original enviado por Hanzo
    fucking multitasker del orto

  8. #7
    Avatar de JPG!!!
    Registración
    Mar 2006
    Mensajes
    1,305
    Ubicación
    Dublin, Ireland

    Re: Aprender java desde cero

    arranca con java
    https://www.udemy.com/java-tutorial/...e=O8Z6SbO1el79
    fijate este curso esta bien para arrancar
    • Me gusta
    Me gusta

  9. #8
    Avatar de Pok.3r
    Registración
    Dec 2008
    Mensajes
    4,650
    Ubicación
    Argentina

    Re: Aprender java desde cero

    Citar Mensaje original enviado por jos Ver Mensaje
    quiero aprender java especificamente, para hacer scripts mas que nada. tampoco me jodería aprenderlo bien, en niveles mas altos, y a futuro.
    A qué te referis con eso? Scripts para qué?
    Si pensas aprender como hobby y arrancar haciendo cosas al toque, yo te recomiendo python.
    • Me gusta
    Me gusta

  10. #9
    Avatar de CristianMC
    Registración
    Mar 2006
    Mensajes
    2,594
    Ubicación
    San Miguel, Tucuman, Argentina

    Re: Aprender java desde cero

    Muy buenas las respuestas. Andaba en la misma Duda

    Enviado desde mi RAZR HD usando Tapatalk 2
    • Me gusta
    Me gusta
    Dell U2715H - NZXT H440 -Intel Core i7 4790k - CM Hyper 212+ - Corsair Vengeance (8Gb x2) 1600 Mhz - Gigabyte GA-Z97X-UD5H-BK - CM Silent Pro M700 - Saphire 6950 OC Edition
    Age quod agis et bene agis.
    Vendo !! Sony Z5

  11. #10
    jos
    Avatar de jos
    Registración
    Jul 2003
    Mensajes
    2,526
    Ubicación
    Argentina

    Re: Aprender java desde cero

    Citar Mensaje original enviado por Alemar Ver Mensaje
    No no no si comenzás con C o C++ te vas a volver un culo y medio. El lenguaje es C#, con el numeral al lado, y el programa Visual Studio 2012. Y NO TOQUES VB.NET XD, sería una herejía.
    ahh Gracias, lo voy a tener en cuenta a futuro

    Citar Mensaje original enviado por JPG!!! Ver Mensaje
    arranca con java
    https://www.udemy.com/java-tutorial/...e=O8Z6SbO1el79
    fijate este curso esta bien para arrancar

    Buenisimo, de acá a un futuro distante tengo pensando saber en ambos lenguajes, así que todo suma.

    Citar Mensaje original enviado por Pok.3r Ver Mensaje
    A qué te referis con eso? Scripts para qué?
    Si pensas aprender como hobby y arrancar haciendo cosas al toque, yo te recomiendo python.
    Para automatizar tareas de networking, pero también aprender a hacer apps, onda android.
    • Me gusta
    Me gusta
    I5-6500 @3200mhz - CoolerMaster V8 - Gigabyte H110M-H DDR3 CF - - 12GB DDR3 @1600mhz - Sapphire R9 380- SSD Kingston SV300 - Samsung 640gb 16mb - PC Power & Cooling Silencer 610w - Raidmax Cobra Blue - LG 22MP55 -

  12. #11
    Avatar de fete
    Registración
    Aug 2013
    Mensajes
    75

    Re: Aprender java desde cero

    Turorialspoint es una página muy buena, yo estoy aprendiendo ahí a programar por primera vez con c++
    Tiene cursos de muchos lenguajes (incluido java)

    compileonline es una página con compiladores online, es muy buena
    • Me gusta
    Me gusta

  13. #12
    jos
    Avatar de jos
    Registración
    Jul 2003
    Mensajes
    2,526
    Ubicación
    Argentina

    Re: Aprender java desde cero

    Citar Mensaje original enviado por fete Ver Mensaje
    Turorialspoint es una página muy buena, yo estoy aprendiendo ahí a programar por primera vez con c++
    Tiene cursos de muchos lenguajes (incluido java)

    compileonline es una página con compiladores online, es muy buena
    Gracias, es buena info.


    De a poco voy decidiendo en que especializarme :$.
    • Me gusta
    Me gusta
    I5-6500 @3200mhz - CoolerMaster V8 - Gigabyte H110M-H DDR3 CF - - 12GB DDR3 @1600mhz - Sapphire R9 380- SSD Kingston SV300 - Samsung 640gb 16mb - PC Power & Cooling Silencer 610w - Raidmax Cobra Blue - LG 22MP55 -

  14. #13
    Avatar de jhmed76
    Registración
    Aug 2010
    Mensajes
    3,076
    Ubicación
    Argentina

    Re: Aprender java desde cero

    Si queres hacer cursos desde cero te recomiendo EducacionIT, el año pasado hice como 5 cursos y la verdad se aprende muy bien, obvio, depende mucho de las ganas que tengas de aprender y practicar. El primer curso es para no programadores, asi que si no sabes nada es bueno para empezar de 0 (como hice yo)
    • Me gusta
    Me gusta

  15. Compartí este Tema:
    • Vistas: 1413
    • Mensajes: 12
    Seguí este Tema: Suscribite
Responder