Quiero empezar a aprender programación. ¿Cuál sería un buen lenguaje para empezar?

Esta pregunta se hace mucho y la mayoría de las personas responden con los idiomas que les gustan. Así obtendrás una gran variedad de respuestas. Sin embargo, las preferencias de otras personas no te ayudan a decidir. Necesitas determinar cómo quieres usarlo. No se desanime por la dificultad u otras cosas similares. Aprender cualquier cosa requiere tiempo y práctica.

Así que aquí está cómo va:

  • Quiere codificar aplicaciones de Android – Java
  • ¿Quieres hacer desarrollo web: HTML / CSS y luego Javascript
  • Juegos y realidad virtual: C #
  • Aplicación para iOS – Swift
  • Ciencia de datos – R y luego Python
  • Sistemas embebidos – C

No escojas el idioma. Elige el propósito. Al final del día, el idioma no importa mucho y es un medio para un fin. Como alguien más avanzado, puede centrarse más en el lenguaje para redondear sus habilidades.

Si fuera yo, apostaría por la realidad virtual. Eso tiene las mejores perspectivas de empleo futuro en mi opinión.

Independientemente de lo que elija, consulte la Programación de mareas inversa para ayudarlo a aprender. Ayuda con la mejor ruta de aprendizaje y las fuentes para cada idioma, cómo obtener experiencia y, finalmente, cómo obtener un trabajo.

Siempre recomiendo Smalltalk como lenguaje de inicio. En primer lugar, es muy, muy fácil de aprender, quizás el lenguaje de programación más fácil que existe. ¡Prácticamente no tiene sintaxis! La sintaxis de Smalltalk se puede resumir bien en el reverso de una postal.

Segundo, Smalltalk es el lenguaje consumado de programación orientada a objetos (OOP). Smalltalk fue el primer lenguaje en popularizar la POO y sigue siendo el mejor arquetipo de este paradigma. Es por eso que ha influido directamente en el diseño de casi todos los lenguajes OOP en uso hoy en día: Java, Python, PHP, Ruby, Perl, Objective-C, Swift, CLOS, Groovy, Scala, Dart, etc.

La POO es de vital importancia para que se entienda bien porque es, de lejos, el paradigma de programación más utilizado en la actualidad, y seguirá siéndolo en el futuro inmediato.

Tercero, como lenguaje de enseñanza, Smalltalk tiene una base educativa sólida. Ningún lenguaje de programación importante ha sido nunca un verdadero lenguaje de enseñanza. Python no. No Java. No JavaScript. No PHP. No ruby

Por eso abogo por el uso de Smalltalk en los programas de primer año de la universidad.

Cuarto, Smalltalk es uno de los lenguajes de programación más productivos del mundo. Smalltalk proporciona una velocidad de desarrollo asombrosamente alta.

La razón principal de esto es su IDE / entorno de tiempo de ejecución de “codificación y depuración en vivo” extraordinario y único.

En quinto lugar, Smalltalk ha disfrutado de más de 35 años de uso comercial en todo el mundo. Esto demuestra que Smalltalk es un lenguaje muy práctico para la ingeniería de software. Puede o no puede encontrar trabajos que usen este idioma, pero eso no significa que no valga la pena aprender Smalltalk.

Sexto, dado que Smalltalk tiene funciones y cierres de primera clase, también proporciona capacidades funcionales completas. Puede que no se parezca a JavaScript, a Clojure ni a Haskell, pero hay más de una forma de despellejar al gato funcional.

Vea la respuesta de Richard Kenneth Eng a ¿Por qué debo aprender a programar y qué idioma debo aprender?

Y lea Smalltalk y el futuro de la industria del software.

La respuesta obvia aquí sería: aprender el lenguaje C, ya que podría decirse que es el lenguaje de programación para principiantes.

Pero, siempre hay un pero, ¿verdad?

Le sugiero que primero se familiarice con el concepto de programación en sí.

Naturalmente, todas las lenguas de habla humana tienen o parecen seguir cierto conjunto de similitudes, como la gramática, la sintaxis, la combinación VAN (Verb-Sustantivo-Adjetivo) … entiendes la idea.

Del mismo modo, casi todos los lenguajes de programación “populares” tienen los aspectos mencionados anteriormente a su manera, como

