Maneira ideal para iniciantes em C ++ / Qt

Perguntas freqüentes de programadores novatos: quais materiais ler para melhorar seu nível profissional? Nesta forma mais geral, é impossível responder a essa pergunta. Depende do conhecimento e das habilidades atuais da pessoa, de sua especialização, de tarefas que surgirão antes dele no futuro. No entanto, tentarei responder a essa pergunta para a direção da programação que melhor me convence - a criação de aplicativos de desktop complexos entre plataformas. Aplicações de nível e classe PhotoShop, VisualStudio, MS Word. Tais aplicações, nas quais, do ponto de vista do programador, existem tarefas mais diversas:

  • Renderização de uma GUI clássica de "escritório", como botões, barras de progresso, widgets, animações.
  • Renderização de gráficos fora do padrão, como movimento contínuo de milhões de pontos.
  • Trabalhar com bancos de dados
  • Trabalho em rede
  • Trabalhando com o Registro do Sistema Operacional
  • Trabalhar com impressora
  • Execução rápida (incluindo paralela) de tarefas complexas de computação.
  • E muitos outros.

Não existem muitos conjuntos de plataformas e estruturas que permitam criar efetivamente esses aplicativos. Ao mesmo tempo, tendo tentado diferentes plataformas, os programadores da minha organização confiaram no seguinte link: linguagem C ++ e plataforma Qt. Como o tempo mostrou, essa escolha não falhou. É com um olho nessa escolha que começarei a expor o conjunto de materiais que recomendo para o estudo de programadores iniciantes, se eles quiserem se tornar verdadeiros gurus nessa direção.

Esse conjunto de materiais foi estudado ao mesmo tempo pelo autor deste texto, seus colegas mais velhos e mais jovens, e passou por várias iterações para se tornar ideal. As experiências revelaram materiais cujo estudo fornece o aumento máximo da eficiência do trabalho com um mínimo, embora não seja um curto período de treinamento. Certamente, como estamos falando de otimização no campo da educação, um toque de subjetividade é inevitável aqui, mas tentei minimizá-lo.

Então, para quem é esse texto? Se você é um universitário que decidiu conectar sua vida à programação, esse texto é para você. Acredite, você economizará muito tempo se seguir meus conselhos no início de sua carreira. Se você se formou no ensino médio há vários anos, trabalhe como programador, mas ainda não resolve nenhum problema sério, esse texto é para você. Você pode desenvolver tarefas realmente sérias, o que não será embaraçoso para contar aos descendentes. Se você trabalha como programador há cerca de 5 anos, mas acha que, por algum motivo, sua carreira “não está indo”, e para os que estão próximos, está “indo”, então este texto é para você. Se você é um programador experiente e começa a seguir o caminho de um líder, basta ler este texto e distribuí-lo entre os subordinados. E se você é um guru,quem já experimentou tudo e que é difícil de surpreender com algo, pode simplesmente ler este texto para entender o caminho percorrido, lembrando os erros ou sucessos do passado.

Então, qual é a melhor maneira do meu ponto de vista? É muito simples - estudar na ordem necessária o conjunto de livros fundamentais. Os livros não são muitos, mas não poucos. Aqueles que contam com um brinde podem fechar imediatamente este texto. Os livros precisarão ser lidos, combinando isso com atividades práticas, isto é, com o trabalho de um programador iniciante. Como regra, programadores mesmo no trabalho têm alguns períodos de tempo não preenchidos pelo trabalho, e a leitura de livros nesses intervalos é um assunto sagrado. Se essas lacunas não existirem, faça uma regra para ler à noite. Se no trabalho, é trabalho, mas não há outro horário, feche o texto e não se atormente, mas também não chore pelo salário que não cresce.

Por que livros? Por que focar nos livros? Por que não a Internet, tem tudo lá? É verdade que você inevitavelmente precisará usar a Internet para estudar e com bastante frequência. E preencha todas as lacunas com a Internet. Mas os livros oferecidos são a base sobre a qual você aprenderá a navegar no mundo da programação. E você poderá encontrar respostas completamente independentes para qualquer dúvida, tanto em livros ainda não lidos quanto na Internet. Eu selecionei um conjunto de livros de forma a formar essa base. Uma base sólida e confiante que dura muitos anos. Não até o fim da vida, mas ainda assim.

Quanto tempo vai demorar para dominar todos esses livros? Boa pergunta, e a palavra-chave aqui é dominar. É necessário não apenas ler na diagonal, mas dominá-la. Ou seja, coloque esse conhecimento em prática, traduza-o em código. Volte ao livro, releia com uma nova compreensão do texto. Então será desenvolvimento. Mas somente então será o acúmulo da própria base que resolverá quaisquer problemas. Então que horas são? Minha resposta é 5 anos. Longo? Sim, não é rápido. Mas a experiência mostra que é impossível mais rapidamente. Você quer por seis meses ou um ano? Não, não vai funcionar, mesmo se você é Einstein. Ninguém conseguiu. Esse é um recurso da programação em geral e da linguagem C ++ em particular. Como disse meu colega mais experiente, a linguagem C ++ não é para os torcidos, e a criação de grandes sistemas não é para os de baixa vontade. Então, se você tem muito tempo ou não,Para se tornar um funcionário experiente e altamente remunerado, procure outro lugar. Por exemplo, criar sites de modelos é muito mais simples do que criar aplicativos de desktop complexos. Designers de layout e enikeyshchiki - olá!

Então, vamos começar a lista de livros. O volume total é de 5150 páginas. Se possível, vou comentar por que recomendo este livro em particular e não outro, ou 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 . , ( ) , , , . - . – « . . ., ». , , , «» .

Isso é tudo! Iniciantes, vá em frente!

Para finalmente colocar o i, você pode olhar para trás e perguntar - por que não existem autores famosos como McConnell, Larman, Butch, Fowler e outros na lista de livros? Só porque eu não considerava o estudo dos livros desses autores a melhor maneira de desenvolver um iniciante no mundo C ++ / Qt. Assim, foram publicados 10 livros, com um volume total de 5150 páginas, e acrescentar livros não tão bem-sucedidos me pareceu um exagero.

All Articles