Tema destacado:
Autor
|
Tema: mejor lenguaje para empezar en poo? (Leído 13,826 veces)
|
linux1
Desconectado
Mensajes: 138
|
hola amigos resulta que me voy a animar a aprender programacion orientada a objetos poo pero no se con que lenguaje comenzar... c++, java, vb .net, etc... ya programo en c aclaro que ya estuve viendo los conceptos de la poo herencia recursividad clases etc.... 
|
|
|
|
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Moderador
 
Desconectado
Mensajes: 2.710
Nie Dam Sie
|
C++, sin dudas. 
|
|
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
Lunfardo
Desconectado
Mensajes: 562
|
herencia recursividadclases etc....  La recursividad no tiene nada que ver con un objeto
|
|
|
|
|
En línea
|
|
|
|
|
Franki
|
Java o .NET sin duda.
|
|
|
|
|
En línea
|
|
|
|
Horricreu
Wiki
Desconectado
Mensajes: 290
¡La verdad os hará libres!
|
Si vienes de C, ¿por qué no C++  ?
|
|
|
|
« Última modificación: 27 Noviembre 2010, 15:20 por Horricreu »
|
En línea
|
|
|
|
|
Siuto
|
Si lo que queres aprender es el paradigna de la POO bien podes aprenderlo en C++ ya que sabiendo C pasar de un lenguaje al otro es muuuuy simple.
De todas formas yo te recomiendo C# o Java que aunque necesitas un poco mas de trabajo para entender viniendo de C son lenguajes de mas alto nivel y podes hacer aplicaciones con mucho menos esfuerzo y ambos poseen una sintaxis basada en C.
|
|
|
|
|
En línea
|
|
|
|
|
MazarD
|
Aunque cualquiera de los nombrados es bueno yo recomendaría c# o java, el hecho de que sean lenguajes orientados a objetos puros evitará que cometas algunos errores que podrías cometer en lenguajes multiparadigma como c++.
|
|
|
|
|
En línea
|
|
|
|
klaussius
Desconectado
Mensajes: 10
|
El camino del aprendizaje del programador que ha empezado a hacer cosas en C es ir de C a C++, y de C++ a Java y/o a C#...
...aunque con esto que Apple ha soltado de que no va a soportar Java estos días, no sé yo si sería mejor pasar de C++ a C# y dejar la otra opción aparcada (que no olvidada) para esos días...
|
|
|
|
|
En línea
|
Hazlo o no lo hagas, pero no lo intentes. (Yoda)
|
|
|
globsharp
Desconectado
Mensajes: 84
No me mires
|
Lo mejor para empezar es un lenguaje de Orientación a Objetos puro, yo te recomiendo Java, una vez aprendás bien la POO en Java te será mas sencillo entender las peculiaridades de otros lenguajes como C++
Una buena alternativa a Java como primera experiencia es C#, que viene a ser una mejora de Java pero cerrado a sistemas de Microsoft.
|
|
|
|
|
En línea
|
Duérmete
|
|
|
Littlehorse
All the world's a stage
Moderador
 
