¿Cuál es el mejor lenguaje para aprender conceptos básicos de programación?

Si yo fuera tú, rodaría con cualquiera de los dos idiomas siguientes:

  1. Pitón
  2. 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).

Ahora, en cuanto a los idiomas que, en mi opinión, no debería usar para comenzar con la programación, son los siguientes:

  1. 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.
  2. 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.

  1. 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.
  2. 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.
  3. 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.

Siempre recomiendo esta respuesta a los principiantes: la respuesta de Richard Kenneth Eng a ¿Por qué debo aprender a programar y qué idioma debo aprender?

Smalltalk es el mejor primer idioma para un principiante porque:

  1. Fue diseñado como un lenguaje de enseñanza para la programación de la enseñanza a los niños.
  2. Es sin duda la mejor manera de aprender sobre programación orientada a objetos (OOP), que es el estilo de programación más utilizado en la industria de TI. Smalltalk prácticamente inventó la POO (fue la primera lengua en popularizar el concepto). Smalltalk destila OOP a su esencia desnuda. No es de extrañar que haya influido directamente en el diseño de casi todos los demás lenguajes OOP (Objective-C, Ruby, Python, PHP, Perl, Groovy, Scala, Dart, Swift, etc.). Por lo tanto, no aprender Smalltalk sería inconcebible.
  3. Es fácil de aprender porque prácticamente no tiene sintaxis. Y, sin embargo, puede aprender todos los conceptos básicos de programación, tales como variables, estructuras de datos, estructuras de control lógicas, funciones, etc., de Smalltalk.

Una vez que haya aprendido a programar con Smalltalk, ¡aprender un segundo idioma como Python o JavaScript o Java es muy fácil!

Smalltalk es el mejor primer idioma para un principiante porque no es Java, Python, JavaScript, C #, C ++, PHP, C, ni Ruby. Los últimos idiomas son todos industriales y, como tales, llevan una gran cantidad de equipaje industrial que puede interponerse en su camino.

Y, finalmente, ¡Smalltalk es el mejor primer idioma para un principiante porque es divertido! Aprender algo debería ser divertido, pero esto es especialmente cierto en la programación, que es muy difícil y difícil de motivar. Para obtener más información, lea Cómo aprender Smalltalk puede mejorar sus habilidades como programador.

Trate de concentrarse no en las características del lenguaje o la sintaxis, sino en cómo resuelven los problemas y las teorías en que se basan para resolver los problemas informáticos. Aprender los paradigmas de programación y cómo aplicarlos para resolver problemas es más importante que el lenguaje en sí.

Aquí hay una lista de lenguajes de programación que sugiero para aprender conceptos de programación:

Procesal: Pascal, para principiantes.

OOP: Java, C #, Javascript

Funcional: Haskell

Lógico: Prólogo

Declarativo: SQL, para consultas de bases de datos relacionales.

Aprenda el lenguaje C y la estructura de datos, será su base y luego podrá aprender cualquier lenguaje de programación. La mayor parte de la colocación se realiza sobre la base de lenguaje C Después de C, aprenda C ++ para que le dé una idea de cómo hacer un programa del mundo real y borre su concepto orientado a objetos.

Entonces, si desea aprender más, aprenda el núcleo de Java para convertirse en programador avanzado.

Vamos a C by yashwant kanetkar es un muy buen libro para el lenguaje C

Si desea ver un lenguaje de programación conceptualmente perfecto, consulte Smalltalk. Fue diseñado por los genios de Xerox PARC para ser puro orientado a objetos y fácil de usar. Todo es un objeto todo el tiempo, sin excepciones. Los objetos solo responden a los mensajes, sin excepciones. Esta consistencia perfecta hace que Smalltalk sea extremadamente flexible para capturar cualquier diseño o concepto que pueda tener. Para colmo, las herramientas del entorno de desarrollo son extremadamente útiles para la productividad de la programación.

Si eres un recién llegado al mundo de la programación, puedes comenzar a aprender cualquier idioma.

Porque todos los idiomas, sin importar JAVA, C, C ++ o Python, le permiten aprender de la impresión de ” Hola Mundo ” a hacer funciones de calculadora simples como factorial, palíndromo, Fibonacci, etc.

Además, esto depende de dónde te encuentres. Si estás en la escuela , elige JAVA y si estás en el nivel universitario , comienza a aprender C , ya que en lenguaje C puedes tener una competencia mundial.

Como aquí, no ha mencionado en qué estándar está actualmente, le sugeriré ir a JAVA, ya que es el idioma básico que se enseña en las escuelas para los estudiantes de 9º y 10º estándar.

Entonces, cuando ingresas a las Escuelas Secundarias Superiores ( clase 11 y 12 ) o en las universidades , tienes un conocimiento comparable al de otros estudiantes, esto también te ayudará a aprender C y C ++ fácilmente , que se enseña en las universidades al principio.

Preferiré ‘Computer Science with JAVA’ de Sumita Arora de la clase 12 para aprender JAVA y ‘C in Depth’ para aprender C de forma básica.

Hay varias opciones buenas, como Python, C #, C ++, Go, Rust, Java.

Pascal / Delphi, Modula, Ada? (Poco anticuado, pero bueno para aprender).

También hay idiomas que son menos comunes pero también muy diferentes.

  • Lenguajes funcionales: Lisp (Common Lisp, Scheme, Racket), ML, Gofer, Haskell.
  • Lenguaje lógico: prólogo.

Hay muchos más, pero no muy útiles como punto de partida.

Si desea obtener una buena idea de cómo funcionan las computadoras, pero no desea sumergirse completamente en el ensamblaje, intente con C o Forth.

Ciertamente, en los sistemas Linux puede obtener compiladores gratuitos (GNU) para casi cualquier idioma. Pero hay un puerto para Windows de gcc, llamado MinGW. Luego está el clang (compilador de C ++ que usa LLVM, al menos para Linux y Mac).

Además, si tiene una versión legal de Windows, puede descargar una versión gratuita de MS Visual Studio con soporte para C ++, C #, F #, etc. de Microsoft. El nombre sigue cambiando, de Express a Community Edition o lo que sea.

puede comenzar con python, que es un lenguaje muy poderoso, para conocer python debe conocer el lenguaje C.

Creo que Ruby. Es una gran introducción en la codificación.

También le permite crear sitios web de esta manera relativamente rápida. Es un lenguaje legible por humanos.

C ++