¿Cuánto tiempo por día debo pasar aprendiendo C (mi primer lenguaje de programación)?

Dado que este es su primer idioma, recomendaría Java. Definitivamente es más fácil de leer y lo encontrará más indulgente ya que esta será su primera inmersión en un lenguaje de programación.

Además, la recta C es de procedimiento y no está orientada a objetos (OO). Si comienza hoy, me sumergiría directamente en un lenguaje OO y evitaría el cambio mental que tuvimos que atravesar los veteranos.

Respecto al tiempo que pasa cada día:

Esto sirve para aprender un idioma y prácticamente cualquier cosa que desees practicar. Es CALIDAD sobre CANTIDAD. La cantidad de tiempo que pasa leyendo ejemplos de códigos de idioma es probablemente menos valiosa que HACER el idioma. Recuerde, usted absolutamente, positivamente, sin excusa, tiene que escribir, compilar y ejecutar los ejemplos que lee. Los errores que inevitablemente creará serán las pepitas de oro del conocimiento que se quedarán con usted en su carrera. Una vez que domine algunos conceptos, invente algo (no importa cuán simple) escriba por su cuenta. Un lienzo en blanco es engañosamente simple. En mi experiencia, los profesionales con los que he trabajado que construyen “sus propios proyectos” son órdenes de magnitud más competentes que los demás.

¡Buena suerte! Espero que esto ayude y feliz codificación! Hay tanto que cambiará en los próximos años.

Respuesta corta

Si su objetivo final es “Quiero ser excelente en C”, entonces solo programe con la mayor frecuencia posible y lea lo suficiente para que pueda probar cosas nuevas sin leer tanto que no sepa cómo implementar / saber lo que hace ‘ re usar.

Respuesta larga

No creo que nadie pueda responder esto por ti. En lo que debe centrarse es en cuál es la mejor manera de pasar mi tiempo aprendiendo sobre {subject}, en este caso, la programación en C. No discutamos tanto el tema de “es C un buen lenguaje de programación para aprender primero”, sino más bien, ¿cómo se debe pasar el tiempo tratando de aprender un lenguaje de programación?

Pase más tiempo programando que leyendo sobre ello. Cuando te quedes atascado, regresa y lee algo. Lee más recursos. Lee sobre otra cosa. Prueba un enfoque diferente. Consulta más recursos. Pedir ayuda. Llamar a un amigo. Si todavía está atascado, tome un descanso, tome una caca ‘, deje que se cocine (el programa, no la caca) hasta que pueda envolver su cabeza. Vuelva a ello más tarde, si necesita hacerlo.

¡Una buena cosa es que C tiene un número relativamente bajo de palabras clave! 32, si la memoria sirve. ¡Eso no está tan mal!

estructura auto doble int
romper otro interruptor largo
caso enum registro typedef
char extern return union
const flotador corto sin signo
continuar por vacío firmado
tamaño de goto predeterminado de volátil
hacer si estático mientras

Su capacidad personal y capacidad de atención serán más importantes que lo que alguien le dice que puede manejar. Mi primer bachillerato fue en negocios, y estudié muy poco para la escuela y saqué buenas calificaciones. Sin embargo, estudié mucho cuando lo necesitaba. Podría (y aún puedo) estudiar durante más de 12 horas en un solo día y no sentirme fatigado. Tengo un 4.0. Era bueno estudiando y pasé menos tiempo estudiando y más tiempo pensando en cómo encajaba algo, o jugando a World of Warcraft (seamos honestos aquí, fue hace un tiempo que obtuve mi primer título y cierto MMO todavía era nuevo) entonces).

Otros que conocía en la universidad NO podían hacer esto de manera efectiva. Gente inteligente, gente mejor en muchas cosas en las que no soy bueno. Es posible que puedan abarrotar y enjuagarse, pero personalmente necesito pasar menos tiempo abarrotando y realmente no termino perdiendo la información tan rápido como los demás. Incluso las cosas que crees que olvidas pueden volver a ti … ¡Te estoy mirando, cálculo! Entonces la respuesta para * yo * es, estudio cada momento que no estoy trabajando en mi trabajo o pasando tiempo con mi familia o cuidando de mí mismo.

Mi horario (aproximado), en un día ideal:

  • 60 minutos en el tren al trabajo
  • 60 minutos en el tren a casa
  • 60 minutos en mi almuerzo
  • 180 minutos, aproximadamente, por noche
  • 60-120 minutos en el trabajo pensando o haciendo algo con un lenguaje de programación o algoritmo entre mis deberes laborales normales

Yo diría que tengo al menos 6 a 8 horas al día estudiando informática. Trato de hacer MUCHO de eso REALMENTE HACIENDO COSAS o resolviendo algún problema para poder mejorar en la resolución de problemas más rápido. Pero si toco un tema que no está “haciendo clic” de inmediato, o no puedo hacer un algoritmo para sortear algún obstáculo, me aseguro de estudiar otro tema o hacer algo relacionado de manera tangencial. Voy a leer “Código completo” durante 30 minutos en su lugar. Estudio otro dominio, como JavaScript o algoritmos o estructuras de datos o “¿qué es un desarrollador de pila completa?” o “cómo obtener una entrevista de codificación” para saber qué necesitaré aprender más tarde y qué es lo que más quiero conservar.

Básicamente, estoy tratando de entrenar mi mente para absorber tanto sobre el dominio del problema (Computer Science, para mí). Incluso si algo no está directamente relacionado con “escribir código en C” no significa que no sería útil para mí escribir código en C.

Estoy construyendo un mapa mental de “lo que no sé” para poder decidir qué aprender a continuación y a qué debo o no prestarle atención.

