Objective-C

Iniciado por GeorgArming, 23 Enero 2012, 22:30 PM

0 Miembros y 2 Visitantes están viendo este tema.

GeorgArming

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.

armizh

Cita de: 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.
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.
Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Hamster

[Case]

Por cierto para Linux existen compiladores de Objetive-C. No solo es para MacOSX o iOS

armizh

Cita de: [Case] en 24 Enero 2012, 01:05 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
Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Hamster

GeorgArming

Entonces, para aplicaciones cuál es mejor? Y para programar un OS (C+C++ o C+Objective-C)?

[Case]

Cita de: 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)?

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.

armizh

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
Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Hamster

GeorgArming

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.

armizh

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
Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Hamster

GeorgArming

gracias por ayudarme, como siempre. por cierto, y cambiando levemente de tema:

Cita de: 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

entonces C++ no tiene ninguna desventaja?