Autor
|
Tema: mejor lenguaje para empezar en poo? (Leído 56,698 veces)
|
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.646
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.646
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
|
|
|
|
Littlehorse
All the world's a stage
Colaborador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Exacto, uno de los objetivos de ambos lenguajes es mantener la simplicidad a toda costa, y la herencia múltiple adiciona demasiada complejidad. Por esa misma razón, Java tampoco permite la sobrecarga de operadores. 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... En las referencias de wikipedia tenes varios: - chach, Stephen (2006). Object-Oriented and Classical Software Engineering, Seventh Edition. McGraw-Hill. ISBN 0-073-19126-4.
- Abadi, Martin; Luca Cardelli (1998). A Theory of Objects. Springer Verlag. ISBN 0-387-94775-2.
- Abelson, Harold; Gerald Jay Sussman, (1997). Structure and Interpretation of Computer Programs. MIT Press. ISBN 0-262-01153-0.
- Armstrong, Deborah J. (February 2006). "The Quarks of Object-Oriented Development". Communications of the ACM 49 (2): 123–128. doi:10.1145/1113034.1113040. ISSN 0001-0782. http://portal.acm.org/citation.cfm?id=1113040. Retrieved 2006-08-08.
- Booch, Grady (1997). Object-Oriented Analysis and Design with Applications. Addison-Wesley. ISBN 0-8053-5340-2.
- Eeles, Peter; Oliver Sims (1998). Building Business Objects. John Wiley & Sons. ISBN 0-471-19176-0.
- Gamma, Erich; Richard Helm, Ralph Johnson, John Vlissides (1995). Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley. ISBN 0-201-63361-2.
- Harmon, Paul; William Morrissey (1996). The Object Technology Casebook - Lessons from Award-Winning Business Applications. John Wiley & Sons. ISBN 0-471-14717-6.
- Jacobson, Ivar (1992). Object-Oriented Software Engineering: A Use Case-Driven Approach. Addison-Wesley. ISBN 0-201-54435-0.
- Kay, Alan. The Early History of Smalltalk. http://gagne.homedns.org/%7etgagne/contrib/EarlyHistoryST.html.
- Meyer, Bertrand (1997). Object-Oriented Software Construction. Prentice Hall. ISBN 0-13-629155-4.
- Rumbaugh, James; Michael Blaha, William Premerlani, Frederick Eddy, William Lorensen (1991). Object-Oriented Modeling and Design. Prentice Hall. ISBN 0-13-629841-9.
- Taylor, David A. (1992). Object-Oriented Information Systems - Planning and Implementation. John Wiley & Sons. ISBN 0-471-54364-0.
- Schreiner, Axel-Tobias (1993). Object oriented programming with ANSI-C. Hanser. ISBN 3-446-17426-5. http://hdl.handle.net/1850/8544.
Saludos
|
|
|
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
|
Ah gracias a los dos por las aclaraciones, da gusto leerles.
|
|
|
En línea
|
Duérmete
|
|
|
MazarD
|
Ya no viene muy a cuento pero me quedé con las ganas de responder. xD
El problema de aprender orientación a objetos en C++ no es que no puedas hacerlo, es que abarcas un rango de posibilidades "no adecuadas" en OO que no serían posibles en c# o java, otro punto es la sintaxis, que en estos dos últimos lenguajes es más explicita. Está claro que se puede aprender en C++ pero seguramente no será el mejor para aprender.
El hecho de que puedas declarar funciones y variables fuera de una clase en C++ y no en java o c#, el que no puedas crear structs en java (o en c# debas especificar el acceso), el tener que especificar abstract para crear clases abstractas tanto en c# como en java y no en c++, etc etc etc hacen que sea mejor para aprender unos que el otro. Aunque ruby, eiffel y demás puedan ser igual o más válidos (personalmente no he tenido la oportunidad de probarlos) de lejos no tendrán la documentación o comunidad de desarrolladores que tiene java, c# o c++.
Saludos!
|
|
|
En línea
|
-Learn as if you were to live forever, live as if you were to die tomorrow- http://www.mazard.infoirc://irc.freenode.org/elhacker.net
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.646
My software never has bugs. Its just features!
|
Buen post MazarD, Sí, yo creo que tomando en cuenta lo que expones si sea un poco más adecuado Java o C# en un principio, pero dada la sintaxis no creo que sea poblema por ejemplo saltar de C# a Java, o Java a C++. Se pueden a prender los 3 sin ningún problema, obviamente cada uno tiene lo suyo, pero creo que es la mejor opción a la hora de elegir uno. Yo mismo primero con Java que con .net, y primero fue Atari Basic y luego VB5, aunque estuve muchos años con la sintaxis de Basic, (incluso VB.net) , yo mismo decía que esos {} no me gustaban, pero la verdad es que es muy diferente a la hora de programar y leer código. Por lo mismo digo de nuevo, pruébalos
|
|
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Colaborador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
@Mazard Yo aclare el tema de las posibilidades en C++ porque en los posts anteriores se podía entender entre lineas que en C++ no se podía utilizar POO perfectamente. Mas allá de que sabia que no era eso lo que quisiste decir, es como que flotaba esa idea. De Eiffel yo solo conozco la torre , lo mencione porque la conclusión era que para aprender POO lo mejor es un lenguaje OO puro, sin embargo ningún lenguaje OO puro había sido mencionado. De hecho, no recomiendo aprender ni Eiffel, ni Smalltalk, ya que no considero que aporten nada para aprender ni C++, ni Java, ni C#. Lo importante para aprender POO es que el lenguaje soporte el paradigma completamente y nada mas. En cuanto al resto, estoy de acuerdo a medias por el hecho que el usuario viene de C, por lo tanto esta claro que tiene que saber reconocer los elementos de estructurada a la hora de meterse con C++. Otra historia es cuando C++ es el primer lenguaje, se tarda un tiempo en dejar la estructurada y se tarda otro tiempo mas en programar orientado a objetos en lugar de basado en objetos. En ese caso si estaría de acuerdo con lo ultimo que dijiste. Saludos!
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Lenguaje para empezar a programar...
« 1 2 »
Dudas Generales
|
Elhodar
|
12
|
10,294
|
24 Septiembre 2010, 20:08 pm
por linux1
|
|
|
¿Cuál lenguaje de programación me recomiendan para empezar desde 0?
« 1 2 »
Programación General
|
avmiitxe
|
16
|
11,119
|
10 Noviembre 2010, 00:57 am
por Uxio
|
|
|
Cual es mejor lenguaje para empezar en la programación?
« 1 2 »
Programación General
|
5eth
|
17
|
16,020
|
6 Diciembre 2010, 19:09 pm
por .:Weeds:.
|
|
|
El mejor manual para iniciar en lenguaje de programacio C++
Programación C/C++
|
N-635766-A
|
3
|
11,212
|
5 Julio 2011, 10:47 am
por 4rkn63l
|
|
|
Que lenguaje me recomendais para empezar?
« 1 2 »
Dudas Generales
|
Suominon
|
12
|
6,404
|
23 Mayo 2017, 09:41 am
por Orubatosu
|
|