これからプログラミングを覚える人にお勧めの本は? 194
ストーリー by kazekiri
はじめての○○ 部門より
はじめての○○ 部門より
flame 曰く,
"プログラミングの経験のない人から
「プログラミングを覚えたいんだけど、どんな本を参考にするといい?」
と聞かれたら、どう答えますか?
プログラミングの楽しさとセンスをうまく身につけられるような本、
教えてください。私は
「初めてのPerl 第2版」
を薦めていますが、みなさんならどうでしょう?"
最初だと (スコア:5, 興味深い)
まず、ここは「言語」を選んでいるのじゃなくて「書籍」はどれがいいの?というのが質問の趣旨だよね。まずはそれをお忘れなく。
最初に学ぶ言語によって、その人のプログラミングのスタイルや、ひいては今後どの分野に進むか、ということが決まることもある。もちろん、絶対そうなる、ということではないけれども。
たとえば、アセンブラから学んだ、という人はハード寄りの環境を扱うわけで、ハードの分野とかかわりのある仕事をする確率が増える、ということもあるかもしれない。
だから、「これからなにをしたいと思ってプログラミングを学びたいと思っているのか?」ということは、最初に学ぶ言語を選ぶときに、けっこう大きなファクタだと思う。
だから、職場や指向している仕事によって、あるいは趣味によって、「最初の言語」は変わるのではないか、と思う。
最近、若い人たちがよく「ネットワーク関連の技術を学んで...」なんて言うのをよく耳にするから、「ネットワーク言語みたいなキャッチフレーズの新言語を作ると売れる可能性もあるね。.NETとC#はそれを狙っていたんだろうね。もっとも、そこにはJavaという「先客」がいたし、肝心のM$の「ネットワーク技術」に疑問符がつきっぱなし、という不幸があったから、そう簡単に「その座」にはつきにくいと思うが。
自分の経験から言えば、最初に学ぶ言語は、なんでもいい。どんなところにいても素質と能力のあるやつは、それをこなして自分のものにして、そこを窓口にどんな他の言語にも行くことができるから。ただ、中途半端にはじめて、中途半端に終わるのはまずいね。そういう意味で、最初に触る言語には、ちゃんとした「書籍」とか「先輩」が必要です。
で、書籍だけど、プログラミング言語によって、書籍も変わっちゃうわけなので、言語のお話になっちゃうような気もします。だから、
1.まず、必要な言語(やりたいと思っている言語)を選ぶ。とりあえずなんでもよい。
2.その言語の解説書で、自分が気に入ったものを選ぶ。
でいいんじゃないでしょうか?上にも書いたけど、能力や素質のある人は、そこからいくらでも伸びますし。
概要的なものや考え方を学ぶ、という本は、やはりある程度プログラミングというものがわかってから読むべきと思います。
あえて言う (スコア:5, 参考になる)
システム屋としての発想ですが, 本当にプログラミングが必要ですか? というところからヒアリングし直さなければ適切な指導はできないと思います.
ここでは知人から「プログラミングしたい」という話が来たわけですが, この段階で考えられるシチュエーションとして
に大きく分けられると思います. 前者なら問題が解決できれば良いわけで, 単にその知人が無知でプログラミングしなければ解決できると思い込んでいるだけかも知れません.
後者だとしても, その人の資質, 興味の対象等によって推薦するべき書籍は全く変わってくるでしょう.
どうも技術者というのは(私を含めて)他人が自分と同じ興味を持つものだと考えがちです. ですから, ここではもう一度仕切り直して, XXの目的なら書籍YYが適しているという形で推薦してみたらいかがでしょうか.
言語の文法よりも (スコア:4, すばらしい洞察)
そこで求められるのは、Hello worldを表示させる方法ではなく、チューリングマシンの考え方であったり、I/Oモデルであったりと言った、コンピュータものの考え方ではないかと思います。
こういったあたりから解き明かした良書があれば、それをお勧めしたいんですが、残念ながら知りません。
和書は全部ボツ (スコア:4, 参考になる)
プログラミングを勉強する時に必要なものというと、
の2つがあります。しかし、残念ながら和書でいくつか思いつくものを調べてみると、多くは前者しか扱っていません。このため、プログラミングを覚えた気になってみても、いざ問題を解こうとするとモデル化がうまくできないという壁にぶち当たってしまいます。
洋書ですと、両者をともにカバーし、かつそれだけできちんと完結している本がいくつかあります。私は高校の頃に"C: The Complete Reference Second Edition"(Hilbert Schildt, Osborne McGraw-Hill)で勉強しました。この本は以下のような5部構成になっています。
本自体は1990年発行なので、今となっては古い内容もあります。しかし、言語仕様の大枠は今でも使えますし、アルゴリズムについても
というように、今でも問題を解くための道具として使える概念が解説されています。また、例題を元にして、打ち込めばすぐに動くプログラムを数多く掲載しています。これらを使えば、自分の手を動かして動作を確認することもできます。さらい、各種アルゴリズムについて計算量を示し、実際の応用におけるアルゴリズムの評価まで含めて役立てることができます。
最近の言語は言語仕様自体がかなり複雑なデータ構造を内蔵しているため、アルゴリズムの選択は以前に比べて容易になっているはずです。しかし、出版される本(特に和書)がそれらを全て言語仕様としてしか見ていないことには危機感すら覚えます。
Pythonはこれで覚えた (スコア:3, 参考になる)
日本ではいまひとつのPythonだけど、Pythonチュートリアル日本語訳がオススメです。PDFをそのまま印刷して移動中に読んでいました。
sed & awk プログラミング 改訂版 (スコア:3, 興味深い)
sed と awk は本格的なプログラミングじゃないぞ!とお叱りになる方もおられるでしょう。
ごめんなさいねほんとに。
実は私まだプログラミングできませんがそれに準ずるものではあると思うんですね。
覚える事が少ないし、どういったものか大筋でわかるようになるので。
ステップアップとして
sed > awk > perl & python & ruby
と移っていくのが良いかと。全部スクリプトだね。
#あっ 自分のステップとしては awk の次に bash シェルプログラミングが入る予定だけど。
まったく学んだ事がないのですが、初めからC言語を学ばせようとするのはどうなんですかね?
難しくてもメジャーな言語を最初に学ぶ事を強く推奨している人を
Web 上でよく見かけるんですが。
メジャーだから最初に学べというのは考えが稚拙すぎないでしょうか?
C はコンパイルしないと動いてくれないんでしょう?
値がすぐ却ってこないのは初学者には酷だと思うんだけど(実感として私もそうだし)。
-- yuzo --
最初は画像を使いたいだろう (スコア:3, おもしろおかしい)
本だと、POV-Ray ではじめるレイトレーシング とか。
ええと。
Java とか、Ruby とか勧めたいんですが、本は買ったけど全然読んでなかったりするので。
POV の本も、一章くらいしか読んでないけど。
まず・・・ (スコア:3, 参考になる)
プログラミングという行為を続けるかどうかを判断するということを考えると、
・その言語系に特有の知識が必要ではない
オブジェクト指向とか、正規表現とかがすぐに登場するような言語は控えるようにしています。
・プログラミング環境をインストールする必要がない
OSを入れなおしたり、フリー・有料に関わらず、何らかの環境を構築しなければならないというのは、ハードルが高いと思われます。
ということから、まずLinux環境は最初に除外しています。それと、PerlやJava、C++なども除外しています。
一番手っ取り早いところで、ブラウザさえあれば使えるJavaScriptと、Officeが入っていれば使えるExcelのVBAをやらせています。
と言うわけで、JavaScriptかExcelVBAの入門書をすすめています。これらができないとか、続かないようだと、Javaなんてさらに辛い道のりだと思いますので・・・
結局は (スコア:3, 興味深い)
で、当時8ビットパソコンいじってた人はみんなそうだと思うけど、速度が足りないからアセンブラに突入(もちろんゲーム作るため)。あたりまえだけど、機械語でプログラムを書くためにはコンピュータの構造を知ることが必要になる。これもいまでも役に立ってる。コンピュータ(と一括りにしていいのかはわからんが)の基本的な構造は今も昔もそんなに違うわけじゃないから。昔のコンピュータにはこういうこともマニュアルに一応記載があったから、あとはトライアル&エラーでどうにかなった。
その後はもちろんCをおぼえたんだけど、その時いちばん混乱したのはポインタじゃなくて関数って概念そのものだった(藁。コンピュータの構造は一応わかってたので、ポインタはなんなくわかったけど、関数ってのはそれまで知らなかったもんでさ。
話が長くなってしまいました。言いたいことはさ、どの言語からはじめるにせよ、コンピュータの構造とかそういったプリミティブなことからは逃れられない。そういうものが巧妙に隠された高級言語ってのは大したことができないか、遅いかどっちかだ。コンピュータ言語にとって汎用性は大事だし、コンピュータプログラムにとって速度は最も重要なファクターの一つだ。だから、本当にコンピュータをやりたい初学者にはそれらを満たす言語を薦めるべき何じゃないかと思います。
となると、一般的にはCかなあ。教科書はもちろんK&R。理解できない部分があれば、それを補う参考書として、その部分が詳しい他の本を買えばいい。
もっと根性あるなら、PC-8801mk2 SRあたりの8ビット機。サウンド機能もグラフィック機能も一応あるし、それらをBASICから叩けるし、(逆)アセンブラも一応ある。それに壊れない。
きれいな日本語(母国語)で書かれた小説と、中学生レベ (スコア:3, 参考になる)
物事をいきなりプログラミング言語で考えろということは初学者には無理な話であるから、まずはどのプログラミング言語でも必要になるであろう数学的知識と、自身が物事を考えるために必要な日本語(母国語)のレベルアップを行うべきであろう。
#日本語や数学の勉強から始めなければいけない人はほとんどいないと、信じたいが…
char *A;
モータースポーツ部 [slashdot.jp]
Re:sed & awk プログラミング 改訂版 (スコア:2)
C言語は重要な位置にありますが、最初にやるべき言語と言うわけではないですし、ポインタ等で挫折する人も少なくありません。「ハッカーになろう」で最初に覚えるといいとされているプログラミング言語は、PythonかJavaです。
Re:sed & awk プログラミング 改訂版 (スコア:2, 興味深い)
Cint というインタプリタがあります。
ということで、「何の本を勧めるか」の前に、「何言語を勧めるか」というのがあると思います。
sed を勧めてますが、いきなり正規表現は難しくないですか?
この手の企画は (スコア:2)
あと、本もいいですけど、いろいろなソースコード、とくにOpen Source Softwareのそれを読むことが重要ですよね。というか、 本だけだと教条主義に陥りかねないような気がします。最近はいろいろな分野にOpen Source Softwareが進出しているし、いい時代になったものです。
Re:Pythonはこれで覚えた (スコア:2)
Python 2.1のチュートリアルが、
Python Documents 日本語翻訳プロジェクトで
和訳されているので、紹介しときます
道具の使い方も覚えよう (スコア:2)
で、ソースファイルの数が増えてきたらmakeの使い方を覚えましょう。Makefileを書くのがだんだん面倒になってきたらautomakeの使い方を覚えて楽をしましょう。
いちおし (スコア:2, 興味深い)
でしょう。この本を読み、そこに書かれているものの見方、考え方の重要性がすんなりと理解できない場合は、プログラム方面の業界を職場とするのはとっても不幸な選択だと思いますよ。
能力の問題じゃないよ、あくまで適性の問題よ > 為念
--- Toshiboumi bugbird Ohta
"Programming Ruby" by David Thomas and Andrew Hunt (スコア:2, 参考になる)
やはり最初に勧めるのはスクリプト言語だと思いますので、Lerning Perlも賛成です。Pythonはちょっと日本語ドキュメントが不足していると感じているのでRubyのほうがよさげでないかと。
VBは・・・「プログラミング」のために今から始める必要は何もないと思います。「仕事」ならともかくね。
古典 (スコア:2, 興味深い)
Re:sed & awk プログラミング 改訂版 (スコア:2)
でも、いきなりPerl5の拡張正規表現から入るとしたら、話はまた別でしょうが。
Re:Pythonはこれで覚えた (スコア:2)
Debianユーザの場合は、acroreadと、acroread-asianfontが必要です。また、fontのtarballは、AdobeのFTPから フォントファイルアーカイブをroot所有のパーミッションで、/tmpに置いておく必要があります。ちょっと面倒ですが我慢。
Re:言語の文法よりも (スコア:2, 興味深い)
Re:まず・・・ (スコア:2)
JavaScriptは動いているところがそのまま伝わって来るので、オススメかもしれません。クセが強いのが難点ですが。
など、環境の構築が不要という点も大きいです。が、ちょっと複雑な処理になるとブラウザ間で仕様がかなり違って来るので、ブラウザ間の差異を吸収できるようにする訓練にもなってさらに効果が出て来ます。(いいんかこれは)Re:道具の使い方も覚えよう (スコア:2)
なんなら、autotoolsやCVSなどの導入事例も示しておきますかね。
Re:sed & awk プログラミング 改訂版 (スコア:2)
sedとかawkは、正規表現を知らなくても、単純な検索や置換はできるので、問題視するほどでもないと思います。使ってもいないのに難しそうだからやらない、だといつまでたっても成長しませんよ:-p
Re:書籍なら (スコア:2)
なんだかそれじゃあ学生時代のクラブ活動勧誘みたいかも...
言語仕様とアルゴリズム、および書法は切り離して考えられるので、この言語じゃないとダメってわけじゃないですけどね。
Re:K&R C (スコア:2, おもしろおかしい)
そ、それはちょっと… (スコア:2, 参考になる)
おもしろいですけど、真に受ける人がいるかもしれないのに。
POV-Rayは好きですし、確かにプログラム的な部分はありますけど、プログラミングの入門としては間違いすぎでしょう。POV-Rayをプログラム言語的に使いこなすには結構数学的能力がいるんじゃないかと思います。私は使いこなせてないんでよくはわかりませんけど。
3DCGについても深く理解しないといけないし、明らかにマニア向けです。
しかも見た目がCっぽいだけで他の言語に応用効きません。
逆に、一般的なプログラミングには飽きたというようなマニアな方々には特にお勧めできますが(笑)
本当にK&RでCはバッチリ? (スコア:2, 参考になる)
と頑張ったものです。
だそうですが、本当に「Cはこの本だけで覚え」た貴方は「この本を理解できたらCはバッチリ」と思われました?
私見だが、K&Rは辞書として使うべきではないかと。…もちろん標準ライブラリの一覧のところね。
はっきり言ってK&R(邦訳)は読みづらい。この本は「Cをやっている」とアピールするためのバイブルだと考えたほうが良い。少なくとも「これからプログラミングを覚える人」向けの本ではないと思う。
では何を読むべきか。私だったら「入門」と冠していて、薄っぺらい本であれば何でも良いと思う。
とりあえずその本を一通り理解できたら、その本はさっさと捨てて、まともな解説書なり良質なソースを読み漁れば良い。
ちなみに(その意味での)私個人のお勧めは、藤原さんの「Cプログラミング診断室」と「Cプログラミング専門課程」と、技術評論社から出ている丸々一冊ポインタの本。(タイトル失念)
特に診断室はお勧め。人は成功から学ぶべきではく、失敗から学ぶべきなのだから、このソースのどこがどう悪くて、どう直すべきかを示したこの本の存在は貴重だと思う。自称「中級者」は絶対読むべし。そして「C言語中級レベル認定問題」の回答が浮かぶまでは「中級者」を名のるべからず。
Re:雑誌の記事 (スコア:2, 興味深い)
Kenta MURATA
Re:OOSC (スコア:2, 参考になる)
うーん。別口でも書いたけど、なんでミンナ(^^;、OOPイコール難しい、と呼びがちなんだろう?
どこがそんなに難しいんだろうあれ?
少なくとも関数型言語と比べて難しいってのは激しく違和感あるんですけど…
Re:まず・・・ (スコア:2, 興味深い)
>その言語系に特有の知識が必要ではない
>オブジェクト指向とか、正規表現とかがすぐに登場するような言語は控えるようにしています。
ええと?OOPや正規表現って、「その言語系に特有」の知識ではなく、今や結構広い代物ですけど?
#「OOってそんなに難しいか?」という疑問が(^^;
>プログラミング環境をインストールする必要がない
>OSを入れなおしたり、
gccと叩くだけで動きます(Cが適切な言語とまでは強弁しませんが(^^;)し、
OSについては聞くところによるとフロッピー一枚+LANケーブル一丁あれば
全自動で(予め用意した一台のサーバーから)リモートインストールをするなんていう芸当も出来るそうですから、
>Linux環境は最初に除外
少なくとも貴方が示した理由は、Linuxを除外する理由としては、ちと不適切かと思います。
>Officeが入っていれば
Officeのインストールを誰がやるんでしょうか?(^^;
そういやMLD Linuxなんてなものもありますね。
あれのInstallはOffice以上に簡単ですぜ。
なんせ選択肢が超少ないですから(^^;;;;
Re:和書は全部ボツ (スコア:2)
この論法は、わからない人にはいつまで経ってもわかりません。オブジェクト指向の落とし穴は、言語とライブラリの区別がつかない、すなわちシンタクスとセマンティクスの区別がつかない(そして両者の境界が自由に動くことがわからない)ままにそれらを切り離すことを強制されることにあります。
これは難しい問題です。なぜなら、これはそれなりの教育を受け(主に言語理論)、かつプログラムを書いた経験がある人(少なくともジェネリックプログラミングが必要になるぐらいにコードの使い回しにおける傾向を学んだ人)でなければ正しい理解ができないためです。したがって、これからプログラムを覚えようとする人にとっては、「タマゴとニワトリ」問題が生じてしまいます。
また、モデル化というと現実をやみくもに形式化することだけが叫ばれています。これは誤った方法論です。というのは、モデル化の目的は、あくまでモデル上で問題を解くために何らかの計算を行うことにあります。したがって、どのような計算が可能なのか、そしてそれはどのようなモデルの上で可能なのかを並行して議論しなければ、問題を正しく解くことはできません。例えば、グラフによりモデル化する場合でも、問題が2部グラフの計算で解けるか否かはグラフのトポロジや計算量のオーダに影響します。これらは具体的な実装や実行時間など、目に見える形で跳ね返ってきます。
オブジェクト指向がシンタクスとセマンティクスを切り離すのは、あくまで仕様に縛られず、問題に最も適切なセマンティクスを選択するためです。それを切り離されたものは勝手に別々に作ればよいと誤解しているがために、計算が面倒なモデル化が独り歩きする現状が生じてしまいます。
コンピュータレクリエーション #1~4 (スコア:2, 興味深い)
「日経サイエンス別冊 コンピュータレクリエーション #1~4」
の4冊を薦めています。
需要なのは、手段ではなく、目的を与えることだと思うのです。その為にも、フラクタル、カオス、ライフ、人工生命といった、ウケそうな話題から入るのが良いかと。薄く大判の本ですし、基本的には読み物ですし、コード例はわかりやすい擬似コードですし、本当に初心者向けの記事もあります。
本当のところ、手放しで推薦する本、”これ読んでおいて”だけで済む本は、今のところありません。
初心者向けの本には、
初心者にコーディングの楽しさとか美しさとか云々したって意味無いです。それより、自分の書いたプログラムが動く、その喜びを知ってもらいましょう。
タイトル補足 Re:「中学生レベ」 (スコア:2)
中学生レベルの算数・数学の参考書
である。
char *A;
モータースポーツ部 [slashdot.jp]
Re:方針としては (スコア:2)
この諺をそのまま受け取ると、アプリケーションとそのソースコードがあれば友達に訊く必要はないという解釈にならないか?
char *A;
モータースポーツ部 [slashdot.jp]
言語は何でもいいけど (スコア:2)
独習シリーズ
10日で覚えるシリーズ
は入りやすいと思う。
実際に手を動かしながら読み進めることで、自分が組んだ(と言っても書いてあることをなぞる程度だけど)プログラムが動くことを実感できて、プログラムを組むことの楽しさを感じ取ってもらえるかも。
# それで騙されてプログラマとして飯を食うようになると後で苦しむ?
将来プログラマになるかシステムエンジニアになるかでその先の勉強の仕方は変わると思いますが。
良質なコードを読むというアプローチ (スコア:2, 参考になる)
どんな理由であれ意欲的に学ぼうとしている方へのアドバイス:
書籍とは別のアプローチとして初心者の方へ助言したいのは、
他人が実装したコード(プログラム)を「読む」のは非常に勉強になります。
質の良いコードはもちろん、反面教師として冗長なコードからも
得るものは多いと思います。
# どのコードが良くて、どれが悪いとは一概には言えません。
# 好悪の問題もありますし。
しかし有限な時間を有効に活用したいなら、書籍とともに、
良質なコードを読むのは上達への近道であると思います。
良質でも複雑なコードは初心者には辛いので、
単純機能の枯れたコードなどが良い教材になるかもです。
(C言語の場合なら枯れたunixコマンドなど)
コードの入手先は、使用する目的や言語がハッキリしないと、
なんとも書きようがありません。
p.s.質問に対する話題の焦点がずれて申し訳ない。
Re:道具の使い方も覚えよう (スコア:2)
ちなみに先のpostでNamazuを例にあげましたが、初期のNamazuはMakefileすら存在しなかったそうです。
Re:初めて読むコード (スコア:2)
Re:OOSC (スコア:2, すばらしい洞察)
でも、それを言うなら、関数型だって構造化だって
「自然な」概念だといえる理由なんか無いじゃないですか?
OOだって同じことだと思うのですが、OOはなにか格別に違うんでしょうか?
ついでにいえば、
>それは既にほかの言語をやっていたとか
そういや俺も確かにOOPLが初言語ではなかったですが、
どういうわけか、ほかの言語を先にやってた人でも、OO難しいとか言う人一杯居るんですよね。
あれ一体何なんでしょう???
>関数型言語の方が簡単です(必要最小限覚える事柄が少ないから)。
関数型は俺はまだ覚えてないんでなんとも判断できませんが、
OOだって十分少ないですよ。
というか、十分少ない数の覚えることしか持っていない(必要としない)OO言語が、少ない、ってのも
逆にいえば不幸なのかも。
C++は論外としても、他の多くの言語も、余計(?)なものが一杯ついてるし。
つまり、覚えなくてもOOは出来るハズなんだが、実際のOOPLが出来ない、という状態。やれやれ…
うん。とりあえずクラス(が流行する)をやめよう。
prototype型にすればだいぶ楽になるっす。
無名手続きを作って(というか無名手続きしか作れないことにして)
それをObjectに名前付きで登録すればMethodとなる、
くらいの奴を作ればいいんだろうな。
これでだいぶ楽になると思います。
もう本ないけどLisp系 (スコア:2)
・丸善から出ていた「Common Lispプログラミング」(Rodey A. Brooks)
・講談社から出ていた「LIPS技法」(上・下) (Robert Wilensky)
当時COBOLとBASICとFORTRANしか知らなかった自分には刺激的かつ面白かった。
Re:きれいな日本語(母国語)で書かれた小説と (スコア:2)
誤解されにくい記述、解釈、算数がうまく使えないくせに、自分だけ例外処理という高度な技を使っているのはよく見ます。
というか、指摘されたり。
Re:OOSC (スコア:2)
それは、なぜ等号の左右が等しくないのか?という点。
A = A + 1
算数の表記と異なるので違和感が続きました。
左右が逆 A + 1 = A ならまだ納得できたかも。
当時は Pascal の表記 A := A + 1 の方が落ち着いたようです。
Re:まず・・・ (スコア:2)
Linux使っている方からは当然反論あるでしょうと思いましたがぁ。ま、みなさんのコメントでもあるように、Linux入れろと初心者の方には言えないんですよね。Officeは入っている人多いので・・・
あと、OOが難しいなんて訳じゃあなくてですね、後のコメントでも書いておられると思いますが、擬人化ってのが要するに余計なことなんです。もっと、やりたいことをストレートにやれる。思ったとおりにコンピュータが動く、というのが、教育的には重要だと考えています。そこでちょっとした感動とかを感じない人は、プログラミングを仕事としてしか捉えられなくなっちゃいますから・・・
プログラミングを楽しめるかどうかってのを判断するだけでしたら、JavaScriptやVBAを数時間やらせらば、答えが出ますからね。実際そうやって教えています・・・まー、学ぶってよりは、フィルタリングに近いかもしれませんが・・・
Re:もう本ないけどLisp系 (スコア:2)
実用性はともかく(^^;、純粋にプログラミングを楽しむってことでは結構よさげとも思います。 ;-)
#あっ、これならPrologもありだ
Re:まず・・・ (スコア:2)
そこまで言うと、教育方針の違いでよいのではないでしょうかね?CPUはオブジェクト指向じゃあないですし・・・工学優先か、科学優先かって感じもしますし。個人的にはオブジェクト指向なんていつ学んでも良いと思っていますし、コンピュータの基本じゃあないと思っていますんで。そんでテキスト書いていると、OOの部分でワンステップ増えることは明らかなので、やっぱりやーめた的にいつも捨てられています。
JavascriptもVBAもかすかにOOライクな部分がありますが、敢えてOOの話は出さなくても済んでいるので、そこでOO出しちゃうと面倒なんですよね。教えるのも教わるのも。
といいつつ、現状で受講生の皆さんに人気がある言語はJavaですね。たとえHTMLのテーブル構造が満足に理解できてきなくても、Javaをマスターしたい、1ヶ月で!って思っている人はたくさんいます。
ここでいうマスターってのは、仕事として使えるという意味です・・・さらに、1ヶ月ってのは、30日間勉強するって意味じゃなくて、1ヶ月の数日を教室に通ってって意味です・・・
やっぱ、Javaは時間単価高いですからねー。C++よりも高かったりすることも多くて。これじゃあ、工数短くなっても開発コスト変わらんだろうって思うこともあります・・・
Re:言語の文法よりも (スコア:2)
この本は立ち読みして良いなと思って次に買いにいったら売り切れていた(しかも表紙のヒヨコしか覚えていなかったので探しようが無い)という苦い思い出のある本です.
中学校から高校ぐらいまででコンピュータ教育を行うなら, こういう本を教科書に使うべきでしょう
Re:OOSC (スコア:2)
COBOL なら COMPUTE でしょうか。じゃあ FORTRAN や C はどうなるのでしょう?
まあ、そういうもんだと了解しないと先へ進めないのですが、
Delphi なぞ使っているのはまだこだわりがあるのかもしれません :-)
Re:もう本ないけどLisp系 (スコア:2)
Scheme>LISP>C&etc
って進んでいくらしいですなぁ。
しかもLISPの課題はコンパイラの作成って聞いています。期間は半年くらいだっけかなぁ。もちろん講義はないので自学習らしいですけど。
Re:"Programming Ruby" by David Thomas and Andrew H (スコア:2)
確かに奇妙ですね。
RD(Rubyのドキュメントフォーマット)の整形ツールなどえではVisitorはちゃんとVisitorとして使われているので、一時期用語の混乱があっただけじゃないかなぁと思うのですが。
"Quidquid latine dictum sit, altum videtur."