¿Qué lenguaje de programación de backend debería aprender en 2016?

Obtenga más información sobre las tendencias de TI más populares http://ddi-dev.com/blog/it-news/…. Quizás te ayude a tomar una decisión.

1. SQL

No es de extrañar que SQL (pronunciado ‘secuela’) encabece la lista de trabajos, ya que se puede encontrar ampliamente en varios sabores. Las tecnologías de bases de datos como MySQL, PostgreSQL y Microsoft SQL Server impulsan a grandes empresas, pequeñas empresas, hospitales, bancos, universidades. De hecho, casi todas las computadoras y personas con acceso a la tecnología finalmente tocan algo SQL. Por ejemplo, todos los teléfonos Android y iPhones tienen acceso a una base de datos SQL llamada SQLite y muchas aplicaciones móviles desarrolladas por Google, Skype y DropBox lo usan directamente.

2. Java

La comunidad tecnológica celebró recientemente el vigésimo aniversario de Java. Es uno de los lenguajes de programación más ampliamente adoptados, utilizado por unos 9 millones de desarrolladores y que se ejecuta en 7 mil millones de dispositivos en todo el mundo. También es el lenguaje de programación utilizado para desarrollar todas las aplicaciones nativas de Android. La popularidad de Java con los desarrolladores se debe al hecho de que el lenguaje se basa en la legibilidad y la simplicidad. Java tiene poder de permanencia ya que tiene compatibilidad a largo plazo, lo que garantiza que las aplicaciones más antiguas continúen funcionando ahora en el futuro. No irá a ningún lado en el corto plazo y se utiliza para impulsar sitios web de empresas como la red profesional más grande del mundo, http://Netflix.com y compras en línea de electrónica, indumentaria, computadoras, libros, DVD y más.

3. JavaScript

JavaScript, que no debe confundirse con Java, es otro de los lenguajes de programación más populares y potentes del mundo, y se utiliza para darle vida a las páginas web haciéndolas interactivas. Por ejemplo, JavaScript se puede usar para agregar efectos a páginas web, mostrar mensajes emergentes o crear juegos con funciones básicas. También vale la pena señalar que JavaScript es el lenguaje de secuencias de comandos de la World Wide Web y está integrado en todos los principales navegadores web, incluidos Internet Explorer, Firefox y Safari. Casi todos los sitios web incorporan algún elemento de JavaScript para agregar a la experiencia del usuario, lo que aumenta la demanda de desarrolladores de JavaScript . En los últimos años, JavaScript también se ha utilizado como base de Node.js, una tecnología de servidor que, entre otras cosas, permite la comunicación en tiempo real.

4. C #

Que data de 2000, C # (pronunciado C-sharp) es un lenguaje de programación relativamente nuevo diseñado por Microsoft para una amplia gama de aplicaciones empresariales que se ejecutan en .NET Framework. Una evolución de C y C ++, el lenguaje C # es simple, moderno, de tipo seguro y orientado a objetos.

5. C ++

C ++ (pronunciado C-plus-plus) es un lenguaje de programación orientado a objetos de propósito general basado en el lenguaje ‘C’ anterior. Desarrollado por Bjarne Stroustrup en Bell Labs, C ++ se lanzó por primera vez en 1983. Stroustrup mantiene una extensa lista de aplicaciones escritas en C ++. La lista incluye aplicaciones de Adobe y Microsoft, bases de datos MongoDB, grandes porciones de Mac OS / X y es el mejor lenguaje para aprender para aplicaciones críticas de rendimiento, tales como el desarrollo de juegos “twitch” o el procesamiento de audio / video.

6. Python

¡Python es un lenguaje de programación de propósito general que lleva el nombre de Monty Python (para que sepa que es divertido trabajar con él)! Python es simple e increíblemente legible ya que se parece mucho al idioma inglés. Es un excelente idioma para principiantes, hasta profesionales experimentados. Python recientemente consideró a Java como el idioma de elección en los cursos introductorios de programación con ocho de los 10 principales departamentos de informática que ahora usan Python para enseñar codificación, así como 27 de las 39 mejores escuelas. Debido al uso de Python en el ámbito educativo, hay muchas bibliotecas creadas para Python relacionadas con las matemáticas, la física y el procesamiento natural. PBS, NASA y Reddit usan Python para sus sitios web.

7. PHP

Creado por el programador danés-canadiense Rasmus Lerdorf en 1994, PHP nunca tuvo la intención de ser un nuevo lenguaje de programación. En cambio, fue creado para ser un conjunto de herramientas para ayudar a Rasmus a mantener su página de inicio personal (PHP). Hoy, PHP (preprocesador de hipertexto) es un lenguaje de secuencias de comandos, que se ejecuta en el servidor, que se puede utilizar para crear páginas web escritas en HTML. PHP tiende a ser un lenguaje popular ya que es fácil de usar por los nuevos programadores, pero también ofrece toneladas de características avanzadas para programadores más experimentados.

8. Ruby on Rails

Al igual que Java o el lenguaje C, Ruby es un lenguaje de programación de propósito general, aunque es mejor conocido por su uso en la programación web, y Rails sirve como marco para el lenguaje Ruby. Ruby on Rails tiene muchas cualidades positivas, incluido un desarrollo rápido, no necesita tanto código y hay una amplia variedad de 3

rd

bibliotecas de fiesta disponibles. Se utiliza desde compañías que van desde pequeñas empresas nuevas hasta grandes empresas y todo lo demás. Hulu, Twitter, Github y Living Social están utilizando Ruby on Rails para al menos una de sus aplicaciones web.

9. iOS / Swift

