質問タイトルのとおりなのですが、これから、プログラミングをやってみたいと思っている者です。
C言語やJavaを学びたいと思っているのですが、市販の書籍を
何冊か買ってきて一通りの基本的な事項というのは独習・体得できるものなのでしょうか。
良書を調べたりもしていますが、結構、初心者には熟読しても難しい概念が多いですよね。
応用や発展的な技術はたしかに、長い期間をかけての実際の仕事現場での経験、積み重ねが必要であるとは思いますが、変数、関数、クラス、条件分岐などの基礎的な概念や、文法は理解できるのだろうかと思ったりもしました。
プログラミングをマスターしている方というのは、だいたい本を見て独学でやられてきたのですか。
それとも、よくある大学や、「WAVE」「インディーフォルダ(元アウズ)」「ヒューマンアカデミー」などのスクールに通われて身に付けた方も多いのでしょうか。
私も体験入学などしてきましたが、「わからないところを質問できる」、「お金を払ってまで通うのであるから、なまけたり、挫折しないで学習を持続できる心理的な強制力がある」との利点はあるものの、それ以外での実際の学習内容は、一般の書籍と中身は大して変わらないのかなと思ったのですが。
たしかに自己管理をなかなかできない場合は、学費も大きいけれども、長い目で自分に投資するという観点から見た場合、非常に大きな払うだけの価値があるのかもしれませんが。
学費を払うだけの価値があるのかなと思い、迷っています。
もし、何かしらのアドバイスをいただけたら、ありがたく思います。
No.2ベストアンサー
- 回答日時:
nobulinさんがプログラミングを何のために勉学するのかによります。
つまり、情報科学科の学生さんで学業のため、就職のため、趣味のためなど。
就職のためなら、自分に投資しても体系的に勉強する価値はあります。
学業なら、学校の先生や先輩に本や勉強法を伺うのもよいでしょう。
趣味ならば、その言語を使って何か製作したいソフトウェアを
考えて、それを作るにはどうやればよいか調べていくのも手です。
勉強するときは、まずはサンプルプログラムのソースコードが
書いてある本を見ながら自分でまったく同じプログラムをつくったり、
それをちょっとずつ改造・改変しながら応用していき、コマンドを
覚えるのが早道だと思います。
1つのプログラム言語を覚えれば、2つ目からは前に覚えた言語との
違い、コマンドの名前、引数の使い方の違いを覚えていけばよいと
思いますよ。
私は大学卒業後SEの道に進みました(今はSEを辞めぜんぜん違う仕事をしています)が、
学生時代は、大学の授業で今は無きMacのHyperTalkからスタートし、
会社に就職してからは会社の新人研修や実JOBで
COBOL→C言語→VB(VBA)→HTML/Perl→Oracle PL/SQLと
覚えていきました。
(覚えた順番はその時代およびお客様のシステムに関係する上、
すべての言語をパーフェクトに覚えたわけではありませんが)
また、できるだけ同じ言語を勉強している友達を見つけて
情報交換をしてみてください。
回答ありがとうございます。
第一にはどうせやるなら就職ということを考えています。
趣味としても、将棋などと同じく、非常にやりがいのあるものだとは思いますが。
そうですね、例題にあるソースコードを自分なりに改変したり、工夫したりして試行錯誤していくことはたいへん勉強になりそうですね。
勉強法など詳しくありがとうございました。
No.14
- 回答日時:
出来ると思います。
ただし入り口を見つけるために入門程度は受講すべきでしょう
スポーツを初め書道、そろばんも道具を使って学習しています。
独習する場合
・身近に環境を持つ(投資はこちら)
・アドバイスがもらえる先輩
・話を聞いてくれる同僚(ライバル?)
・課題を提供してくれる人(ユーザ)
・最後は根気
自分はソフトを委託すると高額になり、もっともらしい理由をつけた稟議書が必要でした。おまけに必ず手直し、追加が必要でこれも稟議書です。
これが煩わしくて自分に出来ればと手直しから独習(COBOL)を始めました。
この回答への補足
回答ありがとうございます。
初速をつけるために確かに入り口の学習開始当初は何かの講座でも受講するのは意義のあることといえると思います。
稟議書ってあまり聞きなれない言葉ですね。
No.13
- 回答日時:
答えから言うと独学での習得は可能ですが、難しいです。
私も昔同じように悶々と考えたことがありました。
プログラミングを知らなかった私がどんな練った質問をしても
「何をつくりたいの?」とか「毎日コードを書けばいい」とか
今ならその気持ちはわかるけど、当時の自分には的外れな回答を頂いたものです。
結局書けるようになってみれば、なんてことはなかったのですが。
要は車の運転や、楽器と同じである程度は本も読む必要がありますが実践あるのみということです。
考えずにとにかく書き始めてみることをオススメします。
このページの内容がぴったりだと思います。
http://top-10-algorithms.sl-jp.com/JAVA/
1.一人でいけそうだと思ったら独学
2.時間がなくてお金があれば、スクール
3.時間があってお金がなければ、アルバイト
回答ありがとうございます。
理解だけではなくて、実践することで実際にプログラミングできる能力を養いたいと思います。
仰るとおり、あまり、深く考えて立ち止まらないで、書き始めることにしていきます。
No.12
- 回答日時:
ANo11 補足
>一通りの基本的な事項というのは独習・体得できるものなのでしょうか。
本は一通り読み終えて理解したけれどもプログラムを
書く事ができないと言う人が多くいますが、その事は
知識がちゃんと身についていない為に、次に何をすれば
良いか入門書のページをめくって探しながら試合をして
いる様な物です。
スポーツ選手が入門書やルールブックを片手に持って
読みながら試合をする事が無い様に、プログラミング
をする時も基本的な事は本を見なくても一通りの事が
できるレベルにはしておかないと体得したというには
程遠い状況と言えます。
たびたびの回答ありがとうございます。
たしかにその通りで、すぐに必要な知識を本を見返さなくても頭から引き出せるほど、習得することが大事ですね。
No.11
- 回答日時:
独学でプログラミングをマスターできる人もいますが
多くの人にとっては有る程度のレベル以上には行く事
が困難になります。
他の分野、例えばスポーツで誰の指導も受けずに独学
のみで一流選手になれた人がどれだけいるかを考えて
みれば、独学のみで習得しようとする事の限界が自ず
と判ると思います。
単に入門書等紙の上だけでなく、間近に優れた選手や
指導者と相対する事により自身の技量が研かれていく
のと同じ様に、プログラムの技量も実際の仕事上での
難題を乗り越えて行くことや他の人との共同作業等に
よって独学で得る知識よりも多くの知識を短時間の内
に得る事ができます。
また会社では新入社員や後輩に教える事で自分の知識
を再確認する事もあります。
そういった意味でも一人きり、独学のみにこだわる事
は自分自身の可能性を自ら狭めてしまう大変危険な事
と言えます。
No.10
- 回答日時:
できると思います。
実際柴田望洋という方(たくさんプログラミングの書籍なども刊行している)は独学でC、C++、Javaを勉強したらしいです。
(参考URLは柴田氏のホームページです)
僕はまだ全然プログラミングをバリバリ書けるというわけではない、ただのへたれですが、独習する人にとって重要なことは「挫折してもまたやればいい」ということかと思います。
僕はこれまで何回挫折したか分かりません(笑
ガキっぽい考えで、HelloWorldプログラムのレベルから抜け出せない頃は「なんか簡単にすごいプログラムが書けるいい言語ないかな・・・」とかすごい漠然とした考えを持ってました(笑
独習するのなら、会社で使うわけでもありませんし挫折しても問題ない、飽きたなら他のことをやればいい、ぐらいの気持ちでやると長続き(というか挫折してはまた挑戦するの繰り返し)するかと思います。
あとこれはどこかのサイトで見た言葉ですが、コンパイルエラーをエラーと考えないことも'飽きない'ために重要かと。
間違ったところを指摘してくれている、と考えるといちいちヘコまずに済みます(笑
参考URL:http://www.bohyoh.com/
回答ありがとうございます。
本当に激励のような回答感謝致します。
柴田望洋という人の著書、私も所持していまして、なかなか有名な人みたいですね。定評があるようです。
たしかに、エラーが出ると、へこみますよね(笑)。
もう、わけがわからなくて、投げ出したくもなります。
「転んでもまた何度でも起きる」との心意気でいきたいと思います。
No.9
- 回答日時:
私の場合でいうと、一番最初は友達に見せる事から始めました
たぶん、一番最初は、EXE を実行すると "Hello,world" と表示する
自分の場合は、 EXE を実行すると、"髪切った? Byタモリ" と表示するとか
入力系を覚えた時は、
体重を入力してください> 68
おまえ食いすぎ
とか、今思い返すと非常にくだらないですが
当時は、覚えた事でどう友達を楽しませるか、が私の課題でした。
楽しいと覚えるのも楽なもので、簡単なゲームなら作れるようになるのに
さほど時間はかからなかったと思います。
その後、専門学校に行き本格的なプログラミングを習いました
学ぶ前から、
>変数、関数、クラス、条件分岐などの基礎的な概念や、文法は理解できるのだろうかと思ったりもしました。
とか
>長い目で自分に投資するという観点から見た場合、非常に大きな払うだけの価値があるのかも
とか
こういう考えは、全然無かったし、もし、こういう考え方ではじめていたら
勉強的で、やる気にならなかっただろうなぁと思います
独学でも習得はできます
重要なのは、楽しむことです
回答ありがとうございます。
nak777rさんの体験から語って頂いて参考になりました。
努力も要りますが、たしかにあまり心でコチコチに構えても、やっている楽しさが半減されてしまいますよね。
もっと、組み立てる楽しさも体験したいと思います。
No.8
- 回答日時:
私は専門学校でしたが、正直な所
本人のやる気次第だと感じます。
大学でも専門でもプログラムをやろうと思う人はその殆どが、
自分で調べなければ身に付かない事が多いと痛感しています。
書籍を書く人でも、間違いを書くことはありますし、学校でも
間違いを教える所は少なくありません。
実際、私は学校で基礎の部分(文法や禁則など)を教わりましたが、
後々にいろいろとBBSなどで情報を交換し調べたりして行くうちに
間違いを教わっていたことに気づいたものもありました。
もちろん、こういうことが出来るのも、自分が楽しいと
感じているからだと思っていますが。。。
ちなみに「わからないところを質問できる」や
「お金を払ってまで通うのであるから、なまけたり、
挫折しないで学習を持続できる心理的な強制力がある」
というのは建前に過ぎ無いと思います(もちろん本人の意識次第ですが)
結局学校に行っても、課題が出されたりして、
判らないから先生や友達でなく、BBSに質問したりとか、
やはり学生という立場は気を抜いてしまいがちなのでダレると
いうのは覚悟しておくべきです。
学校に行っても「自分で学んでいく」というスタイルを
獲得できなければダメだと私は思っています。
長くなりましたが、参考までにしていただければと。。。
たいへん回答ありがとうございます。
参考になりました。
学校云々の以前に私自身の意識改革にまず取り組んでいきます。
私の知り合いに東大生いましたが、大学ではプログラミングの技法を事細かに教えるわけではないと聞きました。
自分で個人的に学習してほとんど身に付けたそうです。
通学すれば人により、緊張感のようなものもないわけではないでしょうが、aris-wizさんのおっしゃるとおり、結局、個人の時間になったときに相当量の学習をして補っていかないと無理ですね。
No.7
- 回答日時:
私はプログラムを独学しました。
なので独学できると思います。勉強しながらプログラム作成の実践を行うとマスターが早いと思います。何千、何万行のプログラムを書くことも可能です。
ただ、出来上がったプログラムに対する責任という点からすると少し見方が違ってきます。
○作ったプログラムを自分だけが実行し、その誤りによって受ける損失などのリスクを自分で取れるかという場合。あるいはプログラムは単に趣味というようなレベルの場合。楽しく勉強してプログラムをエンジョイする。
○自分の作ったプログラムのバグによる損失が大きくて自分でリスクを取れないようなことが想定される場合(銀行のATMオンラインとか商取引などエラーが起こったら社会問題にもなる)。作ったプログラムに責任を負う代わりに大きな収入にもなる。
いわゆるプログラムのアマかプロかというところです。プログラムのプロを目指すならある処理に対する例外処理みたいなものまでしっかり勉強しておいた方がいいでしょう。”そんなこと絶対に起こらないよ”と判断して放置するか、どんな不測の事態でもトラブルが発生しないような堅固なものにするかで独学か正式な教育機関を選択するかの違いが出てくるように思います。
因みに私は前者です。プログラムを楽しんでます。
回答ありがとうございます。
プログラミングは、はまると陶酔状態にさえなりそうですよね。
底知れない奥の深さがあります。
御意見感謝致します。
No.6
- 回答日時:
私は会社の研修で半年以上缶詰にさせられ,家庭教師的にみっちり勉強したので, nobulin さんの質問の参考になるかどうか分かりませんが,アドバイスまでに.
文法的なところ (変数や関数,クラス,条件分岐などの基本的概念) については,間違いなく独学で学習できると思います.
スクールに通っても,応用や発展的な技術だけでなく,真に細かいところまでも教えてくれないと思います (たぶん
それに,わからないことはこうやって OKWave などで Microsoft MVP 等の専門家のみなさんに質問できるじゃないですか☆
なので,「挫折しないで...」というところさえクリアすれば,案外独学で何とかなるんじゃないかと思います.
心理的強制力という名の学費 (?) を支払うかどうかは,一考する必要がありますね☆
この回答への補足
回答ありがとうございます。
WizTakaさんも入社時はまったくの未経験者だったのですか。
ある程度基礎を身につけるまでに、集中しても半年くらいは、やはりかかったのですね。
たしかに巷のスクールでは高度な技術の教授まではカリキュラムにはないと思います。
仰るとおり、わからないところは今の時代、ネット上の掲示板などで質問して教えて頂くことができます。
ありがたい時代です。
ですので、わたしもスクールのメリットはモチベーションの持続をできることが一番大きいかなあなどとも思います。
もっとも、スクール内で受講していても、そこですぐに全て覚えられるわけでもなく、結局帰宅してからとか、念入りに理解の確認、復習を怠らずにやらなければ、たちまち忘れていってしまうでしょうから、ある意味、半分、独学に似たような状況なのかもしれませんが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学受験 3浪しようと思うので、アドバイスお願いします。 自分としては結構メンタルきつくて後期でいいから、東京 3 2023/02/13 21:47
- その他(学校・勉強) 来年4月から経済学部の大学一年生になる予定の者です。 私は将来入りたい企業があり、そこに入社するため 8 2022/08/23 04:49
- 楽器・演奏 ☆彡とある質問サイトでは独学と習うのではどちらが上手になるか?といった質問が上がっていますが 4 2022/09/27 10:49
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- 大学受験 数学が苦手で社会が得意な場合は一橋よりも東大の方が受かりやすい、ということはあり得ますか? 3 2022/04/16 16:46
- 書類選考・エントリーシート 【急ぎです】指定校推薦の志望理由書の添削お願いしたいです! 商学部で1600字中1595字です 志望 1 2023/08/24 02:54
- 大学受験 国立受験 11月からの大逆転劇を起こすには 7 2022/11/14 19:24
- 大学受験 娘の大学受験勉強 6 2022/06/30 19:58
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- 大学受験 自己推薦書の添削や意見・アドバイスお願いします 2 2022/08/27 19:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PGに慣れず適応障害と診断され...
-
自作でプレステ対応ゲームは作...
-
C言語、C+、C++、C#の違い
-
C言語とhtmlの違いを どな...
-
COBOLでのNOT = の AND条件
-
C++における継続行
-
リピート再生が出来ません
-
アセンブリ名とは??
-
C言語でBASE64のエンコードのプ...
-
小学生にプログラミング(Scratc...
-
身長187cmです。 新卒未経験か...
-
プログラムに書かれる"%"記号の...
-
C言語って古いですか?
-
abnormal program termination
-
encore と言う 譜面書きソフト...
-
HOLONついて教えてください。
-
COBOLで文字タイプを数字...
-
自営業でも実務経験に入る?
-
Pythonでの不均一なサイコロを...
-
もし仮に5つの言語(Python, J...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Linux Cプログラミングを学ぶた...
-
自作でプレステ対応ゲームは作...
-
工業高校生ですが、将来ゲーム...
-
プログラマーになったきっかけ...
-
プログラミングは独学で習得で...
-
情報工学科にはパソコン知識が...
-
Win32APIは覚えて損する?
-
「やさしいC」の次に読む本を探...
-
よい勉強法を教えてください!
-
プログラム脳の作り方
-
マックでCプログラミングを
-
ソフトウェア作成への勉強方法
-
C++Builder初心者の勉強法
-
397時間動画パソコン教室でスキ...
-
C#の基本文法が詳しく書かれて...
-
PGに慣れず適応障害と診断され...
-
プログラミングの学習方法
-
半年間で
-
ハッカーについて
-
Visual C++ .NET Standard Ver...
おすすめ情報