みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

プログラミングをゼロから独習するには?

HTMLくらいしか知らないプログラミング知識ゼロの者です。
C#を独習したいのですが、プログラミングの基本的な部分
(「x++ 」は「x+1」の意味など・・・)がわからないため、
まずどう始めていいのかがまったくわかりません。

いわゆる「ゼロから始める・・・」といった書籍を見ても、
プログラミングの基本的なルール、考え方については
記述されていないように思います。

プログラミングをまったくのゼロから独習された方など、
アドバイスいただければ幸いです。

投稿日時 - 2006-03-14 23:37:42

QNo.2029489

暇なときに回答ください

質問者が選んだベストアンサー

x++やx+1の意味がわからないというのは、x++と++xの違いがわからないとかいったことですよね。私もそういった疑問を以前持ちましたが違うのかな?たしかに初心者向けの本でもこういったことがさらっと説明されて、私もイマイチ理解できないことがありました。こういう場合、自分で簡単なプログラムを書いて実験してみるとわかるものが多いと思います (仮にすぐにわからなくても、使い続けていればわかるときがきっと来ますし、こういった掲示板などに質問するのもいいでしょう)。初心者だと試すプログラムを書くことすら大変なのですが、これは慣れる必要があると思います。たぶん、それほど悩む問題でなく、難しく考えすぎなのだと思いますよ。こういった疑問はわかってみると、さらっと説明されるほどの疑問であったのがわかりますし、あることを仮に理解できなくてもたいてい別の書き方でも実現できるので、プログラミングを妨げるものにはあまりならないと思います (他人のプログラムを読む場合はもちろん理解する必要がありますが)。

個人的にはPerlが一番学びやすく感じていてプログラミングの初心者にお薦めだと思うのですが、プログラミングの達人の方々の意見を見ていると、なぜかそう言う人は少ないですね (Perlは古いとか否定的な意見が多い気がします)。オブジェクト指向というのはPerlでは学びにくいのですが、Perlをある程度身につけていると、他のプログラミング言語も学びやすい気がしますし、それほど難しく考えるようなものでないと思います。というかPerlを学ぶとどのプログラミング言語も受け入れられる広い心になります (笑)。C#の情報が手に入りやすくて、毎日使うくらい日常業務に役立てられると初心者でも大丈夫だと思うのですが、そうでなければ遠回りですが別のプログラミング言語をまず学んだ方がいいかもしれませんね (そのプログラミング言語に慣れてしまってC#を学ばなくてもよくなるかもしれませんが)。

参考URL:http://naoya.dyndns.org/~naoya/mt/archives/000657.html

投稿日時 - 2006-03-16 02:21:03

お礼

ご回答ありがとうございます。

前半部分が、まさに今私が感じている戸惑いを
感じ取ってくださっているように思いました。

Perlにも興味があります。
HPを持ってるので掲示板など、実際作ったものを
役立てられそうです。

URLのご紹介もありがとうございました。

投稿日時 - 2006-03-17 00:42:31

ANo.7

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(8)

ANo.8

> HTMLくらいしか知らないプログラミング知識ゼロの者です。
この発言の意味が分かりません。

HTMLに関して申し上げれば、これは、オブジェクト指向の世界であり、たいへんおくが深いものです。HTMLはDocument Object Model(DOM)というオブジェクト指向体系を持っています。あなたは、TABLEタグの意味を理解していますか?TABLEタグ内に別のTABLEタグを含める意味を理解していますか?HTMLを完全に理解しているということは、プログラミングをマスターしていることです。知らないのは、文法だけです。ちなみに、DIVやTABLEなどは、プログラミング的には、プログラムの組織化に当たります。TABLEは、立派な「クラス」であり、「スキーマ」です。

文法ではなく、考え方を学ぶようにしてください。

投稿日時 - 2006-03-16 09:53:25

お礼

ご回答ありがとうございました。

