lenguajes rapidos y solidos para aprender hoy en dia

Started by hokuto40, February 19, 2020, 10:25:08 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

hokuto40

Hola.

Me gustaria saber si merece la pena aprender hoy en dia un lenguaje como freepascal,tengo curiosidad por este lenguaje ya que he leido que es casi tan rapido como c.

Aparte de este que otro lenguaje me recomendais para aprender,que sea rapido,compilado y que genere archivos .exe.

FreeYourMind

free pascal no es un lenguaje, es un compilador gratuito del lenguaje pascal xD

Drumpi

Depende de los requisitos que tengas, se puede recomendar uno u otro.
A día de hoy, cualquier ordenador de menos de 15 años te puede ejecutar cualquier cosa que hagas en cualquier lenguaje, incluso en Java :D No merece la pena meterse con un lenguaje de bajo nivel tipo C, porque vas a programar mucho para obtener los mismos resultados que en html5 con 5 minutos, por decir algo... a menos que la eficiencia sea algo crítico, es decir, estés programando para un dispositivo de estos portátil mono/doble núcleo a menos de 1GHz.

De los que yo conozco, en caso de que necesites algo super-eficiente, la recomendación siempre ha sido C o C++, tirando de alguna librería como apoyo, tipo SDL.
Si quieres hacer cualquier otra cosa, con formularios y ventanas, Java es sencillo y multiplataforma. Aunque yo me siento bastante cómodo con C#, ambos lenguajes son bastante parecidos, y su OOP es bastante intuitiva (recuerdan vagamente a los procesos de BennuGD) aunque C# tiene una sintaxis más sencilla y algunas herramientas potentes. La pega, que sólo funciona en Windows (y Android e iOS si te metes con Xamarin, pero puede que necesites algo de XML), y la alternativa es Mono, que dicen que es multiplataforma y tiene una sintaxis parecida, pero no he tenido el placer de comprobarlo.

La ventaja de Java y C# es que están bastante demandados en el ámbito laboral, como la base de una serie de requisitos que varían MUCHO de una empresa a otra.

Ya, a la hora de hacer juegos o cosas con gráficos, ya no tengo experiencia. SDL, OpenGL... con algún lenguaje que los soporte (¿C++?) suele ser la opción más "hardcore". Personalmente, y no lo tomes como algo general, para cosas 2D prefiero BennuGD (aunque para cosas MUY profesionales se queda algo corto), y para 3D Unity aprovechando lo que sé de C# (y de procesos de BennuGD) aunque creo que Unreal Engine se ha vuelto gratuito para los que aprenden y aficionados.




Aunque si le preguntas a otros, te darán respuestas diferentes. Intenta discernir a los fanáticos de un lenguaje en concreto y tendrás una idea global mejor del tema.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

FreeYourMind

Parece que me toca ser profesor y corregir a los alumnos. Mono es un runtime para linux que interpreta c#, el lenguaje es aparte y compatible tanto con el compilador visual studio como con editores en linux que compilen con mono, o sea una cosa son editores, interpretes y compiladores y otra cosa son los lenguajes...

hokuto40

Quote from: FreeYourMind on February 20, 2020, 07:49:02 PM
Parece que me toca ser profesor y corregir a los alumnos. Mono es un runtime para linux que interpreta c#, el lenguaje es aparte y compatible tanto con el compilador visual studio como con editores en linux que compilen con mono, o sea una cosa son editores, interpretes y compiladores y otra cosa son los lenguajes...

Esta muy bien que corrijas a los demas,pero todavia no has respondido a lo que he comentado al principio,si es que te apetece.

FreeYourMind

Bueno si soy obligado...
Para rapido assembler ya sabemos,para cosas potentes c/c++ con opengl, para cosas faciles pero mas lentas c# o java.


Pascal se ha quedao en el pasado ademas ya no lo veo tan sencillo de usar o mejor simple de usar

hokuto40

Quote from: FreeYourMind on February 20, 2020, 09:42:39 PM
Bueno si soy obligado...
Para rapido assembler ya sabemos,para cosas potentes c/c++ con opengl, para cosas faciles pero mas lentas c# o java.