En 2014, Apple decidió inventar su propio lenguaje de programación. El resultado fue Swift, un nuevo lenguaje de programación para que los desarrolladores de iOS y OS X creen su próxima aplicación asesina. Los desarrolladores encontrarán que muchas partes de Swift están familiarizadas por su experiencia de desarrollo en C ++ y Objective-C. Las compañías como American Airlines, LinkedIn y Duolingo han adoptado rápidamente Swift, y veremos este lenguaje en aumento en los próximos años.

Cualquier gran artesano tiene un cinturón lleno de herramientas, cada una de las cuales es una elección perfecta para ciertas situaciones. Del mismo modo, nunca habrá un solo lenguaje de programación, y cada idioma evolucionará y mejorará con el tiempo para mantener el ritmo de la innovación.

Realmente no puedo entender las cosas de los lenguajes dinámicos, después de perder mi alma en el infierno de los identificadores sin tipo y sin rostro, así que profundicemos directamente en el mundo estático.

Scala es una buena opción después de aprender a apreciar su sintaxis algo torpe.

  • Al combinar programación orientada a objetos y programación funcional en una sola, Scala es excepcionalmente expresiva y concisa.
  • La función de subprocesamiento múltiple de JVM muestra sus verdaderos colores ante el potente marco de Akka, haciendo que el paralelismo sea como una dicha.
  • ¿No he mencionado que Scala está en la JVM , por lo tanto accesible para el ecosistema más ingenioso entre todos los idiomas?

Ir Es una apuesta segura dado el patrocinio de Google.

  • El enfoque pragmático del diseño del lenguaje, la rápida compilación y la poderosa construcción concurrente conducen a una legión cada vez mayor de seguidores.
  • La adopción está alcanzando una masa crítica, podemos ver grandes empresas y proyectos influyentes de código abierto que se unirán al rango en el futuro próximo.

Elixir es un prodigio disfrazado que puede sorprenderte en el futuro.

  • Construido sobre la plataforma Erlang / OTP probada en batalla, disfruta de una ventaja natural sobre otros competidores con robustez, escalabilidad y flexibilidad.
  • La sintaxis tipo Ruby viene al rescate de la sintaxis anticuada de Erlang, muy del agrado de los programadores de nueva generación.
  • Sin embargo, su historia relativamente corta puede ser una debilidad.

A medida que la Ley de Moore se está desacelerando, cada vez es más difícil compensar la ineficiencia del software con el avance en la velocidad de procesamiento, creo que es hora de buscar alternativas a esos lenguajes dinámicos para exprimir la mayor cantidad de jugo posible del hardware y al mismo tiempo mantener el nivel de productividad .

Solo mis dos centavos, YMMV 🙂

Editar: Elixir es de hecho un lenguaje de tipo dinámico, de alguna manera la coincidencia de patrones omnipresentes en el idioma me hizo olvidar que no está estáticamente escrito 🙂

Depende de qué tipo de proyectos planees trabajar. Personalmente, ignoraría cualquier lenguaje que sea interesante porque es “rápido”. La velocidad tiene que ver con la arquitectura, y los mayores desafíos tienen que ver con las personas (desarrolladores) y la comprensión de su problema. Además, muy, muy pocas aplicaciones superan los límites del rendimiento.

Dicho esto, aquí hay algunos idiomas que vale la pena aprender si no los conoce:

1. Ruby. Cualquier programador puede usarlo, pero Ruby avanzado presenta una nueva forma de pensar acerca de la programación en la que el lenguaje se inclina a la voluntad del problema del mundo real. A diferencia de otros idiomas donde tienes que vivir en su paradigma, Ruby te permite modelar el mundo real.

2. Elixir. Funcional, escalable, confiable.

3. Javascript … finalmente se convertirá en el lenguaje dominante para la programación general.

Personalmente, sé C, C ++, Java y una docena de otros idiomas. Los considero interesantes desde el punto de vista de la evolución de la programación, y saber cómo funcionan realmente las computadoras, pero son lenguajes muertos / moribundos y por una buena razón. No los aprendería si no los conoces, ya que tendrás que desaprenderlos más tarde.

PHP

Es broma. * Sin ningún orden en particular, diría:

  • JavaScript (Node.js)
  • Java
  • Pitón
  • Golang
  • Rubí

En realidad, eso estaba en un orden particular. Esa es probablemente la orden que recomendaría a alguien para aprenderlos si quisieran tener la mejor oportunidad de conseguir un buen trabajo en los próximos años.

JavaScript : Node.js es realmente popular en este momento por sus capacidades asincrónicas, y aunque muchas personas cuestionan el lenguaje y descartan su popularidad como una moda, en mi opinión, todavía vale la pena montar la ola y hacer un seguimiento de Los desarrollos que se desarrollan. Incluso si Node.js finalmente se desvanece de la popularidad, creo que muchas de las cosas que surgen durante su tiempo tendrán un efecto importante en el futuro del desarrollo de back-end.

Java : en mi (muy limitada) experiencia con Java, no es el lenguaje más divertido para programar, pero todavía hay una gran demanda de programadores de Java considerando cuánto tiempo ha existido el lenguaje. Java tiene muchas aplicaciones además de servir sitios web, lo que lo convierte en un lenguaje poderoso para conocer en general.

Python : Python sigue siendo popular como un lenguaje algo simple pero poderoso que también tiene muchas aplicaciones fuera del desarrollo web. Notablemente, tiene uso para la ciencia de datos, que por supuesto es un campo en ascenso y probablemente continuará ganando terreno a medida que el mundo se vuelva más impulsado por la información.

Golang : todavía es un idioma emergente, Golang cuenta con muchas mejoras de rendimiento en comparación con los otros idiomas de la lista. En cuanto al desarrollo web, tiene dos cosas importantes: 1) su multihilo integrado y 2) sus capacidades asíncronas. Es algo así como la sincronización de JavaScript con el poder de Java y la velocidad de C ++. Apostaría a que ganaría aún más popularidad este año.

