プログラムコードの解説本というものはかつては非常に不親切で専門書然としているものが多く、最初から最後まで文字だらけな上に専門用語の解説も全くないといった始末で著者と知り合いじゃないと全く理解できないとか著者の講義に参加しないと意味がないというものが殆どでしたが最近の本は非常にわかりやすく実に全くの初心者でもきちんと読んできちんと自分で作ってみてきちんと自分で動かしてみて理解を深めてゆくと誰でも習得できるというような解説本は非常に数多くなりました。
何語の習得でも同様のプロセスがあって、
と、いう形式があるわけですが、外国語の場合はここから簡単な挨拶をいろいろ覚えてゆけばいいわけです。おはよう、とか、こんばんわ、とか...。実際に話してみて通じるかどうかを試しながらやってみるわけです。外国語の場合は間違ってしまって相手に「??」とされることで訂正し復習しもう一度試してみるとことで正しい発音と正しい使い方を学びます。親切な人に巡り会えると正しい使い方を教えてくれます。プログラムも場合は恥はかかないまでもエラーという修練が待っています。エラーの種類を覚えると何が間違っていたのかをおしえてくれます。
ここまでを自分なりに習得できると、次に正しい文法を覚えてゆきます。私の経験でいうと文法から覚えるのは完全に間違いです。英語を覚える際にSVOとかSVOCとかを最初に覚えても何の意味もなかったと思います。まずは、適当な言葉を暗記してみたりしゃべってみたりして、それから文法を学んだ方がいいです。例えば I like it. という言葉はSVOであることは I like it.を実際に喋ってみたりしてからで十分なのです。その言葉がDo you like it?になったり、Did you like it?だったりといろいろと変化する中でSVOであることを後から学んだ方が為になります。ある程度簡単なイデオムを覚えてある程度の意味の通る言葉を覚えてから文法を学ぶといいです。
外国語などの言語の習得は挨拶からはじまり、その言語のアルファベットの習得、数字の習得ぐらいからはじまって、簡単な会話とイデオムを覚えて、初心者的な会話ができるようになったら基本的な文法を本格的に勉強するととても理解が深まる。
プログラムも全く同様なのですが、外国語と同様にある程度何ヶ国語かをすでに習得している際には次の言語を学ぶ際にはかなりのノウハウを自分自身で確立しているものでして、いろいろな部分をショートカットできるわけです。そのショートカットに見合う解説本や教科書というのはなかなかないものなんです。それがかなりじれったい。
プログラムでいうと、プログラムにはまず開発環境というものがあります。その開発環境をどのようにして構築するか...というのがある。外国語でいうとどういったネイティブの外国人に出逢うかとかどういった用途でその外国を使うのかといった根本的な問題と同じです。開発環境は一度手に入ったらしばらくはそのままでガンガン使い倒せるように外国語も一度外国の地に足を踏み入れたらガンガン話すだけ。
しかしその中でプログラムの場合最初に知りたいのは、
先日Javascriptを書いていると、PHPでいうところのunless (ifの反対)をどうやって書くんだ?と思っていろいろ調べていたのですが、なかなか見つからない。unlessと書いてみるとエラー。if (xxx!='xxx')...みたいなことを書くと大丈夫。しかしブール値で制御したい場合のことはまるでわからない。最終的にif (!xxx)で大丈夫でした。ここら辺りのことをまとめて教えてほしいのですが、そういう本なかなかないです。
何語の習得でも同様のプロセスがあって、
1. まずは挨拶これはドイツ語であろうがC言語であろうが、どういうわけか最初に挨拶を練習します。ドイツ語の場合はGuten tag!ですが、プログラムの場合は「Hallo World!」なのです。殊にこの「Hallo World!」を何らかの形で出力することを一番最初に学びます。つまりその言語をある形式でもって(まずは何もわからないまでも)発してみることを学ぶわけです。
と、いう形式があるわけですが、外国語の場合はここから簡単な挨拶をいろいろ覚えてゆけばいいわけです。おはよう、とか、こんばんわ、とか...。実際に話してみて通じるかどうかを試しながらやってみるわけです。外国語の場合は間違ってしまって相手に「??」とされることで訂正し復習しもう一度試してみるとことで正しい発音と正しい使い方を学びます。親切な人に巡り会えると正しい使い方を教えてくれます。プログラムも場合は恥はかかないまでもエラーという修練が待っています。エラーの種類を覚えると何が間違っていたのかをおしえてくれます。
ここまでを自分なりに習得できると、次に正しい文法を覚えてゆきます。私の経験でいうと文法から覚えるのは完全に間違いです。英語を覚える際にSVOとかSVOCとかを最初に覚えても何の意味もなかったと思います。まずは、適当な言葉を暗記してみたりしゃべってみたりして、それから文法を学んだ方がいいです。例えば I like it. という言葉はSVOであることは I like it.を実際に喋ってみたりしてからで十分なのです。その言葉がDo you like it?になったり、Did you like it?だったりといろいろと変化する中でSVOであることを後から学んだ方が為になります。ある程度簡単なイデオムを覚えてある程度の意味の通る言葉を覚えてから文法を学ぶといいです。
外国語などの言語の習得は挨拶からはじまり、その言語のアルファベットの習得、数字の習得ぐらいからはじまって、簡単な会話とイデオムを覚えて、初心者的な会話ができるようになったら基本的な文法を本格的に勉強するととても理解が深まる。
プログラムも全く同様なのですが、外国語と同様にある程度何ヶ国語かをすでに習得している際には次の言語を学ぶ際にはかなりのノウハウを自分自身で確立しているものでして、いろいろな部分をショートカットできるわけです。そのショートカットに見合う解説本や教科書というのはなかなかないものなんです。それがかなりじれったい。
プログラムでいうと、プログラムにはまず開発環境というものがあります。その開発環境をどのようにして構築するか...というのがある。外国語でいうとどういったネイティブの外国人に出逢うかとかどういった用途でその外国を使うのかといった根本的な問題と同じです。開発環境は一度手に入ったらしばらくはそのままでガンガン使い倒せるように外国語も一度外国の地に足を踏み入れたらガンガン話すだけ。
しかしその中でプログラムの場合最初に知りたいのは、
- 入力の方法、出力の方法。
- 変数型の宣言方法。スカラー変数、配列、ハッシュの使い方と用法。
- forとかforeachとかwhileなどのループの方法。
- ifやswitchなどの制御文。
- ユーザー定義関数とかサブルーチンといわれる関数定義の方法と引数と返り値の設定方法。
先日Javascriptを書いていると、PHPでいうところのunless (ifの反対)をどうやって書くんだ?と思っていろいろ調べていたのですが、なかなか見つからない。unlessと書いてみるとエラー。if (xxx!='xxx')...みたいなことを書くと大丈夫。しかしブール値で制御したい場合のことはまるでわからない。最終的にif (!xxx)で大丈夫でした。ここら辺りのことをまとめて教えてほしいのですが、そういう本なかなかないです。



