Me gustaría aprender a programar. ¿Dónde empiezo? ¿Qué idiomas son ideales para principiantes? (Tengo 15)

Vaya por C, es más fácil hacer la transición de C a cualquier otro idioma porque lo expone directamente a la memoria. Los lenguajes como Java / Python tienen una gestión automática de la memoria que oculta muchas cosas que van dentro del programa.

Mi primer idioma fue BÁSICO y programé mucho desde el 5º hasta el 8º grado, luego mi segundo idioma fue Java, que aún siento que no debería haber sido. El problema ocurrió cuando comencé con mi 3er lenguaje de programación en 11th Grade, que era C ++. Estaba tratando de resolver el problema de la forma en que habría ido en Java. Pero el hecho de que C ++ sea un superconjunto de C no automatiza completamente el requisito de la asignación de memoria. Así que de vez en cuando me encontraría con problemas de asignación / desasignación de memoria.

Por lo tanto, si eres lo suficientemente paciente con el aprendizaje, te recomiendo ir con C y más tarde cambiar el enfoque a lenguajes como Java o Python, apenas necesitarás un día para comprender la semántica de Java después de C y quizás un mes para Python porque De la diferencia en la sintaxis.

Si está buscando recursos, le recomiendo ir con los tutoriales de Zed Shaw sobre el lenguaje de programación. Te enseñan lo suficiente con una buena explicación para cada parte del programa. También me gustaría agregar que cuando llegue a la sección cuando comiencen a explicar sobre Estructuras de datos y si está interesado en usar lenguajes prácticos, recomiendo el libro de Mark Allen Weiss ” Estructuras de datos y análisis de algoritmos en C ++” (4a edición ). Utiliza C ++ 11.

Recursos;

C: Learn Code The Hard Way – Libros y cursos para aprender a codificar

Python: Aprende Python

Aunque dice: aprende de la manera más difícil, pero realmente no es tan difícil si demuestras un poco de perseverancia.

Si eres un principiante absoluto, obtén una versión impresa de este libro: http://www.ime.usp.br/~pf/Kernig

Y sí, aprende el Estándar C primero. Pero aprenda de este libro, no de los recursos en línea o de otros proyectos de C, ya que C puede volverse extremadamente complejo una vez que lo utilizan los profesionales para diversas aplicaciones. Se utiliza para escribir sistemas operativos completos, solo para mostrarle cuán complejo puede ser el código C. También se usa para el juego NetHack y muchos otros juegos y aplicaciones, que también es demasiado complejo para los principiantes.

Pero primero debes aprender los conceptos básicos de C, así que comienza con el libro y simplemente con el código C más simple.

Deberías aprender C durante aproximadamente un mes, tal vez dos. Luego comience a centrarse en otros lenguajes de programación como Java, C ++, C #, Swift, Python, Go, Rust, Pascal y más, y aprenda más sobre para qué se usan esos lenguajes en general. Tendrá que considerar qué lenguaje le gusta más, pero C le habrá enseñado los conceptos básicos importantes de la programación.

En primer lugar, bienvenidos a la fiesta.

En segundo lugar, querrás sentirte cómodo con Google. Realmente es tu mejor amigo. Esta pregunta, por ejemplo, ha sido formulada y contestada muchas veces antes.

Sin embargo, como no quiero desalentarte, la responderé aquí.

Hay muchas maneras de ser programador, desde el escritorio a la web, al móvil y a los juegos … sigue y sigue.

Sin embargo, querrá elegir un lenguaje amigable para los principiantes, las cosas como C tienen un nivel demasiado bajo (nivel bajo significa que usted escribe más código para hacer cosas simples. Bueno para el control total, malo para los principiantes).

Voy a enviarte por un camino de desarrollo web en esta respuesta, principalmente porque eso es lo que sé, pero también porque es el tipo de programación que mejor se apoya en los recursos en línea. Una vez que tenga un desarrollo web en un nivel intermedio sólido, puede pasar a otros tipos de programación si lo desea, y los aprenderá más rápido.

A ver si te interesa, en primer lugar.

Ve aquí y haz las cinco lecciones. Si puede completarlos, continúe con el siguiente paso. Considera esto tu iniciación. Dash | Aprenda HTML, CSS, JavaScript con nuestro tutorial en línea gratuito | Asamblea General

