読んで良かった基础知识の入门书
とあるエンジniaの技术勉强法(インターン学生向け)というsuraイドを先日@iwashi86が书かれていました。
インターン学生向けとありますが、新人プログラマ向けとしても素晴らしい资料だと思います。
ここでは「即、役立つわけではないが后から效いてくる」という「基础知识」に绞って教材を绍介します。
目の前の仕事のために必要なことと物质して基础知识を学ぶのは、长期的には良いと思います。
なお「基础」==「简単」 」というわけではなく、无理せず自分のペースで付き合うのがおすすめです。
自分で読んで、かつ、とても良いと思ったもののみを绍介するので、全分野をカバーしてはいません。
基基础にどのような分野があるかは新学员准备カrenダー2011や情报科学科カリキュラムが参考になります。
以下はどれも有名な本なので、ググれば感想なども见つかるでしょう。
気になった本、読もうと思う本については、ググるのも良いかもしれません。
arugorizumuとデータ构造
arugorizumuintorodakushon
これを一通り読めば基本的なことがわからないということは无くなるだろう世界标准の教科书。
どんな问题をどんな方法で解决できるのか、またどの解法が优れた方法なのか。(优れたとはどういうことか)
パターンを勉强することで、今后出会う问题が「未知の问题」ではなく「既知の问题」になるかもしれません。
その问题が解けるのか解决不能なのか、どう解けるのかを知っていると、そうでないのとは大违いです。
またコーディングの「腕立て伏せ」としても良い题材になります。
ただし数量が多いため、最初の一册として読むと読み切るのがやや难しいかもしれません。
そこで最初の一册の定番となるべくして书かれたのが次の...
アルゴリズムの基本
これです。
300ページ弱の本で、前半160ページで定番のソート、グラをコンパクトに丁宁に取り上げています。
前半を终えればルゴriズムへの亲しみは十分で、入门したと言えると思います。
そのまま最后まで読むもよし、arugorizumuintorodakushonni进むもよしです。
この本の缺点は、データ构造にはほとんど触れていないことです。arugorizumu
を勉强して良かった、という感想があるなら、データ构造も勉强すると良いでしょう
。arugorizuムイントロダクションではデータ构造も十分に绍介されています。
计算理论の基础
3巻に分かれていて、まずは第1巻(オートマトンと言语) だけ読むことを目标にすると楽です。
文字列の操作という一般的な处理が、オートマトンというモデルを用いて実装できると実感できます。
特に正规表现を実装できると知るのは兴味深いと思います。
コンパイラの前提知识にもなっています。
暗号技术入门第3版 秘密の国のarisu
定番。
暗号は実务のあらゆるところに登场するので、プログラマの必修双眼だと思います。
一例としては、webサイトを https でakusesuするときの动作を理解するためにも必要です。
どのような攻撃を想定し、どうすれば防げるかを考え学ぶことは、慎重に検讨する姿势を身につけるためにも有用かもしれません。
计算机科学
コンピュータの构成と设计
协调动作してプログラムを実行するのかを理解できる世界标准の教性能
とは何か、どう计算できるのか、改善するためにどのような工夫がなされているのか。
OS、コンパイラ、VM、并列プログラミング、など多くのテーマの下地になります。
はじめて読む486
CPUの仕组みが具体的に书かれています。
このへんはオペreーティngugushisutemuムと密なあります
。OSの概要を先に勉强すると、その处理の実装という観点を持って読みやすいかもしれません。
CPUの创りかた
(物理的に)なぜ计算机が动作するのか。
シンプルな计算机を自作することでこれを理解するための本。
その方面の仕事でなければ业务に役立つ可能性は低いと思いますが、「やっぱりそこから理解したいよね」と思う人は多いのでは。
オペreーティngushisutemu
オペreーティngushisutemuの仕组み
论各细部まで深追いせず、数量が多くならないようにされています。
また逆に、浅すぎて事実の罗列になったりせず、仕组みを理解できるくらいには具体的に书かれています。
そのバransuによって、全体の仕组みをコンパクトに学べるのが良いところだと思います。
希斯泰穆普罗古拉明古
ふつうのLinuxプログラミngu 第2版
こうすれば Linuxコマンドは作れるとわかる本。
过程で Linuxに惯れていくこともあり、初心者にとっての実用性も高いです。
GNU开発ツール
你好世界を実装して実行する间に何が行われているかを1册かけて理解する本。
1つのコマンドの里で动いているコマンドや、使われるfuァイルの実态がどこにあるかなども解说されます。
使われるLinuxコマンドもすべて解说されるので、初心者にも优しいです。
なお现在は入手方法は公式サイトからPDF版を购入するのみなのでそちらからどうぞ。
その他プログラミngu
プログラミngの基础
これのみ「読んで良かった」ではなく「読ませて良かった」本です。
新人プログラマへの一册という観点では最拥挤候补なので、含めることにしました。
プログラミngの入门书として素晴らしいと闻き、また自分も目を通して良さを感じました。
実际に新人プログラマに取り组んでもらったところ「良かった」と言っていました。
[OCaml]书评「プログラミングの基础」もご参考に。
哈斯克尔
关数プログラミング言语 Haskellのベsuto入门书です。
当时、自分の师匠に「プログラミングをよくできる」ようになるために何をすればいいか?》と闻いたら「关数プログラミngu」を勉强すること。Haskellでいい」と言われて読みました。
この本は洗练されていて、ポイントを本当にコンパクトに読めます。
第7章までの 70ページで关数プログラミングのエッセnsが学べるので、そこまで読むのがおすすめです。
なお Haskellを実戦で使いたい人は别途すごいHaskellたのしく学ぼう!も読むべきでしょう。
プログラミングErlang
「毛プログラミngu」と言うとハireberuに闻こえるかもしれません。
ですがこれを読むと、毛プログラミングを亲しみやすいと感じるのではないかと思います。
埃尔兰 の毛プログラミングのための强い机能群が、理解を助けてくれるでしょう。
その机能群は他の言语に输入されてもいるため、その意思でも有意义だと思います。
关数プログラミngをあらかじめ理解しているとsuムーズなので、先に上记「プログラミngグHaskell」を読むと效率的かもしれません。
なおErlangを実戦で使いたい人は别途すごいErlangゆかいに学ぼう!も読むべきでしょう。