Si quiero convertirme en desarrollador web, ¿debo aprender JavaScript? ¿Puedo aprender Python en su lugar?

¿Sabes cómo codificar? Si no, entonces aprender los fundamentos de la codificación (es decir, cómo resolver problemas) es lo más esencial. Aprender idiomas es la parte más fácil del proceso. Aprender a pensar es el aspecto difícil.

¡Suponiendo que sepa codificar, entonces aprendería el lenguaje que mejor se adapte a las necesidades / objetivos de su proyecto!

Aquí está la cosa, los idiomas son solo herramientas. Cuando necesite insertar un clavo en la pared para colgar una imagen, ¿usaría un destornillador o un martillo para instalar? ¡Obviamente un martillo!

El punto es que debe usar la herramienta adecuada para el trabajo. Esto es demasiado cierto cuando se trata de código y tecnología en general. Debe elegir aprender el idioma que mejor se adapte a sus necesidades y objetivos.

Mi consejo sería pensar por qué eliges aprender estos idiomas específicos. ¿Cuáles son las fortalezas y debilidades de Python / Javascript? ¿Cuál será más versátil en mi kit de herramientas según lo que ya sé? ¿Para qué trabajo, proyecto, etc. estoy tratando de aprender esto? Y la lista continúa (todas estas preguntas se pueden buscar fácilmente en Google / se pueden encontrar en las grietas de su mente).

Una vez que responda esas preguntas, podrá decidir qué idioma aprender. Si adopta este enfoque, ¡creo que definitivamente se beneficiará mucho más!

Siéntase libre de contactarme si pudiera ser de más ayuda =)

Deberá aprender Javascript sin importar el idioma del lado del servidor que elija. Javascript es un lenguaje del lado del cliente. Python sería un lenguaje del lado del servidor. Python sería su cerebro que decide qué contenido entregar al cliente después de que solicite su sitio web o una página en él. Sin embargo, Javascript le permitirá hacer una variedad de cosas, pero en el lado del cliente. Es decir, desde el navegador del cliente con sus recursos disponibles, y no desde el servidor. Javascript puede ayudar con pantallas elegantes o simplemente conectar sus pantallas a las salidas adecuadas, entre muchas otras cosas. Hay muchos recursos En realidad, no tenía idea de qué era Javascript y pensé que era un lenguaje de script obsoleto que la gente usaba. Pronto descubrí JQuery y su biblioteca pública de scripts increíbles. Me cautivó y he estado codificando a tiempo completo en lenguajes Javascript / .NET desde entonces.

Absolutamente, puedes! Python es un gran lenguaje para el desarrollo web, especialmente con el framework web2py (en lugar de Django).

Sin embargo, no podrá evitar JavaScript al 100%. Necesitará saber el mínimo absoluto para usar, por ejemplo, jQuery o alguna otra biblioteca JS. Pero, en general, puede usar Python para escribir el 99 por ciento de su aplicación web.

Incluso para el desarrollo web “front-end”, no tiene que usar demasiado JavaScript: vea The Super Surrogates of JavaScript. Personalmente, uso Amber Smalltalk, pero si prefieres Python, mira Brython.

Si ve el escenario actual, creo que si conoce JavaScript, puede crear fácilmente cualquier proyecto, ya sea frontend, backend, aplicaciones móviles, web móvil

  • Frontal: angular, columna vertebral, meteorito, reaccionar y muchos más
  • Backend – nodejs / expressjs
  • Aplicaciones – reaccionar nativo (android + ios)

Estoy de acuerdo en que hay otros lenguajes mejores y javascript no es tan bueno principalmente debido a la verificación de tipos, referencias nulas / indefinidas, etc. Pero para verificar todo lo que tenemos ahora mecanografiado y flujo .

Con javascript, obtienes el poder de ser un desarrollador de pila completa al conocer un solo idioma.

Profundizando un poco más en los detalles de su pregunta, no creo que deba desconectarse de JS basándose únicamente en cuántas personas le dirán que no es “agradable” para el desarrollo del back-end. Las personas que consideran que JS es desagradable en general tienden a ser muy expresivas al respecto. El resto de nosotros estamos callados y felices usando cualquier lenguaje que haga el trabajo, incluidos los marcos del lado del servidor como node.js.

Por supuesto, en el cliente no tiene más remedio que usar JS. Entonces, si estás buscando convertirte en el llamado “desarrollador de pila completa”, simplemente no puedes llegar allí mientras escuchas a la multitud anti-JS. Lo menos que puedes hacer es probarte el tamaño y descubrir cómo te sientes al respecto.

