Ir al contenido


Foto

C++ vs Java, Python y Ruby.


  • Por favor identifícate para responder
31 respuestas en este tema

#1 flash-back

flash-back

    Advanced Member

  • Miembros
  • PipPipPip
  • 62 mensajes

Escrito 29 enero 2012 - 01:31

Saludos, yo controlo la programación web (PHP, Js, CSS, HTML...) y ahora estoy interesado en aprender programación de lado al escritorio.

Estoy entre estos 4 lenguajes:
-C++
-Java
-Python
-Ruby

Me gustaría que me lo ordenasen por las siguientes características:
-Más fácil de aprender.
-Más potente.
-Mejor multiplataforma.
-Relación dificultad/resultados.

Y que me diesen su opinión personal.

Saludos y muchas gracias.
  • 0

#2 javsolis3

javsolis3

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.380 mensajes
  • LocationPanama

Escrito 30 enero 2012 - 12:31

Yo en un modo muy personal te recomiendo php y despues que te vuelves un experto tomes python y ruby.
  • 0

#3 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 30 enero 2012 - 12:36

...ahora estoy interesado en aprender programación de lado al escritorio...


Sin dudarlo, Python. Corre en Winbugs, en Linux, en Mac, puedes hacer una aplicación completa y portarla a web sólo cambiándole cuatro líneas, es flexible, no es engorroso...

La única desventaja que le veo es que no está tan difundido como debería.

¿Sabías que el motor de búsqueda de Google está hecho en Python?
  • 0

#4 flash-back

flash-back

    Advanced Member

  • Miembros
  • PipPipPip
  • 62 mensajes

Escrito 30 enero 2012 - 12:49

Pero, he odio que python es fácil y eficiente, pero por ejemplo Java o C++ si lo conoces en profundida puedes hacer cosas más potentes y por ejemplo C++ como ha influenciado ha muchos lenguajes te resulta más fácil aprender nuevos.
  • 0

#5 javsolis3

javsolis3

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.380 mensajes
  • LocationPanama

Escrito 30 enero 2012 - 01:08

:D :D :D
Bueno amigo veras muchas puntos de vistas escoje el que mas te convenga y es como dice el TiammatMX

Sin dudarlo, Python. Corre en Winbugs, en Linux, en Mac,

Python  (y)



  • 0

#6 flash-back

flash-back

    Advanced Member

  • Miembros
  • PipPipPip
  • 62 mensajes

Escrito 30 enero 2012 - 01:15

¿Alguien puede recomendarme un curso de python?
  • 0

#7 javsolis3

javsolis3

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.380 mensajes
  • LocationPanama

Escrito 30 enero 2012 - 02:03

bueno yo sigo muy de cerca los cursos que postea el maestro Cesar asi que te invito a u web amigo es mas aqui en delphiaccess siempre salen susactualizaciones de los cursos asi que ve a tutoriales alli veras los diferentes cursos y link. (y)
  • 0

#8 flash-back

flash-back

    Advanced Member

  • Miembros
  • PipPipPip
  • 62 mensajes

Escrito 30 enero 2012 - 02:44

Pero aquí no hay un curso completo de python.
  • 0

#9 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 30 enero 2012 - 02:50

Pero, he odio que python es fácil y eficiente, pero por ejemplo Java o C++ si lo conoces en profundida puedes hacer cosas más potentes y por ejemplo C++ como ha influenciado ha muchos lenguajes te resulta más fácil aprender nuevos.


Lo que has oído o leído es cierto. C es un lenguaje tan potente que es el usado para escribir la mayoría de los núcleos de los S.O. modermos. C++ es su extensión a POO. C/C++ es multiplataforma en su concepto, aunque a la hora de la práctica dependen del sistema en el que corran pues es un lenguaje compilado.

