Óptima forma de novato para C ++ / Qt

Preguntas frecuentes de los programadores novatos: ¿qué materiales leer para mejorar su nivel profesional? En esta, la forma más general, es imposible responder a esta pregunta. Depende de los conocimientos y habilidades actuales de la persona, de su especialización, de las tareas que le surjan en el futuro. Sin embargo, intentaré responder a esta pregunta para la dirección de programación que mejor conozco: crear aplicaciones de escritorio complejas multiplataforma. Aplicaciones de nivel y clase PhotoShop, VisualStudio, MS Word. Tales aplicaciones, en las que, desde el punto de vista del programador, hay tareas más diversas:

  • Representación de una GUI clásica de "oficina" como botones, barras de progreso, widgets, animaciones.
  • Representar cualquier gráfico no estándar, como gráficos en movimiento continuo desde millones de puntos.
  • Trabajar con bases de datos
  • Redes
  • Trabajando con el registro del sistema operativo
  • Trabajar con impresora
  • Ejecución rápida (incluso paralela) de tareas informáticas complejas.
  • Y muchos, muchos otros.

No hay tantos conjuntos de plataformas y marcos que le permitan construir efectivamente tales aplicaciones. En un momento, después de haber probado diferentes plataformas, los programadores de mi organización se decidieron con confianza por el siguiente enlace: lenguaje C ++ y plataforma Qt. Como ha demostrado el tiempo, esta elección no falló. Con un ojo puesto en esta elección, comenzaré a exponer el conjunto de materiales que recomiendo para el estudio de programadores novatos si quieren convertirse en verdaderos gurús en esta dirección.

Este conjunto de materiales fue estudiado al mismo tiempo por el autor de este texto, sus colegas mayores y más jóvenes, y pasó por varias iteraciones para ser óptimo. Los experimentos han revelado materiales cuyo estudio proporciona el aumento máximo en la eficiencia del trabajo con un mínimo, aunque no un tiempo de entrenamiento corto. Por supuesto, dado que estamos hablando de la optimización en el campo de la educación, entonces un toque de subjetividad es inevitable aquí, pero traté de minimizarlo.

Entonces, ¿para quién es este texto? Si eres un graduado universitario que decidió conectar su vida con la programación, entonces este texto es para ti. Créeme, ahorrarás mucho tiempo si sigues mi consejo al comienzo de tu carrera. Si te graduaste de la escuela secundaria hace varios años, trabajas como programador, pero aún no resuelves ningún problema serio, entonces este texto es para ti. Puede convertirse en tareas realmente serias, lo que no será vergonzoso decirle a los descendientes. Si has estado trabajando como programador durante aproximadamente 5 años, pero sientes que por alguna razón tu carrera "no va", y para los que están cerca, "va", entonces este texto es para ti. Si es un programador experimentado y comienza a seguir el camino de un líder, simplemente lea este texto y distribúyalo entre los subordinados. Y si eres un gurú,quien ha experimentado todo y que es difícil sorprender con algo, simplemente puede leer este texto para nastalgit a lo largo del camino recorrido, recordando los errores o éxitos del pasado.

Entonces, ¿cuál es esta forma óptima desde mi punto de vista? Es muy simple: estudiar en el orden necesario el conjunto de libros fundamentales. Los libros no son muchos, pero no pocos. Aquellos que cuentan con un obsequio pueden cerrar inmediatamente este texto. Será necesario leer libros, combinando esto con actividades prácticas, es decir, con el trabajo de un programador novato. Como regla general, los programadores, incluso en el trabajo, tienen algunos períodos de tiempo sin trabajar, y leer libros a estos intervalos es un asunto sagrado. Si estas brechas no existen, entonces sea una regla para leer en la noche. Si en el trabajo es trabajo, pero no hay otro momento, cierra el texto y no te atormentes, pero tampoco llores por el sueldo que no crece.