Puedes ser contratado totalmente como desarrollador web en un gran equipo si eres realmente bueno solo con Python, seguro. Pero, ¿cómo puedes llegar solo sin escribir al menos algo de JS? Tendría que hacer todo lo posible para formular sus proyectos de aprendizaje de una manera que no requiera ningún código personalizado que se ejecute en el cliente. Tal vez pueda escribir un montón de API de Python que pueda probar con alguna aplicación web gratuita existente para pruebas de API.

Al final del día, creo que descubrirá que si desea ser un desarrollador web completo, es inevitable que tenga cierta familiaridad con JS (independientemente de lo agradable que lo encuentre). Si primero tiene que comenzar con Python, hágalo. Creo que descubrirá rápidamente que una vez que domine la forma de pensar del codificador, la sintaxis de un lenguaje de programación versus otro se vuelve casi trivial para dominar (no es como aprender otro lenguaje humano u otro instrumento musical, etc.)

Puedes. Pero limitará significativamente sus oportunidades como desarrollador web.

En general, en el mundo real, el lenguaje que utiliza se dicta según las normas del cliente o del empleador, según el entorno en el que se implementará su código, por consideraciones de plataforma y biblioteca.

Tendrá que aprender JavaScript para el trabajo front-end. No puedes evitarlo.

Para el back-end, realmente quieres aprender PHP y Java.

PHP, porque un gran porcentaje de los sitios web del mundo se ejecutan en WordPress, y gran parte del resto se ejecuta en Drupal, ambos basados ​​en PHP. (Puede hacer un montón de diseño de sitios web sin ninguna codificación de fondo, pero tan pronto como desee desarrollar temas o escribir módulos de extensión, entonces estará en PHP).

Java: porque parece ser el lenguaje elegido para sistemas más grandes y orientados a transacciones (por ejemplo, banca, finanzas, etc.)

No quiere decir que Python sea inútil para el desarrollo web. Plone, utilizado para algunas aplicaciones de administración de contenido empresarial más grandes, es una plataforma basada en Python. Pero es más un nicho de mercado. Es posible que desee consultar las oportunidades de nivel de entrada para el desarrollo web utilizando Plone, antes de seguir una ruta de Python. (Y, puedes aprender mucho plone sin aprender Python, y puedes aprender Python más tarde).

Python se ha vuelto popular para la instrucción académica y para varios tipos de desarrollo de software, pero para el desarrollo web, a menos que vea un camino claro hacia el mundo de la plone, comenzaría en otro lado.

Si bien el antiguo JavaScript no era tan bueno, ES6 + async / await (o ES7) es un lenguaje increíble para el desarrollo frontend y backend (Node). El ecosistema Node es el más grande entre todos los idiomas, con NPM (el repositorio de paquetes Node) que supera con creces cualquier otro idioma: http://www.modulecounts.com/ .

Aquellos que dicen que JavaScript no es agradable para el desarrollo del backend probablemente tengan en mente el infierno de devolución de llamadas (async / wait resuelve eso) y varias deficiencias de ES5 que ES6 resolvió:

No estoy familiarizado si hay marcos de Python que puedan escribir JavaScript para usted (similar a GWT, vaadin para Java) pero si quiere ser desarrollador web no puede escapar de JavaScript

Tienes razón cuando dices que JavaScript no es un lenguaje muy agradable. Pero hasta que WebAssembly salga y pueda compilar cualquier idioma para el navegador, deberá usarlo para cualquier tarea relacionada con el front-end. Dicho esto, hay algunos lenguajes interesantes como CoffeeScript que se compilan en JavaScript y tratan de ocultar sus fallas. Aprenda JS básico primero, luego continúe con estos cuando desee desarrollar nuestras aplicaciones.

En cuanto al desarrollo de back-end, a menos que desee usar NodeJS, hay muchos lenguajes de programación que puede usar. Y sí, Python es uno de ellos. Django y Flask son dos frameworks web muy populares creados en Python.

¿Mi consejo? Aprenda un poco de JS primero: es algo que cualquier desarrollador web necesita saber. Y luego pase a los idiomas que mejor se adapten a lo que está tratando de construir.

Sí, puedes, pero aún tienes que aprender Javascript para cosas de front-end 🙁

Independientemente de lo que use, no puede deshacerse al 100% de Javascript (al menos no podría hacerlo con JSF).

Aprende ambos. Cualquiera que sea el idioma de back-end que aprenda, necesitará JavaScript en el front-end.