PDA

Ver la versión completa : ¿Recomendaciones de lenguajes de programación?



Rarok
26/07/2012, 16:04
A un familiar al que le debo mucho le voy a reescribir un programa hecho en GWBASIC y que funciona sobre un MSDOS puro en un lenguaje un poquito más actual y que funcione en sistemas operativos actuales y con entorno gráfico.
Lo único "raro" que tiene el programa es que tienen que poder acceder individualmente a los pines de unos cuatro puertos paralelos que tiene el equipo (estos van a relés que a su vez van a las persianas e iluminación de la casa).
Tengo alguna idea (ligera) de C, Python y C# (lo que más del último) pero no me importaría tener que hacerlo en cualquier otro lenguaje.

La cosa es que actualmente soy estudiante de un FP de ASIR (bueno, en realidad este año sólo tengo que hacer una asignatura por "motivos diversos") pero me gustaría poder y aprendiendo/dominando un lenguaje que tenga algo de salida laboral ¿en vuestra opinión qué sería más recomendable?

pakoito
26/07/2012, 16:14
Ruby? .NET con C# o Java, pero necesitas también meter cosas de MySQL y XML de por medio. Como tal, saber los lenguajes no te lleva a ningun lado, son las tecnologías extra las que te abren puertas.

juanvvc
26/07/2012, 16:20
Si el programa está corriendo ahora mismo en gwbasic, podrías reescribirlo en cualquier lenguaje que te apetezca. Por ejemplo cualquiera de esos que ya conoces: C, Python ó C#. También podrías intentar portarlo a FreeBASIC y ejecutarlo en cualquier sistema operativo actual.

Si lo que quieres es aprovechar para aumentar conocimientos que te sean útiles para tu futuro profesional como administrador de sistemas informáticos en red, entonces quizá deberías profundizar preferentemente en algún lenguaje de script. Como ya parece que lo conoces, podrías profundizar en Python. Yo personalmente estoy enamorado de ese lenguaje. Perl es una opción muy usada entre administradores. Al final más pronto o más tarde es probable que termines aprendiendo los dos o al menos entendiendo los dos, así que...

Como dice pakoito al final lo de los lenguajes es solo herramientas. Acabarás conociendo, usando y olvidando decenas de ellos. No te obsesiones con aprender uno u otro, ya lo harás cuando lo necesites de verdad. Lo que sí que tienes que hacer es ir haciendo proyectos como éste que tienes entre manos.

X-Code
26/07/2012, 16:23
Python me llama mas para este tipo de cosilla, de hecho, casualmente estoy realizando un programilla de gestón para una empresa tirando de Python y MySQL :)

^MiSaTo^
26/07/2012, 16:27
Ruby? .NET con C# o Java, pero necesitas también meter cosas de MySQL y XML de por medio. Como tal, saber los lenguajes no te lleva a ningun lado, son las tecnologías extra las que te abren puertas.

MySQL y XML? wtf?
Nunca me han pedido en la vida MySQL, las empresas grandes suelen trabajar con Oracle o similares, MySQL suele ser para proyectos pequeños. Y XML como tal... será saber de REST (aka xml, json) que además poco a poco va cambiando la tendencia de usar XML a JSON (básicamente porque es mucho más eficiente).

Pero bueno yo recomendaría que ya que sabes algo de c#, sigas con ello porque eso sí está demandado a día de hoy.

Lo importante es que sepas programar bien y seas capaz de adaptarte al lenguaje que sea dado el caso, porque te va a tocar cambiar de tecnologías si quieres evolucionar en tu trabajo ;) Y para ello necesitas pilotar del tema que sea (por ejemplo yo sabiendo Android, no me costó mucho saber cómo iba iOS, y después no me ha costado casi nada cambiar a Windows Phone y eso que en mi vida había tocado .NET ni ninguna tecnología de Microsoft).

X-Code
26/07/2012, 16:49
Se puede programar en lo que sea siempre y cuando cumpla los requisitos indispensables para la creación del programa. Como opinión personal diría que lo mejor es utilizar el lenguaje adecuado para cada tarea, con esto no digo que no se puedan utilizar otros pero para este tipo de cosillas, algun lenguage para scripting como Python y similares es probablemente la opción más comoda, practica y sencilla.

Como desconozco de que va el programa no podría opinar más allá :lol2:


En el programilla que estoy haciendo yo he tomado mis propias decisiones sobre que lenguaje, tipo y formato de base de datos, etc, de hecho me han pedido que les monte y prepare también un servidor... pobrecillos... :lol:

pakoito
26/07/2012, 16:58
MySQL y XML? wtf?
Nunca me han pedido en la vida MySQL, las empresas grandes suelen trabajar con Oracle o similares, MySQL suele ser para proyectos pequeños. Y XML como tal... será saber de REST (aka xml, json) que además poco a poco va cambiando la tendencia de usar XML a JSON (básicamente porque es mucho más eficiente).jajaja me has pillado, los estaba copiando de las ofertas que ponen por ahi en infojobs. Tampoco tengo mucha idea de REST.

Eskema
26/07/2012, 17:18
MySQL y XML? wtf?
Nunca me han pedido en la vida MySQL, las empresas grandes suelen trabajar con Oracle o similares, MySQL suele ser para proyectos pequeños. Y XML como tal... será saber de REST (aka xml, json) que además poco a poco va cambiando la tendencia de usar XML a JSON (básicamente porque es mucho más eficiente).


Nunca he entendido la "eficiencia" del json, no es mas que un fichero de texto con otro formato distinto del xml, y en ninguno de los parsers que he usado en IOS he visto diferencias de velocidad como para decir "dios, tengo que usar JSON pq es la p0lla con patatas", es mas usando TBXML he conseguido mas velocidad que con JSON. Yo los veo mas como "usa el que mas te guste", mas que como "JSON = god, XML = crap"

