¿Cómo aprender a programar sin tener ningún conocimiento básico (solo sé HTML)? ¿Qué idioma debo aprender primero?

Para cualquier idioma dado (sugerencias a continuación), seleccione lo básico (control de flujo, bucles / recursión, variables, funciones, etc.) en uno de estos sitios [1] [2] [3] o similar. Luego elija un problema relativamente fácil de resolver (intente comenzar con algo en el Proyecto Euler [4]) y resuélvalo, buscando cualquier aprendizaje adicional que necesite en el idioma. Sube la dificultad un poco. Un poco más. Ahora continúe con las tareas simples del mundo real, como simular la colisión de partículas y la gravedad, realizando algunas modificaciones en un archivo, escribiendo un servidor web simple, etc. Ahora es una tarea más difícil, como un servidor web en el que la gente puede hacer algo, o desarrollo de la biblioteca subyacente desde cero solo con bibliotecas de sockets. Y así.

Sugerencias de idioma:

  • Si prefieres el desarrollo de solo front-end web (solo lo visual), aprende JavaScript (y aumenta tu HTML con CSS). JavaScript es el único lenguaje para el desarrollo de front-end web en los próximos años.
  • Si desea hacer una combinación de front-end y back-end web , puede aprender JavaScript (front-end) más uno de los siguientes:
    • Solo JavaScript: no es necesariamente el mejor lenguaje para proyectos grandes, pero los conceptos básicos son bastante simples y funcionan bastante bien (creo que Netflix se ejecuta principalmente en JavaScript).
    • Python o Ruby: ambos son lenguajes bastante fáciles, algo orientados a los principiantes, rápidos para escribir código pero no especialmente ejecutantes. Tendrán problemas de rendimiento con cargas grandes, pero no es nada que sea probable que vean como un principiante, y nadie se queda solo con su primer idioma. Ambos tienen marcos poderosos y maduros (Django y Rails, respectivamente) para la web.
  • Si desea centrarse en los back-ends web , pruebe uno de estos (tenga en cuenta que esta lista está lejos de ser exhaustiva, hay opciones prácticamente infinitas):
    • Java es el estándar de la industria para la confiabilidad. Puede ser algo verboso y molesto y escucho que hay muchas trampas en las que caer, pero cuando se ejecuta, no deja de correr.
    • Golang es una opción relativamente nueva, dirigida a servidores web y similares. Es un lenguaje feo con algunas opciones de diseño bastante malas, pero es muy bueno para un buen desempeño en ese tipo de tareas y hace la vida bastante fácil con una buena selección de bibliotecas.
    • Dlang no se usa mucho, pero tiene un rendimiento excelente y un marco web muy agradable. La sintaxis es sencilla y bastante normal; El único problema que debe enfrentar es la falta de uso amplio.
    • Los lenguajes de programación funcionales están en alza en la web por su tendencia hacia el código correcto y la fácil paralelización. Ambos de los que figuran a continuación tienen un excelente rendimiento para la web.
      • Erlang es muy común allí, y escucho cosas buenas sobre su VM, pero no sé lo suficiente como para comentar mucho.
      • Haskell es un lenguaje muy agradable, que dibuja distinciones claras entre código funcional puro e impuro (impuro = con efectos secundarios) y con un diseño matemático muy elegante. Yo uso Haskell para mi código de servidor de producción.
  • Si desea centrarse en aplicaciones nativas , prácticamente no hay límite para los idiomas que puede usar. C ++, C #, Java, Python, JavaScript, Haskell, lo que sea. Sin embargo, las opciones más comunes incluyen:
    • Multiplataforma: Java tiende a ser estándar aquí, y una serie de programadores en Quora tienen mucha más experiencia que la que yo brindo críticas entusiastas de JavaFX.
    • Windows: C # es el estándar habitual.
    • OS X / iOS: Swift es el nuevo idioma de elección.
    • Android: Java es prácticamente el único camino a seguir.
  • Si desea centrarse en el desarrollo a nivel de sistemas (es decir, cosas de nivel inferior: sistemas operativos, bases de datos, etc.), sus opciones son más limitadas:
    • C es la antigua y probada batalla del desarrollo de sistemas. Terminará el trabajo, pero no esperes que sea fácil.
    • C ++ es a menudo un toque más abstracto, pero aún funciona para casi todas estas tareas. Facilita un poco la vida con OOP y similares, pero eso agrega una gran complejidad al lenguaje.
    • Dlang se puede usar para el desarrollo de sistemas desactivando la recolección de basura, pero no es una opción ideal, ya que gran parte de la biblioteca estándar utiliza GC.
    • El óxido es uno más nuevo que apunta al nicho de C. Tiene un rendimiento similar, pero un compilador potente apunta a abstracciones de costo cero (más fácil sin correr más lento) y refuerza la seguridad de la memoria (con C, aprendes los horrores de las fallas de segmentación; con Rust, el compilador no te deja escribir código inseguro a menos que lo marques explícitamente como tal).