Desconectado
Mensajes: 2.710
Nie Dam Sie
|
Decir que un lenguaje es OO puro es nada mas ni nada menos que decir que el lenguaje lo es, y no de las posibilidades disponibles del propio lenguaje respecto de la orientación a objetos. C++ es multiparadigma y por supuesto eso le impide ser OO puro, pero eso no quita que se puedan implementar perfectamente todos los conceptos relacionados a la POO. Esto lo aclaro porque entre lineas se puede entender que C++ corre con una especie de desventaja por no ser OO puro, y eso desde mi punto de vista es incorrecto. Tomando el concepto que un lenguaje OO puro es mejor para aprender POO, entonces por que nadie aquí todavía menciono a SmallTalk o Ruby? Si un factor primordial es la salida laboral rápida, yo te recomendaría C# siempre que vaya acorde a tus objetivos, ya que tiene una curva de aprendizaje mas amigable que el resto, pero la verdad es que C++ es la mejor transición si venís de C. En cuanto a lo de si Java y C# son OO puros, la verdad es que si nos ponemos en detalle lo podemos discutir por un rato largo, pero me parece que seria marear mucho el tema principal. Solo dejo esto: Languages called "pure" OO languages, because everything in them is treated consistently as an object, from primitives such as characters and punctuation, all the way up to whole classes, prototypes, blocks, modules, etc. They were designed specifically to facilitate, even enforce, OO methods. Examples: Smalltalk, Eiffel, Ruby, JADE. Una buena alternativa a Java como primera experiencia es C#, que viene a ser una mejora de Java pero cerrado a sistemas de Microsoft. Si te leyese Leyer  . C# no es ni una mejora ni nada similar, son dos lenguajes distintos con sus ventajas y desventajas, y de hecho también existen proyectos como MonoSaludos! 
|
|
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
globsharp
Desconectado
Mensajes: 84
No me mires
|
Hola Littlehorse  No es que C++ cadezca de elementos de OO, pero sí lo encuentro mas complicado que Java para empezar a adentrarse en la POO, digamos que en Java creo que podría concentrarse mejor en la POO en sí sin tener que atender a la necesidad de programar destructores, gestionar la memoria dinámica y distraerse con los elementos no OO del lenguaje. Lo de que C# es una mejora de Java no lo podría haber expresado mas inadecuadamente, cierto, no es una mejora de Java, quise expresar que parece una mejora de Java dado a que está influenciado por Java y C++ pero corrigiendo algunas fallas o desventajas de Java, pero no está hecho sobre Java, es un lenguaje diferente influenciado por otros lenguajes, ciertamente. C# está cerrado a sistemas Windows, pero sé que una parte de .NET fue liberada y que el proyecto MONO aprovecha esto para dar compatibilidad de C# a otros sistemas, pero parte de .NET si no me equivoco sigue estando cerrado, y la compatibilidad que ofrece MONO es por tanto incompleta, hay que tenerlo en cuenta.
|
|
|
|
|
En línea
|
Duérmete
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.647
My software never has bugs. Its just features!
|
" una parte de .NET fue liberada y que el proyecto MONO aprovecha esto para dar compatibilidad de C# a otros sistemas," Falso  Mono no puede implementar ni una línea de código parecida a la de Microsoft, por la licencia de éste último. Mono es una implementación del CLR totalmente basada en el standard ECMA de C#. " la compatibilidad que ofrece MONO es por tanto incompleta" Falso  , la versión 2 y 3.5 están totalmente estables, lo único que no se va a hacer es WPF. y ya están trabajando en 4.0. Mono está tan bien desarrollado que tiene casi el mismo performance que Java en un Ubuntu. Un ejemplo de estabilidad son algunos juegos de EA que implementan mono dentro del core como lenguaje de scripting o la misma página de Mono está en Asp.net / Apache. Aportando al tema, C# aparte de como dice globsharp de estar influenciado (al principio) por Java y C++, también lo estuvo por Delphi ya que fue el mismo creador que lo diseñó. Aparte de eso, la OO en C# es superior a java, ya que en java si no me equivoco aún todo no hereda de Object. Aunque creo haber leído una noticia de que ya habían hecho esto. Con respecto a cual es mejor? pues C++ tiene algo que no tiene Java ni C#, herencia múltiple, y que si se trata con cuidado es algo muy poderoso. Para aprender POO no hace falta elegir uno, ya que con el que te sientas más cómodo aprenderás lo mismo en el mismo tiempo, son los mismo conceptos y no hay nada complicado ni oculto. Un saludo.
|
|
|
|
|
En línea
|
|
|
|
globsharp
Desconectado
Mensajes: 84
No me mires
|
Gracias por las rectificaciones, [D4N93R]  Solo un detalle, la herencia multiple no existe ni en Java ni en C# porque estos tienen soporte para interfaces.
|
|
|
|
|
En línea
|
Duérmete
|
|
|
linux1
Desconectado
Mensajes: 138
|
Para aprender POO no hace falta elegir uno, ya que con el que te sientas más cómodo aprenderás lo mismo en el mismo tiempo, son los mismo conceptos y no hay nada complicado ni oculto.
Un saludo.
tienes razon el problema es que trato de buscar los fundamentos de la poo y solo encuentro articulos relacionados con otros lenguajes java, c++, javascript... gracias por la ayuda creo que me voy a lanzar por java y asi mato dos pajaros de un tiro... ya que tambien me interesa el desarrollo para moviles...
|
|
|
|
|
En línea
|
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.647
My software never has bugs. Its just features!
|
Gracias por las rectificaciones, [D4N93R]  Solo un detalle, la herencia multiple no existe ni en Java ni en C# porque estos tienen soporte para interfaces. Nop, Las interfaces son para otra cosa. La herencia multiple no existe ni en Java ni en C# simplemente para evitar problemas como bases duplicadas y hace también que la implementación tenga más complejidad que puede tener impactos en casting, generics, acceso a campos, serialización, reflection, etc. Aunque es cierto que se puede resolver el uso de MI con interfaces, la existencia de las interfaces no son la causa de la inexistencia. Un saludo.!
|
|
|
|
|
En línea
|
|
|
|
|
|