¿Terminar las cinco lecciones? Está bien, entonces vamos a poner una base para ti. Pruebe esta clase de la Universidad de Stanford (no se preocupe, su nivel de entrada no requiere conocimientos de matemática ni de computación). Probablemente pueda pasar por alto esa clase en una semana, y si lo hace, obtendrá un certificado de finalización de Stanford. . La clase es gratis, vuelve cuando tengas ese certificado en la mano. Ciencias de la computación 101

Si ha llegado tan lejos, eso significa que tiene el interés y la paciencia para ser un desarrollador web, así que seamos serios.

Vaya a Free Code Camp e intente obtener el certificado de front-end. Esto no es para los débiles de corazón. Los ejercicios comienzan fáciles, pero se vuelven mucho más difíciles. Al principio solo es HTML, pero al final del certificado, estará creando videojuegos basados ​​en la web, aprovechando las API de Twitch TV y Wikipedia, y, en general, demostrará que es un tipo rudo.

Si puede obtener el certificado de front-end (tardará muchos meses), entonces el cielo es el límite para usted. Ya tendrás el conjunto de habilidades de un desarrollador de nivel de entrada, y puedes continuar con Free Code Camp o aprender algo como Python o Java o C #. Esos idiomas no son necesariamente mejores que JavaScript, pero son diferentes y la diversidad es importante.

¡Buena suerte! Quédate con eso e intenta escribir algún código todos los días.

Actualmente estoy asesorando a alguien de tu edad y elegí JavaScript. Le recomiendo JavaScript para usted como principiante.

He leído todas las otras respuestas aquí y todos parecen pensar que C es adecuado para un principiante. De Verdad? Porque los mismos conceptos al principio C se pueden enseñar completamente en JavaScript en menos tiempo. Uso C para escribir módulos de servidor para Nginx y Lua, y no creo que C sea una herramienta fundamental muy importante. Pero las cosas importantes van mucho más allá de lo que se puede aprender al gastar una cantidad similar de tiempo y experiencia práctica en JS. Además, puedes socializar más fácilmente con JS a menos que comiences con GO.

Espero que muchas personas tengan una opinión negativa sobre JavaScript. En el año 1999, cuando trabajaba las 24 horas del día, los 7 días de la semana para una empresa emergente centrada en la Web y el comercio electrónico, JavaScript era muy importante, y hoy en día es aún más importante y todas aquellas personas que dijeron “JS no es ni siquiera una programación real”. ¡El idioma! ”ahora está ganando menos dinero que los que sobresalen en Native JS.

Sin embargo, JS no es mi lenguaje favorito, y en este momento estoy usando JS con mucho cuidado para enseñar habilidades de programación, no para aprender el lenguaje de JS. Le enseñaré programación funcional a través de Haskell, comparar OOP en Python frente a PHP para demostrar las diferencias clave en el enfoque sin profundizar en ninguno de los lenguajes, traer Node.js para presentar los aspectos básicos de JS del lado del servidor y entrar en TCP / IP antes progresando a implementaciones de bases de datos. Tengo una hoja de ruta de habilidades que quiero que mi estudiante conozca y quiero enseñarle a pensar, y cómo ser un meta-programador, no cómo codificar en JS.

Entonces, sea cual sea el lenguaje con el que comience, recuerde que el lenguaje es una herramienta para aprender a pensar como un programador, y sí, debe tener habilidades prácticas en al menos un idioma para explorar conceptos en la programación y comprender cómo funcionan, pero el código es simplemente Una pieza del rompecabezas. Los mejores especialistas del mundo son geniales porque entienden profundamente su oficio y cómo su lenguaje (código) se adapta al sistema en general. Pregunta a los programadores más hábiles que conozcas. Los mejores tienen una comprensión profunda de la forma en que funcionan los sistemas, incluso si se centran en una sola pieza.

Aprende JS como principiante y no te limites a JS incluso cuando eres un “principiante”.

