¿Qué lenguajes de programación se deben usar para crear software, videojuegos, aplicaciones, robots de programa y aplicaciones web? ¿Dónde se puede aprender los idiomas?

Tus objetivos son bastante dispersos. ¿Videojuegos, robótica y aplicaciones web? Supongo que también incluye aplicaciones generales. Esta no es una buena manera de planificar tu carrera. Necesitas concentrarte.

Puede comenzar aprendiendo un lenguaje de programación de propósito general como Java, Python o C ++. Eso debería cubrir la mayoría de tus bases.

Pero siempre recomiendo que los principiantes comiencen con Smalltalk. Smalltalk es un excelente lenguaje de enseñanza . No hay muchos de esos.

Smalltalk es sumamente simple y fácil de aprender. En realidad, fue diseñado para enseñar programación a los jóvenes.

Smalltalk es la mejor manera de aprender programación orientada a objetos (OOP). Fue el primer idioma en popularizar OOP y sigue siendo el mejor lenguaje de OOP que existe.

Smalltalk es tan bueno que sirvió como arquetipo para casi todos los lenguajes OOP en uso hoy en día, incluidos Java, Python, C #, PHP, Ruby, Perl, Objective-C, CLOS, Groovy, Scala, Dart, etc.

OOP es el paradigma de programación más importante y ampliamente utilizado en el mundo. Le corresponde aprenderlo bien.

Para obtener más información, lea ¿Qué hace que un lenguaje de programación sea “genial”?

Aquí hay algunos recursos excelentes:

  • un tutorial agradable y amable: aprenda Smalltalk con el profesor Stef
  • Smalltalk más activamente desarrollado – ¡Bienvenido a Pharo!
  • un libro gratis – Pharo actualizado por ejemplo
  • a MOOC (curso masivo abierto en línea) – Programación de objetos en vivo en Pharo
  • algunos videos geniales – Smalltalk 4 You
  • un libro que me gusta (no basado en Pharo) – Smalltalk by Example
  • otro libro que me gusta (no basado en Pharo) – Programación de computadoras usando GNU Smalltalk
  • algunos recursos adicionales – Recursos

Este libro (no gratuito) es mi favorito para aprender a usar Smalltalk para la programación orientada a objetos: Smalltalk, Objects, and Design, de Chamond Liu.

Yo mismo he publicado un montón de tutoriales Smalltalk. Los últimos son:

  • Aprenda a programar
  • Tetera: la programación web es fácil

La forma en que redactó la pregunta me dice una cosa: que aún no ha aprendido la programación. Aprender un lenguaje de programación no te enseña programación (que es principalmente un análisis situacional).

Aprenda a programar en sí mismo: comience con algo como Teach Yourself Computer Science.

Para volver a su pregunta, “software” es una categoría general que cubre todo lo demás que haya nombrado.

¿Videojuegos? Utiliza los motores de juego existentes, no gastes tiempo y esfuerzo reinventando la rueda.

Aplicaciones? Eso depende de dónde se ejecutarán: es una categoría casi tan general como “software”.

Robots? Tal vez Smalltalk, tal vez un lenguaje C-ish. Algunos robots no te dan la opción, pero si estás desarrollando la tuya, elige el idioma por lo que hace. Si va a hacer muchos juegos de bits, el ensamblaje o C probablemente sea lo mejor.

Aplicaciones web: no tiene otra opción en el navegador, eso es JavaScript. En el servidor, cualquier idioma del lado del servidor con el que se sienta cómodo. (He estado usando PHP durante años, y muchos otros también.) También necesitará aprender SQL, al menos las funciones CRUD (crear, leer, actualizar y eliminar), pero conocer uniones y uniones le ahorrará un Mucho dolor de cabeza. Y querrá aprender AJAX, un método para vincular el navegador y el servidor. (Y JavaScript puede seguir el camino de los ganchos de botones, así que mantente atento a cosas como React.)

Pero aprenda programación antes de comenzar a aprender idiomas. De esa manera, aprender un nuevo idioma es tan simple como pedirle a Google ejemplos de la función que necesita (como javascript divide una cadena ). Sabrá, porque conoce la programación, que necesita dividir una cadena en ese punto del programa.

Haciéndolo de la otra manera, cada idioma que aprende comienza desde cero, porque aprende cómo “hacer X en el lenguaje Y”, y eso no tiene nada que ver con cómo lo hace en el lenguaje Z, por lo que debe aprender Z de Al principio, aunque conoces Y bastante bien. No muy eficiente

