¿Qué lenguaje de programación preferís?

Imagen de RagonichaFulva
0 puntos

Hola compañeros ubunteros,

Ya lo sé, es la sempiterna pregunta, pero recientemente he acercado la nariz a Gambas y me preguntaba si los usuarios con experiencia en lenguajes de programación podrían darme su opinión sobre los pros y contras de lenguajes como C++, Java, Python, Gambas,... que creo que son los que mejor se ajustan para hacer aplicaciones en GNU/Linux.

He mirado por internet y no he visto comparativas buenas. He extraído conclusiones como la no posibilidad de hacer aplicaciones MacOSX y Windows en Gambas, el peso y excesiva jerarquización y rigurosidad de Java, que Python parece muy bueno (casi sería el de elección), pero que al ser interpretado pierde frente a C++, que a su vez es demasiado complejo y no sé si sería multiplataforma (creo que lo es).

Mi intención es realizar una aplicación gráfica, a ser posible, multiplataforma, que atacara a una base de datos donde poder poner imágenes y texto (a grandes rasgos; ahorro detalles).

En fín, que vuestra visión sería muy de agradecer antes de decidir embarcarme en algo de estas características.

Os agradezco cualquier aportación que podáis hacer. 

Imagen de DooM86
+1
0
-1

Yo prefiero java o c++.

Sobre lo de la multiplataforma:

Cuando programas una aplicación en java realmente no estas programando para windows o para linux lo haces para la maquina virtual de java, y lo que acabas obteniendo es un ejecutable para la misma.

En cambio c++ no es multiplataforma, aunque creo que podria ser posible de un mismo codigo fuente obtener un ejecutable para linux y otro para windows.

De todas formas si no tienes experiencia programando creo que empezar con algo de estas caracteristicas te será un poco complicado. Yo te recomendaria que empezaras por hacer cosas mas simples y poco a poco ir adquiriendo conocimientos.

Sobre el lenguaje de programacion mi opinion es que no hay lenguajes mejores o peores, cuando conoces unos cuantos te das cuenta que son muy parecidos y al final el mejor es aquel que conoces mas y con el cual te sientes mas comodo.

__________________________________________

~No es tonto quien no sabe sino quien no quiere aprender.~

+1
0
-1

__________________________________________

~No es tonto quien no sabe sino quien no quiere aprender.~
Imagen de RagonichaFulva
+1
0
-1

Gracias por la info.

Lo cierto es que algo de experiencia sí tengo... he programado en ASP, PHP, Java y bueno... sobre todo programación web.

Java me gusta al ser multiplataforma, pero la VM es muy pesada y me echa para atrás. Python parece ser una buena alternativa y es muy potente, pero no lo he abordado (y parece ser muy asequible). Mi pregunta sería cuál sería su rendimiento al ser interpretado.

Si C++ no es multiplataforma, ya no me vale, ya que es una aplicación que quiero ceder a usuarios de windows y de  GNU/Linux.

A ver si encuentro en internet una buena tabla comparativa o un buen texto de pros y contras.

Gracias y saludos. 

"La perseverancia es un árbol de raíces amargas, pero de frutos muy dulces."
¿Por dónde empiezo? - Guía Ubuntu
¿Un aliado? - Automatix

+1
0
-1

"La perseverancia es un árbol de raíces amargas, pero de frutos muy dulces."

Imagen de patagonian18
+1
0
-1

En función de lo poco que sé y lo que he leído en Internet, yo diría que para hacer un programa desde cero el lenguaje a utilizar es C/C++.

Si quieres un software que corra totalmente independiente del S.O. la opción es Java, aunque también tiene sus desventajas por el hecho de correr sobre una máquina virtual.

Si lo que deseas es programar un plugin para un programa ya existente, me parece que el más popular en ese campo es python. No lo he utilizado nunca, pero he leído muy buenas referencias de él.

Estoy seguro que se me escapan muchos más, porque mi fuerte no es la programación. Sin embargo, para el caso concreto que planteas, tal vez la mejor idea sea usar Java y ver que puedes usar de OOo Base, ya que este funciona como front-end de varios motores de bases de datos.  Yo haría en Java todo aquello que en OOo Base se hace de manera demasiado rudimentaria o  engorrosa. 

+1
0
-1

 

mi blog: www.patagonianuser.blogspot.com

Ad augusta per angusta

Imagen de RagonichaFulva
+1
0
-1

Gracias por vuestras aportaciones.

En un manual vi más o menos lo que busco, pero aún no está a la altura porque no expresa la información en forma de ventajas/desventajas: 

PERL
Principiantes: S´? - POO: S´?
Ejemplos: Scripts, administraci´on de sistemas, www
Comentarios: Potente para la manipulaci´on de textos y cadenas