No hay nada de malo en comenzar a programar a los 15. Unos cuantos programadores excelentes comenzaron más jóvenes que eso. La mayoría de los idiomas son adecuados para aprender a programar, de modo que el que yo recomendaría depende en gran medida de su razón para querer aprender. ¿Quieres tener una mejor comprensión de lo que realmente está sucediendo “debajo del capó” de la computadora? Comience con C. Si desea entrar en la programación de aplicaciones móviles, Java (para Android) o Swift (para IOS) podrían ser mejores. Si escribir mods de juego es su pasión, tal vez Lua (o cualquier mods de idioma para sus juegos favoritos están escritos). Si lo que quiere hacer es programación web, Javascript es una opción razonable, junto con al menos los conceptos básicos de HTML y CSS. Los lenguajes del lado del servidor como PHP también pueden ser una opción razonable aquí. Si no sabe qué tipo de programas quiere escribir, pero solo quiere aprender programación, Pascal es un lenguaje que ya no se usa mucho, pero que tenía un buen lenguaje de enseñanza como uno de sus objetivos de diseño. Además, Java y Python se encuentran entre las opciones actuales más comunes para las clases de tipo “introducción a la informática” en colegios y universidades, así que pruebe uno de estos.

En cuanto a dónde comenzar, vaya a su motor de búsqueda favorito y busque tutoriales en el idioma que haya elegido. A continuación, busque las opiniones de los usuarios de los principales sitios que encuentre para eliminar las que tengan críticas negativas excesivas. Cualquier tutorial decente debería llevarlo a un punto en el que pueda comenzar a escribir programas simples (pero aún así útiles), y puede trabajar en cosas más complicadas desde allí utilizando una referencia para el idioma elegido, los motores de búsqueda y los foros en línea para obtener ayuda. Problemas específicos que te encuentras en ese punto.

Depende de lo que exactamente quieres hacer.

Pero creo que es bueno comenzar con algo como Python o C, estos te familiarizarán con los conceptos fundamentales. Si te interesa el desarrollo web, aprende HTML y CSS y comienza a aprender JavaScript y jQuery.

Trabaja en los problemas y crea cosas, eso te hará mejorar mucho.

Puede encontrar muchos desafíos y tutoriales sobre diferentes temas e idiomas aquí:

Aprende a codificar y ayudar a organizaciones sin ánimo de lucro.

¡Buena suerte!

No debes comprar libros para aprender a programar.

Si no hablas la lengua, lo entenderás todo …

Deberías comprar Programación para Dummies o aprender en línea …

Obtenga un entorno de desarrollo que sea intuitivo, se mostrará todo lo que es posible introducir a continuación.

Y entonces…

Leer tutoriales de sitios web …

Tipo de tutorial de C ++

o tutorial de Python …

o tutorial de programación.

Pero para los idiomas … Digo que depende de la plataforma que quieras desarrollar. Sigue los consejos del otro sobre eso.

De acuerdo a:

Lista de lenguajes de programación educativa.

Dependiendo de su experiencia previa:

(ninguno o poco): Squeak (un dialecto de Smalltalk), Greenfoot o BlueJ (IDE educativos para Java), Python, Ruby, dialectos BÁSICOS como FreeBASIC, dialectos de Pascal como Free Pascal. Pensaría que Lua debería estar ahí también.

(algunos): newLISP (un dialecto lisp). Creo que Racket (un dialecto de esquema) debería estar ahí también. Además, todos los enumerados anteriormente para (ninguno o poco).

Python seguro, ya que es el más fácil y expresivo. Sin embargo, muy potente y similar a otros idiomas ampliamente utilizados.

Luego, puede aprender un idioma que se adapte mejor a su área potencial de intereses.

Obtenga un mes gratis en Lynda .com y Pluralsight .com y vea todos los tutoriales en video sobre los fundamentos y los fundamentos de la programación de Simon Allardice a partir del video de introducción en Pluralsight. Si tienes una Mac o un iPad, aprende y usa Swift y Playgrounds en iPad. Si quieres aprender desde una perspectiva genérica, prueba python. Hay muchos tutoriales de introducción y proyectos de introducción que puede encontrar en la red, así como editores e intérpretes basados ​​en la web.

Comienza ya sea con python o C. Son los mejores para comenzar. Trate de agarrar un libro que cubre fundamental primero. No te apresures si quieres saber programar.