in

Lenguajes de programación que necesita aprender un estudiante

A la mayoría de los estudiantes universitarios, “por lo general”,  se les enseña un solo lenguaje de programación en detalle, con “comprensible” profundidad y con prácticas que siempre tienen sabor a poco. Esto lo limita cuando se expone a la sintaxis de lenguajes diferentes y este suceso también se percibe en el enfoque que posee, respecto a la solución de problemas diversos, en su desempeño como profesional al terminar los estudios. Dicho en otras palabras, cualquiera sea el problema a resolver, la disponibilidad de recursos siempre será limitada al aprendizaje capitalizado. Cuando la enseñanza intenta abarcar varios lenguajes de manera superficial, la confusión generalizada termina siendo una constante obligada. Por lo tanto para ti, ¿cuántos lenguajes de programación necesita dominar en profundidad un profesional?

Cada lenguaje de programación fue diseñado, originalmente, para un propósito específico. Por este motivo, tiende a promover una forma de “atacar” los problemas de manera muy propia, muy particular y del mismo modo, esa “manera muy propia” es llevada adelante en la solución de un problema. La comprensión de un sólo lenguaje, promueve soluciones que sólo se acercan a un problema desde una sola perspectiva. Saber varios, te permitirá mirar el problema desde una variedad de perspectivas, donde podrás comparar entre múltiples opciones de desarrollo y  la solución para el problema podrá ser seleccionada como la más natural, sencilla y eficiente.

Imagínate, por ejemplo, que todo lo que tienes en tus manos es un martillo. En este caso, tanto los clavos como los tornillos se insertarán siempre bien con ese martillo. Porque aprenderás a hacer eso: a utilizar ese martillo para resolverlo todo. Sin embargo, si también tienes un destornillador, entonces tendrás una solución alternativa para la inserción de los tornillos. De este modo entonces, podrás seleccionar la mejor herramienta para cada tarea en particular. De mismo modo, los lenguajes de programación están diseñados para resolver cualquier clase de problemas mediante una metodología específica, cada uno alentando a los estudiantes (como tú) a mirar el problema desde una perspectiva particular. FORTRAN, por ejemplo, fue diseñado para ayudar a resolver problemas matemáticos. Puede ser un lenguaje ideal a utilizar para la solución de un problema puramente matemático. COBOL fue diseñado para ayudar en la forma de almacenamiento de los datos requeridos por cualquier tipo de negocio y su manipulación.

El lenguaje C (originalmente) fue creado para ayudar en la implementación de sistemas operativos (UNIX) y, además de permitir construir aplicaciones específicas, tiene características particulares que le permiten tener acceso o manipulación del hardware que posee el sistema de proceso donde es utilizado. C + +, por su parte, fue diseñado para resolver problemas específicos dentro del lenguaje C, con el agregado de permitir el soporte programación orientada a objetos. Es decir, posee una mezcla de capacidades que permiten resolver problemas además de brindar un apropiado apoyo metodológico. El lenguaje de programación Ada tiene como objetivo proporcionar un funcionamiento fiable, con particular énfasis en las áreas de seguridad, donde se pueda tener una rápida escalabilidad y facilidad de mantenimiento. El lenguaje Java fue desarrollado para proporcionar (también) apoyo metodológico orientado a objetos y a una sencilla portabilidad. Los lenguajes de Script están, en general, diseñados para permitir soluciones muy rápidas a problemas pequeños. De este modo, la lista de lenguajes de programación, y sus características propias, se podría expandir hasta ocupar toneladas de caracteres. Sin embargo, lo que el artículo intenta reflejar es que aprender en forma eficiente una variedad de lenguajes de programación, te permitirá a ti y a cualquier estudiante, analizar las ventajas y/o desventajas de cada uno, a la hora de resolver un problema específico.

Un ejemplo muy sencillo de expresar este pensamiento, habla de las listas de elementos dentro de un programa (por ejemplo, un listado con todos los microcontroladores que posees). En el universo posible de soluciones a un problema, podríamos considerar a todas las listas como un conjunto de objetos estáticos que debe tener un número fijo de elementos, o bien como objetos dinámicos que no tienen límites de cantidad. Cualquiera de estas elecciones podría ser (o no) una solución natural para el problema. Por ejemplo, las listas estáticas requieren que el número máximo de elementos se conozca de antemano. Si el número de elementos es un valor fijo durante toda la ejecución del programa, la cantidad de almacenamiento necesaria y utilizada, para manipular esta información, será invariable y estará disponible de forma fiable, ya que tendremos un conocimiento previo de su dimensión. Sin embargo, si el número de artículos (o elementos de la lista) no se conoce de forma previa, o sufre variaciones durante la ejecución del programa, el programador tendrá que seleccionar un tamaño máximo que quizás sea mucho más alto que el número probable de artículos. Así, el espacio de almacenamiento puede ser inútilmente gastado en la asignación de una variable demasiado grande, sólo por prevención de errores.