Saber C/C++ te abrirá muchas puertas, como la de Java con una filosofía y sintaxis muy similar. Este si que es un lenguaje multiplataforma pues no es un lenguaje compilado 100% sino interpretado en la Maquina Virtual Java. Esta misma característica la compartes otros lenguajes interpretados, pero con esto se pierde eficiencia y rendimiento.

La decisión dependerá de que tipo de aplicaciones quieres escribir, que prima en ellas y tus gustos personales y proyectos futuros de aprendizaje.

Lee un poquito de cada lenguaje y sabrás cual es el que mas te interesa.


Saludos.
  • 0

#10 apicito

apicito

    Advanced Member

  • Miembros
  • PipPipPip
  • 104 mensajes

Escrito 30 enero 2012 - 02:55

Hace poco que tenía tu dilema y me he decidido por Php (Symfony2) pero me me he enterado tarde de
web2py: http://www.web2py.co...s/default/index
y me quedo con las ganas, por que tiene buena pinta.
  • 0

#11 miquelmatas

miquelmatas

    Member

  • Miembros
  • PipPip
  • 32 mensajes

Escrito 30 enero 2012 - 03:02

si sabes php pasate por exeoutput.com es lo que buscas.
  • 0

#12 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 30 enero 2012 - 03:03

Hola

... y ahora estoy interesado en aprender programación de lado al escritorio.


No se por que no se puso en la lista a Delphi o Lazarus  (del lado del escritorio ?????).

Me gustaría que me lo ordenasen por las siguientes características:


-Más fácil de aprender. = Delphi
-Más potente. = (muy potente)
-Mejor multiplataforma. = (pascal (lazarus)
-Relación dificultad/resultados. = 1/10

Saludos

  • 0

#13 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 30 enero 2012 - 03:38

No se por que no se puso en la lista a Delphi o Lazarus  (del lado del escritorio ?????).


Si, Caral tiene toda la razón, echaba de menos una intervención como la suya, y además, esta es una Comunidad muy de delphi... :)  (y)


Saludos.
  • 0

#14 jorgeu

jorgeu

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 179 mensajes
  • LocationMaracaibo

Escrito 31 enero 2012 - 10:07

Mi granito de arena por acá.

Tradicionalmente las aplicaciones de escritorio se escriben en C++ porque tienes acceso a los API nativos del sistema operativo. Bibliotecas como MFC, WinSock, Com, entre otras de Windows es lo más eficiente que puedes hacer en Windows.

Ahora, formar un programador C++ lleva mucho tiempo. Tanto C como C++ tienen el detalle de que si no sabes bien lo que está pasando los resultados pueden ser catastróficos.

Entonces acá el único de tus indicadores que está alto es "Potente".

Cuando combinamos C++ con Qt entonces agregamos portabilidad y cierta facilidad de uso. Pero aún así no nos escapamos a los 2 o 3 años mínimo para entrenar un buen programador C++.

Java no va al desktop. Descartado (y fijate que es mi especialidad pero su poder está del lado del servidor)

Ruby no es algo que comúnmente veas en aplicaciones de escritorio. Es más popular en aplicaciones Web debido al popular framework "Ruby on rails".

Delphi es fácil de usar, poderoso, relativamente fácil de aprender. El asunto acá es que si usas delphi el de embarcadero entonces estás atado a la VCL y sus componentes (muy buenos por cierto). Pero eso te resta portabilidad. Entonces está la alternativa Lazarus que es mucho más portable pero el IDE aún es inferior al de delphi. Pon en una balanza puesto que también está el detalle que lazarus es open source mientras delphi es un producto propietario.

Otra opción es Python. Está diseñado para que tu código luzca bien, sea entendible y sea fácil de mantener. Desde Python puedes usar bibliotecas gráficas como Qt que es multiplataforma y de muy buen desempeño. De verdad que lo consiedero una muy buena combinación. También está wxWidgets aunque es criticada por tener un API difícil de usar que emula MFC en ciertos aspectos. Otra es GTK+ que va muy bien en Linux puesto que es la más utilizada en ese SO. También ofrece versión para Windows y Mac así que no tendrías problemas en portar tu aplicación.

