Si yo fuera tú, rodaría con cualquiera de los dos idiomas siguientes:
- Pitón
- Esquema
Ambos son grandes idiomas y muy adecuados para los principiantes. en mi opinión. Python tiene una sintaxis muy ligera en comparación con la mayoría de los otros lenguajes de programación de “grado industrial”, tiene un gran ecosistema de bibliotecas, herramientas, etc., que puede usar, se usa bastante en programación científica y desarrollo web (lo que significa que puede encuentre bastante material en estos dos subcampos en forma de libros, tutoriales, artículos, etc.
Scheme está menos centrado en la industria y más académico, pero si desea aprender un idioma que sirva mejor como herramienta de investigación en ciencias de la computación, Scheme es mejor. Aparte de eso, debido a que muchas escuelas lo han estado utilizando para enseñar ciencias informáticas introductorias (y en ocasiones avanzadas), puede encontrar bastante material en ellas (incluido, quizás, el libro de ciencias informáticas más legendario: Estructura e interpretación de Programas de computador).
Ambos son geniales, y el que usted elija, yo diría, depende de si desea seguir las ciencias de la computación y convertirse en un erudito, o más bien, simplemente “hacer programación”. No puedes equivocarte, cualquiera que elijas. En lo que respecta a la programación solo, con Python obtienes algo que puedes usar más adelante en tu carrera como programador, mientras que con Scheme, por otra parte, no es tan probable que lo implementes profesionalmente, pero te dará una idea de que conduce a programas más claros y correctos, en mi opinión (programación funcional, vs imperativo, que es el paradigma dominante en Python).
- ¿Qué idioma extranjero debería aprender, lo que me dará una ventaja en mi carrera? Tengo un perfil de RRHH / Reclutamiento.
- ¿Qué tan difícil es para un malayalee o un Tamilan aprender hindi?
- ¿El alcohol afecta mi capacidad de aprender?
- ¿Hay alguna opción de cómo comenzar a aprender el arte marcial sin otras personas?
- ¿Cuál es la mejor manera de aprender cómo intercambiar opciones con el objetivo final de hacerlo, como un día de trabajo / día comerciante?
Ahora, en cuanto a los idiomas que, en mi opinión, no debería usar para comenzar con la programación, son los siguientes:
- C : el mayor problema de C para una OMI para principiantes es que, dado que la administración de la memoria es manual (y una gran parte del lenguaje le da la mayor parte del “poder” que tiene), las complejidades del idioma se interponen en la claridad de una implementación de algoritmo, que es importante cuando recién comienza y desea la programación en su forma más detallada, así como cuando comienza a implementar estructuras de datos y algoritmos básicos.
- C ++ : gran parte de la misma razón que con C, pero se multiplica por 100. C ++ es un lenguaje sorprendente, pero durante su evolución a lo largo de los años ha acumulado características que pueden ser demasiado confusas para un principiante. Claro, los textos introductorios pueden simplemente no presentarlos, pero el lenguaje tarde o temprano te hace enfrentarlos, lo que para un novato es desastroso.
También quiero señalar otro problema con C y C ++. Debido a que sus implementaciones (compiladores) se usan principalmente en la industria, los mensajes de error con los que está presente son terribles para los principiantes (pero muy útiles para los profesionales y programadores expertos), como principiante el hecho de que una expresión se evalúe a un valor en el que el contexto un valor requerido puede no decir demasiado.
- Smalltalk : mi principal problema con smalltalk es que no he encontrado material adecuado para un principiante, y que todo el entorno es drásticamente diferente de lo que ofrecen la mayoría de los otros idiomas. Esto puede ser bueno si usted es un programador profesional o científico en computación que desea exponerse a diferentes maneras de resolver problemas, pero como novato, puede hacer que se sienta seriamente discapacitado cuando inevitablemente hace la transición a un lenguaje común.
- Haskell – Haskell es el C ++ del mundo de la programación funcional. Un gran lenguaje, desarrollado activamente por PLT increíblemente talentosos, y quizás el lenguaje funcional más utilizado. Sin embargo, la fortaleza de Haskell es también su debilidad en lo que concierne a un principiante: demasiadas características (recuerde, solo quiere entender la esencia de la programación, y eso es quizás, si las condiciones, el bucle / recursión y la función llaman). No es de ninguna manera una mala recomendación, solo es difícil recomendarlo como un idioma de inicio cuando Scheme tiene mucho más material disponible para los novatos.
- Java: el mayor problema de Java para un principiante en mi opinión es que se siente (y actúa) como un lenguaje pesado. Necesita que un usuario instale IDE, SDK especiales (el jdk), y aunque tiene una sintaxis y una semántica derivadas de la familia del lenguaje C (Algol), es demasiado extraño para un principiante. Considere el primer programa que la mayoría de los programadores escriben cuando comienzan a aprender un idioma, el famoso mundo de saludo. En Java:
clase pública HelloWorld {
public static void main (String [] args) {
// Imprime “Hola, Mundo” en la ventana del terminal.
System.out.println (“Hola, Mundo”);
}
}
En Python:
imprimir (“Hola, Mundo”);
En el esquema:
(mostrar “Hola mundo”)
4. Javascript: un lenguaje que es ubicuo (en lo que respecta a los servicios de Internet) y que ha crecido en popularidad durante los últimos 3 a 4 años, tiene una sintaxis y un modelo semántico tan extraño, que es mejor dejarlo para aprender cuando Tendrá que hacerlo, después de haber sido expuesto a un modelo de programación más sano.