Carreira de programação. Capítulo 2. Escola ou autoeducação

Continuação da história "Carreira de Programador".

O ano era 2001. O ano em que o sistema operacional mais legal foi lançado - Windows XP. Quando o rsdn.ru apareceu? Ano de nascimento do C# e do .NET Framework. Primeiro ano do milênio. E um ano de crescimento exponencial no poder do novo hardware: Pentium IV, 256 MB de RAM.

Depois de terminar o 9º ano e ver meu entusiasmo inesgotável por programação, meus pais decidiram me transferir para a faculdade para me formar em Programação. Eles acreditavam que seria melhor assim e que ali me ensinariam. A palavra faculdade, aliás, não combinava com esta instituição, na periferia de uma cidade industrial. Era uma escola técnica comum, não diferente de outras escolas técnicas que não exibiam na fachada uma etiqueta com a palavra da moda “faculdade”.
Bem. Não contradisse meus pais e não contestei sua decisão. De qualquer forma, eu estava engajado na autoeducação e pensei que neste novo lugar me dariam alguns conhecimentos adicionais.


Naquele verão, antes de ir para a faculdade, comecei a estudar a fundo todas as tecnologias possíveis que foram publicadas na revista "Hacker". Eu li e reli em pedaços. Gostei especialmente das entrevistas com hackers reais e de seus conselhos.
A maioria dos hackers legais usava Linux. E Mazda (Windows) era para lamers. Quem leu a revista se lembra do estilo das postagens nela contidas. Portanto, em minha mente frágil, duas ideias lutaram entre si - deixar o Windows ou ser legal e ficar puramente no Linux.
Cada nova edição da revista Hacker me dava um novo motivo para formatar o disco e instalar o Linux Red Hat 7 ou o Windows Me. Claro, eu não tinha nenhum vetor de treinamento e fazia o que lia em revistas ou em CDs piratas como “Secrets of Hackers”. A instalação de dois sistemas operacionais em paralelo também foi apagada, após um novo recheio no espírito de “Windows XP também conhecido como papagaio - isto é para donas de casa. E se você quiser fazer coisas sérias, terá que trabalhar no console Linux com os olhos fechados.” Claro, eu queria hackear sistemas, entender como funciona a rede e ser o todo-poderoso Anonymous daquela época.

O disco foi formatado sem nenhum arrependimento e nele foi instalado um kit de distribuição de um sistema semelhante ao Unix. Sim Sim. Certa vez, li uma entrevista com um hacker de verdade que usa apenas o FreeBSD 4.3 no console. Ao mesmo tempo, ele foi responsável por hackear bancos e sistemas governamentais. Foi um raio na cabeça e instalei o sistema operacional BSD como sistema principal 5 vezes. O problema era que após a instalação não havia nada lá, exceto o console vazio. Até som. E para instalar o KDE2 e ligar o som foi preciso dançar muito com pandeiro e corrigir várias configurações.

Carreira de programação. Capítulo 2. Escola ou autoeducação
A distribuição do FreeBSD 4.3 é o sistema operacional mais hacker

Sobre Literatura

Assim que ganhei um computador, comecei a comprar livros sobre programação. O primeiro foi um guia do “Turbo Pascal 7.0”. Isso não é surpreendente, porque eu já conhecia um pouco de Pascal nos cursos de programação e poderia continuar aprendendo sozinho. O problema é que os hackers não escrevem em Pascal. Então a linguagem Perl estava na moda, ou, para os caras mais legais, era C/C++. Pelo menos foi o que escreveram na revista. E o primeiro livro que li até o fim foi “The C Programming Language” - de Kernighan e Ritchie. Aliás, estudei em ambiente Linux
e usei o editor integrado do gcc e do KDE para escrever o código.

