Realmente quiero aprender programación pero tengo problemas importantes con JavaScript. ¿Qué tengo que hacer?

Hay muchos buenos enfoques para aprender a programar. No incluiría “comenzar con JavaScript” en ninguno de esos enfoques. JavaScript es el lenguaje de Internet listo para el navegador, pero tiene serias desventajas como lenguaje de aprendizaje:

  • Tiene una sintaxis muy abierta. Si bien esto puede ser un beneficio para los expertos, es más probable que cause confusión a los principiantes.
  • Tiene un sistema de tipo basado en prototipos inusuales. El aprendizaje de la programación orientada a objetos de esta manera no se traducirá bien a otros idiomas que es probable que use.
  • Se considera ampliamente que tiene algunos defectos importantes en su diseño. Esto se puede debatir, pero no creo que muchos debatan que tiene muchas “trampas” para principiantes.

En cambio, sugeriría que comience con un lenguaje amigable para principiantes como Python . Es más flexible que un lenguaje como C / C ++, pero no es tan abierto como para perderse. La documentación de Python es excelente, y hay muchos tutoriales y recursos de aprendizaje. Tiene una biblioteca central sólida que le permitirá comenzar a crear aplicaciones no triviales tan pronto como haya aprendido algunos conceptos básicos (más motivador que escribir programas de nivel Hello World durante semanas). Es compatible con múltiples paradigmas de programación, por lo que puede probar muchas técnicas diferentes. Es popular entre los científicos e investigadores porque es fácil de aprender y rápido para los programas de creación de prototipos, y como tal tiene una sólida biblioteca de terceros y soporte de marco como SciPy. Incluso si solo aprende Python, puede hacer casi cualquier cosa que necesite hacer. Python es uno de los mejores lenguajes para aprender lo básico y luego continuar con él a medida que aprende a ser un mejor programador.

Puede aprender todo lo que necesita saber en línea, pero sugeriría comprar algunos libros para ayudar. Como mínimo, cada programador de Python debe tener la Referencia esencial de Python en su escritorio. Es bastante barato, como dicen los libros de software. Como sugiere el título, no es un libro de programación para principiantes, pero cada escritor debe tener un diccionario y un tesauro cerca, incluso si esos libros no les enseñan a escribir.

Si decide que desea profundizar en la programación, le sugiero que pruebe un lenguaje de tipo estático como C (estructural / de procedimiento, el lenguaje de los sistemas operativos como Linux) o Java (basado en objetos, el favorito lenguaje de las grandes empresas). C ++ es otra opción aquí, pero no tan popular fuera de la programación de juegos o industrias heredadas como la defensa. C # es un lenguaje excelente, a pesar de estar limitado principalmente al ecosistema de Windows. La mayoría de los usuarios de C # están muy contentos con él, y un buen programador de C # siempre puede encontrar trabajo en estos días. Cualquiera de estos es una buena base para la programación profesional. Lea, elija uno y prepárese para un poco de frustración mientras se adapta a la estructura más restrictiva. Sin embargo, aprenderás algunos buenos hábitos aquí.

Una vez que comprenda la programación básica y algunos principios como la verificación de tipos estática frente a la dinámica, puede aventurarse en la programación funcional. Esto se centra principalmente en una familia de idiomas llamada Lisp. Hay varias opciones populares en estos días, pero algunas personas piden aprender primero una implementación directa de Lisp. No puedo sugerir una mejor ruta, ya que solo he incursionado en la programación funcional hasta ahora. Será más fácil comprender los pros y los contras de las opciones aquí una vez que tenga una base sólida en la programación. A diferencia de Tim Hammerquist, no te recomiendo que comiences con lenguajes mayormente funcionales como Haskell o Scheme. A menos que tenga una sólida formación en Matemática y lógica discretas, es probable que sea una forma confusa de aprender a programar, especialmente de forma autodidacta. Es más difícil entender cómo aplicar la programación funcional a las aplicaciones con muchos datos, que son bastante comunes. Si planea programar profesionalmente, conocer un lenguaje funcional le dará un poco de respeto, pero no es tan comercializable como conocer programación procedimental, estructural y / u orientada a objetos.

En el camino, tómese el tiempo para aprender cómo funcionan los sistemas operativos, la arquitectura de la computadora y otros temas relacionados. Aprenda a usar sus herramientas (IDEs y editores como Vim, depuradores, Linux / Unix shell, etc.). Pide ayuda a los mejores programadores, incluso si es solo en línea. Lea libros y blogs sobre programación, algoritmos y ciencias de la computación. Ninguno de estos es absolutamente crítico para aprender programación básica, pero son necesarios si quieres ser bueno en eso.

