La .NET CONF 2024 acaba de terminar. Descubre las NOVEDADES de .NET 9 junto a los CAMBIOS que trae C# 13.
Puedes ver el contenido de este vídeo junto con su curso en el modo vídeo (similar a Udemy) si pulsas aquí.

Cómo aprender más de un lenguaje de programación

20 Jun 2022 5 min (0) Comentarios

las preguntas que más me hacen es como empezar con un segundo lenguaje de programación. En este post vamos a ver como hago yo, para aprender otro lenguaje. 

 

 

1 - Mi historia

Antes de empezar, quiero empezar con los lenguajes que yo he tocado y aprendido. 

 

Si seguís el blog como bien sabéis estoy bastante experimentado en .NET particularmente en C#, pero, desde principios de 2022 trabajo en una empresa donde se trabaja en Go, pero principalmente se programa en Ruby

Anteriormente he trabajado en mi vida profesional en PHP y ExtJs.

 

Y estudiando aprendí lo mismo que todo el mundo que estudia en españa, C/C++ y java.

 

 

2 - Como aprender mas de un lenguaje de programación 

Cuando digo más de un lenguaje de programación me refiero a lenguajes que cubran  la misma parte de la aplicación, esto no aplica para aprender un lenguaje de back end y otro de front end ya que estos van a ser complementarios unos de otros. 

Sino a cómo aprender más de un lenguaje, en este caso ambos de back end.

 

Como he dicho antes he trabajado la mayor parte de mi vida profesional con .NET, por lo tanto mi mindset o mi forma de programar está muy centrada en .NET. Migrar a otro lenguaje no va a ser fácil sin un poco de esfuerzo.

 

Por ello lo que yo recomiendo es hacer un CRUD básico, una API donde tienes las operaciones de crear actualizar borrar y leer de la base de datos. 

 

Es importante utilizar una base de datos, la que sea. 

Y es más importante aún programarlo a un nivel que nosotros consideramos listo para producción.

 

Te puedes saltar alguna validación si no quieres gastar mucho tiempo, pero yo recomiendo hacer los casos de uso completos. Y por supuesto añadir algún test, aunque sean solo los happy path.

 

 

Crearemos un CRUD básico pero no simple, con esto qué quiero decir? Quiero decir aplicando celan arquitecture para tener una separación de responsabilidad, lo que nos llevará a separar las diferentes capas. Los principios SOLID. Añadir swagger y devolver un Json si estamos haciendo API Rest, asi nos veremos forzados a investigar cómo incluir librerías de terceros, y dónde buscarlas 

Así podremos identificar dónde están los puntos diferenciales entre cada lenguaje.

La idea es que todas las versiones realicen la misma acción y en todas obtengas el mismo resultado

 

Finalmente, solo me queda añadir que también recomiendo tener un documento con nosotros ya sea escribiendo a mano o en el propio proyecto donde vamos apuntando las cosas que encontramos diferenciativas con nuestro lenguaje principal. 

Esto es lo que hice yo para dar mis primeros pasos en Go y Ruby y puedes ver a lo que me refiero en mi repositorio GoPlayground. La misma acción la he realizado para aprender tanto Ruby on Rails como Sinatra que es el framework con el que trabajo a día de hoy. 

 

Por ejemplo en .Net una excepción se lanza con throw new exception(“mensaje”), mientras que en Go es panic(“mensaje”) o en ruby raise “mensaje”.

 

 

3 - Beneficios de saber más de un lenguaje.

Uno de los grandes beneficios que puedes encontrar es saber que le falta al lenguaje en el que estás que puedes traer de otros para mejorar el lenguaje en el que estás trabajando.

 

Por ejemplo mi librería de Railway Oriented Programming está basada en una charla de Scott Walchin sobre cómo funcionan los Monads de F#

 

Otro gran beneficio es que saber más lenguajes te permite elegir el mejor para hacer ciertas implementaciones, al final del día los lenguajes de programación son herramientas y debemos tratarlas como tal. 

 

Finalmente, el gran beneficio es que saber más lenguajes te abre puertas en trabajos para los que anteriormente no tendrías opciones. Si bien es cierto que a muchas empresas les da igual en qué lenguajes has trabajado en el futuro y entienden que los lenguajes son herramientas. Otros muchos no lo llegan a comprender y si no tienes experiencia en cierto lenguaje ni te contestan, o en el caso de los reclutadores, ni te llaman. 

 

El tener más opciones nos va a dar una mejora tanto en el salario, como en los proyectos en los que vamos a participar.

 

No quiero hacer una sección diferente para las desventajas ya que solo tenemos desventajas si dejamos de lado los lenguajes y no nos mantenemos al día.

 


Uso del bloqueador de anuncios adblock

Hola!

Primero de todo bienvenido a la web de NetMentor donde podrás aprender programación en C# y .NET desde un nivel de principiante hasta más avanzado.


Yo entiendo que utilices un bloqueador de anuncios como AdBlock, Ublock o el propio navegador Brave. Pero te tengo que pedir por favor que desactives el bloqueador para esta web.


Intento personalmente no poner mucha publicidad, la justa para pagar el servidor y por supuesto que no sea intrusiva; Si pese a ello piensas que es intrusiva siempre me puedes escribir por privado o por Twitter a @NetMentorTW.


Si ya lo has desactivado, por favor recarga la página.


Un saludo y muchas gracias por tu colaboración

© copyright 2024 NetMentor | Todos los derechos reservados | RSS Feed

Buy me a coffee Invitame a un café