Algo a tomar en cuenta con Python es que no ofrece tan buen rendimiento como C++ o Java o Pascal. Fijate en estas pruebas de rendimiento http://bit.ly/zQrxfP. Y tu aplicación deberá de alguna manera distribuir el intérprete de Python tal como aplicaciones en Java deben distribuir la JVM.
  • 0

#15 jorgeu

jorgeu

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 179 mensajes
  • LocationMaracaibo

Escrito 31 enero 2012 - 10:20

Saber C/C++ te abrirá muchas puertas, como la de Java con una filosofía y sintaxis muy similar. Este si que es un lenguaje multiplataforma pues no es un lenguaje compilado 100% sino interpretado en la Maquina Virtual Java. Esta misma característica la compartes otros lenguajes interpretados, pero con esto se pierde eficiencia y rendimiento.


Falso

La máquina virtual Java utiliza un compilador que transforma los bytecode de nuestra app en código nativo para el procesador donde corre.

Tiene dos modos de ejecución: cliente y servidor.
El modo cliente arranca interpretando mientras el JIT (Just in time compiler) va compilando el bytecode a código nativo según vaya viendo que es necesario. Esto lo hace para permitir que la aplicación arranque más rápido. Eventualmente toda la applicación termina siendo compilada a código nativo.
El modo servidor en el arranque compila todo el bytecode a código nativo y luego lo deja correr. La idea es que las aplicaciones del lado del servidor pueden tardar en arrancar pero una vez en ejecución deben ser lo más rápidas posible.

Esto mismo lo hace .NET/Mono y ahora los intérpretes de Javascript en los navegadores populares.
  • 0

#16 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 31 enero 2012 - 11:08

Falso


No tan falso, tu lo has dicho...

En cualquiera de los dos casos la compilación inicial no es al 100% e de una o de la otra forma (interpretando en tiempo de ejecución o previa a esta) el rendimiento se merma de alguna forma, bien mientras ejecuta o en una demora en la carga de la aplicación.

Y saber C/C++ es una gran ayuda para introducirse en Java.


Saludos.
  • 0

#17 jorgeu

jorgeu

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 179 mensajes
  • LocationMaracaibo

Escrito 31 enero 2012 - 12:38


No tan falso, tu lo has dicho...

En cualquiera de los dos casos la compilación inicial no es al 100% e de una o de la otra forma (interpretando en tiempo de ejecución o previa a esta) el rendimiento se merma de alguna forma, bien mientras ejecuta o en una demora en la carga de la aplicación.

Y saber C/C++ es una gran ayuda para introducirse en Java.


Saludos.


Eso sí. Tarda en arrancar. Es por eso que no me parece una opción para aplicaciones de escritorio.
Pero del lado del servidor una vez que está corriendo es muy pero muy rápido.

Btw, yo recomiendo iniciarse en Java directo. La experiencia con C++ sólo ayuda en una parte de la sintaxis. Pero la parte de clases y objetos es muy pero muy diferente.
  • 0

#18 flash-back

flash-back

    Advanced Member

  • Miembros
  • PipPipPip
  • 62 mensajes

Escrito 31 enero 2012 - 12:44

¿Y cuál es mejor para aplicar en los 2 lados? Es decir que sea bueno tanto en escritorio como servidor.

Saludos.
  • 0

#19 javsolis3

javsolis3

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.380 mensajes
  • LocationPanama

Escrito 31 enero 2012 - 01:06

php amigo jejejejej
flash-back tambien te quiero informar que ya puedes colocar tu avatar.
  • 0

#20 flash-back

flash-back

    Advanced Member

  • Miembros
  • PipPipPip
  • 62 mensajes

Escrito 31 enero 2012 - 01:09

He oido que PHP no es bueno para el escritorio.

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.