Tome Java / .NET por ejemplo.

La combinación VAN de Java difiere ligeramente de la combinación VAN de .NET; pero lo que se hace usando ambos idiomas es más similar y menos diferente.

Mi punto es, conocer primero la dinámica y la terminología del lenguaje de programación y luego decidir sobre la codificación en realidad más adelante.

Sin esta mentalidad, codificar siempre es una tarea para muchos programadores en la actualidad … ¡que se puede presenciar en casi todas partes!

Solo hay una forma de aprender a codificar; empezar a codificar

Recomendaría comenzar sith C ++, ya que le enseñará los conceptos básicos de la programación.

Hay muchas maneras en que puede ayudarlo a aprender cómo codificar; CS o SE, bootcamps y otros. No escribiré sobre ellos ya que quiero darte una alternativa. ¡Tu conocimiento o edad no es importante!

Estoy trabajando en Holberton School y le ofrecemos una oportunidad. En nuestro sitio web puede encontrar todo lo que necesita saber, pero a continuación le doy algunas de las cosas más importantes:

Holberton School ofrece una alternativa para los que se preguntan acerca de los campamentos de entrenamiento, así como un grado de 4 años en ciencias de la computación.

Básicamente, es un programa que combina la vida en el campus en el centro de San Francisco, una pasantía y un empleo a tiempo parcial contratado de forma remota o en el campus trabajando por especialización.

Su duración es de 2 años. La Escuela Holberton realmente ofrece una alternativa increíble para muchos de los beneficios que produce. No hay costos iniciales para Holberton.

La Escuela Holberton entrenará en 3 cosas que harán que nuestros estudiantes sean excelentes Ingenieros de Software:

  1. Tener un conocimiento de la pila completa
  2. Poder aprender por ti mismo
  3. Habilidades blandas

El programa está organizado de tal manera que se basa en la formalidad. ¿Qué significa esto? No hay educación formal en las clases y con los maestros. Usted tiene mentores que supervisan su trabajo y están disponibles para consultas.

Holberton actualmente trabaja con 100 mentores que trabajan en la misma industria. Además, de esta manera, los estudiantes siempre están actualizados con información en nichos específicos. Uno de los mentores, Louis Monier es, por ejemplo, el líder del curso de Aprendizaje automático. Primero les dio a los estudiantes un seminario de un día completo y una capacitación práctica que puso a los estudiantes en el lugar. Este tipo de educación es exclusiva de la Escuela Holberton.

Aprender sobre ingeniería de software no es solo aprender sobre la tecnología. Requiere conocimientos sobre redes, habilidades blandas y tutoría por expertos en el campo. Lo que pasa con Holberton es que te permite adquirir habilidades que te ayudarán a iniciarte en el mundo de la tecnología.

Sin embargo, si su pasión realmente reside en el mundo de la tecnología, comprenderá que convertirse en un experto en varias áreas requiere tiempo y esfuerzo.

Y una vez más, para aprender a codificar necesitas codificar, lo que significa que resolver problemas te ayudará a aprender.

¡Te deseo lo mejor!

Si estás a punto de aprender lo básico, son iguales en todas partes. Como lo sugirió Pat Roberts, incluso puede aprender lo básico sin enfocarse en un lenguaje en particular.

Si cree que comprende los conceptos de variables y control de flujo, puede comenzar a codificar en un idioma que no necesita un tiempo de ejecución masivo ni bibliotecas de clases complicadas. Además, su primer idioma sería conciso pero no demasiado detallado, por lo que no necesita escribir mucho y ser capaz de leer su código cuando regrese. La consola interactiva también sería una ventaja: aprender sobre nuevos conceptos sin necesidad de detenerlos, recompilarlos y ejecutarlos.

Teniendo en cuenta el último párrafo, Python y PHP serían excelentes opciones para su primer idioma. Están disponibles en todas las plataformas y en sistemas operativos similares a UNIX que ni siquiera necesita instalar nada para comenzar.