Puede pasar todo el tiempo excepto sus actividades necesarias como dormir, comer, etc. Si está cansado, camine, regrese y hágalo. Si te aburres, toma algunos pequeños problemas que ya has hecho, hazlo una vez más. La programación en C tiene que ver con la práctica.

Durante los días escolares, si vas con tus amigos a jugar, cuánto tiempo jugarás. Puedes ver una película interesante sin descanso durante 3/4 horas. Puedes ver un partido de cricket durante 7/8 horas sin descanso.

Nunca fije un límite de tiempo para la programación en C. Esta es la habilidad más esencial que necesita la industria. Estás realmente dotado, esa es la razón por la que tú mismo has comenzado a aprender programación en C y también planteas esta pregunta sobre Quora.

Pero ve despacio. Mientras intentas adquirir alguna habilidad, nunca intentes hacerlo por otros. Se consistente. Intenta satisfacerte a ti mismo. Asegúrese de comprender todos los niveles antes de pasar al siguiente nivel. Nunca omita ningún problema solo leyendo. Prueba todos los problemas.

Mientras aprende cualquier habilidad, hay 3 cosas más esenciales a seguir

1. Habilidad hacer. (En productos lo llamamos Funcionalidad)
2. Velocidad (en productos lo llamamos rendimiento)
3. Consistencia (en productos lo llamamos confiabilidad)

Así que nunca te detengas una vez que puedas hacer un problema. Haga el mismo problema a intervalos regulares (cada 3 días una vez) y asegúrese de que cada vez que mejore su tiempo.

La velocidad y la consistencia son las más importantes para una buena carrera.

¡Todo lo mejor!

El aprendizaje no se trata de la cantidad de horas en un día, sino de la cantidad de días en un año. Es mucho más efectivo pasar una hora al día durante 2 meses, luego impulsar una semana de 60 horas aprendiendo día y noche. No importa si aprende idiomas de computadora, idiomas humanos, música o escribe prosa.

Estoy seguro de que puede aprobar un examen después de la semana de 60 horas, pero sospecho que simplemente memorizará los conceptos y no los habrá internalizado. En algún momento, el código debería fluir naturalmente de tus manos sin pensar mucho. El lenguaje ya no debería ser importante, sino el algoritmo. Pasará mucho tiempo pensando en conceptos abstractos, cuadros y flechas en su mente, que en construcciones de lenguaje. Cómo implementarlos en C o Python o cualquier lenguaje que solo funcione … escribiendo … sudando … depurando. Este último te mantendrá ocupado, pero tampoco recomendaría 60 horas semanales.

1 hora al día Luego un descanso y luego tal vez 30 minutos.

C es un lenguaje pequeño, por lo que es un muy buen primer idioma. Sin embargo, los punteros, los descansos y otras cosas lo hacen menos. Está cerca de la máquina, por lo que tendrá dificultades para hacer algo tangible como puede con Java. Sin embargo, si realmente trabaja duro, evite Java como la peste 😉

Y, si lees hasta aquí, olvida la ETA. Solo trabaje hasta que comprenda un concepto o resuelva algo ^ • ^ sin embargo, no se queme.

Depende únicamente de cómo comprenda el idioma, si aprende rápido y puede comprender y hacer lógicas, entonces no debe pasar más de tres horas al día, una hora para estudiar los conceptos, 2 horas de enfoque práctico. ¡Aprendes un idioma con más práctica y haciendo programas!

24 horas deberían ser suficientes … 😉
Pero en serio, ¿cómo aprendes C? Probablemente debería encontrar algunos proyectos pequeños y escribirlos en C. De hecho, uso C para resolver todos los problemas de Hackerrank que intento, y creo que es una buena práctica. Probablemente haré lo mismo con C ++. C tiene algunas partes fáciles, como bucles, condiciones, etc. y algunas más difíciles, como punteros, estructuras, varias limitaciones que debes saber cómo superar, etc. Por lo tanto, dedica más tiempo a los temas difíciles. Yo diría que 3 horas al día es lo suficientemente bueno.

More Interesting

¿Es Scrum para la innovación?

¿Cuáles son algunas buenas ideas para proyectos de ingeniería de software, preferiblemente con Java, JavaScript, PHP o en Android?

Dado que JavaScript no está particularmente orientado a objetos, ¿existe otro paradigma de desarrollo de software que pueda usarse para crear JavaScript organizado y mantenible?

¿Qué tan difícil fue fusionar su primera solicitud de extracción en Google como nuevo ingeniero de software?

¿Puedo convertirme en ingeniero de software aunque no tenga un coeficiente intelectual alto?

¿Cuáles son las diferentes formas en que uno podría cobrar a los clientes por el uso de un software que él / ella ha desarrollado?

¿Las leyes o regulaciones federales o internacionales prohíben que un ingeniero de calidad de software almacene pruebas automatizadas en el mismo repositorio de origen que la aplicación que se está desarrollando, y se recomienda?

¿Qué hace que aplicaciones como Snapchat, Instagram, Pinterest, Uber y más funcionen?

¿Cucumber se usa mucho en pruebas de software hoy en día?

¿Cuáles son los desafíos que enfrentan las empresas cuando subcontratan procesos comerciales o desarrollo de software a tiendas en el extranjero?

¿Siempre usas la inyección de dependencia?

¿Por qué no se actualizan automáticamente más programas como lo hace Google Chrome?

¿Cómo debo comenzar a aprender lenguajes de programación, ingeniería de software, codificación, etc.?

¿Por qué pronostica la tecnología y los servicios Hadoop de big data?

Cómo sobrevivir (profesionalmente) como ingeniero de software