¿El objetivo C es más difícil que Python?

Primero comencé a aprender a programar en Python. Es muy fácil de aprender y probablemente casi imposible de dominar. Pero eso se puede decir de casi cualquier idioma. Hice una parada rápida con Ruby, Perl, PHP y luego salté de cabeza a Objective-C.

Objective-C puede parecer aterrador y difícil, pero me parece más fácil que Swift en muchos aspectos. Me encanta la forma en que los nombres de los métodos pueden tener 4 o 5 líneas de largo. Puede mirar el nombre de un método en Objective-C y saber más o menos lo que hace y tener una buena idea de cómo va a hacerlo.

Python, he oído referirme como “pseudocódigo ejecutable”. Lo cual es casi cierto. Si quieres imprimir algo, escribes

imprimir “algo”
(En la versión 3 creo que tienes que incluir “algo” entre paréntesis como este

print (“algo”)

Sin embargo, por divertido que sea escribir en Python, y estoy de acuerdo con otra respuesta, perderá la noción del tiempo, no sé de una manera fácil de llevar un producto al mercado. Tengo ideas para aplicaciones, así que tuve que aprender la versión de Android de Java o aprender Objective-C. Ya tenía una Mac, un iPhone y ningún dispositivo Android, por lo que la elección fue bastante fácil para mí.

Hay tantos recursos para aprender Objective-C que nunca puedes visitarlos a todos, y ahora con Swift, tienes otro idioma (que sorprendente se parece mucho a Python en varios aspectos).

He creado un blog / sitio web para ayudar a seleccionar algunos de los recursos que he encontrado útiles para que otros que están aprendiendo el idioma no tengan que buscar por todas partes. Tengo una sección sobre herramientas, una sección sobre enlaces generales de iOS, y tengo más por venir. Incluso comencé un boletín semanal. El número 1 saldrá el viernes 20 de marzo, visite mi sitio y regístrese. Tal vez encuentre interesante algo de lo que tengo para compartir. Mi sitio es Darrell Nicholas, desarrollador de iOS y es solo para personas que comienzan y desarrolladores actuales. He estado en el juego durante 3 años. Todavía estoy aprendiendo todos los días. Estoy trabajando en mi segunda aplicación para la tienda de aplicaciones. Puede suscribirse a mi boletín gratuito en la página de registro semanal de Recursos / Aprendizaje tecnológico de iOS.

Sí lo es.

Python es un lenguaje de nivel extremadamente alto. Esto significa que las tareas simples son mucho más fáciles. Por ejemplo, al declarar una variable, generalmente es una línea en un archivo.

En el objetivo C, necesita un conocimiento bastante amplio de las clases y funciones de su llamado. Es decir; punteros Hay mucha más administración de memoria que desea escribir.

Python es un lenguaje para principiantes. Te tomará de la mano.

El objetivo C es C, pero orientado a objetos.
Es extremadamente similar a C y puede ser bastante confuso.

Te aconsejo que aprendas más python antes de sumergirte. Aprender c ++ te ayudará.

buena suerte

Como regla general, sí, es más difícil.

Sin embargo, a medida que pasa el tiempo, es posible que sea más fácil. Una oración:

Estática, explícitamente, los tipos declarados son tus amigos.

Pitón:

def getMenuItem(name):

pass

Obj-C:

- (NSMenuItem *) getMenuItem:(NSString *) name {

//blah

}

Sí, el código Obj-C tiene signos de puntuación en todas partes y parece un poco aterrador. Sin embargo, mira cómo todo está claro como el cristal. El método devuelve un puntero a un NSMenuItem y toma un puntero a un NSString como parámetro.

Python toma un tipo de parámetro desconocido, y puede o no devolver algo, no estamos seguros.

A medida que su proyecto crezca, olvidará lo que esos métodos de Python toman como parámetros, y olvidará lo que devuelven. Estáticamente, los tipos declarados explícitamente son el camino y la luz.

Objective-C no es mi lenguaje favorito, pero es básicamente una combinación de Smalltalk y C, que difícilmente puede ser algo malo.

Un excelente programador que conozco dijo: “El objetivo C es una escalada muy difícil, pero la vista desde la cima es increíble”, y creo que podría ser cierto. Es un lenguaje difícil, es complicado, es frustrante, pero es tremendamente poderoso. Tienes C allí, lo que básicamente significa que puedes hacer lo que quieras, y también tienes un buen lenguaje OOP, que hace que las cosas sean estructuradas y agradables de manejar. La sintaxis es muy extraña, pero no está exenta de encantos tampoco.

Realmente depende del nivel en el que estás escribiendo Python. La gramática C es más compleja, pero los patrones para lograr una implementación orientada a objetos son esencialmente los mismos.
Básicamente, necesitará aprender a especificar cosas como la administración de memoria que Python maneja implícitamente bajo el capó. Pero, si realmente has aprendido las profundidades de cómo funciona Python, no tendrás problemas. Si no ha aprendido sobre el funcionamiento interno de Python, comience allí y luego vaya al Objetivo C. Le resultará más familiar.

Curiosamente, encuentro que Python es difícil de leer.

Si tiene alguna experiencia con la familia de lenguajes C (C / C ++, Java, JavaScript), no tendrá dificultades para comprender los conceptos básicos de Obj-C.

El gran impacto es la sintaxis de definición de clase, que parece un poco extraña al principio, pero rápidamente tiene sentido, especialmente con la sintaxis moderna que Apple defiende ahora.

Una cosa bastante buena sobre obj-c es que conceptualmente, en lugar de llamar a una función miembro de un objeto, está enviando un mensaje a un objeto, que luego descubre cómo lidiar con el mensaje, esto permite algunas características dinámicas de tiempo de ejecución agradables.

se trata de elección personal.
Pero he observado que la programación de Python es divertida. aparte de Visual Basic, es el idioma más amigable con el inglés.
Python fue diseñado para ser fácil de aprender.
simplemente visite Code Academy o descargue los paquetes de dosel / anaconda y póngase a trabajar.
Debo advertirte que Python es muy adictivo y no notarás el tiempo cuando juegas con él.

Objective-C es realmente un preprocesador de OOP para C, que es muy diferente de Python, por lo tanto, es una comparación de manzana a naranja, en mi opinión.

More Interesting

Xcode: ¿Los probadores internos en iTunes Connect necesitan una cuenta de miembro de desarrollador de Apple antes de que puedan probar la aplicación?

¿Hay algún inconveniente en usar Node.js para crear API RESTful para aplicaciones de iPhone?

¿Cuál es el precio por desarrollar una aplicación de Android / iOS?

¿Está Apple realmente utilizando la inteligencia del dispositivo para la aplicación de fotos iOS 10? (Es decir, etiquetar e identificar cosas y hacer reconocimiento de imágenes)

Swift se puede compilar con el LLVM que genera el código Objective-C y luego Objective-C se compilará en código máquina o ¿cómo funciona?

Tengo una aplicación iOS alojada en un host privado que necesito transferir, ¿cómo puedo hacer esto?

¿Qué es lo más difícil en el desarrollo de una aplicación para iOS?

¿Qué lenguaje y / o marco me recomendaría usar si necesito desarrollar una aplicación? ¿Por qué?

¿Es la clase CS50 de Harvard más el libro 'C Programming The Absolute Beginner's Guide 3rd Edition' de Greg Perry un buen comienzo para aprender y eventualmente comenzar a desarrollar aplicaciones para iOS?

¿Cómo ayuda la campaña publicitaria (aplicación de iOS) a que una aplicación genere más ingresos?

¿Alguien puede proporcionar una comparación de los servicios de traducción en línea?

¿De qué manera influyó iOS en macOS?

¿Cómo reducir la curva de aprendizaje para mi aplicación? ¿Puedo agregar tutoriales en la aplicación para mi aplicación?

Quiero que mi iPhone cambie de color cuando lo agite. ¿Cómo implemento esto?

¿Por qué las personas usan controles personalizados en lugar de UIKit?