Sin embargo, hay muchos recursos que le permiten aprender muchos idiomas diferentes sin necesidad de instalar nada en su computadora, lo que le permite ejecutar fragmentos de código directamente en su navegador (aquí hay uno para Kotlin, un nuevo lenguaje de programación para los refugiados de Java: pruebe Kotlin) . También hay IDE basados ​​en la web que le ahorran tiempo y nervios al instalar y configurar el entorno de desarrollo.

Así que al final, es mejor que pienses en tu segundo idioma antes de tiempo. Hay una gran respuesta de Daniel Perry en la que puede ver cuáles son las opciones, dependiendo de su idea, qué desea programar. De todos modos, estás en el inicio de un gran y emocionante viaje!

Todos se preguntan cuál es el mejor lenguaje de programación para comenzar a aprender. Pero el hecho de que esta pregunta sea una pérdida de tiempo y ninguna buena respuesta es apropiada. Para comenzar a aprender lenguajes de programación, primero debe preguntar qué lenguaje satisface sus necesidades. Por ejemplo, desea realizar programación web, software o aplicación móvil. Hay muchos lenguajes de programación, lo más importante es que el lenguaje satisfaga las necesidades del proyecto que desea. Ya que hay muchas compañías que prefieren que la persona con la que se identifique tenga más de un software de idioma. Factores para elegir los mejores lenguajes de programación apropiados: el lenguaje que le proporcionará las mejores bases conceptuales del lenguaje que le ayudará a pasar a otros idiomas.

Ahora hablemos de los lenguajes de programación más famosos.

Java

El lenguaje orientado a objetos surgió por primera vez en 1995 como lo diseñó James Gosling, ya que es el más popular entre todos los lenguajes de programación: programación en red, desarrollo de aplicaciones web, desarrollo de software, desarrollo de interfaces gráficas de usuario utilizadas por Android (SO, aplicaciones).

C #

El lenguaje orientado a objetos surgió por primera vez en 2000, diseñado por Microsoft, con un rendimiento más rápido, pero el punto débil solo funciona en el entorno de Windows.

C ++

Todo el mundo considera este lenguaje en la creación de aplicaciones. Surgió por primera vez en 1983, diseñado por Biryani Stroustrup. Tiene características rápidas, algunas debilidades que se están haciendo antiguas: la programación de juegos, ya que se considera una parte integral en la creación de software utilizado en Mozilla Firefox: Adobe Internet Explorer.

Pitón

Cruzar la cabeza de lanza, fácil de enseñar, y simplemente escribirlo y leerlo, surgió por primera vez en 1991, diseñado por Guido van Possum.

Utilizado en: aplicaciones web, desarrollo de software, la seguridad de la información es utilizada por Google, Yahoo.

Rubí

Diseñado por el japonés yokihiro Matsumoto, y está totalmente orientado a objetos, también es fácil de aprender

Utilizado para el desarrollo de aplicaciones web.

Quiero que lea más sobre idiomas, mire videos, busque en la web, lea libros y luego decida qué idioma prefiere, luego asista a una escuela para aprender su nuevo lenguaje de programación, como Holberton School.

No lo sé. Tampoco nadie más. El idioma que debe aprender depende del tipo de problemas que quiera resolver y de su conocimiento actual.

Hay algunos lenguajes denominados lenguajes de scripting con los que es fácil comenzar y, por lo general, tienen buenas bibliotecas y marcos para realizar tareas específicas. Python tiene bibliotecas para tratar con datos científicos, hacer gráficos, etc. Y hay bibliotecas de Python para hacer otras cosas como el desarrollo web. Ruby es algo similar en muchos aspectos, aunque no creo que tenga una buena biblioteca para procesar y graficar datos. Javascript está en todas partes en Internet, por lo que debe aprenderlo si desea hacer programación web.

Hay idiomas que se crearon para probar varias ideas sobre cómo diseñar idiomas, como Haskell. Si desea aprender mucho sobre las últimas ideas que los académicos tienen sobre la programación, entonces algo como Haskell puede ser una buena apuesta.

Otros lenguajes de programación que tienen mucho pensamiento teórico incluyen lisps: una familia de lenguajes de programación basados ​​en programas de escritura como listas. Las ventajas de hacer esto son que cada programa escrito en el idioma está escrito en una de las estructuras de datos del idioma. Como resultado, es posible escribir programas que manipulen programas de forma relativamente fácil en comparación con la mayoría de los otros idiomas.