Seguindo este livro, a Enciclopédia UNIX foi adquirida. Pesava 3 quilos e era impresso em páginas A3.
Na capa do livro havia uma representação completa de um diabo de desenho animado com um forcado, e custava 125 hryvnia na Ucrânia (cerca de US$ 25 em 2001). Para comprar o livro, pedi dinheiro emprestado a um amigo da escola e meus pais acrescentaram o restante. Então, comecei a estudar com entusiasmo os comandos Unix, os editores vim e emacs, a estrutura do sistema de arquivos e o interior dos arquivos de configuração. Quase 700 páginas da enciclopédia foram devoradas e eu fiquei um passo mais perto do meu sonho - me tornar um Kul-Hatzker.

Carreira de programação. Capítulo 2. Escola ou autoeducação
Enciclopédia UNIX – Um dos primeiros livros que li

Gastei todo o dinheiro que meus amorosos avós e pais me deram em livros. O próximo livro foi C++ em 21 dias. O título era muito atraente e por isso não procurei outros livros de qualidade superior. Apesar disso, todas as fontes foram copiadas do livro nesse período de 3 semanas, e eu já entendi alguma coisa em C++. Embora eu provavelmente não tenha entendido mais nada do que estava escrito nessas listagens. Mas houve progresso.

Se você me perguntasse qual livro mais influenciou sua carreira, eu responderia sem hesitar - “A Arte da Programação” - D. Knuth. Foi uma religação do cérebro. Não posso dizer exatamente como este livro chegou às minhas mãos, mas ele teve uma influência profunda em minha carreira futura.

Carreira de programação. Capítulo 2. Escola ou autoeducação
A Arte da Programação - leitura obrigatória

Comprei livros principalmente na feira de rádios, que funcionava apenas aos domingos. Depois de economizar mais algumas dezenas de hryvnia no café da manhã, procurei um novo livro sobre C++ ou talvez Perl. A escolha foi bem grande, mas eu não tive mentor, então estudei tudo. Pedi ao vendedor que me recomendasse algo sobre programação. E pelo que me lembro, ele tirou “A Arte da Programação” da estante. Primeiro volume". O livro claramente já havia sido usado. Os cantos da capa estavam dobrados e havia um grande arranhão visível no verso, exatamente onde Bill Gates havia deixado sua resenha: “Se você leu este livro, com certeza deveria me enviar seu currículo”, assinado por ele. Eu conhecia Gates por meio de revistas e achei que seria bom enviar um currículo para ele, embora todos os hackers o estivessem criticando. O livro custou 72 UAH. (US$ 15), e rapidamente corri para casa de bonde para estudar novo material.

É claro que não conseguia entender o quão profundas e básicas eu li às coisas aos 15 anos. Mas tentei diligentemente completar todos os exercícios. Uma vez consegui resolver corretamente um problema com grau de dificuldade 25 ou 30. Era um capítulo sobre indução matemática. Embora eu não gostasse de matemática escolar e não a entendesse bem, estava superado. Análise de Knuth - fiquei sentado por horas.
A seguir, no segundo capítulo havia estruturas de dados. Essas imagens e imagens de listas vinculadas, árvores binárias, pilhas e filas ainda estão diante dos meus olhos. Em minha carreira de 12 anos em desenvolvimento comercial, usei a maioria das linguagens de uso geral.
Estes são C/C++, C#, Java, Python, JavaScript, Delphi. E não importa como a linguagem fosse chamada, sua biblioteca padrão continha estruturas de dados e algoritmos descritos por Donald Knuth em seu livro de três volumes. Portanto, aprender algo novo não leva muito tempo.

O primeiro volume foi devorado rapidamente. Reescrevi os algoritmos fornecidos no livro de Knuth para a linguagem C. Nem sempre funcionou, mas quanto mais eu praticava, maior clareza obtinha. Não faltou zelo. Terminado o primeiro volume, corri sem hesitar para comprar o segundo e o terceiro. Deixei o segundo de lado por enquanto, mas estudei o terceiro (Classificação e Pesquisa) completamente.
Lembro-me muito bem de como preenchi um caderno inteiro, “interpretando” algoritmos de ordenação e busca. Assim como acontece com as estruturas de dados, a pesquisa binária e o quicksort são visualizados em meu cérebro na velocidade da luz, lembrando como eles aparecem esquematicamente no terceiro volume de Knuth.
O chicote foi lido em todos os lugares. E mesmo quando ia para o mar, sem um PC por perto, ainda anotava algoritmos em um caderno e passava sequências de números neles. Ainda me lembro de quanta dor me custou dominar o heapsort, mas valeu a pena.