Las principales diferencias que vi, mientras aprendí JavaScript, de otros lenguajes de programación fue que es un lenguaje muy tipeado. Además, se interpreta y no se compila. Ambos conceptos marcan una gran diferencia en cómo percibes algunos conceptos básicos sobre la programación.
El primer lenguaje de programación que aprendí fue C. No está tan tipeado como JavaScript ni interpretado.
Comenzar a aprender de dicho lenguaje le daría la ventaja de seguir y aprender un conjunto estricto de reglas, por ejemplo. una variable siempre debe tener un tipo específico, solo se puede operar con ciertos tipos, qué es un lenguaje de procedimiento, y luego puede avanzar a un lenguaje orientado a objetos, aprendiendo los conceptos de OOP. Este camino le daría una cierta disciplina mientras programa y luego trabajaría en lenguajes tan tipados como JavaScript podría parecer, tener un día de trampa mientras sigue un estricto régimen de dieta.
Al final, la programación se trata de conocer los conceptos e implementar la lógica, el lenguaje es una mera sintaxis que usted sigue para poner su creatividad en un lienzo.

Aprender JavaScript y programar es difícil para los principiantes, por eso debes hacer estas cosas:

  1. En primer lugar, antes de enfocarse en un idioma en particular, aprenda los principios básicos de la programación de computadoras. Este es, con mucho, el paso más importante cuando se aprende a programar y lo ayudará enormemente a aprender futuros idiomas.
  2. Si elige JavaScript, comprenda dónde encaja en el espectro de desarrollo web, qué hace realmente y por qué los desarrolladores lo usan. Siempre he encontrado que tener una perspectiva de marco principal es muy útil al aprender lenguajes y conceptos complejos.
  3. Codifique junto con los tutoriales de JavaScript, no importa si no comprende completamente todo, eventualmente tendrá más y más sentido y lo llevará a la costumbre de escribir código. Lo ideal es hacer esto todos los días.
  4. Lea “JavaScript y Jquery” por Jon Duckett, no puedo pensar en un mejor libro para principiantes de JS, le enseñará todos los conceptos básicos del lenguaje.
  5. Aprenda HTML y CSS, así como JavaScript porque van de la mano. Si conoce los 3, puede comenzar a desarrollar sitios web y luego aplicaciones.
  6. Al resolver problemas de programación y escribir scripts en JavaScript, primero escriba su código en inglés.
  7. Por último, como se mencionó, aprender programación y JavaScript es difícil y podría llevarle un tiempo aprender y comprender los conceptos, solo sea persistente y apunte las horas, poco a poco tendrá más sentido y le pagará dividendos.

Todo lo mejor en tu viaje de codificación.

¿Cuánto tiempo has estado tratando de aprenderlo? Luchar y superar esas luchas es parte de aprender cualquier cosa y nadie realmente deja de aprender (especialmente cuando se trata de programación). ¿Ya conoces HTML y CSS?

Estoy empezando a aprender JavaScript yo mismo. De hecho, inicialmente comencé a estudiar / investigar JS y llegué a la conclusión de que aprender HTML y CSS primero ayudaría a aprender JS, así que puse el aprendizaje JS en pausa para pasar un tiempo aprendiendo esos. Hasta ahora, diría que saber que incluso una pequeña cantidad de HTML y CSS ha demostrado ser EXTREMADAMENTE útil, por lo que sugeriría tomar la misma ruta y aprender primero un poco de HTML y CSS.

Honestamente, HTML y CSS hasta ahora parecen ser lenguajes relativamente simples para comprender en comparación con otros lenguajes. Por supuesto, innovar e implementarlos de manera creativa es tan desafiante como cualquier otro lenguaje, pero como son lenguajes de marcado y de estilo, tienen mucha menos abstracción y lógica de las que debe preocuparse en comparación con los lenguajes de programación / scripting (como JavaScript o Java).

Incluso si está tratando de aprender JavaScript para crear programas no basados ​​en la web, aún mantengo ese aprendizaje (una pequeña cantidad) de HTML y CSS primero ayudaría. Podría estar equivocado, pero parece que JavaScript fue diseñado con la intención de interactuar con HTML y CSS, por lo que aprender a aplicar JS a ese tipo de elementos hará que aprenderlo sea mucho más simple.

