Seguramente una pregunta que nos hacemos mucha gente es: "si quiero aprender programación, ¿por qué lenguaje empiezo?". Y la respuesta con la que nos encontramos es "depende de para qué".
Yo estoy en ese punto, y os pongo en situación (os suelto un rollo) para ver si alguien me aconseja.
Por una parte estoy aprendiendo Arduino, cuyo lenguaje se supone que está basado en C++.
Poco a poco voy aprendiendo a hacer mis propios códigos simples, y voy entendiendo los códigos de terceros, aunque todavía se me escapan muchas (demasiadas) cosas.
Por otra parte, en paralelo con lo anterior, quiero hacer aplicaciones HMI para PC para controlar y leer variables del controlador (arduino en este caso, pero también de otros dispositivos que presentan interfaz de comunicación).
He encontrado algunos tutoriales para hacer cosas básicas como encender y apagar un led de arduino con diferentes herramientas y lenguajes (Visual Studio, Node-Red, Processing, HTML, etc.). Pero una cosa es hacer copia-pega del código del tutorial y otra cosa es conocer y entender el lenguaje mínimamente para hacer cosas por uno mismo.
Hoy mismo me he instalado Visual Studio (Community) para seguir un tutorial, y tiene pinta que esa herramienta puede servir mucho para lo que quiero hacer y me gustaría profundizar. Desde Visual Studio, por lo que veo, se puede trabajar con los principales lenguajes (C++, C#, Java, JavaScript, F#, Phyton...).
El ejemplo que he seguido hoy era en C#, y me he propuesto dedicar tiempo a aprender para poder hacerlo por mi mismo, incluso planteándome pagar por algún pequeño curso online medianamente estructurado, y ahí surge el dilema. ¿Merece la pena zambullirme en C# mientras en paralelo sigo con Arduino (que se supone que es más similar a C++) de manera semi-autodidacta, o es mejor enfocarme en C++?
¿O debería fijarme en JavaScript o Phyton? Puntos de partida
- No pretendo ser programador profesional, aunque me gustaría desarrollar aplicaciones que me ayuden en mi trabajo.
- Curva de aprendizaje rápida (supongo que eso lo queremos todos)
- Lo que más me intesa: interactuar con periféricos (enviar comandos o leer variables), realizar representaciones gráficas de variables. Hacer interfaces gráficas simples, y quizás hacer algún cálculo numérico con variables.
En algunos algunos laboratorios usan Labview para estas cosas, y si es algo que no descarto a largo plazo, el coste es muy elevado y en mi caso actual creo que sería matar moscas a cañonazos (hablamos de más de 5000€ para poder crear aplicaciones ejecutables).
Se agradecen ideas o consejos, y perdón por el ladrillo