Hay otros idiomas que toman algunas ideas que anteriormente solo se usaban en el mundo académico y han tratado de hacerlas prácticas. Por ejemplo, Clojure es un lisp que se ejecuta en la Máquina Virtual de Java. Como resultado, Clojure puede ejecutarse en cualquier lugar donde pueda ejecutar Java y significa que puede usar programas Java sin tener que escribir Java. Clojure también tiene una variante llamada Clojurescript que se puede compilar en Javascript. Así que puedes escribir programas web sin tener que escribir mucho Javascript.

Algunos otros idiomas se usan en otras áreas donde escribir programas que se ejecutan muy rápido es una prioridad alta, como escribir juegos o sistemas operativos para computadoras. Ejemplos de este tipo de lenguaje incluyen C y C ++.

Mi consejo tentativo si no sabe exactamente qué tipo de programación desea hacer es que debe aprender los conceptos básicos de cómo escribir programas leyendo un libro como Estructura e interpretación de programación de computadoras o Cómo diseñar programas y aprender un poco. Como los lisps tienen una sintaxis extremadamente simple, son muy fáciles de comenzar. Racket es un buen material con un montón de material de enseñanza y un editor útil:

Rápido: Una introducción a la raqueta con imágenes

Comience con un lenguaje 4GL como PHP o Python. Recomiendo Java o C # pero estos lenguajes pueden ser un poco más meticulosos en la forma en que están estructurados y la curva de aprendizaje es un poco más pronunciada con estos.

Notan que no recomendé Javascript. Esto se debe a que finalmente estamos empezando a ver el final de este lenguaje horrible. Afortunadamente, está siendo reemplazado por lenguajes transpiled como TypeScript. Si desea aprender codificación web, recomiendo aprender el marco Angular 2 (que fomenta el uso de TypeScript).

También puede notar que no recomendé C o C ++. Esto se debe a que estos idiomas (aunque populares) tienen una curva de aprendizaje empinada. No puedo recomendar que aprenda ningún idioma como principiante que no haya incorporado el manejo de la memoria o que le imponga la tortura , el dolor y el sufrimiento de los punteros a los punteros con listas vinculadas.

Aprendí esos idiomas en orden:

  1. Vb (.net)
  2. Pitón
  3. DO#
  4. C ++

Comience con algo simple, no se lance a C ++ cuando no sepa nada sobre programación. Tienes la idea

Consigue algunos libros de la biblioteca y comienza a estudiarlos. La lectura no es suficiente, hay que practicar. Visual Studio es un buen IDE .

Si no entiendes algo, no sigas adelante. Sigue intentando hasta que entiendas que terminarás con brechas.

La práctica hace la perfección.

Java es realmente un buen lenguaje de programación para comenzar tu carrera de programación. Aprender programación en Java es muy divertido. Es un lenguaje de programación realmente bueno y está muy solicitado en estos días ya que Android se ha hecho cargo. Y puedes hacer aplicaciones de Android con Java y XML. Puede encontrar tantos recursos en línea para aprender a programar en Java y será divertido. Solo asegúrate de escribir código y practicar a medida que avanzas.

En primer lugar, en este mundo moderno, tiene la ventaja de buscar algo cada vez que se confunda.

Debes tener estas aplicaciones en tu móvil todo el tiempo:

  1. Java For Everyone Java For Everyone – Aplicaciones de Android en Google Play
  2. Learn Java Learn Java – Aplicaciones de Android en Google Play

Ahora necesitas practicar diariamente en HackerRank HackerRank

Aquí está la lista de recursos para aprender programación de Java:

  1. En primer lugar debes tener un libro. Puedes comprarlo o tener una versión en pdf. El libro que recomendaré es Head First Java. Aquí está el enlace: Amazon.com: Head First Java: Una guía amigable Libro electrónico: Kathy Sierra, Bert Bates: Tienda Kindle
  2. Ver video conferencias en YouTube. Recomendaré ver las conferencias de los tutoriales de programación de NewBoston. Aquí está el enlace: Tutoriales de programación de Java (principiante) – YouTube
  3. Hay tantos sitios web que enseñan programación Java. Aquí está la lista de sitios web que me gustan personalmente:
  1. TutorialsPoint Java Tutorial
  2. StudyTonight Core Java Tutorial | Studytonight
  3. javatpoint Tutorial de Java – javatpoint

