Esse texto foi criado a partir de uma mini-palestra que eu preparei para alunos do campus do IFSul – Camaquã. A idéia era sugerir livros que os alunos poderiam ler nas férias.
Por que ler livros físicos?
Antes de ir para as sugestões em si, a pergunta que não quer calar: ‘Por que ler livros se “tem tudo na Internet”?’. Seguem 3 motivos.
Curadoria: um livro para chegar a uma biblioteca GERALMENTE passa por um processo múltiplo de seleção. Primeiro o texto tem que ser selecionado para ser escrito dentre infinitas possibilidades pelo próprio escritor. O editor também vai selecionar dentre várias propostas qual livro vai ser publicado. Mesmo depois de ser publicado o livro vai ser selecionado dentre tantos outros para chegar a uma biblioteca. Em um mundo onde eu acredito que o problema é peneirar o que é bom ou não acho que consultar uma biblioteca, principalmente física, é uma maneira de aproveitar esses múltiplos funis que um livro passou para estar lá.
Organização e edição: Por ser algo mais perene, que não pode ser atualizado com tanta facilidade a tendência é que o livro vai ser planejado e editado com maior cuidado. Afinal se houver um erro de código ou de ortografia esse erro possivelmente será eternizado naquele livro.
Atenção: Um livro não fica apitando e/ou piscando 😉
Claro que para cada ponto elencado acima podem ser feitos contrapontos mas acho que são itens que merecem alguma consideração. É preciso também sempre lembrar que livros com ênfase em uma tecnologia específica tem uma chance maior de ficarem desatualizados. Até mesmo para evitar isso a maioria dos livros abaixo tratam mais de conceitos do que de tecnologias.
Regras de seleção
Como inicialmente o público-alvo eram alunos do IFSul-Camaquã os livros tem que estar disponíveis na biblioteca do campus.
Além disso tem que ser livros que eu tenha lido. Tem duas exceções nessa regra que são justificadas abaixo.
A ênfase era estimular a leitura técnica então os livros tem que ser de informática, mas como talvez mais importante ainda seja incentivar a leitura também me permiti indicar dois livros que eu considero excelentes e que fogem dessa regra.
A lista (sem priorização de importância)
Fundamentos de Arquitetura de Computador – Raul Weber
Esse é um bom livro introdutório à parte física da computação, ou seja, como os computadores atuais são construídos
Organização e projeto de computadores: A interface hardware/software – Patterson e Hennessy
Esse livro trata do mesmo subtópico do anterior, ou seja, como os computadores são construídos porém aqui o assunto é abordado de maneira muito mais aprofundada. Então ele complementa o livro anterior. Dependendo da sua familiaridade com o assunto pode ser recomendável ler o livro anterior. Se você já tiver uma noção do assunto e tiver que ler somente um entre estes dois este é mais recomendável
Introdução à Teoria da Computação – Michael Sipser
Se os dois livros anteriores tratam do aspecto da construção dos computadores este aqui trata do aspecto complementar que é a matemática por trás da computação. Computador significa essencialmente calcular então eu vejo a computação como uma filha da matemática. Então este é um livro com esse abordagem. Este não é um livro fácil mas é muito importante para o profissional que quer realmente entender do que se trata a computação
Sistemas Operacionais Modernos – Andrew Tanenbaum
Os sistemas operacionais são softwares extremamente complexos e embora poucas pessoas vão construir um na sua vida, estudar como eles são feitos pode aperfeiçoar bastante um programador (pois vai entender melhor esse tipo quase onipresente de software) como também pode entender a maneira que muitos dos problemas que um sistema operacional resolve e com isso vai também aumentar o rol de técnicas a sua disposição. Além disso o livro tem um leve tom sarcástico sem deixar de ser preciso que deixa a sua leitura bastante agradável.
Manual Completo do Linux: Guia do Administrador – Nemeth, Snyder e Hein
Se o livro do Tanenbaum não ensina muitos truques práticos este aqui é completamente oposto. Embora aqui o tempo já talvez comece a pesar ainda é muito bom para ter uma visão geral dos comandos Linux.
Redes de Computadores I e II (Série Tekne) – Schmitt, Peres e Loureiro (vol. 1); Peres, Loureiro e Schmitt (vol. 2)
Um grande problema de muitos livros de Redes é que eles tendem a ser muito teóricos, falando do modelo de camadas, algoritmos e etc porém ao menos eu, que estudei pelo Tanenbaum sempre senti uma deficiência no conhecimento prático de Redes. Existem bons livros sobre assuntos específicos mas acredito que essa é a melhor série que une o conhecimento teórico com a prática. Depois dessa leitura pode-se partir ou para uma melhor fundamentação teórica (e o Tanenbaum tem também um livro clássico de Redes) ou outros livros mais práticos. Mas o começo que eu sugiro é aqui.
Projeto de Banco de Dados – Carlos Heuser
Os bancos de dados são muito importantes pois é onde armazenamos a maior parte das informações das aplicações. Bom, mas e como projetar um banco de dados? É o que este livro explica. É um livro essencialmente de modelagem, então a ênfase aqui não é no SQL. Mas acredito que estudando primeiro a modelagem, aprofundamentos práticos depois serão bem mais fáceis.
Expressões regulares – Aurélio Jargas
Tudo bem, aqui uma leve roubadinha. Eu não li exatamente esse livro mas uma apostila mais reduzida que o Aurélio disponibiliza(va?) online. Mas a partir dessa apostila posso dizer que o assunto é bem abordado e que trata-se de um assunto pertinente. Expressões regulares basicamente são maneiras de você definir e procurar padrões de comparação. Isso é muito útil para verificações de entradas e também na linha de comando Linux para encontrar padrões em arquivos. Por exemplo filtrar todas as linhas de um arquivo que começam com um formato de hora e que depois possuem a string “erro”. Para fazer isso de maneira muito mais simples existem as expressões regulares.
Introdução à ciência da computação – Fedeli, Polloni e Peres
Eu tinha falado que não tinha lido dois livros desta lista e esse é o primeiro. Mas dei uma olhada no índice e é pareceu um livro que eu gostaria de ter escrito pois a computação é descrita de maneira ampla. Particularmente pode não ser o ideal para todos mas bate muito com a maneira que eu gosto de aprender: partindo do geral e indo para o particular aos poucos. Pareceu muito promissor.
Algoritmos: lógica para desenvolvimento de programação de computadores – Manzano e Oliveira
E pra fechar os livros técnicos um livro de Algoritmos. O segundo que eu não li nessa lista. Explico: o primeiro livro de programação que eu li foi “Treinamento em linguagem C – Módulo 1”. Sou muito grato a autora por esse livro porém não tenho convicção que esse é o melhor livro para começar a estudar programação nos dias de hoje. Me questiono até da utilização de C como primeira linguagem visto sua dificuldade em relação a outras linguagens para programadores iniciantes. Então dentro da idéia de que é mais importante começar do que ficar parada ante as inúmeras possibilidades indico esse aqui mesmo sem ter lido. Olhando o índice e dando uma breve foleada parece um livro legal. Além disso parece ser bem usado em muitas bibliografias por aí então vou me apoiar no conhecimento comum nesse caso.
Bônus: Fora da computação / informática
O propósito do livro é indicar livros da área de informática mas considerando que, em geral, é melhor ler do que ficar na rolagem infinita vou indicar dois livros de outras áreas que também tem na biblioteca do IF-Camaquã. Dois bem distintos: um de ficção que pode te deixar muito apreensivo com a humanidade (sem deixar de ser um excelente livro) e o outro de divulgação científica e que pode mostrar o quanto o universo pode ser fascinante.
1984 – George Orwell
Esse é um livro que teve um impacto profundo em mim, me tornando extremamente cético com estados gigantes. O livro trata de um futuro distópico ao mesmo tempo tão perto e tão distante da nossa realidade. O final te deixa com o coração apertado mas ainda assim é uma leitura necessária.
O universo em uma casca de noz – Stephen Hawking
Esse aqui é um livro de divulgação científica mas nem por isso é um livro de leitura totalmente tranquila pois o famoso físico Stephen Hawking tenta explicar conceitos incríveis (e muitas vezes contra-intuitivos) da física moderna. Particularmente eu ainda prefiro o livro “Uma breve história no tempo” mas “O universo …” é um livro mais moderno e que faz um ótimo uso de recursos audiovisuais para mostrar o quanto o universo (e a física) são fascinantes.
Conclusão
Bom, então essa é a minha lista. Espero que seja proveitoso para alguém. Visite a biblioteca mais próxima. É um verdadeiro multiverso que está esperando a sua visita 🙂