Scribble at 2024-05-31 08:18:47 Last modified: 2024-05-31 10:58:31

添付画像

aeonik

If you really want to learn programming.

1. Buy SICP and put it on your book shelf.

2. Don't read it, instead read random StackOverflow posts talking about the content.

3. Spend the next 10-50 years trying to understand what people are talking about on various related forums.

4. Add more legendary books to your shelf over these 10 years, like The Art of Computer Programming. Fawn over their greatness. DON'T READ THEM.

5. Go on long walks, take spirit journeys to harsh natural locations, put your life in danger while you meditate on the concepts.

6. Blog profusely about your experiences.

7. Optional: actually write code.

ASK HN: The Required Fundamentals for Self-Taught Programming

独学でプログラミングするために必要な基本はなんだろうか。僕は、この手のブルーカラーと言っては失礼だが、工場に配属されたばかりの指示待ち野郎な発想の質問というのが昔から大嫌いで、そんなもんコンピュータを使って何かがしたいという欲求なり動機なり目的があるなら、そのために何をすればいいかを逆算することなんて中学生にでもできるだろうと思う。というか、それを自力で思いつかないか、あるいはデタラメにでも実際にやってみることすらしない人が、およそシステム・エンジニアリングなんてものに従事できるとは思えないね。かなり矮小な事例ではあるけれど、こういうところにも起業家や科学者のヒューリスティックに通じるものがあると思う。そして、これは僕自身が科学哲学にしてもシステム開発にしても教科書を読んだりせず、そして誰かに教えてもらわずに、国公立大学の博士課程に入ったり、ナショナル・クライアント案件のリード開発者を続けて社内で地位を築いているという実績をもっているからという事情で、僕が単に有能な人間だから初めてこんなことができるというわけでもない。

たとえば、僕のようにプログラミングの天才でもなんでもない者ですら、プログラミングを初めて覚えた中学生の当時は考古学を勉強していたのだけれど、東大阪市の遺跡のデータベースを作るために BASIC でどうプログラミングすればいいかを考えて、個々の遺跡について一定の項目を入力するプロンプトを用意して、これまた一定の数の件数が揃ったら、当時のパソコンなんて記憶容量が数百 KB しかないわけだから、どんどんカセット・テープに書き出していくわけだ。そういう処理を書くために、何も中学1年生が待ち行列理論や線形代数学を学ぶ必要なんて無いわけで、プログラムという処理内容をどう組み合わせたら所定の目的を果たせるかという思考力が必要なだけだ。そして、そこが本質的であるという事実は、ナショナル・クライアント案件のシステム開発を手掛ける現在の業務にあっても変わらない。逆に何かそういう「基礎」を教えてもらったり、あるいは本で読めば、君が必要としている目的のためにプログラミングできるようになると思うのだろうか。論理学だろうとプログラミングだろうと、そんなオール・マイティと言うべき手順や方法が記述された本なんてものが存在するなら、まさにそんな魔法書みたいなものを書ける人物こそが「シンギュラリティ」を達成するような AI を開発できる最高の知性だと思うがね。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る