Continuação da história "Programador de carreira" .No quintal era 2001. O ano em que o sistema operacional mais legal foi lançado - Windows XP. Quando o rsdn.ru apareceu. O ano de nascimento do C # e do .NET Framework. O primeiro ano do milênio. E um ano de crescimento exponencial em novas capacidades de ferro: Pentium IV, 256 mb de RAM.
Depois de me formar na 9ª série, tive um entusiasmo inesgotável por estudos adicionais de programação. Vendo isso, meus pais decidiram me transferir para a faculdade para a especialidade "Programação". Eles acreditavam que seria melhor e me ensinaram lá. A faculdade de palavras, aliás, não se encaixava nessa instituição, nos arredores de uma cidade industrial. Era uma escola técnica regular, não diferenciada de outras escolas técnicas, que não exibia um rótulo com a palavra da moda "faculdade" em sua fachada.
Bem então. Não discuti com meus pais e não questionei sua decisão. De qualquer forma, eu estava envolvido em auto-educação e pensei que nesse novo local eu receberia algum conhecimento adicional.
Naquele verão, antes de entrar na faculdade, comecei a estudar todas as tecnologias possíveis publicadas na
revista Hacker . Eu li e reli para os buracos. Gostei especialmente das entrevistas com hackers reais e de seus conselhos.
A maioria dos hackers legais estava em Linuha. Mas "Mazdai" (Windows) era para lamers. Quem leu a revista, ele se lembra do estilo de postagens nela. Portanto, em minha mente frágil, duas idéias lutavam entre si - sair do Windows ou ser legal e ficar puramente no Linux.
Cada nova edição da revista Hacker me lançou 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 fiz o que li em revistas ou em CDs piratas como "Hacker Secrets". A instalação de dois sistemas operacionais em paralelo também foi apagada, após um novo lançamento no espírito do “Windows XP, também conhecido como papagaio, é para donas de casa. E se você quiser fazer coisas sérias, precisará trabalhar no console Linux com os olhos fechados. " Claro, eu queria me envolver em sistemas de hackers, entender como a rede funciona e ser o onipotente Anônimo na época.
O disco foi formatado sem arrependimento e a distribuição de um sistema semelhante ao Unix foi instalada nele. Sim sim Uma vez eu li uma entrevista com um hacker de verdade que usa apenas o FreeBSD 4.3 no console. Ao mesmo tempo, hacks de bancos e sistemas estatais foram listados atrás dele. Foi um raio na cabeça e eu coloquei o BSD OS 5 vezes como o sistema principal. O problema era que, após a instalação, exceto pelo console vazio, não havia nada lá. Até o som. E para colocar o KDE2 e ativar o som, você teve que dançar muito com um pandeiro e corrigir algumas configurações.
FreeBSD 4.3 - O sistema operacional mais hackerSobre literatura
Assim que adquiri um computador, comecei a comprar livros de programação. O primeiro foi um guia para o Turbo Pascal 7.0. Isso não é surpreendente, porque Pascal eu já conhecia um pouco dos cursos de programação e era possível continuar treinando sozinho. O problema era 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 eles escreveram na revista. E o primeiro livro a ser lido até o final foi C, a linguagem de programação Kernigan e Ritchie. A propósito, eu estudei em Linux
e usou o gcc e o editor interno do KDE para escrever código.
Após este livro, a Enciclopédia UNIX foi comprada. Ela pesava 3 kg e foi impressa em páginas A3.
Na parte da frente do livro, um diabo de desenho animado com um forcado era retratado em toda a sua altura, e então custou na Ucrânia 125 hryvnias (cerca de US $ 25 em 2001). Para comprar um livro, pedi um empréstimo a um amigo da escola, o restante foi adicionado pelos pais. Então, comecei a estudar com entusiasmo os comandos do Unix, o editor vim e emacs, a estrutura do sistema de arquivos e o interior da configuração do arquivo. Quase 700 páginas da enciclopédia foram engolidas e eu me aproximei um pouco do sonho - me tornar um chapeleiro legal.
Enciclopédia UNIX - Um dos primeiros livros lidosTodo o dinheiro que o avô amoroso, a avó e os pais me deram, gastei em livros. O próximo livro foi C ++ em 21 dias. O título era muito atraente e, portanto, não olhei para outros livros de maior qualidade. Apesar disso, todas as fontes foram copiadas do livro por cerca de três semanas e eu já entendi algo em C ++. Embora eu provavelmente já não entendesse o que estava escrito nessas listagens. Mas houve progresso.
Se alguém me perguntasse qual livro influenciou mais sua carreira, eu teria respondido sem hesitação - “A Arte da Programação” - D. Knut. Era um cérebro piscando. Não sei exatamente como esse livro caiu em minhas mãos, mas teve a maior influência na minha futura carreira.
A arte da programação - deve lerComprei livros principalmente no mercado de rádio, que funcionava apenas aos domingos. Depois de guardar as várias dúzias de hryvnias no café da manhã, procurei um novo livro sobre C ++ ou talvez Perl. A escolha foi grande o suficiente, mas eu não tinha um mentor, então tudo foi estudado em sequência. Pedi ao vendedor que me recomendasse algo para programação. E, tanto quanto me lembro, ele tirou da prateleira “A Arte da Programação. Primeiro Tom. " O livro já estava claramente em uso. Os cantos da capa estavam dobrados e havia um grande arranhão nas costas, exatamente no local em que Bill Gates deixou seu comentário: “Se você ler este livro, certamente deverá me enviar um currículo”, foi assinado por ele. Eu sabia sobre Gates nas revistas e achei que seria bom enviar um currículo para ele, apesar de todos os hackers o terem. O livro valia 72 UAH. (US $ 15), e eu rapidamente corri para casa em um bonde para estudar novo material.
Quão profunda e básica as coisas que li, é claro que não conseguia entender aos 15 anos. Mas ele tentou diligentemente concluir cada exercício. Certa vez, consegui resolver o problema corretamente com uma classificação de complexidade de 25 ou 30. Este foi um capítulo sobre indução matemática. Embora eu não gostasse de matemática da escola e a peguei muito, mas por cima da esteira. Análise Knut - fiquei sentado por horas.
Em seguida, o segundo capítulo foi sobre estruturas de dados. Essas imagens e fotos de listas vinculadas, árvores binárias, pilhas e filas ainda estão diante dos meus olhos. Nos 12 anos de minha carreira em desenvolvimento comercial, usei a maioria das línguas em geral.
Estes são C / C ++, C #, Java, Python, JavaScript, Delphi. E não importa como a linguagem seja chamada, sua biblioteca padrão tinha estruturas e algoritmos de dados descritos por Donald Knuth em seu livro de três volumes. Portanto, aprender algo novo não leva muito tempo.
O primeiro volume foi engolido com rapidez suficiente. Copiei os algoritmos dados no livro de Knuth em C. Nem sempre funcionava, mas quanto mais eu praticava, mais clareza vinha. O zelo não era aguentar. Depois de terminar o primeiro volume, não hesitei em comprar e comprar o segundo e o terceiro. Eu coloquei o segundo de lado, mas no terceiro (Classificação e Pesquisa), eu o aceitei completamente.
Lembro-me muito bem de como escrevi um caderno inteiro, “interpretando” os algoritmos de classificação e pesquisa. Assim como nas estruturas de dados, a pesquisa binária e a classificação rápida são visualizadas em meu cérebro com a velocidade da luz, lembrando como elas ficam esquematicamente no terceiro volume de Knuth.
O chicote era lido em toda parte. E mesmo indo para o mar, sem um PC por perto, eu ainda prescrevi os algoritmos em um notebook e corri uma sequência de números através deles. Ainda me lembro de quantos tormentos me custaram dominar a classificação piramidal, mas valeu a pena.
O próximo livro que teve uma forte influência sobre mim foi O Livro do Dragão. Ela é “Compiladores: Princípios, Tecnologias, Ferramentas” - A. Aho, R. Seti. Foi precedido por Herbert Shildd, com tarefas avançadas em C ++. Foi nesse ponto que os pontos se uniram.
Graças a Schildt, aprendi a escrever analisadores e intérpretes de idiomas. E então, o Dragon Book, me levou a escrever meu próprio compilador C ++.
Dragon BookNaquela época, eu tinha um modem na Internet e passava muito tempo no site mais popular para programadores - rsdn.ru. O C ++ dominava lá, e todo profissional podia responder a perguntas que eu não conseguia lidar. Isso me machucou e percebi que estava longe desses tios barbudos, então preciso estudar o interior dos prós e contras. Essa motivação me levou ao primeiro projeto sério - meu próprio compilador C ++ do padrão de 1998. Você pode encontrar histórico mais detalhado e códigos-fonte
nesta postagem .
Escola ou auto-educação
Mas voltando à realidade além do IDE. Embora, naquela época, eu estivesse cada vez mais me afastando da vida real e imerso no virtual, a mesma idade e as normas geralmente aceitas me obrigavam a ir para a faculdade. Isso foi uma verdadeira tortura. Eu não entendi completamente o que estava fazendo nesta instituição e por que estava ouvindo essas informações. Havia prioridades completamente diferentes na minha cabeça. Aprendendo o Visual Studio 6.0, tentando com o WinApi e o Delphi 6.
Um site maravilhoso firststeps.ru, que permitiu a todos desfrutar das pequenas medidas tomadas, embora eu não entendesse a imagem geral. Por exemplo, na mesma tecnologia MFC ou ActiveX.
E a faculdade? Foi uma perda de tempo. Em geral, se eu tocar no tópico do estudo, estudei mal. Até a 6ª série, eu era aluno de honra e depois voavam três, e na 8ª-9ª série, eu freqüentemente pulava as aulas, pelas quais não recebia cintos ilusórios de meus pais.
Portanto, tendo chegado à faculdade, havia também pouco entusiasmo.
- Onde está a programação? Eu me fiz uma pergunta. Mas ele não estava na primeira metade do ano. Mas havia ciência da computação com MS-DOS e Office, além de assuntos gerais.
Além de tudo, eu tinha um caráter retraído e era muito modesto. Esse novo grupo heterogêneo claramente não era credível. E foi mútuo. Portanto, todos os tipos de zombaria não demoraram muito a esperar. Eu aguentei por um longo tempo, até que eu não aguentava mais e batia na cara de um dos criminosos na sala de aula. Sim, então ele voou para as mesas. Graças ao meu pai - ele me ensinou a lutar desde a infância e, com um desejo agudo, eu podia usar a força física. Mas isso aconteceu muito raramente, muitas vezes eu sofria zombaria, esperando o ponto de ebulição máximo.
A propósito, o agressor, muito surpreso com o que estava acontecendo, mas ainda se sentindo superior, me chamou para a luta de volta. Já está no terreno baldio atrás da escola.
Não eram punhos de crianças, como era o caso na escola. Havia um Mahach nobre, com nariz quebrado e muito sangue. O cara também não era de uma dúzia tímida e pesava habilmente ganchos e uppercuts. Todos permaneceram vivos e, desde então, ninguém me intimidou nesta "faculdade de programadores". Eu tenho um desejo de ir para lá e desapareceu completamente em breve. Portanto, parei de investigar e nenhuma ameaça de meus pais me afetou. Por algum milagre, eles consideraram minha permanência na faculdade na 10ª série da escola, e eu tive o direito de ir para a 11ª.
Tudo ficaria bem, mas a 11ª série não era uma das melhores faculdades. Voltei à minha escola de origem, conheci alguns amigos de meus conhecidos com quem eu estudara desde a primeira série e esperava que tudo desse certo em seu lugar de origem. Havia apenas uma ressalva: Gente, eram mais bandidos da série do que aqueles garotos com quem eu era amigo nas séries mais baixas. Todos foram para a cadeira de balanço, para ganhar massa muscular. Eu parecia bambu. Magro e muito magro. É claro que um colega de classe touro poderia me torcer com uma esquerda.
Então isso começou a acontecer com o tempo. Então minhas habilidades de luta não tiveram efeito. Já havia categorias de peso muito diferentes comigo e com os outros meninos da minha classe nativa. Além disso, as características do meu pensamento se fizeram sentir.
Sem espalhar meus pensamentos na árvore, também saí da escola. Onde eu me sentia confortável estava na frente de um monitor de computador, com a porta do meu quarto fechada. Fazia sentido, e intuitivamente eu senti que estava fazendo a coisa certa. E ir à escola é um exercício inútil, e até mesmo uma zombaria duradoura, que todos os dias se tornam cada vez mais sofisticados ... Isso é o suficiente para mim.
Depois de outro conflito na classe, comigo no papel-título, saí da escola e não fui mais lá.
Cerca de três meses eu estava sentado em casa, passando o tempo livre estudando C ++ / WinAPI / MFC e rsdn.ru.
No final, o diretor não aguentou e ligou para casa.
- "Denis, você está pensando em estudar?" Ou você vai embora? Decida. No limbo, ninguém vai deixar você. - disse o diretor
- "Vou embora" - respondi com confiança
E, novamente, a mesma história. Faltava terminar meus estudos por meio ano, até a formatura. Não me deixe sem uma crosta. Meus pais acenaram com a mão para mim e me disseram para ir concordar com o diretor. Eu vim para o diretor. Ela gritou para eu tirar o chapéu quando entro. Então ela perguntou estritamente - "O que fazer com você?" Francamente, eu mesmo não sabia o que fazer. Fiquei muito feliz com o estado atual das coisas. Finalmente, ela pegou a palavra:
"Então, vamos fazer isso." Concordo 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. Se você quer ir, não quer ir. Havia 45 pessoas na classe, 6 a 7 delas apareceram na sala de aula. Não tenho certeza se todos na lista estavam vivos e também estavam livres. Porque só comigo, colegas de classe roubaram a motocicleta de outra pessoa. Mas o fato permaneceu. Eu poderia desenvolver habilidades de programação ilimitadamente e ir para a escola quando realmente preciso. No final, terminei passando nos exames finais. Muitos não os exigiram, e até tivemos uma graduação. A graduação, por si só, é uma fábula separada. Lembro-me de que bandidos de colegas de classe locais me roubaram o relógio. E, mal ouvindo meu sobrenome, ao apresentar certificados - trotava em busca de um documento e saí da escola com uma bala, para não tropeçar em outros problemas.
Adiante era verão. Com Donald Knut debaixo do braço na praia, no mar, no sol e na fatídica decisão de escrever seu próprio grande projeto (compilador).
Parte 3. Universidade >>