Em resumo, eu recomendaria a leitura de muitos livros que não estão relacionados à ciência da computação.
É importante entender o lugar que o termo “ciência” ocupa em “Ciência da Computação” e o que “engenharia” significa em “Engenharia de Software”.
O conceito moderno de “ciência” pode ser formulado da seguinte forma: trata-se de uma tentativa de traduzir fenômenos em modelos que podem ser mais ou menos facilmente explicados e previstos. Sobre esse assunto, você pode ler "Sciences of the Artificial" (um dos livros importantes de Herbert Simon). Você pode olhar para este ponto de vista: se as pessoas (especialmente desenvolvedores) constroem pontes, os cientistas podem explicar esses fenômenos criando modelos. O mais interessante é que a ciência quase sempre encontra novas e melhores maneiras de construir pontes, de modo que a amizade entre cientistas e desenvolvedores pode melhorar a cada ano.
Um exemplo disso da
Computer Science é John McCarthy, que pensa em computadores no final da década de 1950, ou seja, sobre o espectro incrivelmente grande do que eles podem fazer (talvez IA?), E cria um modelo computacional que é uma linguagem e pode servir como sua própria metalinguagem (Lisp). Meu livro favorito sobre esse assunto é The Lisp 1.5 Manual, do MIT Press (escrito por McCarthy et al.). A primeira parte deste livro ainda é um clássico de como pensar em geral e da tecnologia da informação em particular.
(Posteriormente, foi publicado o livro “Smalltalk: a linguagem e sua implementação”, cujos autores (Adele Goldberg e Dave Robson) foram inspirados por tudo isso. Ele também contém uma descrição completa da aplicação prática do projeto, escrita no próprio Smalltalk, etc.).
Gosto muito do livro “A Arte do Metaobject Protocol”, de autoria de Kikzales, Bobrow e Rivera, publicado ainda mais tarde que os anteriores. Ela é um daqueles livros que podem ser chamados de "ciência da computação séria". A primeira parte é especialmente boa.
Outro artigo científico de 1970 que pode ser considerado sério
Ciência da Computação é a Linguagem de Definição de Controle de Dave Fisher (Universidade Carnegie Mellon).
Pode parecer que meu livro favorito sobre computação em computadores esteja longe da indústria de TI, mas é maravilhoso e agradável de ler: “Computação: máquinas finitas e infinitas”, de Marvia Minsky (por volta de 1967). Apenas um livro maravilhoso.
Se você precisar de ajuda com a "ciência", geralmente recomendo muitos livros: Principia de Newton (o livro científico e o documento fundador), A Biologia Molecular da Célula por Bruce Alberts etc. Ou, por exemplo, um livro com registros Maxwell, etc.
Você precisa perceber que a Ciência da Computação ainda é a busca pela conquista, não pela conquista.
"Engenharia" significa "projetar e construir coisas de maneira fundamental e especializada". O nível exigido dessa habilidade é muito alto para todas as áreas: civil, mecânica, elétrica, biológica, etc. Desenvolvimento.
Você deve estudar cuidadosamente esse aspecto para entender melhor o que significa se envolver em "engenharia".
Se você precisar de ajuda com "engenharia", tente ler sobre o estabelecimento do
Empire State Building , da
Represa Hoover ,
da Ponte Golden Gate etc. Gosto do livro “Agora pode ser contado”, escrito pelo Major-General Leslie Groves (título honorário de participante do projeto Manhattan). Ele é um engenheiro, e essa história definitivamente não é sobre o projeto POV de Los Alamos (que ele também dirigiu), mas sobre Oak Ridge, Hanford etc., bem como a incrível atração de mais de 600.000 pessoas e muito dinheiro para concluir o design. necessário criar os materiais certos.
Além disso, pense na área em que não há parte da “engenharia de software” - novamente, você precisa entender que “desenvolvimento de software” em qualquer sentido “em desenvolvimento”, na melhor das hipóteses, permanece o desejo de alcançar, não realização.
Os computadores também são uma espécie de "mídia" e "intermediários", então você precisa entender o que eles fazem por nós e que influência eles exercem sobre nós. Leia Marshall McLuhan, Neil Postman, Innis, Havelock, etc. Mark Miller (comentário abaixo) apenas me lembrou de recomendar o livro "Technics and Human Development", vol. 1 da série The Myth of the Machine de Lewis Mumford, o grande predecessor das idéias da mídia e um aspecto importante da antropologia.
É difícil para mim recomendar um bom livro sobre antropologia (talvez alguém o faça), mas entender as pessoas como seres vivos é o aspecto mais importante da educação e deve ser cuidadosamente estudado. Em um dos comentários abaixo, Matt Gaburi recomendou Human Universals (acho que ele quer dizer o livro de Donald Brown). Obviamente, este livro deve ser lido e compreendido - não está na mesma estante que os livros sobre qualquer campo específico, como a Biologia Molecular da Célula.
Adoro os livros de Edward Tufty na série Envisioning Information: leia todos eles.
Os livros de Bertrand Russell ainda são muito úteis, apenas para pensar mais profundamente sobre "isto e aquilo" ("A History of Western Philosophy" ainda é surpreendente).
Muitos pontos de vista são a única maneira de combater o desejo humano de acreditar e criar religiões, então Destiny Disrupted, de Tamima Ansari, é o meu livro de história favorito. Ele cresceu no Afeganistão, mudou-se para os Estados Unidos aos 16 anos e é capaz de escrever uma história clara e esclarecedora do mundo desde os tempos de Maomé do ponto de vista deste mundo e sem mais apelos a acreditar.
* POV (propagação de variação) - a propagação de contradições no testemunho (aprox. Por.)
A tradução foi apoiada pelo EDISON Software , que cria profissionalmente software para a Internet das coisas em escala urbana , e também desenvolve software para novos tomógrafos .