Ruby : Aunque tiene la reputación de no ser tan eficiente como sus primos, Ruby todavía es ampliamente utilizado por muchas empresas, especialmente en muchas startups, por lo que es un buen lenguaje para saber si quieres conseguir un trabajo rápido. La popularidad de Ruby on Rails puede haberse estancado cuando los llamados desarrolladores de urracas acuden a Node.js, pero el marco sigue siendo poderoso y tiene una buena comunidad detrás de él.


Eso sí, no soy experto en ninguno de estos, y estas son solo mis impresiones de lo que he leído e investigado. De hecho, no he seguido la guía que he dado aquí, y me he saltado de JavaScript y Ruby directamente a Go, que actualmente estoy aprendiendo. La verdad es que debe aprender el idioma que desee y disfrutar codificando. Habrá trabajos para todos esos idiomas en el futuro cercano, por lo que no puede equivocarse con ninguno de ellos.


* Actualización: cuando escribí esta respuesta, nunca imaginé que sería la mejor respuesta para esta pregunta y que la gente podría tomar mi desestimación de PHP al pie de la letra. Por supuesto, aprende PHP. Muchas empresas lo usan. Agregué esa broma al principio como una ocurrencia tardía de humor, pero la razón por la que no incluí PHP en la lista en sí era que simplemente no se me ocurrió en ese momento. Entienda que originalmente escribí la lista basada en las tecnologías que personalmente estoy deseando usar / aprender, y luego desarrollé mi razonamiento.

PHP simplemente no me emociona. JavaScript está recibiendo mucha atención (y, por lo tanto, innovación) tanto en el front-end como en el back-end. Ahora puede incluso crear aplicaciones móviles nativas con React.js. Java tiene muchas aplicaciones no basadas en la web (como la programación de Android), Python nuevamente se usa comúnmente para aplicaciones de ciencia de datos, Golang tiene [las razones que ya expliqué] y Ruby tiene Rails con muchas características potentes incorporadas. Con tantas otras idiomas para elegir, PHP simplemente no ocupa un lugar destacado en mi lista de idiomas a los que prestar mucha atención.

La respuesta depende de tus objetivos. Si está buscando algo en lo que basar su carrera, debe optar por uno de los idiomas OO más populares y multipropósito:

  • Java : esta sería mi mejor opción para este reino. Tiene la comunidad más grande y la mayor cantidad de oportunidades laborales. Y, si desea trabajar en OSS de vanguardia, es el lenguaje más común (o al menos el JVM) de elección.
  • C # : esto, como Java, es una gran opción para la empleabilidad y la estabilidad. Si se siente más cómodo en Windows (a diferencia de Linux u OS X), puede comenzar aquí. Los trabajos que encontrará en el mercado se inclinarán más hacia la empresa que los comerciales. Pero ese sigue siendo un mundo muy interesante y que probablemente existirá y tendrá una gran demanda en el futuro previsible. Y la reciente incursión en la viabilidad de código abierto y multiplataforma podría abrirlo a un nuevo mundo de aplicaciones.

Si está buscando agregar a un cinturón de herramientas que ya tiene una base en algo como lo anterior y aún agregará valor a su carrera, yo diría que agregue un lenguaje creciente o establecido que agregue un valor particular.

  • ir – Este es, en mi humilde opinión, uno de los idiomas clave de los próximos 10 años. En parte porque google está detrás de él y lo que hace google, también lo hacen las empresas que desean intentar recrear su éxito. Pero, es realmente un gran lenguaje. En mi opinión, es como C re-imaginado. Es increíblemente rápido y multiplataforma compilable. Tiene sus verrugas como cualquier idioma y todavía se está desarrollando un poco. Pero lo que hay es muy bueno y bien pensado. Y puedes ir a tu próxima reunión y decir “Sí, ya sé ir”. 😉
  • node.js – ¿Aviso que no dije javascript? Sí, eso se debe a que el nodo, aunque la sintaxis es definitivamente js, es un paradigma completamente nuevo. Incluso para los desarrolladores de experiencia js. Pero, debido a su naturaleza asíncrona, se adapta muy bien al nuevo mundo de arquitecturas pequeñas y livianas basadas en servicios. Yo, personalmente, lo veo como una excelente opción para microservicios. (tal como está) Y está siendo utilizado por muchas grandes empresas solo por esta razón.

Ahora, si solo quieres algo genial que te enseñe algo nuevo, tienes muchas opciones. Soy un gran defensor de aprender un nuevo idioma solo para ver un problema desde un ángulo completamente diferente. Si bien hay muchas opciones en este mundo, mencionaré algunas con las que he jugado.

  • Elixir : un lenguaje ruby-ish que se construye sobre el erlang vm (BEAM). Elixir oculta gran parte de lo que hace que el erlang sea difícil de abordar para las personas al tiempo que aprovecha la inmensa bondad del BEAM. Soy un chico erlang y me encantaría proponer que todos aprendan erlang. Pero también soy pragmático. Será mucho más fácil para alguien abordar el elixir. Diviértete haciéndolo. Y aún así poder construir sistemas ridículamente paralelos fácilmente.
  • Haskell : Básicamente, aquí puede elegir cualquier lenguaje funcional que desee. Siento que Haskell es probablemente la mejor combinación de ideologías funcionales puras (sin métodos de efectos secundarios, inmutabilidad, etc.) y una implementación práctica y pragmática. Además, creo que todo ingeniero profesional debería experimentar fp en algún momento de su carrera. Siendo un veterano de desarrollo de 15 años, siempre pensé que entendía la programación paralela y concurrente (piense de manera simple en subprocesos múltiples). Pero luego comencé a aprender erlang y se me presentó un mundo completamente nuevo sobre cómo “deberían” construirse los sistemas. Y, si todas las descripciones de fp que lo describen en términos de matemáticas lo desalientan, sugeriría esta publicación sobre eso.
  • Óxido : al salir de mozilla, el óxido es similar en muchos aspectos. Tiene un excelente modelo / implementación de gestión de memoria. Pude ver que el óxido es para ir lo que C # es para Java. De cualquier manera, podría valer la pena echarle un vistazo.
  • Julia – Es una especie de problema con este. Especialmente porque he hecho poco más que ‘Hello World’ en julia. Pero hay muchas cosas que le gustan de este lenguaje y su nueva versión de muchos enfoques diferentes que se han vuelto de rigor en la ingeniería de software en estos días. (¡Además, tiene una respuesta!) Si nada más, podría valer la pena explorar solo para sacar tu cabeza de la caja estándar.

