¿Qué hace que la gente pregunte qué lenguaje de programación es mejor que otro?

La pregunta de cuál es el mejor idioma es la más apropiada para los lenguajes de programación de propósito general . Los lenguajes más especializados, por supuesto, son más adecuados para los dominios de problemas para los que fueron diseñados. Recuerde el aforismo: “Elija siempre la herramienta adecuada para el trabajo”.

Pero para los lenguajes de propósito general, uno puede preguntarse legítimamente qué lenguaje es mejor para un dominio de problema dado. Uno tendría que examinar cada dominio del problema individualmente para responder a esta pregunta. Por ejemplo, qué lenguaje de propósito general es mejor para el desarrollo web o la concurrencia o la computación numérica.

“Mejor” o “mejor” se basará en muchos factores diferentes, como la riqueza del ecosistema, las consideraciones de rendimiento (velocidad) y la posibilidad de contratación (preocupación de recursos humanos). El factor más importante es probablemente la facilidad y rapidez con que se puede escribir la aplicación (los estudios de productividad pueden ayudar a responder esto).

Finalmente, puede hacer amplias generalizaciones con respecto a los lenguajes de propósito general. Los tres idiomas dominantes en TI hoy en día son Java, Python y C ++, y por una buena razón. Son lenguajes extremadamente versátiles que se utilizan en casi todas partes para cada aplicación concebible. La cuestión de mejor o mejor a menudo se reducirá a una cuestión de gusto.

Es exactamente eso. ¿Por qué la gente hace la pregunta?

Debido a que no se les ha enseñado a programar correctamente (o en absoluto, solo se les ha enseñado un idioma).

Alguien que entiende la programación puede encontrar la construcción de algún lenguaje más fácil de llevar a cabo un proyecto dado que otro lenguaje, pero eso es lenguaje, no programación, sin embargo, mucha gente (principalmente en Quora, no mucho en el mundo real) pregunta qué idioma usan. Debería aprender si no saben nada de programación.

Siempre respondo con un enlace al libro de Wirth y les digo que primero aprendan a programar. Los idiomas no son buenos si no tienen idea de qué hacer con ellos.

Funciona en algún momento de esta manera, cuando alguien comienza a aprender PHP, alguien sugiere, ‘ amigo, aprender PHP es un desperdicio, aprender Python. Python es usado por Google y YouTube . Mientras tanto, otro chico que escucha esto dice: ‘ Amigo NO Python, tienes que aprender Ruby, que es usado por Twitter ‘. otros chicos sugieren ‘ Dude learn Java, se usa en Android y ahora Twitter se ejecuta en Java ‘. Este Amigo tiene su cabeza en mal estado buscando en Google, encontrando algo como esto ‘. NET (idc abt the language) es el mejor porque la mayoría de los bancos y las organizaciones seguras usan esto ‘, más tarde, en algún lugar que escuchó,’ JavaScript es el mejor, puede desarrollar front y back-end con el mismo idioma, ¿ha oído hablar de Node? js ‘Más tarde, en algún lugar’, la mayoría de los estudios de aplicaciones lanzan primero aplicaciones de iPhone, así que aprende Objective C
Este tío se desordenó para elegir entre
PHP o Python o Ruby o Java o .NET (todos los idiomas, idfc) o JavaScript o ObjectiveC

Esta vez escuchó un anuncio, en el futuro tendrá que usar Swift para el desarrollo de iOs.
Ahora él tiene que agregar Swift también a la lista,

Decide preguntar en StackOverflow,
Desde allí marcan la respuesta como duplicada, amplia, etc.
Así que decidió preguntar en Quora y viste una pregunta de un tipo como ese que te hizo publicar esta pregunta. bien

Usted ve esto en casi todos los campos. Los principiantes hacen este tipo de preguntas porque no saben nada, ¡son principiantes! En el pasatiempo de los aviones RC obtenemos esto constantemente: “¿Cuál es el mejor avión para aprender?” y esto es a pesar de que cientos de respuestas a esa pregunta están fácilmente disponibles. En ese caso, la pregunta puede ser respondida pero la respuesta es complicada. Es lo mismo aqui.

Podemos responder a la pregunta desde perspectivas particulares. ¿Cuál es el mejor lenguaje para buscar, extraer e interactuar con elementos DOM de HTML? JQuery. El truco es hacer que la pregunta sea lo suficientemente específica como esa. Una simple conversación con la mayoría de los que hacen esta pregunta puede obtener los detalles y luego podemos responder. El truco es entrar en algún tipo de interacción con la persona, así que podemos hacer eso. Muchos sitios como StackOverflow lo desalientan específicamente, ¡lo que hace que Quora sea un lugar tan excelente! Una vez más, son principiantes, no saben qué aspectos específicos preguntar. Algo así como en los shows de policías cuando le preguntan a la víctima del crimen “¿por qué no nos dijiste que tu ex novio acaba de salir de prisión?” – la respuesta es que no pensaron que importara o que no lo sabían, ¡pero obviamente es importante para la policía! Los principiantes en la programación son de la misma manera.

Entonces, vamos a tener que tolerar esta pregunta, para siempre . Ya no lo veo como algo molesto, y lo aprovecho como una oportunidad para guiar a alguien que realmente lo necesita.

Creo que una analogía mejor para las personas que preguntan qué idioma es mejor sería “al construir una casa, ¿debo aprender a usar un martillo o una llave? Oigo hablar mucho de llaves en Internet”
Pero ese tipo de preguntas son de muy principiantes, por lo que no saben nada mejor (pero es bueno que lo intenten).

Como principiante hay algunas cosas que no saben que no saben:
1. Lo que se necesita para construir una casa que funcione correctamente y que no se derrumbe cuando el viento sopla, y
2. Que requiere construir algo tan complejo como una casa cuando se programa algo útil. Como no ves las casas de otras personas que han incorporado en el software, solo ves la puerta principal y la sala de estar.

Hay razones válidas para hacer esa pregunta cuando ya no eres un principiante. Por ejemplo, cuando estás desarrollando un backend desde cero, ¿usas php, ruby ​​o JavaScript? Las respuestas pueden variar. Pero la pregunta es buena para pensar.

Están tratando de encontrar un lenguaje de programación a través del cual puedan hacer todo lo posible para socavar el hecho de que para diferentes trabajos, diferentes lenguajes tienen ciertas ventajas que otros pueden carecer.

Puede crear un sitio web completo utilizando java pero va a tomar mucho tiempo. Ahorrar ese tiempo vendrá de html, css y javascript. Otras opciones también están disponibles.

Entonces, ¿por qué enfocarse en un solo idioma cuando se exploran más lenguajes de programación para resolver diferentes problemas?