O próximo livro que teve uma forte influência sobre mim foi “O Livro do Dragão”. É também “Compiladores: Princípios, Tecnologias, Ferramentas” - A. Aho, R. Seti. Ela foi precedida por Herbert Schiltd, com tarefas avançadas em C++. Foi aqui que os pontos se juntaram.
Graças a Schildt, aprendi a escrever analisadores e intérpretes de linguagem. E então o Livro do Dragão me levou a escrever meu próprio compilador C++.

Carreira de programação. Capítulo 2. Escola ou autoeducação
Livro do Dragão

Naquela época, eu tinha uma conexão de Internet com capacidade de modem e passava muito tempo no site mais popular para programadores - rsdn.ru. C++ dominava lá e todos os profissionais podiam responder perguntas que eu não conseguia resolver. Isso me machucou e eu entendi
que estou longe desses barbudos, então preciso estudar o interior das vantagens do “De e Para”. Essa motivação me levou ao meu primeiro projeto sério – meu próprio compilador do padrão C++ de 1998. Você pode encontrar história e fontes mais detalhadas nesta postagem habr.com/en/post/322656.

Escola ou autoeducação

Mas voltemos à realidade fora do IDE. Embora naquela época eu estivesse me afastando cada vez mais da vida real e mergulhando na virtual, ainda assim minha idade e as normas geralmente aceitas me obrigaram a ir para a faculdade. Foi uma verdadeira tortura. Eu não tinha absolutamente nenhuma ideia do que estava fazendo neste estabelecimento e por que estava ouvindo essa informação. Eu tinha prioridades completamente diferentes na minha cabeça. Aprendendo Visual Studio 6.0, testando WinApi e Delphi 6.
Um site maravilhoso, firststeps.ru, que me permitiu alegrar-me com cada passo que dava, embora não entendesse o quadro geral. Por exemplo, na mesma tecnologia MFC ou ActiveX.
E a faculdade? Foi uma perda de tempo. Em geral, se tocarmos no tema dos estudos, estudei mal. Até a 6ª série eu era um excelente aluno, depois as notas C caíram e, da 8ª à 9ª série, muitas vezes faltei às aulas, pelas quais recebi cintos ilusórios dos meus pais.
Portanto, quando cheguei à faculdade também havia pouco entusiasmo.
- Onde está a programação? Eu me fiz uma pergunta. Mas ele não estava lá no primeiro semestre do ano. Mas havia ciência da computação com MS-DOS e Office, além de disciplinas de educação geral.

Além disso, eu tinha uma personalidade introvertida e era muito modesto. Este novo grupo heterogéneo claramente não inspirava confiança. E foi mútuo. Portanto, vários tipos de zombaria não demoraram a chegar. Aguentei por muito tempo, até que não aguentei e dei um soco na cara de um dos infratores logo na aula. Sim, então ele voou para sua mesa. Agradeço ao meu pai - ele me ensinou a lutar desde criança e, se eu realmente quisesse, poderia usar a força física. Mas isso acontecia muito raramente, mais frequentemente eu suportava o ridículo, esperando o ponto de ebulição máximo.
Aliás, o infrator, muito surpreso com o que estava acontecendo, mas ainda sentindo sua superioridade, desafiou-me para uma luta de retaliação. Já no terreno baldio atrás da instituição de ensino.
Não se tratava de um aceno de punho infantil, como acontecia na escola. Havia um nobre makhach com nariz quebrado e muito sangue. O cara também não era um cara tímido e acertava ganchos e ganchos com habilidade. Todos permaneceram vivos e, desde então, ninguém mais me intimidou.
nesta “faculdade para programadores”. Logo perdi completamente a vontade de ir para lá. Portanto, parei de ir para lá e nenhuma ameaça dos meus pais teve qualquer efeito sobre mim. Por algum milagre, minha permanência na faculdade foi contabilizada para o 10º ano do ensino médio, e eu tive o direito de ir para o 11º.