Espero que esto ayude. Me doy cuenta de que he dejado de lado muchos idiomas que pueden ser tan dignos. Pero tuve que limitarlo de alguna manera y lo hice al enumerar solo aquellos con los que tengo, al menos, un poco de experiencia.


Entonces, comencé a escribir una respuesta a esto, pero se hizo un poco largo. Entonces, creé una publicación de blog acompañante. Compruébalo aquí.

¡Hola!

Si se pregunta qué lenguaje de programación de back-end debería aprender primero / siguiente, Honeypot puede tener algunas respuestas para usted. Hemos investigado un poco y hemos elaborado una guía sobre cómo elegir su próximo lenguaje de programación en función de los salarios, la demanda y las principales empresas que buscan este tipo de programadores.

Scala:

Rango de salario promedio: € 59,700 – 67,800 *

Scala es, con mucho, el lenguaje de programación mejor pagado en Berlín, pero ¿cuál es la historia detrás de estos números? Bueno, es más o menos una cuestión de oferta y demanda: Scala es este nuevo lenguaje “sexy”, muy popular, pero los desarrolladores de Scala son raros. Por lo tanto, las empresas están dispuestas a pagar más para asegurar un programador Scala.

Las mejores startups que buscan desarrolladores de Scala:

Cable

EyeEm

Soundcloud

Relayr

AppLift

PHP:

Rango de salario promedio: € 45,700 – 52,800

Si bien Scala puede ser raro y sexy, se puede decir lo contrario para PHP. PHP es genial, PHP es útil, ha existido durante años, y hace el trabajo. Se podría decir que hay una gran cantidad de desarrolladores de PHP disponibles para las empresas, lo cual es bueno y malo. Por un lado, encontrar un trabajo con PHP será más fácil ya que más compañías buscarán ocupar puestos, pero por otro lado también significa que las compañías tienen una mayor opción, lo que afecta los salarios.

Las mejores startups que buscan desarrolladores de PHP:

FlixBus

Idealo

Contento

Glispa

Foodora

Java:

Rango de salario promedio: € 51,900 – 60,300

Este año, cuando celebra su vigésimo cumpleaños, Java, como PHP, es uno de los “grandes” en el campo de los lenguajes de programación. Siendo reconocido como un lenguaje altamente confiable, sólido y escalable, Java ha logrado mantenerse en la cima del juego durante casi veinte años, incluso superando a C en popularidad. Por lo tanto, los desarrolladores de Java tienen una gran demanda y también pueden esperar un salario decente.

Las mejores startups que buscan desarrolladores de Java:

Kayac

N26

Signavio

Bonificar

Zalando

Rubí:

Rango de salario promedio: € 48,500 – 57,300

Una vez que un chico de moda en el bloque ahora se argumenta que Ruby on Rails está muerto, pero ¿es realmente así? Definitivamente hay muchas otras opciones “más geniales” si estás buscando aprender algo nuevo, pero Ruby es bastante sencillo y fácil de aprender, la comunidad de Ruby es sólida y Ruby (como Java) es un lenguaje muy buscado.

Las mejores startups que buscan desarrolladores de Ruby:

Helpling

Käuferportal

MODOMOTO

FinLeap

Etventure

Pitón:

Rango de salario promedio: € 50,100 – 57,300

Por último, pero no menos importante, tenemos Python, que se ha convertido en el lenguaje de programación elegido en las mejores universidades técnicas de todo el mundo. Python es ideal para nuevos desarrolladores, ya que es bastante simple de aprender, proporciona una base sólida para aprender otros lenguajes de programación y, además de ser popular entre los académicos, ha sido ampliamente adoptado por las startups y las empresas a nivel mundial.

Las mejores startups que buscan desarrolladores de Python:

Internet por lotes

ParkTag

Momox

OrderBird

LOVOO

Para ver la guía completa, ¡echa un vistazo a Honeypot !

* Todos los salarios se basan en datos de Honeypot

PHP , en serio, alimenta la gran mayoría de los sitios web en línea hoy y en el futuro previsible. Por lo tanto, si desea tener muchas opciones en términos de trabajo de desarrollo web, PHP es muy recomendable.

JavaScript es una fuerza dominante en la comunidad de desarrolladores web. Anteriormente estaba limitado en el uso de JavaScript para el desarrollo front-end, pero ahora también puede usarlo como una opción de back-end.

También recomendaría aprender algunas de las bibliotecas y marcos para JavaScript como:

  • Node.js
  • JavaScript superheroico MVW Framework Angular
  • Una biblioteca de JavaScript para construir interfaces de usuario | Reaccionar
  • Backbone.js
  • Ember.js: un marco para crear aplicaciones web ambiciosas.

Python es un lenguaje muy popular ya que la sintaxis es muy limpia y fácil de entender. Encontrará que esto es lo que se enseña en muchas universidades y programas de capacitación en línea.

