Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: GeorgArming en 23 Enero 2012, 22:30 pm



Título: Objective-C
Publicado por: GeorgArming en 23 Enero 2012, 22:30 pm
Son dudas simplemente por curiosidad, pero no hay mucha documentación sobre este lenguaje y por esto os pregunto.

1-Objective-C para qué se usa, más o menos (sé que se hacen apps para iOS y algo de MacOS, pero esto significa que solamente se utiliza para hacer appas)? Cuáles son sus puntos fuertes?
2-Qué se sabe de Objective-C++? Va a desbancar a Objective-C?
3-Qué es mejor, Objective-C o C++? O mejor preguntado, qué hace mejor Objective-C que C++ y a la inversa?
4-MacOS X está programado en C, C++ y Objective-C. Más o menos, para qué se utiliza cada uno en este OS?


Muchas gracias.


Título: Re: Objective-C
Publicado por: armizh en 24 Enero 2012, 00:38 am
Son dudas simplemente por curiosidad, pero no hay mucha documentación sobre este lenguaje y por esto os pregunto.

1-Objective-C para qué se usa, más o menos (sé que se hacen apps para iOS y algo de MacOS, pero esto significa que solamente se utiliza para hacer appas)? Cuáles son sus puntos fuertes?
2-Qué se sabe de Objective-C++? Va a desbancar a Objective-C?
3-Qué es mejor, Objective-C o C++? O mejor preguntado, qué hace mejor Objective-C que C++ y a la inversa?
4-MacOS X está programado en C, C++ y Objective-C. Más o menos, para qué se utiliza cada uno en este OS?


Muchas gracias.
1. Objective-C se usa para lo mismo que se usa C/C++ aplicaciones de escritorio y el añadido de Mac/iOS.
2. Objective-C++ es un proyecto derivado, no desbancara a Objective-C al igual que C++ no ha desbancado a C.
3. La verdad es que son similares, son dos proyectos derivados de C que aparecieron casi al mismo tiempo. Son dos formas distintas de expandir C mediante la POO. Como referencia se puede decir que Objective-C es de POO mas "puro" que C++, es decir, que esta mas acercado a la POO.
4. Pues... no sabria decirte ya que Mac OSX es principalmente codigo cerrado, y buee supongo que sabes que si fuese codigo abierto ya lo tendria en mi PC y me encontraria analizandolo no? jeje xd
Espero que sea lo que esperabas
Saludos.


Título: Re: Objective-C
Publicado por: [Case] en 24 Enero 2012, 01:05 am
Por cierto para Linux existen compiladores de Objetive-C. No solo es para MacOSX o iOS


Título: Re: Objective-C
Publicado por: armizh en 24 Enero 2012, 01:17 am
Por cierto para Linux existen compiladores de Objetive-C. No solo es para MacOSX o iOS
Si, si no me equivoco esta incluido dentro de los paquetes de GCC o del core, no estoy seguro.
Saludos


Título: Re: Objective-C
Publicado por: GeorgArming en 24 Enero 2012, 14:47 pm
Entonces, para aplicaciones cuál es mejor? Y para programar un OS (C+C++ o C+Objective-C)?


Título: Re: Objective-C
Publicado por: [Case] en 24 Enero 2012, 15:54 pm
Entonces, para aplicaciones cuál es mejor? Y para programar un OS (C+C++ o C+Objective-C)?

No existe uno mejor que el otro, los dos son muy usados hoy en día.

Para programar un OS con C y ASM, para aplicaciones cualquier lenguaje es bueno.


Título: Re: Objective-C
Publicado por: armizh en 24 Enero 2012, 21:53 pm
Mira, si estas acostumbrado a C no te sera facil ocupar ni C++ ni Objective-C, ya que si bien tienen la sintaxis similar, las sentencias son totalmente diferentes, aunque en ambos puedes programar como si fuese C común, al menos las veces que he hecho aplicaciones en C++ escribo gran parte al estilo C  ;D
Saludos


Título: Re: Objective-C
Publicado por: GeorgArming en 25 Enero 2012, 16:19 pm
Pero, aunque no se puede decir "X lenguaje es mejor que otro", sí que se puede decir "para tal y tal, X lenguaje es mejor que otro". podrías explicarme un poco ventajas/desventajas de uno y otro?