Voy a sugerirte que empieces sin un lenguaje de programación. Si aprende los conceptos básicos de programación fuera de una plataforma y una cadena de herramientas, será mucho más fácil. No intentará aprender una cadena de herramientas o IDE, depurador y plataforma sobre un idioma.

Aquí hay una manera fácil de empezar. Descarga y juega al juego Human Resource Machine. Está disponible para Windows, OSX y Linux. HRM le enseña los conceptos básicos del control de flujo y las variables. Si puede manejar HRM, está en camino de ser un programador.

A continuación, trabaje a través de los ejercicios en Computer Science Unplugged. Son gratis y no requieren una computadora. Si completa los 20 ejercicios, sabrá más sobre informática que la mayoría de los programadores.

A continuación, elija un lenguaje simple con una cadena de herramientas simple y un mecanismo de implementación. Recomendaría C en Linux o OSX sin un IDE, o Javascript sin un IDE. Si crees que quieres crear aplicaciones de escritorio o nativas, C es un buen lugar para comenzar. No es necesario que te conviertas en un experto en C, solo apunta lo básico. Reconocerá el origen C de otros idiomas que aprenderá en el futuro. Si desea trabajar en servicios y clientes basados ​​en web, aprenda Javascript. Tendrá que convertirse en un experto con Javascript si va por esta ruta. Javascript es muy fácil de implementar en un navegador y depurar.

IIRC Cambridge comienza con el lenguaje funcional ML. Esto significa que el curso puede concentrarse en enseñar técnicas eficientes para construir programas que sean probadamente correctos y sin tener que preocuparse por los problemas subyacentes del sistema operativo ”

No estoy seguro de sentirme calificado para dar una respuesta sobre el idioma de inicio; Estoy tan alejado de cuando comencé a aprender programación que no estoy seguro de qué hace que un idioma en particular sea bueno o malo para aprender. No estoy completamente convencido de que haya una respuesta correcta / incorrecta a esto; puede muy bien ser algo donde lo que es bueno para la persona A sea malo para la persona B, y viceversa.

Sin embargo, puedo abordar cómo creo que deberías aprender a programar. Primero que todo, debes pensar de esa manera: estoy aprendiendo a programar, y no estoy aprendiendo a programar en el lenguaje X. Entonces, la primera pregunta es: ¿qué es la programación?

En su nivel más básico, la programación es el proceso de creación y entrega de una solución de software a un problema o para abordar una oportunidad. Para poder hacer esto, necesita comenzar por comprender el problema o la oportunidad. A partir de ese entendimiento, puede desarrollar una idea sobre cómo abordar ese problema u oportunidad. Luego, implementará su solución, la probará y la depurará. Finalmente, lo entregarás a sus usuarios.

Una cosa importante acerca de ese proceso es que un lenguaje de programación solo está directamente involucrado en la parte donde está implementando, probando y depurando su solución. Puede restringir o ayudarlo en su diseño y en la entrega del sistema.

Una segunda cosa es que el proceso no es lineal. No siempre se pasa del análisis, al diseño, a la implementación, a las pruebas y la depuración, y finalmente a la entrega. En cualquier momento, puede descubrir una razón para volver a una etapa anterior. Usted determina que su comprensión del problema fue insuficiente, puede descubrir que su diseño no aborda completamente el problema o es completamente inapropiado, su implementación puede resultar defectuosa, puede ser que sus usuarios encuentren un error.

La razón por la que describo todo esto es que la forma en que sugiero aprender a programar es trabajar en un proyecto que involucre todo ese proceso. Con demasiada frecuencia, parece que las personas se centran en las herramientas de programación: lenguajes, estructuras de datos, algoritmos, etc., y no abordan el aprendizaje sobre cómo usar esas cosas para crear un producto.

Para elegir un proyecto, debe considerar sus intereses y su nivel de habilidad. Comience por averiguar qué tipo de cosas le gustaría hacer. ¿Son interesantes los juegos? ¿Quieres crear una aplicación móvil útil de algún tipo? ¿Quieres construir un sitio web? ¿Te gustaría una calculadora que hace algunas funciones matemáticas menos estándar? ¿Quiere hacer algo que pueda usar para catalogar los libros en su hogar? Mire sus propios intereses y descubra qué le gustaría tratar de hacer.