Sin embargo, en última instancia, manténgase persistente y practique, practique, practique. Lea libros, busque en google, tome clases, pero lo más importante, escriba código . Cualquier código, ni siquiera tiene que ser JS. Simplemente obtenga codificación, incluso si no tiene idea de cuál es su codificación o cómo codificarla. Simplemente siga investigando cómo codificar lo que desea lograr, copie el código de otra persona e investigue cualquier problema que encuentre en el camino hasta que pueda lograr que haga lo que quiere. Inevitablemente, comenzará a encajar en su lugar, incluso si lleva meses o años. Si no está tomando clases y / o recibiendo ayuda educativa profesional, eso definitivamente ayudará a acelerar las cosas.

Comencé usando sitios como codecademy y Code School para aprender lo básico. Hacer esto me ayudó mucho y sentí que mis habilidades continuaron creciendo, pero después de cierto tiempo sentí que mi crecimiento se detuvo. Era demasiado fuerte para ser realmente un principiante, pero también sentía que muchos de los otros recursos que estaba tratando de usar eran demasiado difíciles. Estaba justo en ese lugar intermedio y fue difícil encontrar una hoja de ruta para crecer desde allí.

Hay muchos recursos para alguien que recién comienza y muchos recursos para aquellos que están avanzados y quieren mejorar, pero esta etapa avanzada de principiante es un lugar difícil para estar. Quería seguir aprendiendo JavaScript mientras construía proyectos reales. Afortunadamente, hay muchos recursos disponibles para ayudarlo a hacer exactamente eso.

JavaScript 30 se trata de construir 30 cosas en JavaScript vainilla en 30 días

freeCodeCamp se dedica a enseñarle cómo codificar para que luego pueda usar sus habilidades para construir proyectos para organizaciones sin fines de lucro y ellos usan Javascript.

CSX es otra excelente manera de aprender JavaScript y más. Es un programa en línea gratuito en el que puede realizar programación de pares en vivo, una de las mejores maneras de mejorar realmente sus habilidades de codificación.

¡Lo más importante es seguir aprendiendo JavaScript! Buena suerte en tu viaje, es un viaje difícil pero gratificante.

JavaScript es la lengua franca de internet.

Aquí están los resultados de la encuesta de Stack Overflow realizada en 2015 a 26,000 desarrolladores de software.


Así es: JavaScript es más popular que SQL . Así de ubicuo se ha convertido JavaScript. Y esta tendencia se está acelerando.

Adopta JavaScript de la forma en que has adoptado otra lengua franca: el inglés.

Claro, JavaScript tiene fallas. Pero todos, Google, Facebook, incluso Microsoft, tienen un interés personal en solucionar esos defectos. JavaScript está mejorando rápidamente.

No cambie a otro lenguaje de scripting de alto nivel (Python, Ruby, PHP) pensando que facilitará las cosas. Esto solo pospondrá su eventual necesidad de dominar JavaScript.

Afortunadamente para usted, la programación no se trata de un lenguaje específico, más que la arquitectura se trata de un tipo específico de madera, o el arte de un tipo específico de tinta o pintura.

Si su aversión por ECMAScript es tal que siente que podría manchar su habilidad como programador, examine qué problemas tiene con el idioma y encuentre otro idioma que comparta la menor cantidad posible de esos atributos. No es necesario que un programador de aprendizaje deba comenzar con ECMAScript. De hecho, no lo recomiendo.

Hay docenas de lenguajes de programación de computadoras adecuados para aprender el arte. Considere un plan de estudios centrado en el concepto común en la programación. Textos como “Estructura e interpretación de programas de computadora” o “The Little MLer” se centran en el pensamiento crítico y el proceso de pensamiento involucrado en la resolución de problemas con código y los recomiendo encarecidamente.

Si debe utilizar un enfoque más práctico, hay muchos tutoriales en línea que le permiten aprender una variedad de idiomas de forma dinámica. Kahn Academy es muy básica. Codecademy sigue siendo un poco simplista, pero ofrece una introducción a varios lenguajes dinámicos.

Para los idiomas compilados / escritos, he encontrado algunos sitios que ofrecen intros y tutoriales:

  • Learn C # – Tutorial interactivo gratuito de C #
  • Scala Tour
  • ¡Aprende Haskell por un gran bien!

¡Entiendo absolutamente el dilema que enfrentas!

  1. La sintaxis siempre cambiante
  2. Las idiosincrasias de la estructura del código.

En la parte de arriba,

  1. La web ama a JS
  2. NodeJS es lo mejor
  3. ¡Todos están tratando de llevar JS a nuevas plataformas!

Sinceramente, es el lenguaje que va a estar en todas partes, pero simplemente no me gusta la sintaxis; p

Elija algo que haya existido durante años y que tenga la sintaxis más simple de todos los tiempos: LISP

No, no del tipo que

  • Funciona con el editor (Emacs)
  • Está envuelto en la Academia (Esquema)
  • o incluso el estándar aceptado Lisp Ie Common Lisp.