Tudo ficaria bem, mas o 11º ano acabou não sendo muito melhor que a faculdade. Voltei para minha escola natal, conheci alguns caras que conhecia com quem estudei desde a primeira série e torci para que tudo ficasse bem em minha cidade natal. Havia apenas uma ressalva: os caras pareciam mais bandidos de séries de TV do que os garotos de quem fui amigo no ensino fundamental. Todos iam à academia para ganhar massa muscular. Eu parecia bambu. Esguio e muito magro. Claro, um colega tão valentão poderia me amarrar com uma mão esquerda.
Foi isso que começou a acontecer com o tempo. Aqui minhas habilidades de luta não tiveram mais efeito. As categorias de peso eram muito diferentes para mim e para o resto dos meninos da minha turma que já foi nativa. Além disso, as peculiaridades do meu pensamento se fizeram sentir.

Sem deixar meus pensamentos vagarem, também deixei a escola. Onde me senti confortável foi em frente ao monitor de um computador, com a porta do meu quarto fechada. Fazia sentido e intuitivamente senti que estava fazendo a coisa certa. E essa escola é uma atividade inútil, e até aguentar essas provocações, que a cada dia ficavam mais sofisticadas... É isso, já chega.
Depois de mais um conflito em sala de aula, comigo no protagonismo, abandonei a escola e nunca mais voltei.
Por cerca de 3 meses fiquei em casa, passando meu tempo livre aprendendo C++/WinAPI/MFC e rsdn.ru.
No final, o diretor da escola não aguentou e ligou para casa.
- “Denis, você está pensando em estudar? Ou você vai embora? Decidir. Ninguém vai deixar você no limbo.” - disse o diretor
“Vou embora”, respondi com confiança.

E novamente, a mesma história. Eu ainda tinha meio ano para concluir meus estudos antes de me formar na escola. Não me deixe sem crosta. Meus pais desistiram de mim e me disseram para negociar pessoalmente com o diretor. Eu vim para o diretor da escola. Ela gritou para eu tirar o chapéu quando entrei. Então ela perguntou severamente: “O que devo fazer com você?” Francamente, eu mesmo não sabia o que fazer. Fiquei muito feliz com o estado atual das coisas. Finalmente ela tomou a palavra:
- “Então vamos fazer isso. Farei um acordo com o diretor da nossa escola noturna e você irá para lá.”
- "Sim"

E a escola noturna era um verdadeiro paraíso para freestylers como eu. Vá se quiser ou não vá. Havia 45 pessoas na turma, das quais apenas 6 a 7 compareceram às aulas. Não tenho certeza se todos na lista estavam vivos e também livres. Porque só na minha presença os colegas roubaram a motocicleta de outra pessoa. Mas o fato permaneceu um fato. Eu poderia atualizar minhas habilidades de programação ilimitadamente e ir para a escola quando realmente precisasse. Acabei terminando e passando nos exames finais. Eles não exigiram muito e tivemos até uma cerimônia de formatura. A formatura em si é uma fábula separada. Lembro-me que bandidos locais e colegas levaram meu relógio. E assim que ouvi meu sobrenome, durante a entrega dos certificados, corri a trote para pegar o documento e saí voando da escola como uma bala, para não ter mais problemas.

O verão estava à frente. Com Donald Knuth debaixo do braço na praia, no mar, no sol e na fatídica decisão de escrever o seu próprio grande projeto (compilador).
Para ser continuado ...

Fonte: habr.com

Adicionar um comentário