はてなキーワード: 処理系とは
目的によるんじゃないの?
壊れた自動車を直したり、新しい自動車を作ったりするには自動車の仕組みを理解しないといけないけれど、ただ乗るだけなら別に中の仕組みなんて知らないでも乗れるでしょ?
ツールを単に使うだけなら、別にツールの中身なんて知る必要はない。便利な使い方さえ知っておけばいい。
ツールを直したり、新しいツールを作ったりしたいと思ったら、どうやってツールが作られているか理解しないといけないから、コンピュータサイエンスが必要になってくる。
まあ、コンピュータサイエンスとざっくり言ってもいろいろ含まれるよね。
自分が学生時代に習ったもので記憶に残っているのだと、アルゴリズムとデータ構造、プログラミング言語処理系、オペレーティングシステム、コンピュータアーキテクチャ、ネットワーク、分散システム、符号理論...くらいかなぁ。
大学の専門課程ではじめてプログラミングに触れるケースを想定する。
情報科学専攻で半年か一年かけてやる程度の内容だが、他のほとんどの科目でもそうであるように、要領の良い奴なら数週間でマスターできる。
実際、世の中にはこのレベルの奴なんか珍しくもなくいる一方、Pythonチュートリアルレベルの文献を数ヶ月かけても前半数章すら読めないような奴もいて、そういう奴が「プログラマになりたい」とか言ってる。本当に社会の迷惑。やめてくれ
昔の私もそういう考えだったよ。でも、うんざりする気分もある。
若い頃は私はいろんなフレームワークで簡単なWebアプリ作ったり、あとゲームを深夜まで作ったり、言語処理系を実装したりしてどんどん新しい刺激が増えていくんだよ。それは楽しかった。でも、そういう感じが今は無くなっていることを話そう。
たしかに新しいことを学ぶのは今でも楽しい。私もガンガン知識を吸収していったし、いまも継続している。けれども、吸収していったものがどんどん使えなくなってしまって、新しいことを「覚えなおし」がつらかったりする。(たとえば、言語ライブラリやフレームワークを熟知したとしても、別の設計思想を持つ言語やライブラリやフレームワークを学ぶ機会は何度もやってきた)。
また、家庭を持ったり、新しい趣味をもったり、あと体力とかなくなったりして、「自分の時間」がどんどん少なくなっているんだ。若い頃は今ほど交友関係なんて無いし、子育てや家のことなんて考えなくていいし、歳をとって深夜まで勉強なんて体力的にも家庭的にもつらかったりするんだ。
また、スキルが上がっていって、責任も重くなって、そうじゃなくても体力とか無くなっていくから、家に帰って勉強の気力じゃなくて、もっと仕事のこと以外のことを家ではしたくなくなるなるのよ。体力とかなくなるから、筋トレしたりスポーツとかジムを始めるけどそういうのもプライベートな時間を削っていく。いや運動も楽しいのだけどね。
なんか巷では近頃プログラミングスクールが流行ってるらしいが、知らないなら言っておく。それは完全に無意味だ。そんなのはプログラマーなら誰でもわかってるはずだが。情弱が金を搾り取られるのは資本主義社会の常であるにしても、さすがに偽の希望を抱いてプログラミングスクールに通うためだけに安定した大企業に勤めてたのに退職する人の話なんかが流れてきて看過できないなと思ったので書いておくわ。どうせ情弱には届かないだろうが。
そもそも今プログラマーやってる奴はほとんど独学でプログラミングを習得したという事実がある。GAFA 社員もそこらへんのいわゆる下流工程のSEも。30年前はベーマガっていうプログラム投稿雑誌があって、当時プログラミング教室なんか当然ないが普通に小学生とかが独学して自作のプログラムを投稿してたわけだ。プログラミングスクール登場以前はプログラミングは独学するものだった。
確かに既に分かってる人に指導されないと学べない分野は存在することはするんだが(定義・定理・証明スタイルの大学以降の数学とかね)、プログラミングはそうじゃない。数学で論理的に間違った証明を書いても最初は自分では気づけないしだから独学で高等数学を学んだ人というのは控えめに言って悲惨なことになるんだが、プログラミングだと間違えたら分かるんだよな。エラー吐くし動かないし動いても間違った答えを出すので。
間違えたら即座にコンピューターが教えてくれるという最高のフィードバック環境が整っているのがプログラミングというものであって、独学が可能というだけでなく、この上なく独学に向いている。
そうは言っても誰かに教えてもらった方が効率がいいという議論はあるだろう。しかし1年前のベストプラクティスは今日の時代遅れになる、日進月歩のこの環境でエンジニアやっていくなら独学は必須のスキルだし、プログラミングという独学にうってつけの分野で独学だと著しく効率が悪くなるようならそもそもエンジニア向いてない。ゼロからプログラミングを独学してみるというのはその試金石でもあるわけ。よしんば今特定のフレームワークの使い方を誰かに教えてもらって使えるようになったとして、次のフレームワークが出てきたらどうすんの?って話。
プログラミングを独学って具体的にどうするのよ?という人のために学び方を書いておく。
これが出来る奴はそんなに多くないかもしれないが、そもそもプログラミングというのは適性というものがあって、向いてない奴はやらない方がいい。絵心がない奴、音痴な奴、文才がない奴がいるようにプログラミングの適性がない奴がいる。そんなの当り前じゃないか?適性があるなら上の手順で難なく独学できるし、適性がないならプログラミングスクールに行っても無駄。プログラミングスクールは金儲けさえ出来ればいいからプログラマーなら誰でも知ってる適性というものの存在を隠すんだよな。そんな詐欺の被害に遭う人が出るのは嫌なのでこうして正しい情報を書いておいた次第。
プログラミング言語の作者には,
の2種類求めることが多い.
この本は2)のために購入したが,いまのところ作者のイズムが目的にぴったりだったと思っている.ちなみに,現在,「Rubyプログラミングクックブック」を使用しているますます好きになりそう.
豊富なRuby本かマニュアルを参照するようにすることになると思う.理解できそうな英語のものも含めてネット上で色々探しながら学習中です.
Rubyは言語として非常に分かりやすかったです。特に作者のRuby独特な要素に共鳴できる。
などが丁寧に好感が持てる。
うっかりプログラミング初心者がプログラミング入門書だと勘違いして「入門書なのに説明が不親切、星1」とか辛辣なRubyレビューが付かないか心配!!
おそらくそういう人はPythonの入門書とかを買うから大丈夫なのでしょう。「分かる人向け」のネーミングが好感持てます。
基礎がしっかり出来ている人向けに、作者の主義主張だけを過不足無く丁寧に説明した薄い本です。読者層が実用上興味を持っていそうな様々なトピック
指すに留めています。
データフレームの扱いなどの説明はなかったのでデータ処理系の話が気になる方は注意してください.
個人的には作者の印象もよかったので大変満足です.ぜひ今後もRubyの和書を出版していただけると嬉しく思います.
完全な初心者向けというよりは、ある程度作者の主義主張になじみのある人向けか。でもRubyを基礎から勉強する上で、そのやや特殊な立ち位置のせいか、なかなか良い本が無いなかで、貴重な価値ある一冊と感じた。
Rubyの公式ドキュメント(英語)は非常に充実していますが、あまりに膨大なため、新参者には、どこをどれだけ読めばいいのかわからず、戸惑ってしまいます。
この半年、Webの情報だけを「つまみ食い」してきたのですが、断片的な作者の主義主張を読んできて、だんだんと好きになってきたので、本書を購入しました。
前半はRubyの基礎事項を簡潔に説明しています。話題について網羅的に説明されているわけではなく、要点だけを解説し、いくつか初歩的な例を挙げたら、「詳しくは公式ドキュメントを参照しよう」という感じで、適当なところで切り上げて、次の話題に進むので、読み進めるのに飽きません。それでも、それまで取りこぼしていたRubyの小技を拾えたり、あまり馴染みがなく、これまで忌避していたRubyの機能を知ることができたりして、収穫が大きかったです。
これまでRubyの「常識」がスッキリ理解できて満足です。本書を読み終わって、振り返ると昨日までの自分は公式ドキュメントで迷子になっていたんだなぁとしみじみ思います。(まぁ、それはそれで面白かったのですが。)本書は、プログラミング言語の本にしては、Ruby言語のキーワードに関する索引はそれほど充実していませんし、内容的にも自己充足しているわけでもないので、「閉じた」リファレンスのような本ではありません。本書は、他言語経験者が、Rubyの全体観をつかんで、さらなる詳細情報を公式ドキュメントに探しに行けるようになるための、作者の主義への「開いた」ガイドブックのような本だと思います。