objective c - siempre - Cómo aprender C y Objective-C
quiero ser delgada pero no puedo dejar de comer (22)
Además de los libros y sitios web que termine usando, puede considerar buscar en su área grupos de apoyo locales. Muchas áreas tienen un grupo de usuarios de Linux o un grupo para la programación de Java o Ruby. Los programadores profesionales usan estos grupos para ayudarse mutuamente con sus problemas de programación, pero los grupos son generalmente amigables con los jóvenes y los principiantes. No se sienta avergonzado o incómodo debido a su edad e inexperiencia. La mayoría de las personas admirarán tu iniciativa y curiosidad y estarán encantados de ayudarte cuando tengas problemas.
Estoy aprendiendo programación. Planeo aprender C y Objective-C este verano. Compré el libro C for Dummies pero es una completa pérdida de tiempo. ¡Son demasiadas páginas! ¿Hay algún buen libro que debería leer? ¿O debería simplemente aprender C de los sitios web? ¿Cuál sería la forma más rápida porque realmente quiero aprenderlo rápido y comenzar a aprender también Objective-C?
Gracias
Además, ¿cuánto tiempo se tarda en aprender C? Hasta que me muevo a Objective-C 2.0
Checkout out http://www.cprogramming.com/ o un libro de tipos en línea de K&R
Comencé a aprender a programar en Basic aproximadamente en 1981 cuando tenía 10. No muchos años después, era 6502 el ensamblaje para intentar obtener más velocidad de un clon de Apple IIe de 1 MHz.
Pascal fue una revelación en 1988 - programación sin números de línea.
Modula-2, C, Eiffel, Miranda, Haskel y Prolog en la universidad, así como secuencias de comandos en cualquier número de idiomas.
C ++ profesionalmente por cerca de 6 años.
C #, luego Java, Ruby, y ahora volvemos a C # durante los últimos 18 meses.
Python en algún lugar del camino.
Mi consejo es elegir el idioma que mejor se adapte al problema que necesita resolver hoy.
El primer problema que tiene es aprender lo básico, es decir, cómo descomponer un problema y expresarlo de manera clara y concisa. Le sugiero que elija otra opción que no sea C. Recomiendo Python ya que la documentación en línea es excelente y las bibliotecas son excelentes y pasará más tiempo escribiendo código interesante y menos tratando de averiguar por qué su código se detuvo debido a una falla de segmentación.
Cuando tenga los conceptos básicos en su haber, pruebe un poco de ensamblaje y aprenda qué está pasando bajo el capó. Si nada más, aprenderás qué tan rápido son las CPU realmente. C es un buen paso después de eso. También sugiero que pruebes Java o C # antes de Objective-C.
En cuanto a cuánto tiempo pasará antes de mudarse a Objective-C, realmente depende de su talento. Si eres realmente bueno, una vez que hayas aprendido tu tercer o cuarto idioma, podrás ser más productivo que la mayoría de los programadores dentro de las 6 semanas de comenzar un nuevo idioma (aunque cambien las familias de idiomas (es decir, imperativo, funcional, orientado a objetos) toma mas tiempo). Si no eres bueno, no esperes pasar el primero. Esperemos que llegues a la primera categoría.
Con otros, recomiendo altamente a Kernighan y Ritchie, quizás el mejor libro de idiomas que se haya escrito. También te recomiendo que te detengas y disfrutes: no seas ancho y superficial; Comienzo estrecho y profundo. Si te gusta la programación, querrás dominar el oficio en lugar de tener prisa. Este ensayo de Peter Norvig explica cómo no tener tanta prisa.
PS Comencé a programar a los 12 años con APL / 360. Me lo pasé genial y lo he estado haciendo desde entonces: 35 años y contando. Buena suerte y no olvides divertirte!
Creé un tutorial interactivo en línea de C, puedes comenzar a usarlo sin instalar un IDE.
Cuando estaba aprendiendo a programar en C, descubrí que la Programación C práctica era un buen recurso. Es un libro muy accesible con muchos ejemplos.
Cuando miro el título de esta pregunta, supongo que tienes 12.
Comencé a programar cuando tenía 13 años (ahora tengo 14).
Descubrí que el aprendizaje depende de qué clase de aprendiz eres!
Odio leer, tengo la capacidad de atención de una polilla y aprendo mejor de los videos. Por lo tanto, soy un "aprendiz visual". Trate de averiguar qué tipo de "aprendiz" es, luego hágalo de esa manera. Recuerda, la forma más fácil es la más rápida.
PD, aquí hay un pequeño consejo. Puede ser frustrante (asépticamente a nuestra edad). Si te sientes frustrado, simplemente bájalo durante unos 10 minutos. Luego regresa y haz una investigación sobre lo que estás aprendiendo. La programación se pondrá muy frustrante a veces.
EDITAR: Por cierto, me gusta aprender a través del video: p
De lejos, la mejor manera (y generalmente la más rápida) de aprender a programar es encontrar un buen mentor. Es más fácil decirlo que hacerlo. Pero creo que te sorprendería cuánta gente estaría dispuesta a ayudarte. Mi consejo sería simplemente no tengas miedo de preguntar.
Si yo fuera tú, encontraría un equipo local de robótica FIRST y vería si puedes pasar el rato con algunos de los códigos. Lo más probable es que esté trabajando en un problema similar y cuente con el apoyo de personas que tienen una experiencia decente. Eso es lo que habría hecho, de todos modos.
Diferentes personas tienen diferentes formas preferidas de aprendizaje. Puedes ver eso en la variedad de respuestas de arriba.
Entonces, ¿cómo te gusta aprender? ¿Te gusta sentarte solo con un libro y una computadora? ¿Te gusta sentarte en un aula y absorber el aprendizaje? ¿Prefieres ejercicios de set, o mini-proyectos?
Cuando aprendo nuevos lenguajes de programación, encuentro que me ayuda si tengo una aplicación pequeña o un problema en el que trabajar. Prefiero tener un problema para trabajar. Si tienes un pequeño proyecto propio que siempre quisiste hacer, úsalo. Si no, como sugirió alguien más arriba, únete a un grupo de robótica. Configurar una página web y escribir algunos programas para hacer cosas para eso. Busque en la web los desafíos de programación. Google tiene uno divertido cada año.
Si quieres una idea, escribe un programa de comprobación de sukoku. Luego, más tarde, escribe un solucionador de sudoku!
Me gusta usar una variedad de libros, en lugar de limitarme a uno o dos de los sugeridos anteriormente. Encuentra un libro cuyo estilo te guste. Pruebe algunos de la biblioteca hasta que encuentre uno o dos que realmente hagan clic para usted.
Personalmente, me gustan los libros de O''Reilly Publishing por su estilo hablador y legible. Aprendí C de Deitel, que es más un libro de texto de estilo de clase, pero tiene muchos ejemplos y puntos de discusión.
A medida que trabaje con ejemplos en su computadora, puede preguntarse cómo cambian las cosas si modifica el código. Aprendo mucho ejecutando primero el código de ejemplo sugerido en un texto, pero luego lo modifico para ver qué sucede. Si obtengo lo que espero, es una señal de que mi comprensión es bastante buena. Si obtengo algo inesperado, trato de descubrir cómo entendí mal lo que hice.
Una última sugerencia. ¿Por qué no empezar con Python en lugar de C? He oído que muchas escuelas están enseñando Python a sus hijos. Las razones por las que sugiero esto son:
Python es bastante fácil. No tienes que disponer la memoria, declarar variables y demás. No teneduría de libros tediosa.
Python te da un buen camino de crecimiento. Puede comenzar simplemente escribiendo programas de estilo de script, utilizando los tipos integrados como listas y diccionarios. Luego, avanza a usar nuevos módulos a medida que los necesita y avanza a la codificación orientada a objetos utilizando clases. También hay algunas funciones de programación funcional que puedes comenzar a aprender una vez que tengas bajo control la mecánica básica del lenguaje.
Me encanta visitar nuevas partes de python todo el tiempo.
Puedes hacer mucho en python. Viene con una gran cantidad de módulos integrados para hacer casi cualquier cosa que desee: correo electrónico, web, xml, gráficos, gui, etc.
:)
Echaría un vistazo al lenguaje de programación C (K&R C) . Tiene mucho menos de 1000 páginas y creo que valdrá la pena. Como dijo htw, los libros tienen un propósito en el sentido de que proporcionan un enfoque exhaustivo y estructurado. K&R C, en particular, le dará una visión real directamente de los creadores de C.
Eso no quiere decir que no debas buscar cosas en Google, leer código de código abierto, escribir pequeños programas de práctica, etc. Todo ayuda. Solo recuerda ser paciente. Hay mucho por ahí.
En mi opinión, la forma más rápida es aprender a través de sitios web.
- Establece un objetivo de lo que quieres hacer y comienza un proyecto simple
- En lugar de leer demasiados libros teóricamente, busca en Google lo que quieres saber para obtenerlo instantáneamente a medida que avanzas en tu proyecto. De esta manera obtendrás el conocimiento PRÁCTICO.
- También puede ver videos en línea. Vea mi pregunta en VIDEOS aquí
- Pregunta lo que no entiendas en . Estamos aquí para ayudar :)
Sigue estos pasos y puedo asegurarte que pronto serás un gran programador.
¡Aclamaciones!
He estado donde estás. No fue divertido Esto es lo que me salvó:
(Al parecer, los usuarios nuevos no pueden publicar hipervínculos, así que busque "steve summit C" en google, use el primer o el tercer enlace y luego haga clic en "notas introductorias de programación en C")
Es una clase C de un chico llamado Steve Summit. Súper fácil de seguir, mucho más fácil que K&R, imo. Además, es gratis, y no hay anuncios. Me encantó. Es como aprendí C. Espero que haga lo mismo por ti.
Honestamente, aprendí Java como mi primer lenguaje de programación (lo descubrí en la escuela secundaria y decidí que la programación era divertida y era lo que quería hacer)
Acabo de aprender Obj-C en unas pocas semanas, leyendo un poco de algunos libros, pero no de un libro completo, y uso mucho Internet si no puedo entender la sintaxis (formato / gramática de cómo funciona el programa). debe ser estructurado y escrito) para algo etc.
La rapidez con la que puede aprender un idioma depende de lo mucho que entienda los fundamentos de la programación. Solo mejorarás con el tiempo y la práctica.
Si puede comprender los fundamentos de la programación en general, entonces debería poder aplicarlo a cualquier idioma, la parte difícil es aprender y recordar la sintaxis de los diferentes idiomas. Al igual que en Java, no tiene que hacer asignaciones de memoria, pero en C, C ++ y Obj-C lo hace. Nunca he escrito un programa en C o C ++, pero ahora que aprendí y escribí algunos programas en Obj-C (he estado haciendo cosas para iPhone, es divertido) Estoy seguro de que podría aprender C y C ++ como si no fuera nada
No tienes que aprender C primero para aprender Obj-C es lo que estoy tratando de decir. Pero nunca hace daño conocer múltiples idiomas.
Se trata de su nivel de comprensión de cómo funciona un programa, cómo estructurar uno. Me encanta el objetivo-C porque está orientado a objetos como Java, por lo que me fue más fácil de entender y aprender rápidamente, solo tuve que acostumbrarme a algunas de las diferencias de sintaxis.
(También me estoy acercando a graduarme de la universidad ahora, así que estoy rodeado de cosas de programación, desde lenguajes de procedimiento como ada a objetos orientados como java, y saber lo esencial que hay detrás de escena que hace que un programa funcione, así que entender y aprender un nuevo idioma se ha vuelto mucho más fácil para mí, empiezas a ver cómo se relacionan y no se relacionan, y es genial.
Es genial que estés empezando tan joven. Estoy seguro de que te darás cuenta de esto rápidamente, y si es algo que realmente disfrutas, será aún más fácil.
¡Buena suerte! ¡y divertirse! la programación puede ser tan frustrante ... por ejemplo, pasar 3 horas depurando cuando descubres que se debe a que si la instrucción usó más que en lugar de más o igual o algo así. pero, una vez que haya terminado con el programa, es muy gratificante, y luego solo quiere hacerlo mejor y mejor jaja.
No sé si esto ayudó, espero que lo hiciera, de alguna manera ...
=)
La Universidad de Stanford publica en línea las conferencias, notas de clase y tareas para CS193P (una clase de desarrollo de iPhone). Si no sabes nada de C o de Objective-C, podría ser difícil, pero te lo recomiendo si tienes la intención de desarrollar un iPhone.
Creo que he leído todos los libros de Cocoa y Objective-C que hay por ahí, y la mayoría disfruté la Programación de Cocoa de Aaron Hillegass para Mac OS X.
La forma en que aprendí más rápido fue ver videos cortos de tutoriales.
No hay nada tan educativo como una pieza de código que puedas ejecutar y modificar. Los ejemplos de código en los libros pueden ser realmente insulsos y no muy aplicables. La excepción a esta regla fue el libro de cocina de Perl, que está repleto de pequeños fragmentos realmente útiles para tus programas de Perl.
Los temas (o "expresiones idiomáticas") eran tan útiles y aplicables en todos los idiomas que algunas personas inteligentes han decidido replicarlos en diferentes idiomas. Cada uno tiene un nivel de integridad variado, pero es interesante ver cómo los diferentes idiomas hacen las mismas cosas.
Echa un vistazo aquí http://pleac.sourceforge.net/ para obtener información de programación sobre la que puedes agitar un palo. Por lo menos es interesante ver cómo las cosas simples escritas en un idioma requieren resmas de código en otro.
Si comenzara a aprender a programar de nuevo, probablemente escogería algo fácil y perdonador, un lenguaje dinámico, como Python, Ruby, etc. Una vez que se familiarice con lo básico en uno de estos (control de flujo, estructuras de datos, etc.), hará que el aprendizaje C / Objective-C mucho más fácil. También descubrirá que querrá escribir herramientas y scripts de una sola vez para ayudarlo en su desarrollo de Objective-C que sería tedioso y lento escribir en C, pero son una cuestión de líneas en un lenguaje moderno y dinámico. Nunca duele tener otra herramienta en tu cinturón.
Buena suerte
No seas impaciente; Tome su tiempo. Sigue los tutoriales, analiza fragmentos cortos de código y entenderás el idioma. Lo más importante, escriba el código usted mismo y aprenda de sus errores / errores.
Y sigue ;)
Para aprender C, recomiendo Learn C en Mac , por Dave Mark. No solo está dirigido a principiantes, sino que también le enseña mucho sobre los fundamentos importantes de la programación y la informática (por ejemplo, estructuras de datos, recursión, etc.). Es muy accesible, está bien escrito y es fácil de leer. Además, encontré los ejemplos interesantes e interesantes para trabajar. Después de eso, si realmente desea consolidar sus bases en C, le recomiendo que intente pasar al lenguaje de programación C. Es un libro desafiante, así que tómalo lentamente. Si te encuentras con demasiados problemas, diría que puedes saltarte a Objective-C y luego volver al Lenguaje de programación C una vez que te hayas familiarizado con la programación en general.
Probablemente mucha gente recomendará The C Programming Language (también conocido como "K&R") como su primer libro para leer en C. No hay duda de que es un libro en C muy bien escrito (y también es breve, solo alrededor de 200 páginas), pero Yo diría que sería un poco intimidante como la primera exposición de un niño de 12 años a C: es bastante denso y duro. Se puede decir que definitivamente está dirigido a un público mayor con una sólida formación en informática / ingeniería. Pero, sin embargo, si ya conoce los conceptos básicos de la programación, leer K&R le brindará un conocimiento y una comprensión invaluables de C. Definitivamente, debería leerlo en algún momento de sus esfuerzos de programación.
De todos modos, para Objective-C, si solo hay un libro que pueda recomendar, definitivamente sería Cocoa Programming para Mac OS X , de Aaron Hillegass. Realmente no es tan largo (~ 400 páginas más o menos, aunque creo que gran parte de eso se debe a la cantidad de ilustraciones en el libro), y puedes tener algunos proyectos bastante buenos en funcionamiento en una tarde. Es muy claro y fácil de leer, los ejemplos son prácticos e interesantes de seguir, pero lo más importante es que tiene la combinación correcta de no ser demasiado intimidante y aún así proporcionarle información sólida. Además, le enseñará algo más que Objective-C: descubrí que había aprendido algunos patrones de diseño muy útiles, por ejemplo, al aprender cómo funcionaban algunos de los componentes de Cocoa.
Si desea aprender Objectif-C para crear una aplicación para iPhone, no pierda su tiempo en C y aprenda Objectif-C ahora, luego un libro sobre programación de iPhone. Tendrá más de 1000 páginas, pero si desea programar en su vida, tiene que estar acostumbrado a leer este tipo de libros.
Si realmente quieres comenzar con C, empezaré leyendo los primeros tres capítulos de C para Dummies, solo para tener una idea de cómo funciona el idioma. Después de eso, recomiendo ir a través de tutoriales web. Los buenos tutoriales web tendrán un código corto que explica funciones específicas, y similares.
A los 13 años, sin embargo, recomiendo comenzar con PHP. Es un lenguaje más sencillo de aprender que C, pero está basado en C, por lo que no será difícil hacer la transición, siempre que lo hagas.
Suponiendo que tenga conocimientos básicos de programación, Cocoa Dev Central tiene una serie de artículos que explican C básico y luego Objective-C, de una manera algo menos que 1000 páginas.
Aprende C para Cocoa , luego Aprende Objective-C
No debería tardar ni una hora en pasar. Los artículos no cubren nada remotamente avanzado, pero si estás aprendiendo ObjC para escribir aplicaciones OS X, el bit ObjC es básicamente trivial, ¡es Cocoa lo que es difícil de aprender!
No hay necesidad de apresurarse. Aprenda a su propio ritmo y encuentre su forma óptima de aprendizaje.
Si lo tuyo es leer, entonces intenta leer algunos libros y tómalo lentamente.
Si encuentras un concepto que comprendes, practica. Si encuentras un concepto que no entiendes, experimenta. Una vez que crea que comprende el concepto, intente volver a leer el material para ver si lo entiende la segunda vez.
Descubrí que no era muy bueno aprendiendo a través de los libros; en general, tenía que empezar por primera vez con lecciones estructuradas en un aula. Un curso de un semestre en un colegio comunitario en Java fue capaz de empujar en la dirección de poder comenzar efectivamente a aprender por mi cuenta. Vea si hay cursos de programación ofrecidos en su escuela.
(Aunque a tu edad puede ser un poco difícil de encontrar (no recibí ninguna clase formal hasta la universidad comunitaria), mi escuela secundaria no ofreció ningún curso de programación).
Una de las cosas de las que hay que tener cuidado es aprender de forma incorrecta.
Correr a través del material, o leer mal escrito, material de aprendizaje inexacto puede conducir a una situación en la que tendrá que "desaprender" los conceptos y volver a aprenderlos de la manera correcta.
En ese sentido, el libro K&R ( The C Programming Language de Kernighan y Ritchie) sería la "manera correcta" de aprender, pero no es un libro muy accesible. Eso no quiere decir que sea el libro definitivo sobre C, pero incluso después de programar en C durante un par de años, todavía trato de leerlo un poco a la vez.
Pero, de nuevo, realmente no puedo pensar en otras "excelentes" fuentes para aprender C. Mi recomendación sería echar un vistazo a K&R y trabajar unas pocas páginas a la vez. No piense en leerlo como un libro normal; lea una sección, pruébelo. Hazlo poco a poco. Una vez más, no se apresure. Trabaja a tu propia velocidad.
Y asegúrese de escribir el código. Sin verlo funcionar, va a ser difícil aprender a programar. Y no tenga grandes expectativas al principio, ya que la mayor parte del aprendizaje de C al principio involucrará programas que solo se ocupan del texto.
Una vez que aprendas a manejar las cosas, trata de escribir un código limpio que otros puedan leer, eso debería ser una motivación para escribir un código limpio y claro, y te obligará a pensar más en lo que estás haciendo.
Va a ser una larga aventura, así que dé un paso a la vez. ¡Buena suerte!