Bases de datos

Sería mejor aprender cómo un lenguaje del lado del servidor se comunica con una base de datos, ya que esto lo ayudará a crear aplicaciones web.

  • MySQL
  • MariaDB.org
  • La base de datos de código abierto más avanzada del mundo PostgreSQL

Cuando usted es un desarrollador web, es importante que conozca los idiomas que se utilizan actualmente y luego aprenda los idiomas que tendrán una gran demanda.

Obviamente, esto está dirigido a la persona que está buscando trabajo. Si está buscando crear su propia aplicación web completamente nueva y no le preocupa el trabajo, puede buscar otras opciones para ver cuál se adapta mejor a sus necesidades.

Espero que esto ayude.

JAVA

¿Qué es?

Java es un lenguaje de programación de propósito general que puede ejecutarse en prácticamente cualquier tipo de computadora y es independiente tanto del dispositivo como de la plataforma. Es un lenguaje orientado a objetos que básicamente significa que está compuesto por módulos de código, algo así como ladrillos de lego, que se pueden usar en otros programas, sin tener que reescribirlo.

¿Qué puedes hacer con eso?

La respuesta corta es, casi cualquier cosa. Java le permite crear aplicaciones, desarrollar aplicaciones de Android, implementar aplicaciones, integrar bibliotecas robustas y crear interfaces gráficas de usuario sofisticadas, solo por nombrar algunas.

PITÓN

¿Qué es?

Python es un lenguaje de programación orientado a objetos que es conocido por su clara sintaxis y legibilidad.

¿Qué puedes hacer con eso?

Python se puede usar para programar aplicaciones web y de escritorio. También se usa mucho en las ciencias para analizar datos.

JAVASCRIPT

¿Qué es?

Javascript es un lenguaje de programación orientado a objetos que se utiliza para crear efectos web interactivos, crear interfaces de usuario enriquecidas al extraer datos de la API e interactuar con una multitud de sistemas diferentes. Interactúa y crea el marcado HTML en la página manipulando el documento HTML en la ventana.

¿Qué puedes hacer con eso?

Javascript no solo se usa para darle vida a tu sitio web, sino que también puede ayudarte con cosas como la validación o incluso para programar juegos. Piense en ello como la respuesta de la web a acciones particulares del usuario.

PHP

¿Qué es?

PHP es un acrónimo recursivo para preprocesador de hipertexto. Es un lenguaje de scripting del lado del servidor de una sola fuente comúnmente incluido con bases de datos escritas en SQL.

¿Qué puedes hacer con eso?

PHP se puede usar de muchas maneras, incluida la generación de contenido dinámico de la página, la interacción con los archivos del servidor de muchas maneras, la recopilación de datos de formularios, el envío y la recepción de cookies y la modificación de datos de la base de datos, solo por nombrar algunos.

RUBY ON RAILS (“RAILS”)

¿Qué es? Ruby on Rails es un marco web con todas las funciones construido en Ruby (un lenguaje de programación) que permite un desarrollo web robusto.

¿Qué puedes hacer con eso?

Ruby es un lenguaje de programación dinámico, reflexivo, orientado a objetos y de propósito general que lo ayudará a poner en funcionamiento un sitio web rápidamente.

  • PHP fue muy popular entre 2002 y 2010. Sigue siendo el idioma principal del backend en muchas aplicaciones web. Basado en el índice TIOBE, actualmente el 3% del código de los programadores en PHP. Su popularidad definitivamente disminuyó después de 2010.
  • Ruby se está volviendo cada vez más popular en estos días. Las empresas de nueva creación prefieren construir su infraestructura interna usando Ruby y su poderoso marco “Ruby on Rails” porque la creación de prototipos es mucho más rápida.
  • Javascript de fondo también es una opción muy popular en estos días. La razón principal es que permite a los ingenieros de software codificar tanto en el front-end como en el back-end, y también ayuda a los empleadores a buscar una sola habilidad.

Hicimos un análisis sobre los puestos disponibles para cada lenguaje de programación y los separamos por año de establecimiento de la compañía. Descubrimos que entre los idiomas de back-end, Ruby es el más popular entre las empresas establecidas después de 2010. Vea el resultado aquí: Popularidad de los lenguajes de programación entre las empresas en el área de la Bahía de San Francisco

Aprenda 2-3 idiomas modernos que implementan varios paradigmas. Aprenda JavaScript para sentirse impresionado por el poder de unos pocos conceptos simples, y php para desconcertarse por su popularidad loca y aparentemente eterna. Busque en Java para ver qué puede hacer la escritura estática por usted. Mire a Ruby para aprender cómo un buen idioma puede ser devastado por una comunidad de culto de carga. (Naaaaaah, no soy parcial. Para nada). Averigüe si prefiere usar python, o perl, o php, o node.js como su lenguaje de script de referencia. Y lo más importante, echa un vistazo a uno o dos de los lenguajes más oscuros y no tan modernos … posiblemente incluso uno de los viejos monstruos, C y C ++, y tal vez algo puramente funcional como Haskell.