Por cierto, iniciar una empresa que hace videojuegos, software de robótica y aplicaciones web es una tarea bastante grande. Incluso Microsoft tiene departamentos completamente separados para escribir Windows, procesadores de texto, hojas de cálculo, etc. No contrata a 5 programadores y les pide a cada uno de ellos que sean buenos en todas las áreas que está desarrollando. Después de 45 años de programación en muchas áreas, no sería feliz (o tan productivo) pasar de desarrollar un sitio web a desarrollar software de robótica.

Si entra en juegos en algún momento, probablemente esté usando C como andamio para fragmentos de código de ensamblaje o incluso código de máquina en línea para acelerar los gráficos. Si usa muchas matemáticas, usará FORTAN para la velocidad.

Python está bien para codificar el código juntos que compilarlo en aplicaciones.

Necesita un generador de perfiles para encontrar los puntos de estrangulamiento para arreglar en C o Asamblea.

También podría usar C ++ y usarlo para escribir C cuando las cosas se pongan difíciles.

Python y C son comunes en los robots.

Si te estás enseñando a ti mismo a comprar Power C y al Power C Trace Debugger, vale la pena el dinero para perfilar el código C y ver cuántos ciclos de máquina codificas si intentas escribir código rápido.

Es la mejor colección de ejemplos de uso de funciones C que he visto.

Power C es un producto de Pseudocódigo que se ejecuta en una capa de código P propiciatoria que se ejecuta en un emulador MS Dos. Lo he ejecutado en Windows, Mac y Linux. La única desventaja es que sus funciones gráficas se imprimen en una pantalla virtual en una viuda basada en un sistema de coordenadas xy que no se traduce al sistema operativo host. Era un sistema ordenado en el día anterior a los monitores de alta resolución.

Todavía lo sigo ejecutando para encontrar problemas difíciles en C. He portado código de un 69HC11 sobre Windows o MS DOS para llegar al depurador.

Estás un poco por todas partes. Elija una cosa y comience allí. Elija la programación web, la programación de aplicaciones o la programación integrada. A partir de ahí, tendrá una selección más fácil de su idioma de inicio en lugar de todos los idiomas posibles.
Luego, simplemente siga la respuesta estándar a las preguntas “¿Qué lenguaje es mejor para aprender programación?”.

Decide un proyecto y aprende sobre la programación. Después de saber cómo programar en un idioma, es casi trivial cambiar a otro.

Lista de lenguajes de programación – Wikipedia -> Hay muchas opciones y se han usado opciones mayn en el pasado. El video es ‘mucha información’, por lo que también depende del objetivo (móvil / tarjeta gráfica / CPU). Hay compiladores especiales en Android que intentan usar CPU / GPU dependiendo de cuál sea más fuerte. ¿Empezando a aprender programación? Elija algo con lo que las personas cercanas puedan ayudarlo (o salas de irc). También hay asics (códigos de grabación en chip directamente) y más (hablando de recursos / robótica / velocidad). Entonces hay muchas respuestas.

More Interesting

¿Por qué deberíamos escribir un plan de prueba para pruebas de software?

¿Qué beneficios ofrece MemSQL sobre la ejecución de una base de datos MySQL en ramdisk?

¿Los ingenieros de Google siguen siendo de primera categoría?

¿Puede un chico que no es CS (ingeniería química) aspirar a una carrera en la industria del software? Estoy realmente interesado en el desarrollo de software.

Cómo abordar un requisito de software del cliente para desarrollar un software CMS personalizado como WP (aplicación web, preferiblemente en Rails)

¿Es importante para un principiante escribir código claro y legible?

Como estudiante de informática, ¿el trabajo independiente es una opción realista para mantenerme?

¿Cuáles son algunas de las razones por las que un 'Tech Lead' evita cualquier contacto con su programador mejor capacitado?

¿Cuál es la forma más económica de crear una aplicación móvil si no sé cómo codificar?

¿Debe un recién graduado de CS comenzar en ingeniería de software o gestión de productos?

Como desarrollador o gerente de producto, ¿cuáles son las características de las mejores personas de control de calidad que conoces? ¿Puede dar ejemplos de cómo estas personas de QA hicieron su trabajo mejor que otras en el mismo rol?

¿Qué tipo de empresa de big data / analytics podría comenzar y qué pasos debo seguir?

¿Cómo es que grandes compañías como Google y Facebook, que se dirigen hacia un límite de mercado de un billón de dólares, pueden producir un software tan malo?

¿Qué deben saber todos los ingenieros de software acerca de los compiladores?

¿Cuál es el procedimiento para aplicar a las compañías de software mejor clasificadas como Google, Microsoft, Facebook, etc., si soy un graduado de ECE?