Python
Principiantes: S´? - POO: S´?
Ejemplos: Scripts, scripts de aplicaciones, www
Comentarios:

TCL
Principiantes: S´? - POO: No
Ejemplos: Scripts, administraci´on de sistemas, aplicaciones
Comentarios:

PHP
Principiantes: S´? - POO: S´?
Ejemplos: Www
Comentarios: Popular para las bases de batos basadas en web

Java
Principiantes: S´? - POO: S´?
Ejemplos: Aplicaciones para plataformas cruzadas, www
Comentarios:

Lisp
Principiantes: S´? - POO: Funcional
Ejemplos: Modos de Emacs (para elisp), AI
Comentarios: Variantes Elisp, Clisp y Scheme

Fortran
Principiantes: No - POO: No
Ejemplos: Aplicaciones matem´aticas
Comentarios: Variantes f77 y f90/95

C
Principiantes: No - POO: No
Ejemplos: Programaci´on de sistemas, aplicaciones
Comentarios: Muy popular

C++
Principiantes: No - POO: S´?
Examples: Aplicaciones
Comentarios:

 

Fuente: http://lucas.okulto.net/COMO-INSFLUG/es/mini/pdf/Lenguajes-Programacion-...

 

"La perseverancia es un árbol de raíces amargas, pero de frutos muy dulces."
¿Por dónde empiezo? - Guía Ubuntu
¿Un aliado? - Automatix

+1
0
-1

"La perseverancia es un árbol de raíces amargas, pero de frutos muy dulces."

Imagen de RagonichaFulva
+1
0
-1

Esto es lo que más se acerca a lo que buscaba:

http://en.wikipedia.org/wiki/Comparison_of_programming_languages 

"La perseverancia es un árbol de raíces amargas, pero de frutos muy dulces."
¿Por dónde empiezo? - Guía Ubuntu
¿Un aliado? - Automatix

+1
0
-1

"La perseverancia es un árbol de raíces amargas, pero de frutos muy dulces."

Imagen de RagonichaFulva
+1
0
-1

Creo que la decisión está casi tomada: Python es la elección.

Creo que tras leer comparativas y características de varios lenguajes (los que no conocía, porque los que ya conocía no me hace falta ;)) creo que Python es la opción ideal.

Las razones son varias, os las detallo por si a alguien en mi misma tesitura le puede interesar.

Ventajas:

  • Se parece a Ubuntu: 
    •  
      • Es Open Source
      • Cuenta con una comunidad altruista y muy activa
      • Cuenta con mucha documentación bien estructurada.
      • La librería estándar que viene tras ser instalado ya viene preparada para la mayoría de las necesidades de un programador. Lo que denominan: "batteries included"
      • Fácilmente ampliable con nuevas librerías que hay en los repositrorios que permiten hacer de todo.
      • Fácil de aprender
  • Orientado a Objetos: Que simplifica la tarea de programar, ya que es de alto nivel. Al parecer es muy intuitivo.

  • Rápido de Implementar/Programar: En tres líneas haces un web server... no está mal.
    •  
      • Sintaxis clara y fácil de leer
      • Intuitiva
      • Buen mecanismo de gestión de Excepciones (algo que me gustaba de java)
      • Gran modularidad y soporta paquetes jerárquicos.
  • Compatible: Flexible hasta para eso.
    •  
      • Puede integrarse con objetos COM, .NET (IronPython) y CORBA entre otras tecnologías.
      • Pueden usarse librería de Java (con lo que obtienes el propio poder de Java)usando la implementación Jython.
      • Si requieres algo que no pueda hacer, puedes crear módulos en otros lenguajes como C o C++ o incluso al revés, emplear Python dentro de otra aplicación hecha en otro lenguaje. Todo sin el empleo de máquinas virtuales ni nada.
      • Puede ejecutarse en la mayoría de S.O. sin problemas (Microsoft Windows, Mac, Linux/Unix, Amiga, etc. en incluso sobre la máquina de Java (así que también en móviles, etc.), con lo que ya es tan multi plataforma como Java, si quieres.

 

 

Desventajas:

  • Es un lenguaje interpretado, que aunque tiene sus ventajas, implica más lentitud que un programa compilado. Aún así se dice que es un lenguaje bastante rápido. Es la única desventaja que he visto tras leerme un poco todo.

El caso es que Python me parece muy innovador y acorde con la filosofía del S.L.

Potente ha de ser, si lo usan en Google, en la NASA, etc...

¡Un saludo! 

 

"La perseverancia es un árbol de raíces amargas, pero de frutos muy dulces."
¿Por dónde empiezo? - Guía Ubuntu
¿Un aliado? - Automatix

+1
0
-1

"La perseverancia es un árbol de raíces amargas, pero de frutos muy dulces."