Pascal se ha quedao en el pasado ademas ya no lo veo tan sencillo de usar o mejor simple de usar

Se agradece la opinion :).

Drumpi

También digo una cosa, que depende de lo restrictivo que quieres que sea el lenguaje: C# es muy restrictivo, tanto con tipos, inicializaciones, etc, mientras que VB.NET es más laxo, al venir de un lenguaje tan fácil de entender como es Visual Basic. La ventaja de ambos ejemplos es que se programan de forma bastante similar, salvando las diferencias gramaticales y de definición de tipos de datos, ya que ambos son de MS, y han intentado unificarlos en .NET: ambos se compilan en Visual Basic, las librerías creo que son compatibles, y los binarios son casi idénticos :P

Lo de Mono me ha dejado un poco descolocado. He leido que sí, el lenguaje es el mismo, pero el compilador no, pero no veo cómo puedo compilar o usar mi proyecto de Visual Studio con Mono, o cómo usar las librerías de GTK y el compilador de Mono en VS. Me vendría bien poder sustituir Eclipse y Java por el entorno que uso en el trabajo y C#.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

FreeYourMind

solo tienes que crealo en windows y ejecutarlo en linux pinchando el el exe como si fuera windows una vez que tengas mono runtime instalado en linux pero las ultimas distros suelen traerlo.
eso si, no uses dependencias de windows en el como dlls de sistema o componentes, tambien puedes compialrlo en linux, no recuerdo el ide que probé, pero lo mas facil es compilar en windows y tener una maquina virtual al mismo tiempo con linux que comparta la carpeta del exe para ir probando en linux al mismo tiempo que compilas y asi ir adaptando cosas que no funcionen en linux como alguna dependencia de windows que aun tengas o incluso la forma de acceder a las carpetas/rutas ya que tendrias que adaptar tambien esto para total compatibilidad

Drumpi

¿Entonces el fichero que se usa al final es el .EXE? ¿No es una extensión especial, ni una dll o algo así que se ejecute invocando algo como "mono miapp.exe"?
En Linux he leído sobre MonoDevelop como IDE, pero me interesa más saber de algún medio multiplataforma, para no andar moviendo ficheros de proyecto de un lado a otro, incluyendo los que usan internamente VS/MD.

Con BennuGD es todo más sencillo :D BGDI mijuego.dcb y observar 3 o 4 reglas del SO, o las teclas y resolución de la consola. Como decía Homer: " el... eso... que coges... taca, y a comer" :D :D :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

FreeYourMind

creo que no importa como se llame, mono lo detecta como ejecutable.
si, afinal fué  MonoDevelop el que probé, pero esta lejos del de microsoft por eso te recomiendo hacerlo como te digo, no tienes que mover nada, solo compartir la misma carpeta de donde generas el exe

gecko

2 Lenguajes que están creciendo mucho ultimamente son Go y Rust.

Ambos lenguajes son compilados, y generan binarios para todas las plataformas.

La curva de aprendizaje de Go es un poco más amigable inicialmente, pero Rust es más seguro y robusto.
Torres Baldi Studio
http://torresbaldi.com

Drumpi

Quote from: FreeYourMind on February 27, 2020, 08:22:10 PM
creo que no importa como se llame, mono lo detecta como ejecutable.

Bueno, yo lo digo porque puede entrar en conflicto con la gente que tenga instalado Wine o algún otro que tenga asociada la extensión EXE a algún programa.
No sé, aun no soy tan pro de Linux como para saber cómo hacer dicha distinción de ejecutables :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

hokuto40

Quote from: gecko on February 27, 2020, 10:35:36 PM
2 Lenguajes que están creciendo mucho ultimamente son Go y Rust.

Ambos lenguajes son compilados, y generan binarios para todas las plataformas.

La curva de aprendizaje de Go es un poco más amigable inicialmente, pero Rust es más seguro y robusto.

¿Has probado Rust?.