A lo que apunto es a esto: el lenguaje en sí mismo es importante, sí, pero lo que más importa es comprender los conceptos detrás de la programación y descubrir con qué eres bueno.

  • Python: uno de los lenguajes más universales ahora, fácil de aprender, fácil de mantener el código, con miles de módulos para prácticamente todo. Los principales usos hoy en día son backends web, cálculos científicos y secuencias de comandos de propósito general, pero eso es solo la punta de un iceberg.
  • C: siempre joven. Este es uno de los idiomas que permanecerá aquí por siglos. Si trata con sistemas embebidos o cualquier otro tipo de bajo nivel, C es imprescindible. Si necesita un mayor nivel de abstracción y escribir aplicaciones nativas que se supone que se ejecutan rápidamente, aprenda C ++.
  • Java: otro lenguaje inmortalizado. Después de la adopción como el lenguaje de las aplicaciones de Android, está claro que permanecerá aquí para siempre (al menos en comparación con el promedio de vida de un humano). Lo amo o lo odio, se queda.
  • Javascript: el idioma de la web. Aún así, es el único que se ejecuta de forma nativa en los navegadores. Recientemente también está ganando cuota de mercado en el backend. Quizás no está muy bien diseñado pero es bastante fácil de aprender.
  • Haskell u OCaml, o cualquier otro lenguaje funcional, si aún no ha probado ninguno de ellos. Es un mundo diferente de la programación imperativa y abre la mente.
  • Elixir, Go, Scala: nuevos, cada vez más populares. Cada uno de ellos es completamente diferente, pero todos pueden tener un futuro brillante. Es una inversión más arriesgada que aprender Java o C, pero las fortunas se construyeron sobre inversiones arriesgadas 😉

Aprender un idioma para simplemente “aprender un idioma” es una pérdida de tiempo.

Si no necesita saber ningún idioma específico, debe estudiar los paradigmas para comprender nuevos conceptos y nuevos patrones que puede reutilizar con su idioma de trabajo.

Además, si Java es un lenguaje OO, esto no significa que no pueda hacer programación funcional con él, escribirá una gran cantidad de repeticiones porque la sintaxis no lo ayuda, pero puede escribir los mismos patrones que un funcional idioma.

Por lo tanto, no intente encontrar el nuevo lenguaje brillante y súper genial, sino que mire a su alrededor para encontrar abstracciones y una forma diferente de resolver problemas, porque si aprende a hacer esto rápidamente, entonces el lenguaje utilizado será el último de sus problemas (y usted puede elegirlo con mayor precisión para tener la función que sabe que necesitará).

Como último punto, si no conoce ningún lenguaje funcional, tal vez sean un buen punto de partida, estudié Scala como primer lenguaje funcional, pero fue confuso al principio si viene de OO (porque es funcional y lenguaje OO ), luego me mudé a Haskell porque es completamente funcional. Comprender la programación funcional (no los lenguajes) me mejoró mucho al escribir todo tipo de código. Intenta mantenerte alejado de cualquier lenguaje dinámico a menos que tengas que usarlo para trabajar 🙂

Python es un lenguaje de programación de alto nivel, multipropósito, interpretado e interactivo y orientado a objetos. Python es un lenguaje de scripting versátil y fácil de aprender. Python es un lenguaje de programación que admite métodos estructurados y funcionales y que tiene una estructura de datos integrada, portátil. Tengo mejores recursos para usted. Puede visitar este enlace: Programación en línea de Python. de los ejemplos en este manual, aunque Extensible. También es un lenguaje extensible. Interpretado significa que se procesa en tiempo de ejecución utilizando un intérprete. No es necesario compilar el programa antes de la ejecución. Se utiliza para dar la capacidad de interactuar con bases de datos, para construir aplicaciones que se pueden ejecutar en un entorno Windows, para crear scripts CGI que se pueden ejecutar desde un navegador web, etc. Se utiliza en todas partes, desde sitios web comerciales hasta juegos en línea, desde simples scripts de conversión hasta complejas rutinas de actualización de Internet para bancos y otras instituciones financieras.

Python es un lenguaje de programación que se puede aplicar en muchas plataformas diferentes. Viene con una biblioteca estándar que incluye casi todos los protocolos de Internet, interfaces del sistema operativo, pruebas y procesamiento de cadenas.

Procesamiento de cadenas : expresiones regulares, calcular diferencias entre archivos, Unicode.

Protocolos de Internet : programación HTTP, SMTP, FTP, XML-RPC, IMAP, POP, CGI

Ingeniería de software – Prueba de unidad, registro, creación de perfiles y análisis de código Python

Interfaces del sistema operativo : llamadas al sistema, sistemas de archivos y zócalos TCP / IP

A diferencia de otros lenguajes de programación,

Pocas líneas de códigos hacen el súper trabajo

No hay necesidad de llaves, pero requiere una sangría adecuada.

No se requiere declaración de tipo de datos variables. Python lo manejará.

Los códigos de Python no necesitan tener clases; puede hacer que las funcionalidades funcionen simplemente declarándolas en funciones o métodos. Cree módulos e impórtelo para reutilizar el código.

Se utiliza para admitir la forma limitada de herencias múltiples que es muy fácil de aprender.

Es compatible con la mayoría de los conceptos de Oops que hacen otros lenguajes de programación.

Proporciona funciones integradas que son fáciles de adaptar y trabajar.

Características de Python

Python tiene las siguientes características :

Orientado a objetos

Gratis

Portátil

Poderoso

Vendible

Conveniente para mezclar

Fácil de usar

Fácil de aprender

Estable

Programación GUI

Ingresado en el mensaje interactivo, incluye comentarios. Los comentarios en Python comienzan con el carácter hash, #, y se extienden hasta el final de la línea física. Un comentario puede aparecer al comienzo de una línea o después de un espacio en blanco o código, pero no dentro de un literal de cadena. Un carácter hash dentro de un literal de cadena es solo un carácter hash. Como los comentarios son para aclarar el código y Python no los interpreta, pueden omitirse al escribir ejemplos.

Algunos ejemplos:

# Este es el primer comentario spam = 1 # y este es el segundo comentario # … ¡y ahora un tercero! Text = “# esto no es un comentario porque está entre comillas”.

Usando Python como una calculadora

Probemos algunos comandos simples de Python. Inicie el intérprete y espere la solicitud principal, >>>. (No debería llevar mucho tiempo)

