Quiero aprender a codificar. ¿Cuál es el mejor idioma para aprender y cuál es la mejor manera de hacerlo?

Aprendí C como mi primer lenguaje de programación y no me arrepiento hasta hoy. He resuelto problemas / penalizaciones gráficas y tareas múltiples con algunas de las bibliotecas de C donde C ++ era insuficiente.

Lo que puedo recomendarte es preguntarte qué es lo que realmente te interesa. Si la programación web comienza con C y cambia a PHP, lo que es fácil de captar la sintaxis de este lenguaje, pero puede ser difícil comenzar a construir orientado a objetos cosas de estilo, y hay muchos patrones de seguridad que aprender para construir aplicaciones y plataformas seguras. Aprender C como primer idioma puede cubrir las contrapartes al seleccionar otro idioma como PHP.

Si está interesado en la programación de juegos, entienda bien la POO en C ++ y, finalmente, la administración de memoria. Sepa cómo manejar la memoria, agregando la eliminación de información de edición, expandiendo la memoria como primeros pasos.

Después de que hayas aprendido la mayoría de las cosas, crea un pequeño juego en una de las bibliotecas más fáciles que existen; SFML C ++. De esta manera puedes agudizar ligeramente tus habilidades.

Aprende Java también. Pero no te recomendaría saltar antes de C o C ++, donde no aprenderás acerca de la administración de memoria que carece de potencial para un programador. (Esto es solo una cosa de la que no tienes que preocuparte en Java).

Aquí hay algunas notas, aunque puede que no lo entiendas ahora, ¡pero anótalas de todos modos!

No debe utilizar clases de contenedor como vectores , list o deque . Aprende matrices primero. Aprenda a eliminar, agregar elementos o editar elementos en una matriz. Asignar dinámicamente la memoria utilizando matrices. Aprenda a construir su propia clase de contenedor donde puede agregar muchas funcionalidades. Con el uso de la clase vectorial, no tendrá que preocuparse por asignar nueva memoria durante la ejecución o cambiar elementos después de eliminar algo de la matriz que lo hace increíblemente perezoso (principiantes).

En lugar de utilizar los algoritmos de búsqueda u ordenación ya implementados, aprenda cómo escribir esos algoritmos, como la búsqueda binaria, la búsqueda lineal, la ordenación binaria, la ordenación lineal, la ordenación rápida y la ordenación de pila. Verá y entenderá detrás de la escena de tal algoritmo que le puede dar sugerencias sobre cómo hacerlo en el futuro cuando (tal vez) escriba su propio algoritmo.

En algún momento de su vida como programador, tendrá que tomar el camino difícil, así que hágalo ahora en sus días frescos cuando aprenda.

Creo que primero debe determinar su objetivo final.

¿Quieres aprender a codificar, o quieres aprender sobre ciencias de la computación?

Si solo desea codificar para poder automatizar algunas tareas, tal vez eventualmente escriba algunas aplicaciones web simples, y tal vez lo use en su propia carrera, le recomendaría aprender Ruby. Para empezar, es un lenguaje realmente bueno porque oculta casi todas las interacciones de máquinas de bajo nivel. Luego puede aprender Rails, que es un marco web que usa Ruby, y puede escribir algunas aplicaciones web usando tutoriales en línea. Hay un montón de tutoriales de Rails que suponen que no tienes conocimiento previo, por lo que Rails, en mi opinión, es el mejor marco para principiantes.

Si desea aprender a codificar para poder estudiar algunos de los temas de vanguardia de la informática, como la IA y el aprendizaje automático, aprender a codificar es solo una pequeña parte del pastel.

Lo que quiero decir es que si quieres entrar en estos temas, aprender a codificar probablemente no sea lo más importante. Puede hacer mucho trabajo de aprendizaje automático sin siquiera escribir una línea de código. Hay muchas matemáticas detrás de esto, y los científicos informáticos más brillantes a veces hacen que otros hagan la codificación por ellos mientras trabajan en problemas más desafiantes, como crear algoritmos. En este caso, su elección de idioma realmente no importa mucho, pero he escuchado que Lisp es un lenguaje popular para la IA, por lo que si la IA suena interesante, tal vez aprenda Lisp, Haskell, OCaml o Scala.

Si desea aprender a codificar para poder escribir aplicaciones para iOS o Android, tiene dos opciones.

Puede escribir aplicaciones en los idiomas nativos de las plataformas, o puede escribir lo que se denomina aplicaciones híbridas. Las aplicaciones híbridas son esencialmente aplicaciones web móviles que se empaquetan como aplicaciones nativas. El idioma principal que usan las aplicaciones híbridas es Javascript, pero hay otros lenguajes que se compaginan con Javascript, como Coffeescript, por lo que también puedes usarlo. Si desea escribir aplicaciones nativas (puede acceder a la mayoría de las funciones, obtener un mejor rendimiento, hay muchas razones para hacerlo) deberá aprender Java para Android o Swift para iOS. Swift es más fácil de aprender que Objective-C, que es el otro idioma nativo para iOS, por lo que recomiendo aprender Swift.

Tenga en cuenta que aprender a codificar no es lo mismo que aprender a escribir aplicaciones móviles.

Digo esto porque muchas personas piensan que pueden aprender a codificar en unas pocas semanas y comenzar a escribir aplicaciones móviles. Las aplicaciones móviles son difíciles de escribir. No importa cómo lo hagas, o a quién hayas oído decir lo contrario, las aplicaciones móviles son difíciles. Se necesita una buena comprensión de muchos conceptos diferentes para poder escribir incluso las aplicaciones más básicas. Si esto es algo que quieres hacer, elige Java o Swift y aprende el idioma. Luego, puedes comenzar a aprender sobre el desarrollo móvil. Pero no intentes aprender Java o Swift buscando tutoriales de Android o iOS. No lo pasarás bien si lo intentas de esta manera.

Comenzaría con Python, pero la verdad es que no importa.

Muchos / la mayoría de los conceptos de programación son transferibles entre idiomas, y aprender nuevos idiomas es fácil una vez que eres bueno en uno.

Si eres completamente nuevo en la programación y quieres aprenderlo como pasatiempo, puedes aprender python. Pero si aspiras a convertirte en un programador profesional, comienza a aprender OOP (lenguaje de programación orientado a objetos) como Java

Python quizás, un lenguaje fácil de aprender para principiantes.

y c no es malo, pero debes aprender la estructura de datos y el algoritmo && mientras tanto.

Practica más !

Y cuanto más practiques, más podrás comprender.

Depende de lo que quieras construir con tu código. Mi sesgo es hacia Internet, por lo que mi recomendación es comenzar con html y css. Obtén esta palmadita, luego agrega javascript y juega con jquery. Puedes hacer muchas cosas divertidas con ellos.

Si desea crear grandes sitios con un back-end de base de datos, agregue php y mysql.

Lo mejor sería Java manos abajo. Le sugiero que pruebe esta versión simplificada de Java en este sitio web muy fácil de entender:

Dumb IT Dude | Aprende junto con un tipo de TI que lo descarta todo

Si quieres ser un programador real comienza con C. Ten en cuenta que será doloroso, pero entenderás mucho detrás de la escena de cómo funciona la codificación. Después de eso cambia a Python.