El futuro está en los idiomas alojados y Clojure (Script) me quitó todos mis problemas, obtuve el entorno de lenguaje de grado empresarial curado por Java y el increíble NodeJS.

Como beneficio, realmente no tiene que preocuparse por las infinitas herramientas del mundo JS: browserify, webpack, gulp, gruñido, etc.

Ahorra mucho dolor de cabeza si realmente espera leer su propio código. Además, creo que si hay belleza en CS, los lenguajes funcionales son lo más cerca que podemos llegar a la computadora como herramientas para el pensamiento y la exploración.

Confía en mí, pruébalo. ¡No te arrepentirás!

PD Haz ping si tienes dificultades para comenzar \ U0001f60a

Te sugiero, como lo han hecho otros, que comiences por Ruby. Es hermoso, simple y lo suficientemente poderoso para misiones no críticas. Con o sin Ruby on Rails. El problema con los frameworks es que, a menudo, agrega cajas negras donde el código sin procesar podría hacerlo de inmediato.

Después de Ruby, ve por C ++. Nuevamente es hermoso, pero no es simple. Obviamente, es extremadamente poderoso. Si alguna vez necesita cambiar a cualquier otro lenguaje como Python, Java, Scala, C #, etc., será un juego de niños.

Javascript es fácil para cosas simples, pero, para mi gusto, está lleno de tonterías innecesarias cuando lo aprietas. Puedo decirlo porque, usando Javascript sin procesar, reproduzco el razonamiento humano para vencer la pesadilla de las versiones de los navegadores.

Por cierto. Manténgase alejado de jQuerys, etc. hasta que sea bueno en Javascript sin procesar o agregará aún más tonterías innecesarias …

Cuéntanos qué te detiene para que podamos darte consejos más específicos. Puedo ver que esto va de dos maneras diferentes …

En primer lugar, el nivel de detalle en esta pregunta sugiere que necesita mejorar para hacer preguntas antes de poder aprender mucho sobre el uso eficaz de las computadoras. Comience aquí – Cómo hacer preguntas de manera inteligente

A continuación, Javascript no es el primer idioma más fácil. Es posible que desee aprender Ruby, Python, Racket, o incluso obtener un manejo de HTML y CSS primero si le está dando problemas. No hay nada malo con Javascript como primer idioma, pero fue escrito para hacer cosas muy diferentes a las que la gente hace ahora con él, y nunca fue diseñado para ser especialmente fácil de aprender.

Eso no es demasiado sorprendente. JavaScript es un lenguaje realmente horrible. Es particularmente malo como lenguaje de instrucción para aprender a programar.

Te recomendaría que abandones JavaScript y recurras a Smalltalk. Vea la respuesta de Richard Kenneth Eng a ¿Por qué no debería aprender Python?

Más adelante, si lo desea, puede elegir buenos lenguajes como Java, Python y Go.

Realmente quiero aprender programación pero tengo problemas importantes con JavaScript. ¿Qué tengo que hacer?

Aprende algo más. JavaScript es, en muchos sentidos, idiosincrásico. Prueba Ruby. Prueba C. Prueba Swift. Prueba Python. Hay muchas opciones

Aprende otro idioma, hay muchos.

No necesita seguir ninguna tendencia, cambian, porque son tendencias.

Es lo mismo, ¿por qué hoy nadie recomienda Cobol más, como en el ’80? Porque ya no es una tendencia.

Hoy es JS, mañana no lo sabes.

Si quieres aprender, siéntete cómodo, no te fuerces.

Tuve problemas para encontrar buenos recursos que tenían sentido para mí. El mejor recurso para mí terminó siendo “JavaScript: la guía definitiva” de David Flanagan. Es un libro grande, por lo que dudaba si profundizar en él al principio, pero terminé teniendo las mejores explicaciones.

La respuesta de Cliff Taylor hace un buen punto. JavaScript puede no ser el mejor lenguaje para empezar.

Como no nos dijo lo que ha intentado hasta ahora, voy a suponer que está tratando de aprender JavaScript por su cuenta leyendo libros o haciendo cursos en línea como la mayoría de las personas que hacen este tipo de preguntas en Quora.

Si ese es el caso, contrata a un tutor.

Aprenda a descubrir cuáles son sus problemas en JS. La resolución de problemas es de lo que se trata la programación. Poder reducir y describir cuáles son sus problemas es un buen primer paso.

Yo recomendaría comenzar con un idioma diferente. JS es poderoso, pero tiene muchas peculiaridades. Comience con otro de los 5 idiomas principales en Github.