Vale decir entonces que, las listas dinámicas “se crean en tiempo de ejecución”. Si el número total de elementos que se almacenan no se conoce de forma previa, quizás ésa sea la manera ideal de resolver y trabajar el problema. Sin embargo, por su propia naturaleza, las listas dinámicas pueden crecer en tiempo de ejecución y por lo tanto, los recursos que necesitan siempre son desconocidos y quizás se produzca una condición de error, si la memoria disponible se agota durante la ejecución del programa. Este inconveniente, en ocasiones, puede ser  imposible de demostrar antes de la ejecución del programa, especialmente para los sistemas integrados con capacidad de memoria limitada, como puede ser un microcontrolador. De este modo, podemos ver que una simple lista de componentes puede originar problemas si los lenguajes que creemos dominar en forma sólida, no tienen la posibilidad de ofrecernos las herramientas elementales para realizar el trabajo.

Los lenguajes de programación, por lo tanto, deben considerarse en forma análoga a una caja de herramientas. Cada lenguaje es una herramienta que ayudará a resolver un tipo de problema. Al comparar la solución que ofrece cada herramienta, un estudiante puede seleccionar entre estas soluciones y decidir cuál es el mejor método, para resolver el problema en cuestión. Como mencionamos al comienzo, el martillo se utilizará para el clavo y el destornillador para el tornillo. Este ideal de selección de la mejor solución para cada problema, sólo estará disponible si un estudiante ha estado expuesto a múltiples formas de ver el problema, teniendo la posibilidad de optar por múltiples herramientas de programación. Los estudiantes deben tener la comprensión de una amplia variedad de lenguajes. De este modo, encontrarán soluciones a problemas de diferentes áreas contando con una amplia variedad de herramientas que necesitarán para triunfar en la vida, después de la universidad. Según tu opinión personal, ¿cuántos lenguajes de programación necesita dominar en profundidad un profesional antes de salir al mundo laboral? ¿Existen lenguajes esenciales? Esta realidad, ¿como ha sido en tu caso?. Cuéntanos

Reportar

¿Qué te pareció?

Escrito por Mario

66 Comments