Notas al pie

[1] Página en Ninguna

[2] Aprende a codificar y ayudar a organizaciones sin fines de lucro.

[3] Tutoriales para SAP ABAP, SAS, Crystal Report, Pruebas de base de datos, MVVM, Web2Py, ReactJS, MS Project, Silverlight, Foundation, Django, Apache Storm, ETL Testing, Pure.CSS, Entity Framework, Cordova, Materialize, Windows 10 , Less, Statistics, Embedded Systems, Penetration Testing, Jenkins, WebRTC, SASS, Codeigniter, QlikView, SAP HANA, WxPython, Social Intelligence, Zookeeper, Ionic, Discrete Mathematics, Grav, RSpec, PyQt, Brand Design, Work Civility, WPF, WebGL, Comportamiento individual y grupal, Diversidad en el lugar de trabajo, Comportamiento del consumidor, Ética empresarial, Equilibrio en la vida laboral, Estructura de datos y algoritmos, Visión empresarial, Etiqueta comercial, Entrevistas de craqueo, Drupal, Spark, Spark SQL, R, Flujo de apache, WordPress, Gestión del conocimiento XAML

[4] Acerca de – Proyecto Euler

Pues si ya conoces HTML te sugiero que aprendas css
Luego practica haciendo pequeños sitios web como PÁGINAS DE TRIBUTO, PÁGINAS DE PORTFOLIO, PÁGINA DE ATERRIZAJE
Busque todo esto en las imágenes de Google, descargue las imágenes e intente hacerlas. Esto le ayudará a practicar y también le dará confianza.

Entonces puedes ir a JavaScript
Y haz lo mismo. Practícalo mientras haces algo. Como un tic tac al juego o una calculadora, simplemente comienza con cosas simples. Sigue practicando estos tres (HTML, css, JavaScript)

Una vez que tenga confianza, puede comenzar a trabajar independientemente en freelancer.com y upwork.com e intentar ganar algo de dinero con su habilidad. Esto mejorará aún más su conjunto de habilidades y confianza.

Entonces si quieres aprender más,
Comience con c luego c ++
LET US C y LET US C ++ de YESHAVANT KANETKAR son los mejores libros para aprender c y c ++, vale la pena. También tiene muchos problemas con los que trabajar y te ayudarán mucho a aprender a codificar.

Luego intente resolver las matemáticas regulares con la codificación para la práctica. Puede usar este libro MÉTODOS NUMÉRICOS ORIENTADOS POR ORDENADOR.

Luego vaya a las ESTRUCTURAS DE DATOS y codifíquelos. Tomará tiempo. Luego, aprenda los algoritmos e impleméntelos en su código.

Una vez que haya terminado con todo esto, está listo para ir. Pruebe a aprender Python si quiere después de todo esto.

El desarrollo web con html, css y JavaScript te ayudará a comenzar a ganar y también podrás crear tu propio sitio web de portafolio para mostrar tus habilidades.
C / c ++ lo ayudará con la codificación del núcleo junto con las estructuras de datos y los algoritmos.

SITIOS DE DESARROLLO WEB
w3schools
Freecodecamp
Videos de Youtube

Si quieres ser desarrollador web, lo que Mounika sugirió es lo suficientemente bueno.

Pero si quieres avanzar hacia el nivel del sistema o la aplicación, es mejor comenzar con Python o C.
C es un gran lenguaje Todos deben conocer el lenguaje C. Requerir Aprender C El camino difícil

Python es muy fácil y puedes consultar los libros de “Python for Kids” para comenzar.
Consulte Aprender Python

Todo lo mejor.

Ya que menciona Html, ¿asumo que está interesado en el desarrollo web? Si ese es el caso, creo que tienes varias opciones (mencionaré solo algunas):

  • Javascript
  • Rubí
  • Pitón
  • Elixir
  • Clojure
  • PHP

¿Por qué este pequeño conjunto? En primer lugar, Javascript es el único idioma que se ejecuta nativley en un navegador. Así que para el desarrollo frontend es su única opción nativa. Hay idiomas que pueden ser transpilados a JS, pero en caso de que necesite depurar cosas, todavía necesitará leer el código de JS. Por lo tanto, aprender Javascript podría ser un buen comienzo, aunque realmente no me gusta este idioma, ya que tiene muchas fallas.

Ruby y Python, por otro lado, son agradables, fáciles de aprender en los back-end con buenos webframeworks. Usando estos marcos puedes evitar JS hasta cierto punto. Las aplicaciones pequeñas podrían escribirse sin necesidad de usar Javascript, aunque estas aplicaciones no se escribirían de una manera muy moderna. Una combinación de estos idiomas con Javascript tendría un valor más alto.

Mi idioma favorito actual es el elixir. Sigue siendo un idioma de nicho (ya que es muy joven), pero en comparación con Ruby o Python es mucho más poderoso. Tiene un gran modelo de concurrencia, es tolerante a fallos y muy escalable.