¿Por qué libros? ¿Por qué centrarse en los libros? ¿Por qué no Internet, hay todo allí? Es cierto que inevitablemente tendrá que usar Internet para estudiar y con bastante frecuencia. Y llene todos los vacíos con Internet. Pero los libros ofrecidos son la base sobre la cual aprenderá a navegar por el mundo de la programación. Y podrá encontrar respuestas de forma completamente independiente a cualquier pregunta, tanto en libros que aún no se hayan leído como en Internet. He seleccionado un conjunto de libros para formar esta base. Una base segura y sólida que dura muchos años. No hasta el final de la vida, pero aún así.

¿Cuánto tiempo llevará dominar todos estos libros? Buena pregunta, y la palabra clave aquí es dominar. Es necesario no solo leer en diagonal, sino dominarlo. Es decir, poner en práctica este conocimiento, traducirlo en código. Regrese al libro, vuelva a leer con una nueva comprensión del texto. Entonces será desarrollo. Pero solo entonces será la acumulación de la base misma la que resolverá cualquier problema. ¿Entonces, Qué hora es? Mi respuesta es de 5 años. ¿Largo? Sí, no rápido Pero la experiencia muestra que es imposible más rápido. ¿Quieres seis meses o un año? No, no funcionará, incluso si eres Einstein. Nadie tuvo éxito. Esta es una característica de la programación en general, y del lenguaje C ++ en particular. Como dijo mi colega más experimentado, el lenguaje C ++ no es para los corruptos, y la creación de sistemas grandes no es para los débiles. Entonces, si tienes tanto tiempo o no tienes voluntad,para convertirse en un empleado experimentado y altamente remunerado, busque en otro lado. Por ejemplo, crear sitios de plantillas es mucho más simple que crear aplicaciones de escritorio complejas. Diseñadores de diseño y enikeyshchiki - ¡hola!

Entonces, comencemos la lista de libros. Su volumen total es de 5150 páginas. Si es posible, comentaré por qué recomiendo este libro en particular y no otro, o sugeriré alternativas.

  1. ++ 600 . , « , C++: ». 800 . « : ++». , , . , – ! ! , . 2 – , . ( ), . , , , double . , , ! , . , 800 . . – ? , , , ++ (++11, ++14, ++17, ++20), – . , , , .

    , ? C++ . , . (, ), « » , , «». ! , – .
  2. « . C++. 55 ». 300 . , : « C++. 50 », « C++. 35 », « ++. 35 ». – , «55 ». , . , , , . . , – .
  3. «Qt 5.10. ++. . ». 1072 . – «Qt 4. GUI C++. , ». , , : , – , ( ). , GUI-, 5 000-30 000 . - — .

    2 3 , , – , .
  4. « : ++. ». 263 . ++, , . .
  5. « . . ». 350 . – , , , . , . – . , , - . , , .
  6. . 3 , -. , , . , . , , « » .

    , ! « , ». 406 . 6. , ( pdf), . , « »: «, , : - . ». . « », ; ; SmallTalk, « »; pdf, , , ( – , !)

    , «, , : ». , – Java ++.
  7. «. . , .». 720 . , – GUI, – . – «: , ». , 2005, 2018.
  8. « , . Git ». 493 . , , Git, , . , , Git, . , , Git. . , . Git, . , , . , , , Git , .
  9. ! . – . , . , , . , . .

    , « , : ++». 323 . , – . , , . , , . C++17, C++14, C++11. , , . , , ! , .

    – « : ++ . ». . (, ) . , , - .
  10. « , . . , ». 432 . , ( ) , , , . - . – « . . ., ». , , , «» .

¡Eso es todo! Principiantes, ¡adelante!

Para finalmente puntear la i, puede mirar hacia atrás y preguntar: ¿por qué no hay autores tan famosos como McConnell, Larman, Butch, Fowler y otros en la lista de libros? Solo porque no consideré el estudio de los libros de estos autores como la mejor manera de desarrollar un principiante en el mundo C ++ / Qt. Y así resultaron 10 libros con un volumen total de 5150 páginas, y agregar libros no tan exitosos me pareció excesivo.

All Articles