Leave a Reply
  1. Yo recomendaría tanto opciones libre como con licencia.
    Por ejemplo yo manejo Java, Ruby (muy bueno para aprender POO), PHP y por supuesto C uno de los mejores para aprender a programar. Yo aprendí con C y a partir de este aprendí con los demás lenguajes (obvio comenzando por la lógica de programación)
    Actualmente como egresado de una universidad q tiene contrato con microsoft nos regalaron licencias de Visual Studio, y ahi me he enfocado en C# una buena alternativa (paga) para la programación
    Aunq recomiendo el Express q también es bueno..,

    Jamás Visual Basic – Muy básico no aprende uno la lógica de progrmamación con este lenguaje y tampoco Pascal porque sus enfoques no se relacionan mucho con los lenguajes mencionados y la transción es más traumática

    • #1 triste que como "contratado de microsoft" digas que c# es una alternativa paga…en principio porque no conozco ningun lenguaje que tengas que pagar para usarlo y en segunda porque si es por ides…tenés varias alternativas y de calidad para c# – mono( monodevelop), lo de visual basic…bueh!…a mi no me gusta pero decir que no se aprende la logica de programación con un lenguaje es como algo errado no??…

    • Considero equivocada tu afirmación que "jamas visual basic" personalmente aprendí la lógica de programación, sin saberlo obviamente, por ejemplo el uso de ciclos, de iteraciones, de condicionales y de funciones, así muy básicamente, pero lo aprendí al fin en ese lenguaje, que, es muy limitado y crea muchas malas practicas de programación, pero te presenta la programación de una manera amigable, para el que NUNCA programo y recién empieza, lo recomiendo totalmente, mas si son chicos de secundaria o de bachiller ( como le digan en su país ).. yo empece con visual basic, luego pase por php, javascript, y todos los relacionados con programación web, y ahora estoy aprendiendo C en la universidad, un poco de assembler y el cuatrimestre que viene espero empezar con C++, pero nunca me voy a olvidar de como aprendí a programar con Visual Basic #1

  2. Excelente articulo. Falto detallar un poco mas el asunto de los lenguajes de "Script", a mi parecer Python es un gran lenguaje que debe ser tomado en cuenta.

    Saludos

  3. Yo gano 60000 euros al año. Programo en C#. Con un sólo lenguaje es suficiente, pero eso sí con un nivel de experto. De todos modos lo complicado ya no es el lenguaje, más bien lo difícil es casi una docena de sistemas anexos que hay que conocer

    • #3 Pero saber un sólo lenguaje te limita muchísimo, digamos que si un cliente requiere algo hecho en otra plataforma simplemente lo pierdes.

    • #3 Que ganes 60 mil euros (supongamos que programando) no te hace buen programador. Al contrario, si estás clavando un tornillo con un martillo, lo único que haces (además de hacer las cosas mal) es estafar a la gente vendiéndole software mal optimizado y de mala calidad.

      En cuanto al artículo, yo creo que no existen "lenguajes escenciales" determinados. Todo depende de a qué te quieras enfocar. Esos lenguajes escenciales no son los mismos para alguien que quiera desarrollar sistemas operativos, a los de una persona que quiera desarrollar aplicaciones web, o aplicaciones para Android.

      Aunque en una forma generalizada, hay ciertos lenguajes que se han ganado su puesto. En mi opinión algunos de estos son: C, Java y Python.

      Aunque para empezar yo no recomendaría C. Yo preferiría PHP o algún otro similar que es mucho más simple en sintaxis. No estás obligado a crear funciones ni nada desde un principio, si quieres simplemente poner un:
      print("Hello world!");
      eso es todo, no hay ningún problema. Eso es muy útil para aprender una cosa a la vez.

      Hoy día mi caja de herramientas está compuesta por: PHP, Java, Javascript, Node.js y Octave. Aunque espero ampliar mis conocimientos en C y Python, para así poder incluirlos en mi caja de herramientas también.

      Un saludo para todos!

  4. Quiero primero que todo resaltar la importancia de este articulo, ya que en la universidad solo me enseñaron un lenguaje(C) y de esta salí con la convicción de buscar un lenguaje, con el cual pudiera realizar todo, pero cuando estas trabajando, te das cuenta que esto es imposible. Ojala pudiera regresar y aprender mucho mas cosas, pero ya esta.

    Mi caja de herramientas esta compuestas de Java, C, Python. Con estos se puede hacer casi cualquier cosa.

    Pero como el mundo esta cambiando tan rápido me he visto en la necesidad de complementar esos lenguajes y estoy en la tarea de aprender: HTML5, SQL y R.

    Muy bueno el aporte

  5. Muy buen artículo… Hoy día, como está html5, es fundamental tener excelente manejo de javascript. Para el desarrollo de aplicaciones móviles, Java. Particularmente desarrollo todo web con PHP, MySQL y javascript (uso también JQuery).

  6. En mi universidad, una de las partes importantes de mi carrera es programación. Y nos enseñan lenguajes básicos (Según figuran) para aprender; ensamblador, C, C++ y Java. Después nociones básicas de Cobol, de Fortrán, Pascal y Visual Fox Pro. Y por último, profundizar en html, Javascript y .net …MySQL no lo considero lenguaje de programación, ya que es una herramienta para manejo de base de datos.

    Aunque me sigo preguntando, con toda la tecnología de hoy, y lo fácil que se consigue una Ram o un rígido diminuto, ¿Para qué me sirve hacer un if o un for en lenguaje ensamblador?
    Antes, para DOS si te puedo entender que había que aprovechar todo al máximo, pero ahora… De echo, hasta cargamos librerías en C de las cuales usamos solo un par de funciones y el resto se podría decir que solo acumula basura; cosa que antes era un pecado.

    • #12 , ¿Para qué me sirve hacer un if o un for en lenguaje ensamblador?
      Respuesta:
      básicamente cualquier cosa que tenga un micro controlador en su interior llevan IF por todos lados.
      Sirve muchísimo el IF para todo lo que tenga que ver con aplicaciones en tiempo real.
      La lógica de comparación del If es la base de la programación.
      Cada vez que utilices un lavaropa o una puerta corrediza acordate del if que esta metido en ese pequeño programa dentro del micro.

  7. Hay un gran software desarrollado por un argentino para aprender a programar,

    http://pseint.sourceforge.net/

    PSeInt es una herramienta para aprender la lógica de programación, orientada a estudiantes sin experiencia en dicha área. Mediante la utilización de un simple y limitado pseudo-lenguaje intuitivo y en español, permite comenzar a comprender conceptos básicos y fundamentales de un algoritmo computacional. Nacido originalmente como proyecto final para la materia Programación I de la carrera Ingeniería en Informática de la Facultad de Ingeniería y Ciencias Hídricas de la Universidad Nacional del Litoral, es en realidad un intérprete de pseudocodigo basado en los contenidos de la cátedra de Fundamenos de Programación de dicha carrera

  8. Excelente articulo.. yo pienso que un buen programador debe dser experto en los lenguajes más importantes! yo lo soy y me ha resultado.. igualmente debe saber mucho de LINUX porque eso es lo que está dominando el mundo actual! Saludos! desde la patria más grance.. México!

  9. Estudio ingeniería de sistemas en Colombia, en la universidad, en primer semestre estudiamos C++, en el segundo me acuerdo que vimos java, visual.net conectado con bases de datos excel, access, mysql. Me gustaban mas las clases de java que las de visual.net :D, me pareció que en java aprendiamos más de código. En visual solo era arrastrar, labels, buttons, arrastre para todo etc, etc. En el tercero estudiamos php, conectado con pl/sql, Ahora me interesa aprender HTML 5, javascript, por el lado de la base de datos me gustaría aprender Oracle.

    El consejo que puedo dar es que para los que estamos estudiando, ingeniería de sistemas, informática o de computación no podemos olvidar los pilares importantes de nuestra carrera: LA PROGRAMACION, LAS BASES DE DATOS, LAS REDES, Me ayudan con los otros pilares :).

    La gente cree que nuestra carrera es formatear computadores YA ESO UNO LO TIENE QUE SABER ANTES DE ENTRAR A LA UNIVERSIDAD! Gracias por este articulo neoteo. Deberamos de crear una página para los programadores con foros, todo, por cierto recomiendo mucho el inglés y un canal en youtube llamado duncaninchina. La documentacion y los turoriales de programación en inglés son mucho mejores que los que están en español.

  10. Para aprender a programar, python es divertido y siempre útil.

    Luego especialízate en 2 grupos, más es mucho, menos es arriesgado:

    Ejemplo combo 1) PHP+HTML5+CSS3+JQUERY+JSON+MySQL+LINUX
    Ejemplo combo 2) JAVA(ECLIPSE)+XML+Sqlite(ANDROID) + OBJETIVE-C (IPHONE)
    Ejemplo combo 3) C + que se te de bien (C++ opcional)
    Ejemplo combo 4) Ruby+Ruby-on-rails+HTML5+CSS3+JQUERY+JSON+Postgresql+LINUX

  11. Las empresas solicita:

    a) C# o VB.Net
    b) Java (un monton)
    c) PHP

    Y todos usan javascript para la pagina web.

    Ruby y Python pueden ser buenos lenguajes, pero sin empresas que te pidan esto, es poco lo que se puede usar. C++ asi mismo es poco requerido por las empresas.

  12. Con razón que en el curso de CFGS llamado DAI me hacen programar Python, PHP, Java, Visual Basic .net, etc, también MySQL, SQL Server, etc. ASM para 8086, PIC. AWL para PLC siemens. Hay de todo.

    Recomeindo bajo mi experiencia, empezar y centrarse en uno. Luego usas el más que te guste o haga falta como el C para microcontroladores en general que usa C casi para todo, incluido Linux.

  13. Actualmente me encuentro desarrollando sistemas SharePoint y tmb toco algo de C# para WebParts Custom.

    Hay "lenguajes" que hay que conocer casi por obligación, como JavaScript, JQuery, CSS porque aunque desarrolles sitios web en Java, C#, SharePoint, PHP, etc. también se utiliza CSS, JavaScript, etc.

    En lo que a lo laboral se refiere, siempre es conveniente especializarse en un lenguaje, si tenemos conocimientos básicos de 10 lenguajes no dejamos de ser principiantes y tener una base teórica en caso de que lo que desarrollamos quede en desuso.
    También entra acá un poco la suerte de que lo que elijas y te guste resulte rentable, p/e en Argentina en este momento todas las empresas piden SharePoint y prácticamente no hay gente capacitada en el mercado, quizás un SSR SharePoint esté cobrando igual o más que un C# SR.

    Saludos.

  14. Si no eres una mente muy madura, en cuanto a conocimiento se refiere(y hablo de conocimiento general) lo mejor para iniciarse es BASIC, pero si eres un estudiante universitario y conoces de metodología de programación, yo sugioro lenguaje C o C++ en su defecto, te abre un mundo de lenguajes basados en su sintaxis como: C#, Java, JavaScript, PHP, objective C entre otros. Aunque lo importante no son los lenguajes, cosa que todos sabemos y razon de esta publicacion, si no el conocimiento de metodologia y paradigmas que poseas a la hora de resolver un problema ya que los lenguajes son solo herramientas.

    En cuanto a mi caja de Herramientas son las Siguientes:

    Lenguajes de Recursos: C, C++, java, C#, VB.NET y un poco de Cobol y FORTRAN por culpa de la universidad.

    Lenguajes Scripting o Interpretados: javascript, PHP, phyton.

    Otros Lenguajes Informaticos(No de programacion, pero muy necesarios): SQL, HTML en su version 4 en adelante, CSS desde su version 2 en adelante, BATCH, y BASH para administracion de sistemas.

    • De acuerdo #21, deberíamos empezar por desarrollar una EXCELENTE LÓGICA DE ALGORITMOS, y luego: C!. Lo de la programación ya lo tengo por gusto propio y ahora estoy aprendiendo Gambas… se ve interesante!

  15. En mi universidad nos enseñan con Java y nos dicen que no vamos a aprender un lenguaje si no que a programar en cualquier cosa que nos pongan enfrente, de los 2 años y medio que llevo programando me han pedido proyectos en java,c++,c#,vb en web php,jsp,aspx y bases de datos sqlServer,oracle,mysql,postgresql.

    En lo que fallamos es en lenguajes script puedo ver, pero no creo que sea muy dificil al final

  16. aprendi en C luego pase a C++… m enamore de esos dos luego vino el DIABLO JAVA es alucinante… con esos tres es mas q suficiente soy est de ing electronica y algo q he notado un poco moroso y de trabajo arduo pero es el PAPA de todos es ASSEMBLER… BASIC tb es bueno en este rubro C assembler y BASIC son totalmente necesarios… saludos

  17. Yo creo que no hace falta aprender ningún lenguaje en la universidas. Conosco muchos que conocen el lenguaje pero no hacen nada con el. Creo que lo mas necesario es estimular el constante desarrollo del pensamiento lógico del estudiante. Creo que solo algoritmo es necesario, pues al final el lenguaje que terminamos aprendiendo en la universidad quizas nunca lo usamos en el trabajo.

    • #24 Totalmente de acuerdo, antes de escribir cualquier linea de codigo, se debe tener un algoritmo. Aprendan a tener logica, a crear algoritmos que solucionen lo que el proyecto requiere con todas y cada una de sus variantes, de forma dinamica y cuidando todas las excepciones. Luego agarran una hoja de papel y lo simulan hasta que se probado en su totalidad no tenga errores. Generan un diagrama de flujo de la solucion, cuando tengan todo esto escojan el lenguaje que quieran y hagan su tarea. ;D Saludines pines

  18. Decir que Visual Basic es muy básico y no se aprende una lógica de programación con este lenguaje es ilógico, cuando C# y VB.Net corren sobre el mismo framework, deberias ver la cantidad de sistemas montados en empresas que se han desarrollado con este lenguaje

  19. Creo que el articulo esta mas orientado a la gente de sistemas. en mi facu la gente de sistema no le da nada de importancia al lenguaje C y C++, creen que pueden hacer todo con los demás lenguajes. Lo mas cómico es que utilizan a diario programas como el MatLab o Linux. pero bueno ellos se creen que son buenos programadores.

  20. En mi opinion es bastante necesario tener alguna idea de ensamblador, c i c++. y despues enfocarse a un lenguaje con demanda laboral javascript + html5 + php en caso de webs, o java/c# para aplicaciones moviles

  21. La pregunta no es cuántos, si no cuáles….
    Si es para hacer aplicaciones de escritorio: Java (Visual Basic también sirve mucho, aunque algunos digan que no)
    Para web: PHP y HTML obviamente
    Siempre algo de bash y SQL a mi criterio, porque con esos son las experiencias que he tenido..

  22. en la Universidad Tecnologica Nacional de argentina nos enseñan en primer año un pseudolenguaje, assembler y C++. en segundo aprendemos java, haskell, prolog y mySQL. estoy en el 3° año, y por ahora estamos usando java y mySQL para las bases de datos. despues no se que otros lenguajes nos darán.

    de cualquier manera, se dictan cursos para muchos otros lenguajes, como php, entre muchos.

    en particular, me ha gustado haskell y prolog, pero su uso es muy limitado…

    saludos

  23. en mi opinion el lengueje de programacion depende de la carrera que estudies, los que mas programacion en diferentes lengueajes ven son los ingenieros de sistemas, pero en mi caso como ing electronico uno mira lo que requiere, ya es cuesntion de uno tratar de aprender y aplicar otro tipo de lenguajes segun su trabajo.

    cuando cursaba los primeros semestres mire C, C++, turbo c, luego estos lenguajes se fueron convirtiendo en diseño aplicado a VISUAL, java, Bases de datos, CCS, ASEMBLER, Matlab, Ladview (mas que un lengueje son programas de insrucciones predefinidas que permiten hacer aplicativos electronicos)

    como nos podemos dar cuenta todos partes de las bases de C, pero para los de sistemas el abanico de programas debe ser mayor por los propositos a lo que están dirigidos sus productos.

    depronto puede llegar un Ing de software y su perpectiva es diferente.

  24. Pues la verdad me enseñaron en la universidad lenguajes como programacion como:C,C++,Visual Basic.net,C#,Java,PHP,HTML,JavaScript, y SGDB como MSSQL Server,MySQL y Oracle, pues la verdad fue muy pretencioso, porque no terminaban de enseñar a profundidad un lenguaje cuando en otros semestre te enseñaban otro y volvian retomor que la historia,sintaxis y demas cosas que ya se sabian como if,for,while,solo no vei cuando centrarse en uno,en el que más se nos enseño fue c# pero con problemas debido al uso del express,actualmente no encuentro trabajo por lo mismo de no tener conocimientos concretos de un lenguaje y por ser México un país de burocracia,actualmente me dedico a trabajas de otra cosa y veo esto de los lenguajes de programacion como algo que hacer en tiempos libres,aunque es mejor dedicarme a aprender otra cosa que no requiere de certificaciones demas cosas burocraticas

  25. Estoy de acuerdo con Julio, lo importante no son los lenguajes, sino el conocimiento de la metodologia y paradigmas….Yo di clases de lógica, y allí se pudo destapar muchos "pseudo informaticos", gente que sabía programar y hacer mini aplicaciones, pero a la hora de deducir, analizar y evaluar soluciones no daban una. Un lenguaje de programación es la herramienta para llegar a un fin, pero lo mas importante es saber como llegar a ese fin, según el lenguaje tendrás mas o menos complicaciones.

  26. Yo (y como muchos aquí) empecé con C, es más que recomendable, muchos de los lenguajes de programación actuales tienen sintaxis muy parecida a la de C, a partir de ahí puedes ir a PHP, C#, C++, Java o Javascript, todos son muy parecidos entre sí, y si, por ejemplo cojes un buen nivel en C# puedes entender Java muy facilmente 😉

  27. Triste el comentario del Sr. "Anonimo" sobre su preferencia a C++, denota una vision increiblemente parcializada de lo que es el arte de la programación.

    Pienso que un programador que se considere serio debe dominar un lenguaje al 100%, y adicionalmente por lo menos tener nociones de lo que se puede hacer con otros para cosas que son mas puntuales.

    Por ejemplo, conocer C++ como lenguaje principal y adicionalmente Java y Python, ademas de SQL.

    Si se tiene que desarrollar un script pequeño para migrar informacion de un lado a otro seria poco eficiente hacerlo en C++, con un lenguaje de script se ahorra mucho tiempo.

    En fin, son puntos de vista.

  28. … lo mejor es vender el software hecho con tantos enguajes pueda el programador, y listo. Solo necesitas un lenguaje para triunfar y ya lo hablas!. 🙂 Saludos

  29. Muy buen artículo.

    En mi caso yo estudié Ing. en Tecnologías de Información y Comunicaciones y nunca antes había programado; antes de entrar a la uni estaba en un bachillerato técnico con especialidad en electrónica en la cual nunca nos enseñaron a programar tal cual conocen, trabaja directamente con transistores y más avanzado con compuertas lógicas. Al entrar a la uni empece mi camino a la programación con la materia de algoritmos en el cual aplicaba en la practica con el lenguaje C++, el cual lo considero un buen lenguaje para empezar a programar ya que muchos lenguajes se basan en C. Después empecé con el lenguaje C# .net programación orientada a objectos y estructuras de datos. En la carrera nos enseñaron desarrollo web con ASP.Net trabajando con lenguaje C#, SQL Server, sistemas distribuidos también con C#, ensamblador. Para web services aprendí en la escuela php como lenguaje y MySQL como DBMS. Para la clase de inteligencia artificial realizamos aplicaciones en JAVA y C# y LISP. Esos fueron los lenguajes que aprendí en la uni.

    Al salir empece a trabajar y actualmente trabajo en el sector de gobierno y por necesidad tuve que empezar a desarrollar en ASP.Net con Visual Basic .Net, javascript ayudado con el framework jQuery, HTML, CSS, Oracle 10g como DBMS.

    En lo personal no me gusta VB.Net, no lo considero un buen lenguaje de programación, crea muchos malos vicios y malas practicas de programación; solo es bueno si quieres empezar a desarrollar proyectos de sistemas informáticos teniendo pocos conocimientos de programación ya que es sumamente fácil de aprender.

  30. Más que aprender un lenguaje y/o dominarlo, me parece más importante dominar la metodología de programación. Una vez que el programador comprende la misma, no importa qué lenguaje se le ponga enfrente, podrá programar en él sin mayores complicaciones que la de conocer las instrucciones específicas del mismo.

    Lenguajes de programación existen miles, pero aquél que domina la metodología de programación, domina todos.

  31. Lo mejor es buscar que perfiles piden las empresas de tu pais para elegir los lenguajes.

    Manejo PHP, Javascript (HTML no es un lenguaje, XML tampoco, JQuery no es mas que un API que facilita el trabajo con scripts y AJAX)

    Estoy aprendiendo JAVA y C-Objetive para enfocarme en aplicaciones moviles.

    Phyton prontamente por proyectos de la empresa.

  32. Indispensable –> Pseudocodigo (sin esto es imposible cualquier lenguaje)
    1)Uno Estructurado –> C++
    2)Uno POO –> Java
    3)Uno Orientado a la Web –> XML
    4)Uno Inteligencia Artifical –> Prolog
    5) y Uno Inteligencia de Negocios –> Pentaho
    El resto….; nada mas, con manual en mano… Bueno????

  33. Me parece importante además de conocer varios lenguajes también conocer como funciona por dentro un compilador y los intérpretes de lenguajes como valor educativo y para progrmar de forma eficiente.

  34. Ensamblador ningun lenguaje de programación puede superarlo a menos que sea solo ensamblador de 16 bits.
    Visual c# es pago y no es lo mismo que mono el .net framework no tiene equivalente en linux y debe ser la elección mas tonta dado que realmente no aprendes a programar sino que lo que aprendes es a unir modulos pre programados por microsoft para que realicen una determinada tarea a diferencia del ensamblador que brinda mucho mas control y conocimiento de lo que sucede en el equipo.

  35. Muy interesantes los comentarios. Conosco muchos de los lenguajes que se mencionan en ellos. Lo que me llama la atencion es que ninguno mencionó a Delphi… Nadie programó en el? mi opinion es muy positiva al respecto ya que cubre casi (por no decir todas) cualquier area. Incluso su ultima en version se pueden desarrollar aplicaciones de 64 bits, ademas de ser multiplataforma… eso si, es de pago…

  36. Saludos a todos, en temas de colores y sabores hay una gama muy variada, mi contribución para este foro que ha desatado muy buenos comentarios sería:

    C , C++
    Java, Ruby
    Php
    .Net

    Y por supesto conocer como interactuan.

    Saludos

  37. Después de haber salido de la universidad me di cuenta de todo lo que me faltó aprender.

    En mi opinión los siguientes lenguajes deben ser básicos:

    1) Python para lógica de programación (en lugar de Visual Basic o pascal) además de ser un lenguaje de scripting muy potente q permite conexión a bases de datos y muchas otras librerías para añadir.
    2) C/C++ (inculcando la programación orientada a objetos)
    3) HTML, Javascript y MySQL (para utilizar Django con Python o PHP de lo aprendido con C/C++) esto para la introducción al desarrollo web.
    4) Java/.NET para aplicaciones de escritorio.

    Si estudias electrónica Assembler es de base y si vas por el lado de cómputo matemático, con las bases de C, puedes meterte sin muchos problemas a CUDA u OpenCL. Ruby es también una muy buena opción para scripting.

  38. Los Lenguajes que me han gustado más aprender está C, Java y Python la verdad y con la experiencia que tengo son herramientas muy necesarias al momento de dar una solución más eficiente a la hora de enfrentarse a un problema. Python es sencillo y en pocas líneas de código puedo dar una solución sencilla, Java por su estabilidad a la larga en las aplicaciones web y C para un entendimiento mejor de la lógica del programa.

  39. Hola todos,
    He leído atentamente el artículo y sus comentarios, y me parecen muy buenos. Mi profesión no está relacionada con lenguajes de programación pero me gustaría aprender por mi cuenta ciertas cosas que me permitan mejorar mis labores en sistemas de información geográfica y gestión ambiental. La pregunta para todos es la siguiente: Si habiendo aprendido suficientes técnicas de razonamiento lógico para resolución de "situaciones" ¿es posible empezar a programar? ¿Con qué lenguaje debería empezar?.

    Saludos a Todos

  40. En mis tiempos de universidad al inicio, en la enseñanza de de algoritmos, al momento de la práctica empezamos con C, de ahí a C++ y en cuanto se empezó OOP jugamos con C#.

    Actualmente en mi trabajo uso VB.NET no tan estructurado como C# pero según veo es mas accesible y fácil de enseñar por la simplicidad de sintáxis.

    Me enfoco como programador web por ende estoy saboreando en mis tiempos libres de PHP.

    Para aplicaciones de escritorio (las pocas que me llegan a pedir), de vez en cuando juego con java, la portabilidad está genial pero el resultado en performance, al menos a mi parecer, deja que desear.

    Eso si, no he encontrado un IDE que se le acerque a los talones a Visual Studio, con todo respeto, probando eclipse, aptana, etc. Si hacen la chamba pero VS les lleva mucha delantera. Comprendo que puede ser por cuestiones económicas, digo el apadrinamiento de MS sobre el equipo de desarrollo de VS debe ser increíble y si comparamos eso con (supongo y) un proyecto open source sin tanto apoyo como Eclipse pues… bueno es lógico el resultado. No queda mas que buscar el IDE que mas cómodo se nos haga. Perdón este último comentario, se que el punto era lenguajes de programación, pero a mi parecer el IDE también juega un papel muuuuy importante dentro de esto.

    Y para front-end obviamente es mandatorio html, css, javascript. Si lo se, hay generadores de esos códigos pero pocas veces el resultado es relamente mantenible.
    Si css resulta engorroso por su falta de flexibilidad recomiendo darse un clavado a less. Por el lado de javascript no he encontrado algo mas fácil de aprender que jquery. Los resultados mas asombrosos que he visto en web es la formula PHP+CSS3+HTML5+jQuery. Los resultados son muy atractivos visualmente hablando.

    No he tenido la oportunidad de probar RoR pero he leído maravillas en cuanto a sus resultados. Si mal no recuerdo Twitter fue desarrollado en RoR así que eso habla bien.

  41. Que otra herramientas existen para aprender a programar… me estoy dando duro con pseint, pero me molesta un poco aprender por ese medio ya que necesito mas documentación y manejo muy pocas cosas que aprendí con lenguaje c, conocen alguno otro método mas completo donde me pueda instruir mejor y hacer ejercicios prácticos e ir subiendo de nivel paulatinamente =]… si alguien se quiere ofrecer de tutor mi skype es cyriusa

  42. En la universidad me enseñaron todo un conglomerado de lenguajes, pero lo que realmente importa es la lógica de programación y sus diferentes paradigmas una vez aprendido aquello cualquier lenguaje sirve, lo unico que hace falta es adaptarse a su sintaxis e investigar sus "funciones" mas potentes.

  43. Este debate es muy bueno, y en la hora de almuerzo en mi trabajo sé ha tocado muchas veces, mi opinión es que lo importante es aprender la base de la programación (condicionales, bucles, etc.) Que prácticamente no escapan de ningún lenguaje y tener la capacidad de adaptarse.
    El mundo cambia muy rápido y, creo que la capacidad de un programador se ve puesta a prueba en el momento de abrir la valija de herramientas y ver que hay una nueva, de la que se dice que es la indicada y que hay que aprender a usarla de la mejor manera y lo más rápido posible, el que consigue eso, más creatividad creo que como programador tiene el futuro asegurado…

    Muy bueno Neoteo, hace meses que no entraba, hoy se dio, y hace horas que estoy leyendo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Equipo europeo rompe el récord de distancia en teleportación cuántica

Juegos Online de la Semana (24/05/12)