Clojure es como Elixir, un lenguaje funcional que se ejecuta en la máquina virtual de Java. Es muy rápido y es un dialecto LISP. LISP es uno de los lenguajes más poderosos que conozco y con Clojurescript usted tiene un lenguaje que puede ser transpilado a Javascript fácilmente.

PHP es un lenguaje que personalmente no he usado y no lo usaré. Pero el obstáculo para configurar algunos servidores web es muy bajo y, por lo tanto, PHP es una posibilidad muy pragmática para que un principiante entre al campo del desarrollo web. Pero a la larga se requerirá de nuevo Javascript.


Entonces, ¿cómo aprendes la programación? Un buen punto de partida son los idiomas web correspondientes. Allí casi siempre encontrará una guía para principiantes y un tutorial + fuentes adicionales para aprender. Muy importante: No solo lea algunos libros sobre programación. Siéntate y escribe el código !!!. Así es como aprenderás las cosas. Trate de resolver todos los problemas de una manera buena y limpia. No de alguna manera hacky, sucia. Eso no te enseñará buenos patrones. Busque artículos si no puede resolver un problema y comprenda la solución sugerida. De esta forma aprenderás de los demás.

Diviértete y feliz codificación.

Mate, cada uno es aprendiz. Cada uno una vez ha comenzado a través de cero. Así que no te preocupes si sabes el abc de la programación o no.
Ahora la pregunta es qué idioma elegir primero. Ahora mucha gente dice que debes aprender c primero. Mi respuesta no es diferente. As c es el lenguaje básico y su sintaxis también le ayudará a entender otros idiomas.

1. HTML es un lenguaje de presentación (en realidad un lenguaje de “contenido”), no un lenguaje de programación.

2. No aprendes un idioma primero, aprendes primero la programación (resolución de problemas). Comience con algoritmos y estructuras de datos.

Una vez que entienda la programación (que puede tomar de 6 meses a algunos años, dependiendo de usted), aprenda los idiomas necesarios para el tipo de programación que va a hacer. No puede escribir un sistema operativo en Javascript, pero lo necesita si va a escribir sitios web.

Puede comenzar a programar en C. Le ayudaría a obtener una visión profunda de los fundamentos de la programación (como cómo usar y administrar la memoria de manera eficiente, asignar dinámicamente o desasignar memoria, etc.).

Una vez que esté familiarizado con C, ¡puede cambiar a cualquier lenguaje de programación orientado a objetos como C ++ o JAVA!

Eso depende de lo que quieras lograr al aprender el idioma.

¿Quieres construir una aplicación?

¿Quieres construir un sitio web?

¿Quieres construir un servicio web?

¿Quieres construir un juego?

¿O simplemente desea familiarizarse con la programación y luego decidir qué hacer a continuación?

Si solo quieres familiarizarte con la programación, creo que deberías empezar con javascript (ya que ya sabes HTML). He tratado de guiar a un novato para desarrollar una página web simple aquí. Esto debería hacerte saber al menos los conceptos básicos de javascript.

Si desea diferir, le sugiero que primero aprenda la programación en C (solo lo básico). Eso debería hacer que te sientas cómodo con los conceptos del lenguaje de programación. Y ahí debería ser relativamente fácil elegir otros lenguajes de programación.

Para el lenguaje de programación C es la base de todos. pero si quieres hacer programación web comienza con php, python, JavaScript y muchos más para el desarrollo web. para hacer la aplicación de Android ir para java. para hacer que la aplicación iOS vaya para c #.

La programación es una gran base que no se puede aprender entera, pero la función es la misma. Para una experiencia brillante comienza con C.

C en sí está hecho de B y B de A. Programación de amor disfrutar
La mejor de las suertes .

Una buena progresión de HTML sería ir para aprender CSS seguido de javascript seguido de Bootstrap. Esto le dará habilidades en la programación frontal para sitios web.

¡La mejor de las suertes!

Si no quieres aprender CSS, debes aprender Javascript o PHP. Ambos son un lenguaje de programación realmente poderoso.

Puedes aprender a programar en CodeSchool. Sus cursos son realmente buenos y divertidos. También ofrecen descuentos para el primer mes que pueden ser útiles:
Inscribirse en el código de la escuela por 9 dólares

Si aprendes css, php, javascript, entonces podrás diseñar un sitio web dentro de una semana o un mes, dependiendo de tu capacidad. Porque ya dijiste que sabes HTML, por lo que aprender css, php será fácil porque algunas etiquetas ahora serán compatibles. html, mientras que son compatibles con css.sou pasan por css, php, javascript.

Si desea aprender los lenguajes de scripting, primero aprenda Python, luego expanda su conocimiento y aprenda perl, ruby, etc. Si desea aprender los lenguajes de programación del sistema, primero aprenda BÁSICO, confíe en que le ayudará mucho. Entonces aprende C ++.