¿Conocer C, Java, Haskell y Elm (solo para la programación de sitios web de hobby) es un buen conjunto de habilidades?

Es imposible determinar qué tan útil puede ser un conjunto de habilidades dado sin saber a qué lo va a aplicar. En consecuencia, lo máximo que puedo ofrecer en respuesta es una lista general de las fortalezas y debilidades respectivas de cada idioma, y ​​le dejo a usted determinar cuáles valen la inversión significativa de su tiempo y esfuerzo:

C es la elección de lenguaje de facto para proyectos que tienen necesidades de alto rendimiento (por ejemplo, MongoDB, NGINX, Linux, etc.). Sin embargo, dados sus problemas de seguridad, estos proyectos deben estar excepcionalmente bien diseñados y bien escritos, y aún requieren mucha búsqueda de errores. A menos que esté planeando auditar y parchar proyectos maduros, un lenguaje más seguro y mejor diseñado que ocupe el mismo dominio (por ejemplo, Rust [1]) sería una mejor opción.

Java y Haskell son lenguajes de alto rendimiento, de tipo estático, compilados, recolectados de basura y de uso general. Como tal, ocupan aproximadamente el mismo dominio. Dicho esto, son lenguajes muy diferentes, y cada uno tiene sus ventajas y desventajas: Java tiene un ecosistema enorme y muy maduro, y una buena interoperabilidad; Haskell no disfruta de la ubicuidad de la JVM y su ecosistema es más pequeño y generalmente menos maduro, pero es un lenguaje increíblemente avanzado mejor diseñado que incorpora décadas de teoría del lenguaje de programación que Java en gran medida no. Diría que si hay una biblioteca útil de Java sin equivalente de Haskell, Java es la más útil de las dos. Sin embargo, si no hay una ventaja de biblioteca, entonces diría que Haskell es más útil.

Finalmente, Elm es un lenguaje que se transcompila en HTML, CSS y JavaScript. Como tal, es potencialmente una alternativa muy poderosa al código front-end escrito a mano, incluso el código que aprovecha los marcos front-end. Es un lenguaje bastante bien diseñado, con algunas características * muy * inteligentes (por ejemplo, consulte su uso de DOM virtual [2]). Dicho esto, todavía está en alfa, y el proyecto más grande escrito hasta ahora es el sitio web de Elm, por lo que es muy inmaduro. Si desea participar activamente en el desarrollo de este dulce AltJS y hacer su trabajo de front-end en un idioma mejor que el drek web habitual, es una opción convincente, pero sepa que todavía hay muchos problemas por resolver.

[1] http://www.rust-lang.org/

[2] http://elm-lang.org/blog/Blazing…

La respuesta muy breve a esto es sí. Esas son todas habilidades muy lucrativas para poseer individual y colectivamente. YouWorth valora cada uno de ellos en:

C – $ 104k / año

C Programador Salario

Java – $ 129k / año

Programador de Java Salario

Haskell Programador Salario

La respuesta más larga es esta. Si bien estas habilidades tienen un valor percibido e incluso podemos ver cuál es el salario promedio de un programador de Java, las habilidades son tan valiosas como la persona que las usa. Como otros han señalado, C es un lenguaje muy poderoso utilizado en muchas aplicaciones de alta gama. Conocer el idioma es una cosa, pero ser capaz de proporcionar soluciones eficientes y efectivas es lo que lo hará valioso.

Una comparación que hice antes es que aprender a programar puede ser similar a aprender un idioma extranjero. A medida que aprende a hablar otro idioma, pasa por diferentes niveles. Al principio, puedes leer / comprender más de lo que puedes hablar, pero en algún momento comienzas a crear tus propias oraciones y a usar las frases culturales que usan los locales. Al aprender a programar, puede pasar por un momento en el que puede leer y comprender lo que alguien más ha escrito. Es posible que pueda detectar errores e incluso armar sus propias soluciones del código de otras personas. Pero en algún momento, te vuelves lo suficientemente competente como para crear algo de la nada: te conviertes en alguien que puede ‘hablar’ el idioma desde cero, alguien que conoce el idioma tan bien que eres capaz de descifrar las formas más efectivas para completar ciertas tareas. Este es el punto en el que aumentan enormemente su valor.

Una vez que eres competente en la aplicación de un idioma, no solo educado en él, es cuando estas habilidades realmente proporcionan valor.

La información salarial anterior fue extraída de YouWorth. YouWorth es una aplicación móvil gratuita para iOS y Android que rastrea los datos salariales del programador. No solo soy un campeón del producto, sino que lo uso yo mismo. La aplicación permite a cualquier persona importar habilidades de LinkedIn y rastrear su valor en el mercado laboral a lo largo del tiempo. También me notifican si hay un cambio en las habilidades que se están viendo.

A medida que avanza el conocimiento del idioma, no tiene nada de malo. Pero como un ‘conjunto de habilidades’, es solo el comienzo. Como desarrollador valioso, también querrás estudiar habilidades de diseño e ingeniería de software. Por ejemplo, estar familiarizado con patrones de diseño comunes o metodología de diseño e idiomas como, por ejemplo, UML. Y cierto conocimiento y experiencia con diferentes procesos y métodos, como Scrum o RUP, también puede ser una habilidad valiosa.

More Interesting

¿Cómo debo aumentar las visitas a la página y llegar a más personas con mi sitio web?

¿Por qué no se están localizando los sitios web?

Si los ciudadanos van a establecer un sitio web en tiempo real y un canal en vivo para rastrear la responsabilidad de los proyectos de desarrollo por parte del gobierno de la India, ¿funcionaría?

¿Qué herramientas se utilizan para crear un sitio web?

¿Cuáles son algunos de los sitios y aplicaciones que me harán volver a escribir?

¿Por qué es importante tener un buen sitio web?

¿Qué tan lejos estamos de tener las búsquedas de Google en lenguaje natural?

Estoy trabajando en un nuevo sitio web de inicio para descubrir nuevos destinos en todo el mundo. ¿Cuál sería un nombre apropiado para esa startup?

¿Cuáles son las mejores herramientas para hacer videos en línea o sitios web gratis?

¿Cuál es el mejor sitio de alojamiento que puede ofrecer un mínimo de 50 correos electrónicos y 15 GB de espacio web donde puedo construir mi nuevo sitio web?

¿Se puede cobrar a los diseñadores de sitios web por diseñar sitios web ilegales?

¿En qué se diferencia Zailet.com de ScoopWhoop, BeingIndian, Storypick, etc.? ¿Cuál es su posibilidad de éxito?

¿Alguien puede sugerir un reproductor de video (web) que sea gratuito para uso comercial y no tenga ninguna marca de agua? Quiero reproducir mi propio archivo de video (wmv) en mi sitio web que está alojado en mi servidor. La reproducción de video estaría en el navegador del cliente.

Si alguien le pide que cree un sitio web, ¿cuánto tendrá que pagarle?

¿Alguna vez ha sido expulsado de un sitio web?