El intérprete actúa como una simple calculadora: puede escribirle una expresión y escribirá el valor. La sintaxis de expresión es sencilla: los operadores +, -, * y / funcionan igual que en la mayoría de los otros lenguajes (por ejemplo, Pascal o C); los paréntesis (()) se pueden usar para agrupar. Por ejemplo:

>>> 2 + 2 4 >>> 50 – 5 * 6 20 >>> (50 – 5.0 * 6) / 4 5.0 >>> 8 / 5.0 1.6

Los números enteros (por ejemplo, 2, 4, 20) tienen el tipo int, los que tienen una parte fraccionaria (por ejemplo, 5.0, 1.6) tienen el tipo Float. Veremos más acerca de los tipos numéricos más adelante en el tutorial.

El tipo de retorno de una operación de división (/) depende de sus operandos. Si ambos operandos son de tipo int, se ejecuta floor y se devuelve un Int. Si cualquiera de los operandos es un flotante, se realiza una división clásica y se devuelve un flotante. El operador // también se proporciona para hacer la división de piso sin importar cuáles son los operandos. El resto se puede calcular con el operador%:

>>> 17/3 # int / int -> int 5 >>> 17 / 3.0 # int / float -> float 5.666666666666667 >>> 17 // 3.0 # la división explícita del piso descarta la parte fraccional 5.0 >>> 17% 3 # el% operador devuelve el resto de la división 2 >>> 5 * 3 + 2 # resultado * divisor + resto 17

Con Python, es posible usar el operador ** para calcular potencias

>>> 5 ** 2 # 5 al cuadrado 25 >>> 2 ** 7 # 2 a la potencia de 7 128

El signo igual (=) se usa para asignar un valor a una variable. Luego, no se muestra ningún resultado antes del siguiente mensaje interactivo:

>>> ancho = 20 >>> alto = 5 * 9 >>> ancho * alto 900

Si una variable no está “definida” (se le asigna un valor), intentar usarla le dará un error:

>>> n # intente acceder a una variable indefinida Rastreo (última llamada más reciente): Archivo “”, línea 1, en Error de nombre: el nombre ‘n’ no está definido

Hay soporte completo para coma flotante; Los operadores con operandos de tipo mixto convierten el operando entero en coma flotante:

>>> 3 * 3.75 / 1.5 7.5 >>> 7.0 / 2 3.5

En modo interactivo, la última expresión impresa se asigna a la variable _. Esto significa que cuando usa Python como una calculadora de escritorio, es algo más fácil continuar con los cálculos, por ejemplo:

>>> impuesto = 12.5 / 100 >>> precio = 100.50 >>> precio * impuesto 12.5625 >>> precio + _ 113.0625 >>> ronda (_, 2) 113.06

Esta variable debe ser tratada como de solo lectura por el usuario. No le asigne un valor explícitamente: crearía una variable local independiente con el mismo nombre enmascarando la variable incorporada con su comportamiento mágico …

pony : Las características populares de Scala y Erlang, pero con un mejor sistema de tipos que garantiza el punto muerto y la libertad de carrera, mejor OO con despacho múltiple, delegación, mixins o herencia tradicional y con un rendimiento más rápido que el óxido, C y C ++ con OpenMP. Esta es la parte superior de la cosecha.

ir: para conseguir un trabajo. Un lenguaje moderno muy simple. finalmente demasiado simple

óxido : para ver por qué pony es mucho mejor. pero el óxido tiene macros y muchos más usuarios e impulso, por lo que podría necesitarlo. Pero escribir servidores concurrentes te volverá loco, comparable a C ++.

elixir: pequeño lenguaje agradable para hacer las cosas. en realidad no es tan rápido ni herrumbroso ni pony, pero es lo suficientemente bueno para la mayoría.

Solo necesitas unos pocos idiomas.

  • PHP: Si bien la mayoría de las personas se burlan de la idea, PHP es un lenguaje bastante multipropósito y en mis 15 años de programación, me he encontrado con muchos scripts php-cli que funcionaron muy bien para su propósito. PHP tiene una curva de aprendizaje muy baja, una comunidad masiva y una gran demanda de programadores. Desafortunadamente, también tiene un suministro masivo (somos una moneda de diez centavos por docena), pero es difícil encontrar buenos programadores de PHP que estén bien calificados en otros idiomas. Entonces, si puedes forjar ese nicho como lo hice yo, estás listo.
  • Javascript, Node.js: ECMAScript es la especificación del lenguaje, Javascript es el idioma y Node.js es el tiempo de ejecución y los enlaces de E / S (en la parte superior del motor Google V8). Cuando juntas estos cuatro ingredientes, obtienes un sistema muy decente que funciona bien con actualizaciones rápidas y en tiempo real a escala.
  • Uno más: me sorprende que nadie mencione aquí C ++ . Es lo más back-end que puedes conseguir. Por lo menos, sería una muy buena experiencia de aprendizaje. Me sorprendió gratamente mi último episodio de programación en C # . Es realmente lamentable que no funcione tan bien multiplataforma como Java porque, como lenguaje, creo que saca a Java del agua.

En realidad, creo que elegir un idioma al azar (o basado en sugerencias sesgadas de extraños) y aprenderlo es bastante tonto y al menos es ciertamente arbitrario.

Creo que lo que debes hacer es:

  1. Encuentra un problema que deseas resolver
  2. Investigue a fondo la mejor manera de resolver ese problema
  3. Encuentre el idioma que mejor logre esa solución
  4. Aprenda ese idioma mientras resuelve el problema con la solución que decidió.

¿Eso no tiene mucho más sentido?