HTMLはプログラムではない・・・と思っていたのですが、
もっと奥深いものなんですね。
基本的な部分が理解できていなかったようでお恥ずかしいです。

ただ、「文法ではなく考え方を・・・」となると、
さらに敷居が高く感じます・・・。

投稿日時 - 2006-03-17 00:44:18

ANo.6

はじめまして。

C#の教科書で、そんな基礎の基礎から載っているものって、
無いのではないでしょうか。。。 つまり、C++でも同じだ
と思うのですが、読者に「C言語」の基礎知識という土台があ
ることを大前提にして解説されているように思われます。極端
な話、大学などの講義などで、始めに四則演算や漢字書き取り
の解説が無いこと(当然の事ですよね!?)と同じ事だと思います
よ。そんなことしてたら、大学で教えるべき高度な内容を、限
られた時間内で説明できなくなりますからね。

私見ですが、プログラミングの知識が皆無の状態から始めるの
なら、まず始めに「C言語」の基礎解説書を熟読することを、
お勧めします。「C言語」の教科書なら、本当の基礎の基礎か
ら書かれているものも多数ありますし、C++ やC# は 「C
言語」を基礎に発展した言語ですから、「C言語」の知識は必
ず活きてくると思いますよ。

投稿日時 - 2006-03-16 01:23:04

お礼

ご回答ありがとうございます。

書店をまわっているのですが、
確かにCだとすごく充実している感じです。

これまで「C#」の本にばかり気を取られてましたが、
Cの本にも目を通して買ってみたいと思います!

投稿日時 - 2006-03-17 00:37:54

ANo.5

私は独習ですが、HPを持っていたため、Perl、PHPのHP系のスクリプトから初めて、今はDelphiをちょこちょこ。
すいません、JAVAもちょこちょこで、C#経験はありません。もちろん素人です。

x++とか、forとか、ifとかは、参考にする本が3,4冊あれば、3,4回読むものですし、単純なのですぐに分かりますよ。

>基本的なルール、考え方について
は、オブジェクト指向という意味ならば、下記の本がためになりました。
基本JAVAで書かれていますが、今まで分からなかったオブジェクト指向のなんたるかが少し分かった気がしました。
具体的なプログラミングの本ではないので、興味本位で手にとるのも悪くはないと思います。
http://www.amazon.co.jp/exec/obidos/ASIN/4822281957/249-0390556-5737942

具体的なプログラムの書き方ですが、私は毎回悩みます。
私はプログラムに書き方の正解はないと、開き直りました。
極論ですが、海に行くための方法が電車、車、歩き、自転車があるように、結果目的を果たせればいいのです。
もちろん、それぞれの特徴はありますが。
あとは人のプログラムをみて、調べる事かなー。
アクションゲームは説明書を読んでも、結局は体で覚える事が多いじゃないですか。そんな感じで。

最後に、明確な目的がないようなので。
C#はいろんな事ができると思いますが、習得のレベルはやはり高いかと。それに生産性もあまり高くないようです。
私がDelphiを選んだのは、作るのが簡単で、VBのようにランタイムがいらずにwindowsで動くからです。
それに無料だから、飽きてもダメージが少ない。
VB.NetやJAVAは、実行環境がPCに入っていないと動かない。
ネット関係やデーターベースは有料版ですが、無料でプログラムを作れる環境が整えられます。
欠点としては、あまりプログラム言語に未来がなさそう、無料版で作ったソフトは販売できないらしい。

言語の習得難易度、ソフトの開発期間、ソフトが動く環境なんかでも、けっこう絞れますよ。

投稿日時 - 2006-03-16 00:07:57

お礼

ご回答ありがとうございます。

ご紹介いただいた本早速書店で見てきました。
立ち読みだったのでしっかり読めませんでしたが、
読み応えのありそうな内容でした。