Ahora, pasamos al nivel de habilidad. Obviamente, ya que estás empezando, eres bastante limitado. Entonces, no quieres hacer algo realmente complicado o involucrado. Una posibilidad es considerar comenzar con un proyecto pequeño, uno que no implique muchas funciones, que pueda comprender rápidamente. Otra posibilidad es crear un conjunto de características inicial, pequeño y simple que pueda formar parte de un proyecto más grande. Por ejemplo, si desea crear un programa de juego de ajedrez, puede comenzar con una visualización muy minimalista de una única posición de juego estática.

Java es una buena opción. Hay muchos tutoriales en internet y está orientado a objetos. El problema es que para aprenderlo se necesita tiempo.

Python puede ser otro lenguaje más fácil de aprender que Java. También hay muchos tutoriales en Internet y no es tan difícil de leer como Java.

Pero lo más importante es que entiendas los conceptos básicos de la programación, es decir, cuáles son las variables, clases, objetos, métodos, polimorfismo, bibliotecas, bucles …

Una vez que conozcas estos conceptos puedes aprender un lenguaje de programación.

Un buen lenguaje de inicio para la programación sería Java . Puede comenzar a aprender de inmediato desde aquí. Programación orientada a objetos con Java, parte I. Después de completar ambas partes, puede mirar otros lenguajes de programación según sus necesidades (incrustados, web, etc.)

También puedes consultar este libro.

Head First Java, 2ª edición: Kathy Sierra, Bert Bates: 8601404235726: Amazon.com: Libros

o algunos videos:

Mi sugerencia sería paciente y aprender haciendo y buscando en Google cuando te quedas estancado 😉

Buena suerte

C # sería una buena opción, hay miles de tutoriales en la red y Microsoft proporciona herramientas gratuitas como Visual Studio para comenzar. C # se puede usar para casi todos los propósitos y es bastante similar con muchos otros lenguajes de programación.

Otros buenos comienzos pueden ser Python, GO o Java. Estoy bastante seguro de que mucha gente sugeriría javascript o PHP, esos lenguajes pueden parecer fáciles pero NO son adecuados para comenzar la programación (¡esta es mi opinión personal y muchas otras!)

Aprender un nuevo lenguaje de codificación desde cero es muy posible hoy con recursos gratuitos disponibles en línea. Pero decidir sobre un lenguaje de programación puede ser un campo minado, ya que hay miles por ahí, y especialmente si no tienes idea de lo que quieres lograr y dónde llevar tu carrera.

En nuestro artículo explicamos algunos grandes lenguajes de programación para darle una idea de para qué se usan, los tipos de roles de trabajo y los salarios promedio que podría ganar para ayudarlo a elegir el lenguaje de programación adecuado para usted y su objetivo final.

Ver aquí: – Cómo decidir sobre un lenguaje de programación.

Pruebe este nuevo lenguaje de programación introducido por WSO2 que tiene una herramienta visual para escribir sus programas.

Aquí está el sitio web

Flexible. Poderoso. Hermoso.

Las muestras se pueden encontrar aquí.

Flexible. Poderoso. Hermoso.

(descargo de responsabilidad: todavía estoy aprendiendo programación y de ninguna manera soy un desarrollador experimentado, así que sigue mi consejo con un grano de sal … si no es una mezcla completa de sal;))

¿Pitón? Es universal, muy utilizado y, en mi opinión, es muy bueno saberlo y usarlo en la vida real. Hay otras opciones, pero IMO, si solo necesita comprender la programación y usarla en la vida real a medida que madura como desarrollador, Python no es una mala elección.

Además, Python generalmente se esfuerza por promover buenas prácticas de codificación, y eso es algo bueno ™. Solo recuerde que no hay una ‘bala mágica’ en la informática, esa es la razón por la que tenemos tantos idiomas alrededor 🙂

Prueba este libro gratis:

Introducción a la Programación con Xojo.

Está escrito para que las técnicas que aprendas puedan aplicarse a casi cualquier idioma.