Muchas gracias.


Título: Re: Objective-C
Publicado por: armizh en 25 Enero 2012, 19:06 pm
Bueno, como sabes, C es un lenguaje de bajo nivel si bien se acerca bastante a los de alto nivel. C esta orientado a estructuras por lo que se pueden crear facilmente controladores y sistemas operativos. C++ es multiparadigma por lo que vale tanto para controladores, sistemas operativos y programas de usuario final, ademas de proveer retrocompatibilidad con C. Y finalmente Objective-C es basicamente para lo mismo que C++, pero en vez de ser una evolucion mas natural de C, esta inspirado en Smalltalk.
Entonces, los tres sirven para sistemas operativos, para controladores y usuarios finales. La diferencia reside en el paradigma. C es orientado a estructuras, C++ provee funcionalidades de  mas de 3 paradigmas y Objective-C es orientado a estructuras y objetos (tal vez mas que C++).
Ventajas: Basicamente todos tienen las mismas ventajas.
- C/C++/Objective-C: Potencia, eficacia, sintaxis limpia y facil de aprender, funcionalidades de muy bajo nivel.
Desventajas:
- C: Limitado a la programacion orientada a estructuras.
- C++: Si no usas la POO no da ninguna ventaja adicional a C.
- Objective-C: La sintaxis es algo mas distinta que la de C++. Esta inspirada en Smalltalk (usa unos @ y no entiendo la razon) Si bien puedes utilizar la sintaxis de C.
Como resumen, se puede decir que dependiendo del paradigma que utilices, sera mejor uno u otro. Si usas la programacion orientada a estructuras cualquiera te vale ya que C++ y Objective-C permiten mezclarse con C.
Saludos


Título: Re: Objective-C
Publicado por: GeorgArming en 25 Enero 2012, 20:58 pm
gracias por ayudarme, como siempre. por cierto, y cambiando levemente de tema:

Bueno, como sabes, C es un lenguaje de bajo nivel si bien se acerca bastante a los de alto nivel. C esta orientado a estructuras por lo que se pueden crear facilmente controladores y sistemas operativos. C++ es multiparadigma por lo que vale tanto para controladores, sistemas operativos y programas de usuario final, ademas de proveer retrocompatibilidad con C. Y finalmente Objective-C es basicamente para lo mismo que C++, pero en vez de ser una evolucion mas natural de C, esta inspirado en Smalltalk.
Entonces, los tres sirven para sistemas operativos, para controladores y usuarios finales. La diferencia reside en el paradigma. C es orientado a estructuras, C++ provee funcionalidades de  mas de 3 paradigmas y Objective-C es orientado a estructuras y objetos (tal vez mas que C++).
Ventajas: Basicamente todos tienen las mismas ventajas.
- C/C++/Objective-C: Potencia, eficacia, sintaxis limpia y facil de aprender, funcionalidades de muy bajo nivel.
Desventajas:
- C: Limitado a la programacion orientada a estructuras.
- C++: Si no usas la POO no da ninguna ventaja adicional a C.
- Objective-C: La sintaxis es algo mas distinta que la de C++. Esta inspirada en Smalltalk (usa unos @ y no entiendo la razon) Si bien puedes utilizar la sintaxis de C.
Como resumen, se puede decir que dependiendo del paradigma que utilices, sera mejor uno u otro. Si usas la programacion orientada a estructuras cualquiera te vale ya que C++ y Objective-C permiten mezclarse con C.
Saludos

entonces C++ no tiene ninguna desventaja?


Título: Re: Objective-C
Publicado por: armizh en 25 Enero 2012, 21:24 pm
gracias por ayudarme, como siempre. por cierto, y cambiando levemente de tema:

entonces C++ no tiene ninguna desventaja?
Bueno, se puede decir que como desventaja esta el hecho de que si estas acostumbrado a C, encontraras algo extraño el abuso de ciertos signos. La sintaxis es algo distinta a la de C y almenos a mi me cuesta mucho cambiar de C a C++. Es por eso que me quedo en C.
Saludos