ゲームなどは説明書を読んでも結局体で覚える・・・
という表現とてもしっくりきました。
他の皆さんもおっしゃってますが、
やはり明確な目的をもってまずは何かを
形にしてみることが必要なような気がしてきました。

投稿日時 - 2006-03-17 00:35:01

ANo.4

> プログラミングをゼロから独習するには?

その「ゼロ」というのはどのような状態ですか?
HTMLぐらいしかとのことですが、HTMLなら完璧ですか?

> まずどう始めていいのかがまったくわかりません。

まず、自己分析をしてみましょう。そして、その結果を補足してください。

孫子曰く「彼を知り己を知らざれば一勝一負す。彼を知らず己を知らざれば百戦するごとに全て殆うし」というように、自分を知らなければ成功はあり得ません。

投稿日時 - 2006-03-15 15:57:52

補足

質問のアドバイスいただいてありがとうございます。
ご指摘のとおりだと思います。
私のスキルは、簡単に書くとこんな感じです。

 1.HTMLは完全マスター
 2.JavaScriptにちょっと挑戦
 3.そもそもオブジェクト指向って何?など、挫折

JavaScriptを勉強した時、プログラムに関する
何か前提知識があるように感じました。
それがなにかうまく説明できないのですが・・・
それが壁となり、C#に限らず、あらゆるプログラムへの
挑戦の壁になっていると感じています。

投稿日時 - 2006-03-15 22:51:43

ANo.3

これは、あくまでもHusky流です。

1、図書館で「プログラミング言語C-II」(カーニハン&リッチー著)を借りる。
2、JavaScript で全演習問題を書く。

私は、この方法を試してみました。
ほとんどの例文を JavaScript で書くことができました。
1ヶ月程度の遠回りをすることをお勧めします。

「プログラミング言語C-II」の全例文をJavaScriptで書ければC#学習準備は整ったといえます。

投稿日時 - 2006-03-15 08:59:53

お礼

ご回答ありがとうございました。

該当の本を早速検索かけてみたら、随分有名な本なんですね。
ぜひ探してみたいと思います。

JavaScriptで書けるかはちょっと自信ないですが・・・。
(私の前提スキルの説明が不十分ですみません。)

投稿日時 - 2006-03-15 22:50:58

ANo.2

プログラミングは、あくまで手段であって
目的ではないと思います。
つまり、行きたい場所がないのに、自転車の練習をしても
面白くないのかなと・・
いきなり、メールソフトを自作してみるとか
無謀でも目標があると必然的に覚えていくと思います。
個人的な意見です。あくまで 参考までに。

投稿日時 - 2006-03-15 01:53:10

お礼

ご回答ありがとうございました。

いきなり作品の制作!
確かに、明確な目的があると道筋も
はっきりしてくるかもしれません・・・。

何か作りたいものを探してみます。

投稿日時 - 2006-03-15 22:48:21

ANo.1

 ふかく考えないで
さらっと構文に目を通して
簡単なサンプルからみてみるなどすると
なんとなくわかるようになりますよ。

本をみるより 簡単なサンプルをみて
みるほうがすぐにみにつくとおもいます。

X++は 手抜きの書き方なので
別に覚える必要はありません。
最初は
X = X + 1;など
わかりやすい書き方でいいとおもいます


大学などの教育機関のHPにあるプログラミング
の説明は 初心者というか 
0からの入門から書いてあるものが
ほとんどなので
そういうところを見てみるといいと思います


検索エンジンで
C# site:.ac.jp
と うって 検索するとたくさんでてくると思います
(~.ac.jp ドメインは学校などのドメインです)

投稿日時 - 2006-03-15 00:25:54

お礼

ご回答ありがとうございました。

アドバイスいただいた検索、早速かけてみました!
親切に書かれているページが見つけられました。

サンプルを見てみる・・・
確かに本をみているだけだと頭でっかちで
逆に身につかないかもしれません。

投稿日時 - 2006-03-15 22:46:45

あなたにオススメの質問