^MiSaTo^
26/07/2012, 17:26
Nunca he entendido la "eficiencia" del json, no es mas que un fichero de texto con otro formato distinto del xml, y en ninguno de los parsers que he usado en IOS he visto diferencias de velocidad como para decir "dios, tengo que usar JSON pq es la p0lla con patatas", es mas usando TBXML he conseguido mas velocidad que con JSON. Yo los veo mas como "usa el que mas te guste", mas que como "JSON = god, XML = crap"

Pues no, el JSON es bastante más eficiente de parsear porque es texto "plano" mientras que el XML tienes que andar buscando el tag de cerrado y puede tener miles de atributos y etc.
De hecho, si parseas algo bastante grande, cualquier parser de JSON es más rápido que cualquiera de XML. Luego si te tienes que hacer un streamming parser es infinitamente más complejo de hacer en XML (por lo que te digo del tag de cerrado y atributos y toda la pesca) que en JSON.

Busca por google que hay bastantes razones por los que JSON es más eficiente que XML ;)
TBXML está muy bien, pero por ejemplo SBJSON para cosas tochas va mucho más rápido que TBXML.

GameMaster
26/07/2012, 17:35
No creo que el programa necesite una base de datos para que MySQL sea aqui llamado xD

X-Code
26/07/2012, 17:48
No creo que el programa necesite una base de datos para que MySQL sea aqui llamado xD


Mi mención a MySQL es meramente anecdótica miamol :lol:

Rarok
26/07/2012, 17:57
Efectivamente, el mysql no hace falta para nada. Personalmente con C# y .NET me siento relativamente cómodo pero como no es un proyecto que me exija nada especialmente duro pues quería aprovechar para probar algo con un poco de salida y si me decís que se pide de eso... (yo la verdad todas las ofertas que veo son de Java).

Por cierto, lo que comenta Misato de desarrollo en móviles, no sé iOS o android, pero a nivel sencillo para Windows phone es hipersencillo

Eskema
26/07/2012, 18:32
Pues no, el JSON es bastante más eficiente de parsear porque es texto "plano" mientras que el XML tienes que andar buscando el tag de cerrado y puede tener miles de atributos y etc.
De hecho, si parseas algo bastante grande, cualquier parser de JSON es más rápido que cualquiera de XML. Luego si te tienes que hacer un streamming parser es infinitamente más complejo de hacer en XML (por lo que te digo del tag de cerrado y atributos y toda la pesca) que en JSON.

Busca por google que hay bastantes razones por los que JSON es más eficiente que XML ;)
TBXML está muy bien, pero por ejemplo SBJSON para cosas tochas va mucho más rápido que TBXML.

Supongo que segun el proyecto json podra ser mas adecuado, yo para las cosas que he hecho no he visto ninguna diferencia apreciable. El dia que me enfrente a un proyecto grande es posible que las diferencias sean interesantes :)

Juanje
26/07/2012, 18:39
Sin duda en la actualidad : lenguaje H.A.X.E.

-----Actualizado-----

http://haxe.org/

JJdroid
26/07/2012, 19:23
Para trabajar en una "carnica" -> java y oracle.

Para tu proyecto c# esta bien, y ademas si te puede valer para encontrar curro.

swapd0
26/07/2012, 19:41
¿Ya nadie programa en C++?

jduranmaster
26/07/2012, 19:54
¿Ya nadie programa en C++?

por suerte si :awesome:

swapd0
26/07/2012, 19:58
Mientras menos seamos mejor... asi cobraremos mas XD (seremos mil y un euristas)

GameMaster
26/07/2012, 20:00
ahora soy mas de C puro xD

ZarkGhost
26/07/2012, 21:02
Qterizate :P Qt al poder.... Es C++ con soporte para señales/slot y un gran sistema para crear Guis (muchísimo mejor estructurado que cualquier otro que he probado, y he probado muchos), y unas clases también muy bien diseñadas. Lejos del caos de los forms de visual, o de Swing de java.

Tienes clases para todo.... El 99% del trabajo pesado te lo hace Qt, se dice que en próximas versiones solo bastara con escupir al teclado para hacer una aplicación.

Y al trabajar en C++, siempre puedes añadir fácilmente cualquier librería C/C++, y a malas, te comunicas con un programa externo mediante un QProcess poderoso.

Rarok
26/07/2012, 21:02
Un programa de entorno gráfico con un montón de botones en el que cada uno lo único que es encender y apagar pines individuales en alguno de los puertos paralelos del equipo, consumo de recursos bajo, lo más lioso la parte del interfaz ¿de verdad interesa ponerse a codificar un interfaz un C?

pakoito
26/07/2012, 21:08
¿Ya nadie programa en C++?
Todos los días hasta que me echen.

dardo
26/07/2012, 21:41
MySQL y XML? wtf?
Nunca me han pedido en la vida MySQL, las empresas grandes suelen trabajar con Oracle o similares, MySQL suele ser para proyectos pequeños.

Eso es un tópico.

Donde ya tienen Oracle usan Oracle y así tengo trabajando a mi lado a 8 administradores Oracle para mantener 450 bases de datos, pero también tenemos bastante DB2.

A la hora de empezar de cero en un proyecto te puedes encontrar muchos proyectos actuales montados con MongoDB, Cassandra o cosas aún más exóticas, tengo unos clusters con Memcached y alucino con el rendieminto. Tengo cosas parecidas con Oracle y se arrastran. En entorno host te vas a encontrar casi siempre DB2.

Mongo es particularmente rápido y utiliza BSON para alamcenar la información.