Dos: PHP y Nodejs. Node es javascript y, como desarrollador de backend, conoces js o necesitas a alguien que lo sepa. Entonces, una vez que conoce js, el nodo simplemente agrega cosas de back-end a un lenguaje que ya domina. Node está realmente listo y llegando. Por ejemplo, la nueva API bot de Facebook para Messenger está documentada con ejemplos de nodos, aún no con PHP. Eso me pareció muy significativo.

PHP: De nuevo, PHP es la base de la máquina virtual HHVM de Facebook y el lenguaje de hack. Esto solo es un factor importante para su éxito continuo. Facebook no tenía una cultura de ingeniería sólida hasta hace relativamente poco tiempo, pero se quedó con el legado que realmente están llevando PHP a un nuevo nivel ahora. El rendimiento de HHVM es excelente, a menudo a la par con el nodo.

PHP: si desea interactuar con casi cualquier API, los ejemplos y las bibliotecas de PHP están casi siempre disponibles.

PHP: ejecuta wordpress y la gran cantidad de complementos disponibles para él. Es difícil apreciar adecuadamente el tamaño de WordPress y su comunidad, es el CMS más grande con diferencia. Los complementos de WordPress solo se pueden escribir en PHP, y poder crear y modificar dichos complementos es una habilidad cada vez más vital.

Muchos descartan PHP de la mano, esa es una reacción instintiva. Dichos desarrolladores tienden a no mantenerse informados objetivamente porque el PHP de hace una década ya no es el PHP actual. A muchos también les disgusta PHP porque es a través de WordPress un desarrollo web cada vez más mercantilizado. Ahora es fácil instalar un wordpress, agregar un tema, instalar y configurar algunos complementos y tener un sitio web funcional, todo esto a un costo muy bajo.

Aquí hay algunos consejos sabios que leí en alguna parte que realmente ayudaron a poner esta pregunta en perspectiva. No te preocupes por el idioma que debes aprender. Ayudé a entrevistar y contratar para una empresa hace aproximadamente un año y medio. Realmente no me importaba exactamente qué idioma aprendieron, sino qué tan buenos eran en el idioma que sabían. En términos generales, cuando aprendes un idioma, los otros son bastante fáciles.

Una buena comparación que me gusta hacer es la siguiente:

No es la pluma la que hace al novelista, sino que es el novelista que hace al novelista.

Sigue ese consejo y hazte bueno, realmente bueno, en un idioma.

Pitón

Bueno para backend, bueno para ciencia de datos y lo más importante, es muy flexible y versátil. Puedo hacer muchas cosas con él, incluso hacer juegos para Android. Todavía no conozco Java, estaba codificando juegos y aplicaciones de Android. El scripting es un salvavidas a veces también y hay tantos frameworks / módulos en diferentes campos que hacen que Python sea extremadamente versátil. La sintaxis es muy parecida al inglés e incluso los no programadores pueden entender qué sucede cuando miran el código (a veces). Python tiene el marco django también para aplicaciones web.

El siguiente sería Javascript .

La sintaxis de JS es similar a la de Python y, por lo tanto, no tuve muchos problemas. JS tiene algunos marcos agradables para él como meteorito, redux, react, angular, etc.

Si va a utilizar JS, sería útil aprender MEAN stack.

Nodo, Angular, MongoDB y Express. Puedes hacer cosas geniales con la pila MEAN.

La mayoría de las personas ya conocen JS y, por lo tanto, prefieren aprender más sobre esto que aprender Python o algo más.

Echa un vistazo a ambos y luego decide con qué quieres trabajar 🙂

¡Me sorprende que nadie recomiende Scala!

Scala!

  • La diversión
    Es el lenguaje de programación más divertido en este momento en el mundo (objetivo del 90%). Elija un lenguaje de programación que sea divertido y podrá dominarlo rápidamente. De lo contrario, realmente no vale la pena el tiempo.
  • La demanda
    Scala es el mejor Java, y Java tiene una gran demanda por la historia, el ecosistema, la madurez y la posición dominante.
  • La productividad
    Las excelentes características del lenguaje, la rica colección de componentes Java y componentes Scala en maven, la naturaleza estática que hace posible un IDE muy avanzado, ¡todo esto hace de Scala el mejor lenguaje RAD!
    Alguien dice que puedes construir sitios web pequeños más rápido con Node.js, y Scala es más productivo cuando el proyecto crece para ser grande. Desde mi experiencia esto es falso. Scala siempre aumenta la productividad del desarrollo.

Hay muchos lenguajes de script como ASP, JPS, Perl, CGI y PHP y los desarrolladores tienen que elegir al crear aplicaciones.

Estos se denominan también backand languages ​​como lo son con la base de datos.

Entre los lenguajes de respaldo y me gustaría recomendarle que aprenda PHP como lenguaje de programación y respaldo.

Hay muchas causas en este caso a la vista de mí y algunas de las mejores son las siguientes:

  • Plataforma para cualquier sistema operativo:

Se puede ejecutar en casi todos los principales sistemas operativos como Linux, UNIX y Windows, etc.

  • Apto para todos los principales servidores web

Es compatible con todos los principales servidores web como Apache, Netscape, servidor web personal, servidor iPlanet, etc.

  • Compatible con todas las bases de datos principales

TI es compatible con todas las bases de datos principales, incluidas MySQL, IBM DB2, InterBase, FrontBase, ODBC, PostgreSQL, etc.

  • Desarrollo más rápido propicio para el sitio.

Utiliza su propio espacio de memoria y, por lo tanto, disminuye el tiempo de carga y la carga de trabajo del servidor. La velocidad de procesamiento es rápida y las aplicaciones web como comercio electrónico, CMS y foros también se desarrollan más rápido.

  • Seguro

Tiene varios tipos de capas fuertes para prevenir amenazas.