テーマ、知りたいこと
皆さんが初めて学んだプログラミング言語はなんでしたか?
また、その後の学習や経験にどのように活きたと感じていますか?
そして、現代でプログラミングを学び始める人に向けてどんな言語、環境が理想的かを含めて教えてください!
技術分野は問いません。得意な領域について知見があればお伺いしたいです。
背景、状況
Twitterで初めて学んだプログラミング言語はC言語でした。という投稿をみて実際に皆さんは何から学び、どのように活きたのだろう?と疑問が産まれました。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
#1
総合スコア25
投稿2025/05/24 08:35
編集2025/05/24 21:34自覚的に初めて学んだプログラミング言語はLispです。
最初はANSI Common Lispだったんだけど、全くエディタの設定が分からなくって(笑)、リスナに直接教科書のコードを打ち込んでましたね(笑)。やりづらかった(苦笑)。
その後、Schemeに移動して、PLT Scheme(現Racket)を発見して、これがオールインワンだったんでこれでプログラミングの基礎を学びました。
その後の学習や経験にどのように活きたと感じていますか?
関数でプログラムする、と言う事に慣れましたね。
「どの言語でも関数はある」ってのはその通りなんだけど、徹底的に引数と返り値を連鎖する、って事に慣れた。
いわゆる「関数型プログラミング」ですか。
また、最初にLispを触るメリット、ってのは非常に高機能な言語なんで、他の言語にある「コンセプト」も含んでる。あるいはそれを再現出来る。
個人的には、例えばオブジェクト指向はあまり好きじゃないんだけど、Lispだったら「オブジェクト指向の仕組み」までプログラミングして再現出来る。
お陰様で、Pythonでクラス触った時にサッパリ理解出来なかったOOPもLispで「中身を実装する」訓練によって「こんなものか」と言う理解が出来た。
その辺がLispの優れたトコロだと思います。
現代でプログラミングを学び始める人に向けてどんな言語、環境が理想的かを含めて教えてください!
とまぁ、Lispを褒めてるんで、「Lisp」って言いたいトコなんだけど(笑)、残念ながらあまり良い教科書がない、です。
個人的には言語とか、あるいは環境、ってのはかなりどーでも良くって、問題は「その言語を使った」良い教科書があるか否か、ってトコが重要なんじゃないか、って考えている。
まぁ、本当だったら、教科書は実用Common Lisp(PAIP)、環境はAllegro CL 11.0 Free Express Editionがあれば完璧でしょうが、そもそも教科書に1万円もかける、ってのが納得されるのか・・・・・・。
プログラミングを既に習得した人だったら、「本を継続して買っていけば1万円なんざすぐ超える!むしろ安い!」って思ってくれるでしょうが(笑)、「今からプログラミングを始める」人は「マトモにプログラムが書けるようになる」まで数冊分書籍費が飛ぶ、って事を知らない。PAIPなら暫く一冊で済む。なぜならPAIPは「文法を易しく解説した」本ではなくって、本当に「ソフトウェアの書き方」指南書だから、です。これ一冊に「色んなソフトウェアの書き方」が書かれている。しかもそれらには全部「プログラミングの基礎」とか「コンピュータ科学の基礎」が含まれている。極めて優れた本で、むしろ1冊で済む分安い、んです。
しかし、仮に本を購入、しても処理系の方ですよね。Allegro CL 11.0 Free Express Editionのページが英語塗れなんで、これを突破出来る「初心者」がどれだけいるのか・・・・・・。
まぁ、そんなわけで、「本気でやりたい」人には上のカンジで薦めますが、そうでもない(単にちょっと触ってみたい)って人には原則Ruby + SciTEを薦めていますかね。教科書はWeb上に簡単な良いのがあるし。書籍版もあるし。
多分プログラミングが「本当に合わない」人はこれでも合わない。その辺判別するにも良い難易度でしょう。取り敢えず概論を見るには良いか、と。
もうちょっと本気そうな人にはOCaml/F#かなぁ。特にWindowsなら後者かな。IDEもあるし。
これも言っちゃえば良い教科書があるから、です。ビデオ講義があるのも良い。
いずれにせよ、この本は、日本で書かれた最も良質なプログラミング入門書だと思います。今のトコ、これを超える本は知らない。「キレイなプログラムはどう書くか」と言う書法にも触れてる辺りがいい。凡百の「動けばイイ」ってのと違う観点がここにはある。
ってわけで、「教科書が良い」んで、OCaml/F#を薦めています。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。