¿Qué lenguaje de programación aprender primero?
Me encuentro con esta pregunta muy a menudo en foros, redes sociales y es la pregunta que yo misma me hago. Pasa el tiempo, los lenguajes de programación van evolucionando, desarrollándose o desapareciendo. Uno tiene que estar al tanto de cuáles son las demandas y cuáles son los lenguajes que responden a diversos requerimientos.
La guerra de los lenguajes de programación
Hay un lenguaje de programación para cada gusto, forma de trabajo y estilo de vida. Udemy ilustra la guerra que se está dando actualmente entre los principales lenguajes de programación: Python, Ruby y PHP.
Programación en la vida real
Pregunté a algunos programadores sobre cómo aprendieron a “codear”, con cuál de los lenguajes de programación sugieren comenzar y qué herramientas recomiendan para aprender.
John Freddy Vega, fundador de Cristalab (a quien puedes ver todos los jueves en Mejorando.la) inició con el lenguaje Basic de una graficadora CASIO. Aurora Rodriguez, de Androideity, comenzó con el lenguaje Java: “es un lenguaje cuya sintaxis es simple ya que es muy parecido al lenguaje que hablamos los seres humanos y el grado de dificultad es intermedio”.
El primer lenguaje de programación de Cecilia Castillo (Girlsattech) fue Scheme. Por su parte Adrián Catalán, un elementalgeek por excelencia, empezó con Pascal que “es un lenguaje ordenado que permite conocer los principales básicos de cómo programar.”
Leonidas Gonzalez, el front-end ninja de Mejorando.la, tiene como lenguaje de bandera a Javascript “por todas las ventajas que ofrece para manipular el DOM”.
El quid de la cuestión
Ceci menciona que la elección de un lenguaje depende del objetivo de aprender a programar. Si es aprender conceptos de ciencias de la computación mientras se aprende a programar sería ideal empezar con Java.
“Algunos lo sienten como un poco difícil para empezar pero permite entender algunos conceptos como por ejemplo qué es abstracción, qué son clases, qué es herencia, qué es un objeto,etc. Lo cual permite modelar cualquier cosa. – @zezzi”
Si el objetivo es comenzar con un lenguaje amigable la recomendación de Ceci es: Ruby. “Fue hecho con la idea de facilitarle la vida a los desarrolladores, es bastante fácil al momento de leer el código y además se pueden hacer prototipos de una forma bastante rápida si se llega a aprender algún framework como Rails o Sinatra.”
Python es excelente para iniciar, sostiene Freddy. Así también lo cree Adrián que agrega que el inicio debería hacerse con un lenguaje interpretado y versátil, ya sea Javascript, Python o Ruby.
Si lo que se busca es una aplicación inmediata al mundo web la sugerencia de Freddy y Leonidas es: Javascript.
En cambio para Aurora el lenguaje que se elija depende del paradigma de programación que se quiera dominar. “Actualmente el paradigma más utilizado es el Orientado a Objetos (POO) y si hay un lenguaje que sigue al pie de la letra la ideología de este paradigma es Smalltalk“.
Aprender a programar es más que aprender un lenguaje es realmente entender los conceptos detras de la programación, es ser capaz de hacer algoritmos y escribirlos, es resolver problemas. Si puedes hacer esto no importa el lenguaje que elijas. – @zezzi
Aprendiendo a programar en 3.. 2..
Adrián recomienda comenzar con una plataforma que no involucre código como:
Estas plataformas nos proveen “gratificación inmediata” usando diferentes técnicas pero sin código de por medio, todo esto además de tener un interesantísimo componente social porque puedo compartir mi trabajo y trabajar sobre lo que otros han publicado. – @ykro
Ceci sugiere una herramienta para niños que quieran programar: Rebeca a través del espejo. En estas herramientas “enseñan a expresarnos algorítmicamente, ser capaces de leer un lenguaje formal, de aprender a transmitir ideas complejas de una forma simple y descomponer el problema lógicamente.” Además “demuestran de una forma intuitiva que hay más de una forma de resolver un problema.”
Otra recomendación de Adrián son los cursos de Ciencias de la Computación y Programación de Harvard y del MIT que se encuentran en la plataforma edx. Así como el curso de Ciencias de la Computación de Stanford a través de Coursera y el de Udacity.
Casi todos coinciden en que Codecademy es una de las mejores opciones para aprender a programar. Ceci recomienda también Codeschool.
Para Leonidas la herramienta para desarrolladores de Google Chrome es su favorita, trae un depurador de javascript donde puedes ejecutar tu código al instante. Accedes a ella pulsando f12 en windows o command option I en mac.
Para aprender Python Freddy recomienda “Learn Python the hard way“. También puedes echarle un vistazo a nuestra guía sobre Python. Finalmente el curso de Ciencias de la computación de Khan Academy para aprender Javascript.
Los Foros del Web también pueden ayudarte con todas las preguntas que tengas sobre programación.
¡A programar!
Ya no hay excusas para comenzar. Todos deberíamos aprender a codear, pero siempre teniendo en cuenta los dos errores más comunes: Gastar mucho tiempo en aprender cosas que al final del día no te sirven y no empezar a codear de inmediato.
Entonces.. ¿Qué estás esperando?
Un buen articulo, realmente bueno, actualmente estoy utilizando Ruby, y me va bien, es muy sencillo, y simplifica el trabajo, muy amigable a decir verdad, recomendado. Saludos!
un buen lenguaje para comenzar es kodu game lab mucho mas simple y divertido que scrath
Creo que si alguien comienza a programar debería comenzar con C/C++ es cierto son los mas complicados a nivel de programación, pero si los dominas lograrás dominar casi cualquier lenguaje del mercado actual.
Que bueno que te haya gustado. Gracias por compartir tu experiencia! Saludos!
Genial. Gracias por la recomendación! Saludos!
Justo ninguno de los programadores a quienes pregunté comenzaron o mencionan ese lenguaje, pero es también uno de los lenguajes para aprender. Gracias por la recomendación! Saludos!
Hay algo que no entiendo. Yo quiero hacer aplicaciones que funcionen en la web. Si bien nos recomiendan javascript no tengo claro si empezar por hay, ya que entiendo que sin php ni html, javascritp no funciona, lo que te obligaria a aprender estos 2 lenguajes antes. Entonces como lo hago?.
Saludos y gracias por el articulo.
Bueno efectivamente es una cuestion que se habla mucho, y los que estamis metidos en la programación siempre respondemos lo mismo, “depende de que quieras hacer”, el problema es que cuando empiezas no sabes ni lo que quieres hacer.
Realmente hay muchos lenguajes con los que se puede aprender, pero cierto es que hay algunos que nos permitirán adquirir una base y nos ayudarán a pensar de forma algoritmica. En mi caso recuerdo cuando empecé a programar en pascal, hoy ya desfasado pero era muy didáctico.
Lo que si tengo claro es que sea cual sea lo mejor es decantarse por un lenguaje de código abierto y gratuito, tipo C++ o PHP, que como bien dice otro compañero nos permitirán adquirir los conocimientos para afrontar otros lenguajes.
Hoy en día existen multitud de foros de todos los lenguajes donde poder plantear nuestras dudas y aprender de otros.
Mucho ánimo a los más noveles 😉
Eduardo Sanchez de la Chica
Programador/Diseñador Web
excelente! aporte!! y feliz dia del programador
Muy buen artículo Gissela, mas para aquellos que no sabemos por donde empezar.
Yo estudie análisis de sistemas y aún soy un novato, me a costado la programación, ya que estudiaba y trabajaba a la vez, pero ahora que egrese de la carrera, entiendo un poco mejor, me encanta el desarrollo de software y web. En mi país Chile e notado que programan más con Visual.Net, C Sharp, PHP, el cuál en mi caso tendría que irme a los más práctico, si quiero encontrar trabajo como programador, pero por ahora estoy reforzando y aprendiendo más sobre programación, ya que si sabes programar bien, un lenguaje de programación, pasaría a ser netamente una herramienta tecnológica para el desarrollo de software o web, que el uso de un lenguaje de programación dependerá de los requerimientos que a merite según el proyecto.
Si vas a desarrollar para web necesitas aprender HTML, que no es un lenguaje de programación sino un estándar para definir documentos que puedan ser interpretados por los exploradores. PHP te permitirá desarrollar documentos HTML dinámicos, con los que el usuario final podrá interactuar. Sin embargo PHP es un lenguaje que se ejecuta del lado del servidor, y para tener una aplicación web robusta, rica y atractiva es necesario complementarlo con un lenguaje que se ejecute del lado del cliente (navegador) como Javascript. Mi recomendación es pues que aprendas las tres tecnologías en el orden en que las describí
Gracias Gabriel por tu excelente , ahora me queda todo claro y se que debo hacer.
Saludos.
hola quiero aprender a programar para la web mas especificamente para diseñar sitios como este http://www.livejasmin.com pero no se cual seria el lenguale adecuado para una pagina dinamica como lo es esta
gracias
Yo empezé con C++, todo por consola xD me sirvió muchísimo llevar ese lenguaje en la U, luego aprendí visual basic 6 y foxpro, fué demasiado fácil, luego seguí con Java (solo lo básico) y finalmente aprendí PHP y trabajo con este último, estoy pensando aprender Ruby, aquí en Perú veo que no hay muchos cursos, pero espero algún día que maestros del web publique una guía sobre Ruby para iniciarnos en ese interesante lenguaje =)
Antes que nada muy buen post, creo que deberían de dedicarle una sección especial en Maestros del Web.
Programación es Tecnología. Y una vez estas en la tecnología, debes seguir aprendiendo.
En mi opinión el mejor incentivo para programar (como todo trabajo) es probar el fruto de nuestro progreso.
Como back-end developer debo admitir que en ocasiones es difícil apreciar este fruto.
Para alguien que va a empezar a programar, yo sugeriría que inicie con HTML (se que no es un lenguaje de programación) ya que permite ver resultados inmediatos sin necesidad de tantas dependencias, solamente necesitas un navegador. Luego aprendes CSS y JavaScript. Luego ya es elección de cada uno.
Si tienen tiempo, pueden leer este artículo (en ingles) que explica el porque Diablo 2 es más adictivo que Diablo 3 (explicare mi punto, lo prometo).
http://www.alexc.me/a-scientific-explanation-why-diablo-3-is-less-addictive-than-diablo-2/417/
Si quieres aprender a programar, entra por Front-end que tendrás mayores “recompensas” en tu aprendizaje. Mayores recompensas harán más divertido y más emocionante cada obstáculo vencido, ya que literalmente visualizaras tu progreso.
Back-end es muy diferente, si haces bien tu trabajo… nadie notara tu trabajo. Si lo haces mal, bueno ya saben lo que pasa si un programa no esta correctamente codificado ;).
Tampoco piensen que me arrepiento de ser Back-End Developer, ya que en mi humilde opinión Back-End es el verdadero arte de programar.
Saludos y perdón por tan largo comentario.
P.D. Inicie a programar con Basic en un monitor bien pequeño y verdoso 😛
Muchisimas gracias por tu aporte Eduardo! Saludos!
Que bueno que te haya gustado! Saludos!
Espero que te sirva entonces! Saludos!
[…] "CRITEO-300×250", 300, 250); 1 meneos ¿Qué lenguaje de programación aprender primero? http://www.maestrosdelweb.com/editorial/aprender-a-programar/ por Hruot hace […]
Muy bueno el articulo, yo estoy comenzando con Java. Aunque quisiera ver otros lenguajes como python o php.
Si quieres hacer un sitio así, necesitas saber para la parte visual html y css y para la parte “funcional” y que maneja las chicas que salen en la página, necesitas php y algún motor de bases de datos, usualmente se utiliza mysql en la web.
Respecto a lo de mostrar las cámaras, desconosco que tecnología utilizarán. Pero como base, debes saber lo que te mencione anteriormente.
saludos !
Hola Cristian, si no tienes conocimientos de programación web debes empezar por una cosa más sencilla, el proyecto que describes es de cierta embergadura, si eres novato siento decirte que para nada estará a tu alcance.
Si tienes curiosidad por saber que lenguajes se usan ahí te los voy a decir:
– HTML/CSS (como es lógico)
– PHP/MySQL para gestionar la base de datos de vídeos, aunque también se podrían implementar en ASP.NET
– jQuery: para dar efectos animados.
– Respecto a las webscams no sé si se trata de cámaras en tiempo real, es posible incluso que se trate de vídeos, si es así esta muy currao porque lo que hace es que coje fragmentos aleatorios de un vídeo más largo, por eso cada vez que clicamos la chica aparece haciendo algo distinto.
Como ves son lenguajes que requieren cierta experiencia y que deben combinarse para dar ese resultado.
Con esto no pretendo desanimarte, al contrario, te invito a que empieces por algo más sencillo, teniendo como referencia y objetivo un proyecto de ese tipo. Si lo que quieres es sólamente montar un negocio online lo más conveniente sería que solicitaras los servicio de un programador, eso sí, para un proyecto o así te van a pedir una cantidad considerable.
Siento ser tan drástico, pero un comentario como este creo que es lo que mejor puede orientarte.
Saludos.
Por cierto, si quieres algún consejillo o alguna orientación, estoy en twitter @educhip
pero que hago leyendo esto?? mejor me voy a codear!!!
jejeje, excelente articulo
Que me recomienda para enseñar a un chico de 6 años .
Para que aprende la lógica algo como es su momento fue el logo .
Excelente trabajo
Para Martín:
http://www.headfirstlabs.com/books/hfprog/
http://python4kids.wordpress.com/
http://inventwithpython.com/
Un saludo
Muy buen artículo. Yo estoy retomando la programación, es una pena que después de 5 años de carrera y varios lenguajes “vistos” (que no aprendidos) sea incapaz de hacer nada práctico por mi cuenta…
Buscando cursos online encontré Udacity.com, donde el cofundador de reddit.com imparte, de forma gratuita, uno de creación de aplicaciones web. Steve Huffman, que así se llama el chaval (28), elige Python y Google App Engine para el curso porque los ve prácticos y didácticos, y asegura que son lenguajes totalmente escalables para aplicaciones profesionales. ¿Qué diferencias básicas existen entre Python y PHP? En caso de querer crear una web comercial, ¿puedo seguir introduciéndome en Python (más HTML y CSS) o me recomendáis dar el salto a otro lenguaje?
Muchas gracias!!
Muy Buen este articulo, la verdad conocer sobre que lenguaje de programación se deberia empezar es muy interesante, muchas opinios y todas muy buenas. Yo me encuentro estudiando Java, y para ser nuevo me a parecido muy bueno, su metodología es muy buena, con claridad se entiende, que es una clase, un metodo, un objeto, variable local y variable de instancia, constructores, en fin, diferentes significados los cuales son entendibles y para mi, que soy nuevo en esto no me costado trabajo entender el significado y sus funciones, el provecho que se le puede sacar a estos, la verdad estar aprendiendo sobre java me a gustado mucho, a sido una experiencia fasinante, es un lenguaje que habla con los humanos por asi decirlo, pero espero aprender otros lenguajes mas para expandir mis conocimientos y conocer mas sobre el mundo y las maravillas de la programación.
cuando estudiaba me enseñaron C como primer lenguaje, pero con lo que realmente aprendi a programar fue con flash, por que era entretenido y lograbas que las cosas se movieran e interactuaran con poco y sencillo codigo.
actualmente y por esto mismo recomendaría aprender la logica basica con javascript y luego de aprender bien el uso de funciones, ciclos (for,where) y sentencias de control(if, else, switch) pasaria a algun lenguaje de servidor ya con OOP y MVC*
*busquen en wikipedia estos conceptos si no los entienden
[…] ¿Qué lenguaje de programación aprender primero? | Maestros del Web. Compártelo:Correo electrónico Pin ItMe gusta:Me gustaBe the first to like this. […]
[…] ¿Qué lenguaje de programación aprender primero? – Me encuentro con esta pregunta muy a menudo en foros, redes sociales y es la pregunta que yo misma me hago. Pasa el tiempo, los lenguajes de programación van evolucionando, desarrollándose o desapareciendo. Uno tiene que estar al tanto de cuáles son las demandas y cuáles son los lenguajes que responden a diversos requerimientos. […]
Yo estoy aprendiendo Python con una guia y me ha gustado mucho, no se programacion pero se HTML y CSS… ¿algo es algo no? ^^
Estupendo post de verdad, se agradece.
Llevo tiempo dándole vueltas para realizar un programa, como hobby, y leyendo posts y más posts no consigo llegar a una conclusión. Quisiera hacer el típico programa de cálculo de calorías, gasto energético con ejercicios utilizando iconos y gráficos que representen progresos… y base de datos para almacenar los cálculos. Mis conocimientos de programación son nulos pues abandoné pascal hace ya 16 años, consultado en webs me han recomendado: .NET, JAVA o VISUAL BASIC.
Si me aconsejara en alguno en concreto me ayudaría eternamente, pues me decantaría en estudiar uno u otro y meterme en serio, cualquier ayuda es bien recibida.
Un abrazo y gracias
Bueno yo quiero aprender a programar pero ,me gustaria que sea a distancia, puedo pagar ¿Pa Cuando cursos de paga a distancia en maestrosdelweb o mejorando.la?
Saludos a todos por alla en Asuncion Parauay ….!!
Yo estuve de los dos lados, como estudiante y como profesor. Además tuve la suerte de trabajar en una variedad de proyectos tal que me permitieron desarrollar aplicaciones back-end, front-end e inclusive web.
En mi experiencia (y lo que muchas universidades a nivel mundial siguen haciendo) hay que aprender C y luego C++ o Java. Esto te permite aprender todos los conceptos básicos de la programación además de ser lenguajes comerciales. C y C++ siguen siendo la base de cualquier dispositivo electrónico hoy en día – el resto, aunque no nos demos cuenta funciona encima de ellos (i.e.: cuando usas Windows o Linux, el sistema operativo fue construido en C/C++ y assembler).
La web la dejaría para lo último. Si ya sabes C, C++ o Java, la sintaxis y conceptos de HTML, CSS, JavaScript y PHP o ASP van resultar fáciles de aprender. De hecho, la sintaxis de Javascript y PHP es muy parecida a C y C++. Además, si has aprendido alguno de los lenguajes “aburridos” antes de meterte con la web, tu código web va a ser mucho más prolijo y eficiente que el de alguien que saltó directamente a aprender tecnologías web.
Claro que lo que menciona @Jonathan Búcaro también es cierto. Es importante encontrar algo que te de una gratificación inmediata para que sigas motivado. En eso las aplicaciones front-end suelen dar mejores resultados.
No soy una experta pero aprendí (ya para el 2005) el HTML y el CSS primero ya después le entre un poco al PHP, jQuery y demás.
Lo bueno de los códigos es que cambian y uno se debe mantener adiestrado.
Que pregunta complicada! La verdad encontraras respuestas de todo tipo desde personas que diran tenes que saber C, el padre de todos los lenguajes, hasta personas que te recomendaran Pascal o Smalltalk desde una visión mas académica pero muy poco practica, personas (no tan programadores) que te recomendaran Visual Basic, C#, alguna suite de Microsoft por sus facilidades, lenguajes mas fáciles pero menos populares como Ruby, otros ad-hoc como PHP con curva de aprendizaje veloz y su enorme desprolijidad, hay de todo.
No hay que cometer el error de encarar lo mas facil, sino luego todo lo demas te parecera terrible, hay que saber las facilidades de entornos y lenguajes son inversamente proporcionales a la precisión quirurjica de nuestros futuros desarrollos. Un buen programador es el fondo también un gran depurador, por eso es bueno saber adquirir la habilidad de manipular miles de lineas de código en un simple bloc de notas sin entrar en pánico por ello.
Creo que el verdadero consejo no es pensar en el lenguaje sino en aquello que queremos lograr. Los consejos de todos nosotros estarán bañados de subjetividad inevitablemente, y lo peor que te puede pasar es enamorarte de un lenguaje eso te hará perder objetividad y te quitara las ganas de aprender a futuro. Tampoco esta bien pretender aprender todo, el que mucho abarca poco aprieta, es un balance.
La pregunta es si te interesan las aplicaciones, cuales para PC o para móviles? te interesan las web? los juegos? que te gustaría hacer solo por hobby, y de allí iras decantando la mejor respuesta, porque generalmente hay un lenguaje mejor posicionado que otros según el terreno que se desee explorar.
Hola, felicitaciones por este espacio, te qeudó de lujo, tengo una pregunta ya que soy programador desde hace algún tiempo, pero me he retirado bastante del medio, más quiero comenzar un proyecto y me gustaría saber que lenguaje permite hacer una aplicación tipo VisualBasic pero que tambien la puedan consultar desde la web tipo MySql-PHP, ya que si lo desarrollo en PHP debo tener instalado el servidor en el local, y si lo hago en Visual quedaría en mi PC, además de ser software propietario y me gustaría más bien compartir la aplicación. Saludos y gracias de antemano.
Me leí todo haha.
Les cuento, voy a dar clases de programación a nivel diversificado. Cuál me recomiendan para enseñar?
hola a todos expertos en programación soy ecuatoriano, tengo 30 años de edad le hago una pregunta , he sido toda la vida técnico en computadoras y se algo de redes , ¿¿¿para mi es muy tarde empezar en el mundo de programación a esta edad ????, se un poco de visual basic 6.0 y sql server , estoy interesándome por aprender Oracle y java , pero no se si esto sea una gran ayuda para mi economía o futuro ya que como estaba leyendo en este post ahora se vienen otro tipo de aplicaciones muy diferente a las utilizadas por años en empresas, lo mas preocupante es que necesito mejorar mi situacion economica ya que como tecnico no se gana mucho , y quiero hacerlo a traves de la programacion,no se si me podrian dar una mano , con algun tipo de guia si es que mejor deberia elegir otro tipo de lenguaje como visual.net y C #, o estaria bien que empieze con oracle y java..les doy gracias por sus comentarios y ayudas a mi pregunta …..
hola a todos expertos en programación soy ecuatoriano, tengo 30 años de edad le hago una pregunta , he sido toda la vida técnico en computadoras y se algo de redes , ¿¿¿para mi es muy tarde empezar en el mundo de programación a esta edad ????, se un poco de visual basic 6.0 y sql server , estoy interesándome por aprender Oracle y java , pero no se si esto sea una gran ayuda para mi economía o futuro ya que como estaba leyendo en este post ahora se vienen otro tipo de aplicaciones muy diferente a las utilizadas por años en empresas, lo mas preocupante es que necesito mejorar mi situacion economica ya que como tecnico no se gana mucho , y quiero hacerlo a traves de la programacion,no se si me podrian dar una mano , con algun tipo de guia si es que mejor deberia elegir otro tipo de lenguaje como visual.net y C #, o estaria bien que empieze con oracle y java..les doy gracias por sus comentarios y ayudas a mi pregunta …..
Gran articulo, me encanto!!
Bocek ilaclama, hasere ilaclama, ilaclama portali http://www.ilaclamaportali.com
Para avanzar en tu proyecto, te recomiendo que revises tu ortografía y redacción. Es la carta de presentación que tienes, y en tu caso debes trabajar bastante para mejorar. Te lo digo con la mejor intención, por supuesto. Un abrazo
Dejame decirte Jose Mauricio, que estoy igual que tu, yo tambien empeze como soporte tecnico de computadoras, redes, ensamblaje, recien llevo ya casi medio año programando , y es que la oportunidad se me dio en mi anterior trabajo cuando solicitaron personal para que administrara portal en moodle, y con ayuda de un consultor se iba aprendiendo, aprendi mucho sobre CMS que por mi mismo ya sabia mas antes, HTML es fundamental para todo, CSS mucho mas aun, PHP y Javascript van en conjunto al uso del CMS de mi parte recomendaria que aprendiendo un CMS poco a poco se va uno adentrando al mundo web, si vas al mundo de escritorio ahi si elige visual.net, C# si vas a juegos, Oracle y Java mas se aprende cuando deseeas escalar bastante, ya que esos cursos si cuestan y cuestan bien, por ahora, todo lo relacionado en web por mi mismo y mi esfuerzo mas quemada de pestañas me ha servido jeje, Saludos Jose y suerte en tu progreso como coder posterior