• 締切済み

独学でプログラマーさんになった人にお聞きしたいです

プログラムを少しでも自分で組めるようになりたいです。 どうか助言ください。 JavaScriptはコピペで使い、cgiなどの設置も自分で1から書くことが出来ないので、フリーのものを使っています。 Flashのアクションスクリプトなど、見れば何を書いているかなんとなくわかるのですが(ただ英単語からの推測です)、頭の中でどのような時にそれを使うのかがわからず、自分で0から作ろうとするときにうまく組み立てができません。結局わかってないのだと思います。 プログラミングを始める前の脳の改革が必要なようなのです。 その場合、どのような本を読んだらいいでしょうか?例題を本の通りに解くことはできるのですがそれと同じものしか作れないという感じです。(たくさんのサンプル集にさわって体で覚えて行くのが良いでしょうか。) こちらの教えてgoo!で「プログラミング言語の全ては、Cを覚えて、あとは他の言語に言い換える(方言のような)感覚」と読みました。 まずはCを語学をやるようにじっくり学ぶべきでしょうか・・・ いずれPHPやPerlを自分で組み立てられるようなとっかかりが欲しいです。 本を読んで学ぶのが好きなので、良書がありましたら、是非ご紹介ください。宜しくお願い致します。

みんなの回答

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.11

なんとなく再度書いてみる。 C 言語をやる必要は“まったくありません” 目の前の問題を解決できる言語を学習して下さい。もちろん、「C言語でも解決できる」と強弁することも可能ですが、無駄な手間がかかるだけです。 上等なプログラマになることと、学習するプログラミング言語に相関関係はありません。 # 逆に相関関係があるなら、根拠となる研究資料を見たいくらいだ。

回答No.10

>こちらの教えてgoo!で「プログラミング言語の全ては、Cを覚えて、あとは他の言語に言い換える(方言のような)感覚」と読みました。 >まずはCを語学をやるようにじっくり学ぶべきでしょうか・・・ 今から10年前で、かつ時間がたっぷりある人でしたらそれでもいいとは思いますが、あなたの場合はもう既にやりたいことが明確に決まっていますよね?それなら、Cにそれほどこだわる必要はないと思いますけど。 なぜCからなのかというと、それだけ歴史のある古い言語であると同時に、これからも汎用的に使われていくであろう言語だからです。ここのサイト内でもC&C++のカテは総質問数が10,000件を突破していますね。(Javaの方は、まだ7,000件も突破していません。)他の言語に比べて、Cの場合だと専門書数に教育者の数にと、いろいろと有利な点があるわけです。 ただ、国内においては今のところ、以下のような言語を推奨しているらしいです。 基本情報技術者試験 →C、COBOL、Java、アセンブラ言語(CASL II) テクニカルエンジニア(情報セキュリティ)試験 →C++、Java、Perl 情報処理技術者試験センター JITECトップ>試験実施案内>試験で使用する情報技術に関する用語・プログラム言語など http://www.jitec.jp/1_02annai/annai_yogo_jis.html 初学者としても、上記のいずれかであればまず外れることはないと思います。あと、VBに関してですが、以前もこのサイト上でとある回答者さんが「Visual Basicは、厳密にはオブジェクト指向言語ではない。」というようなことをおっしゃっていました。(私の場合は、VBの方は全くの未経験なので詳細については差し控えときますが。)同じVB系でもVB.NETであれば、れっきとしたオブジェクト指向言語ですので、こちらの方だとそんなに悪くはないと思いますけども。 >プログラミングを始める前の脳の改革が必要なようなのです。 >その場合、どのような本を読んだらいいでしょうか? 平成19年度【春期】【秋期】 基本情報技術者合格教本 http://www.gihyo.co.jp/books/syoseki-contents.php/4-7741-2974-7 プログラミングに必要な基礎的知識として、以下の二つが挙げられます。 ・データ構造(リストやツリーに、先入れ先出し法など。) ・アルゴリズム(繰り返しや条件分岐の処理を用いた探索や並べ替えなど。) WEBプログラミングをする上では必ずしも基本情報技術者の資格を必要とはしませんが(営業利益と経常利益の違いなど、余計な事も勉強しないといけなくなってくるので。)、上記の2つだけでも部分的に勉強しておけばいいのではと思います。(必ずしも第1章から読み進めていく必要はありませんし、必要な所だけを掻い摘んで、といった感じです。) >いずれPHPやPerlを自分で組み立てられるようなとっかかりが欲しいです。 >本を読んで学ぶのが好きなので、良書がありましたら、是非ご紹介ください。 ここはあまぞんでもジャングルでもないので、またいつものようにペタペタとリンクっていきます。 赤マンモス本 http://www.sbcr.jp/books/products/detail.asp?sku=4797329068 →定番中の定番です。PHPならこれで決まりですね。 ECHNICAL MASTER はじめてのPerl/CGIプログラミング 増補改訂版 Linux/Windows対応 http://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-7980-1203-3 →WWWの仕組みやHTTPなど、Webに関する説明もあります。 やさしいシリーズ やさしいJava 第3版 http://www.sbcr.jp/books/products/detail.asp?sku=4797331828 →これもまた、ベストセラーとなっているものです。実際には、JavaでWebアプリケーションを作成するにはこれ一冊では足りないのですが、高橋麻奈さんという女性の著者がやさしく、わかりやすい表現で解説されています。

  • fatbowler
  • ベストアンサー率48% (26/54)
回答No.9

No.6です。 誤解があるといけないので補足します。 #議論をするつもりは全くありません。 Java、VB、Perlは、「初心者に取って敷居が低い言語」の例として挙げたまでで、 これらの言語を否定するつもりは毛頭ありません。 それぞれ長所があり、少なくとも現状はどれも無くてはならない言語です。 上級者がコーディングすれば、どの言語を使っても正しく美しいコードが書けます。 しかし私の経験上、プログラミングの基本が出来ていない状態でこれらの言語に 慣れることは弊害が大きく、注意が必要です。 特に初心者とVBの組み合わせは最悪で、何となく書けてしまうものだから、 全体像がイメージできないままコーディングに突入し、思いつくままダラダラと コードを書くことになり、そのまま続けていると、どんなに醜いコードを書いても 「動いてるんだからいいじゃないか」と思うようになってしまいます。 (これが頭をよぎるようになると、自分のコーディングセンスが毒されてきたと 自戒する必要があるのですが、初心者にはそれが理解できません。) 必ずそうなる訳じゃないでしょうが、実際そういうプログラマーをこれまで何人も 見てきましたので。 C言語は上記の言語に比べると制約が大きい分、理想から大きく外れることが少なく、 初心者が手を出す言語として最適だ、というのが私の持論です。 これは何も、C言語が優れた言語であるとか、そういう意味ではなく、バランスの 問題です。 最近はどうだか知りませんが大学で好んで教えるPascalは、逆に制約が大き過ぎて プログラミングが嫌いになってしまう危険性が大きいし、C++はCと比べると オブジェクト指向の概念が入ってくる分、C言語より習得が難しく、初心者向き ではありません。 結局、プログラミング上級者への道として私が薦めるのは、 1. C言語で構造化プログラミングをマスターする 2. C++でオブジェクト指向を覚える 3. 他の言語を覚える というものです。 回り道のようですが、本道から外れる危険が少ない分、むしろ上達は早いと 私は考えます。

  • maguro999
  • ベストアンサー率21% (59/273)
回答No.8

・プログラミング言語を覚えてもプログラミングができない人がいるので 助言をしておくとその人は大抵アルゴリズムを理解できていない。 アルゴリズムさえ覚えておけばどの言語でも習得は容易になる。 ・プログラミングは本だけをみて覚えるものではない。 実践あるのみ >基本をマスターしないうちにJavaやVB、Perlなどでいい加減な感覚を 身に付けてしまった人は、ちょっとやそっとでは矯正が効きません。 Perlはまだしも JavaとVBあたりをC言語と一緒にするのはどうかと思いますよ。 構造化言語とオブジェクト指向言語は切り離して考えたほうが良い。 下手に構造化言語に慣れるとオブジェクト指向言語に慣れるのに 苦労する。 (VB6までのVBは構造化言語とオブジェクト指向言語としての側面もあり ちょっと中途半端さがある言語ですけどね。) だからCをやるよりC++の方がいいでしょう。 もっとも学習としてはC++よりJavaの方がオブジェクト指向言語としての完成度は高いですけど

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.7

ちっと参考意見を付け加えます。 C言語プログラマのすべての意見ではなく私個人の意見としてお聞きください。 #6さんのおしゃるとおりプロになるなら基礎をしっかりとやることに関しては異論はありません。ぜひ、そうしてほしいです。 VBやPerlは安易な書き方に流れがちで基礎があやふやな場合が多いのも事実だと思います。 ただ、WEB系のプロになる場合、C言語はまず利用されません。 HTML,XML,JavaScript,Perl,FLASH,PHP,javaなど客先の注文にあわせていろんな言語を使いこなせる技術が必要です。 その入り口がC言語である必要はないと思います。例えばC++言語の場合は、逆にC言語に固執している人がやるとオブジェクト指向とは程遠いコーディングになったりもします。C言語の良いプログラマがC++言語の良いプログラマである保障はありません。 そういう意味で、web系のプログラマはC言語の習得は必要ないと私は思っています。アルゴリズムは、そもそも言語を選ぶものではありませんから、どんな言語のプログラマでも学ぶことができます。 私独自の意見としては、web系で基礎からやるならjavaをお勧めしておきます。

  • fatbowler
  • ベストアンサー率48% (26/54)
回答No.6

現場のSEです。 質問者やここを読んだ人が勘違いされると困るので、他の回答とは矛盾しますが私の考えを提示しておきます。 あなたがプログラマーとしてメシを食って行こうと思っていないなら、他の回答をそのまま受け入れて、 楽しいアマチュアプログラマー生活を満喫して下さい。 趣味のレベルなら、無理して固苦しい勉強をする必要は全くありません。 作りたいものが作れればそこがゴールです。 七面倒くさい理論やアルゴリズムなどは、プログラミングに対する興味を損なう代物でしかありません。 自分でゼロから組めなくても、他のコピペで済んでいるなら問題ないと思います。 そうじゃなくて、あなたがウチの業界でメシを食って行こうと志すなら、あるいは プログラミングの本質を理解し、プログラミング上級者を志すなら、是非C言語で 基本をしっかり勉強して下さい。 はっきり言って、基本をマスターしないうちにJavaやVB、Perlなどでいい加減な感覚を 身に付けてしまった人は、ちょっとやそっとでは矯正が効きません。 そういった人を実際に何人も見て(つまり被害を被って)きましたので。 今では、3年間VBのプログラミングを自己流でやってきているのでプログラミングは 任せて下さいという新人と、プログラミングはこの間の新人研修で生まれて初めて 勉強しましたという新人の2人のうちのどちらかを自分の配下に置いて教育して 行かなければいけなくなったとすると、他の条件が同じなら私は迷わず未経験者を選びます。 知らないことはいくらでも教えられますが、一旦付いてしまった悪癖はそう簡単には 矯正できないからです。 敷居の低い言語は、基本がしっかりできてない人が手を出すと自己流のおかしなやり方に 凝り固まって、取り返しが付かなくなってしまう弊害を常に孕んでいるので注意が必要です。 C言語を系統立てて勉強しようという目的には、下記が最適です。 明解C言語 入門編   柴田望洋

  • MrBan
  • ベストアンサー率53% (331/615)
回答No.5

とりあえず「さわって」というか、「読んで」「自分で書いて」ください。 所詮「言語」なんで。 英語の勉強とかで言われるように、「言語を考えてる」時点で理解したとは言えず、 「言語で考えられるように」なって、初めてその先が見えてきます。 そういういみでは、他の方もおっしゃられているようにCに固執する意味はあまりありません。 # 「他のヨーロッパの言語を勉強する上で、英語は知ってるといいよ」とかそんなところ。 言語なんで、文法の本を読んで単語を覚えて…で初心者を脱却するのは難しいです。 とりあえず、実際に自分で書いて書いて書きまくって,その中で理解するのが近道です。 言語の細部を振り返って確認するのはその次です。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.4

独学だけで、C言語のプロのプログラマになった者です。 この場合の独学は、本を読むだけでは物になりません。沢山プログラムを書いてみることが独学です。 たぶん、作りたいもの(目的)が無く言語だけ覚えようとしてるんじゃないでしょうか?例題やサンプルをただ漠然と触っていても言語のルールを学習しているだけで、言語を使いこなせるようにはなりません。 言語はあくまで道具だということを理解してください。 そうですね例えばカナヅチやノコギリ(道具)は素人でも扱えますが、家を建てる(目的)には覚えることや考えることが沢山あるはずです。 今のあなたは自分で家を建てれるようになりたいと思っていて、カナヅチの使い方だけにこだわっているようなものです。サンプルは、床板の張り方や柱を立てるテクニックと言ったところでしょうか? PHPやPerlのWEB系をやりたいのであれば、C言語は必要ありません。豊富なPHPやPerlの入門書から入ったほうが良いと思います。 実際に自分でPHPやPerlを使ったWEBサイトを作って、色々なサービスを自分で作ってみるのが一番良いと思います。 家も建てようと思ってみなければ、なにが分かっていないか見えてこないように、プログラムもまず作ろうとしてみないと見えてこないですよ。

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.3

>cgiなどの設置も自分で1から書くことが出来ないので、フリー >のものを使っています。 同じフリーの物を使うのであっても、ダウンロードしたファイル をそのまま使うのと、一旦リスト印字したものを見ながら、自分 で入力するだけでも結構違います。 入力ミスがあって動かなければ、どこに入力ミスがあったか何度 も見直す事にもなりますし。

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.2

独学でなれるのは、せいぜいアマグラマレベルに過ぎません。 書籍や雑誌に掲載されているものは、紙面の都合と読み易く する為に、簡略化された物のみなので、それを全てマスター したとしてもプロのレベルに到達する事は困難です。 スポーツや自動車の運転にしても、考えた後に体を動かした のでは間に合いません。 「見ればなんとなく判る」ではなく「見た瞬間に体が動く (頭の中におおまかなアルゴリズムが浮かぶ)」ぐらいには ならないと最低限のハードルすら越えた事にはなりません。 スポーツや自動車の運転で「見た瞬間に体が動く」様になる にはどうしたら良いかを考えれば、プログラムにおいても どうすれば上達するかは想像できるのでは?

関連するQ&A

  • プログラマー

    将来プログラマーを目指している15歳です。 そのために、高専に入学しました。 やはり初めのうちはプログラミングはやらずに情報系の勉強ばかりをしています。 自分的には開いた時間でプログラミングの勉強をしたいと思っています。 パソコンの知識はそこそこありますが、プログラミングに関しては全くの初心者です。 自分的にはC言語から始めてみようかなと思っています。 しかし、どんな勉強をすればいいのかが分かりません。 どのような勉強をすればいいか、またどんな本がオススメかを教えてください。 もう一度言いますが、全くの初心者です>< よろしくお願いします。

  • プログラミング言語の入門書について

    今、PHPを独学しているんですが、ちょっとした疑問があります。 WEB系のプログラミング言語を選ぶためにいろいろ調べていたとき、 『PHPはPERLがわかれば、大体わかる。』と何かで見ました。 で、 『RUBYはPERLが進化した言語だからRUBYがわかるとPERLがわかる。逆は無理』という話も見たことがあります。 ということは、RUBYをマスターすると色々わかるのでは? と思ったのですが、RUBYの入門書の書評を見ると、『全くの入門者には難しい』とありました。 じゃぁ…とPERLの入門書の書評を見ても同じような内容が… PHPの入門書を調べてもこれまた同じ WEB系のプログラミング言語の入門書~初心者向きの本に良書は少ないものなのでしょうか? ついでに、『入門者にとって、これはいい本だよ』という本があれば教えてください。 ちょっとした疑問なので、お暇な時にでもお答えいただけたら幸いです。

  • 夢はプログラマー

    タイトル通りです。が、まだプログラミングに関してはさわり程度しかわかりせん。今高校生でそろそろ本格的に覚えたいなーと思っているのですが、どの言語を覚えていると今後有利なのでしょうか?C言語がいいのかとも思いましたが、いかんせん私にはまだ敷居が高い気がして・・・。またどのように勉強すればいいのかわかりません。とりあえず本を買おうと思ってますが、値段が値段なので本の選び方も失敗しないようにしたいのですが・・・。わからないことだらけですがどうか教えてください。

  • ゲームプログラマーになるには

    現在大学生で、将来ゲームプログラマーになることを意識しています。 プログラミング言語は現在学習中で、 Javaに関しては簡単なマルチスレッドのプログラムが書ける程度ですが、 現在売り出されているゲームプログラミングに関する本はほとんどVisualC++とDirectX用に書かれているようなので、 最近C++を勉強し始めました。 入門書の内容はどれもそれほど難しくないのですが、ゲームプログラミングの本を読むととても難しく、すぐに手は出せない感じがします。 そこで質問なのですが、 ・今後ゲームクリエイターを目指していくにはどの言語を取得するのがよいでしょうか。 ・ゲームプログラミングの本がわかるようになるくらいの、入門書の次に読むレベルの本でよいものはあるでしょうか。 ・その他、ゲームプログラマーになるためのアドバイスなどあったらお聞かせください。

  • コンパイル言語とインタープリター言語の違いについて

    コンパイルするプログラミング言語とインタープリターする プログラミング言語の違いについて教えてください。 特に、開発上および運営上の利点・欠点についてお願いします。 また、CGIでは、PHPやPERLなどのインタープリター言語が 主流ですが、その理由とC言語などで組むのと比較して、 どのような利点があるのか教えてください。

  • CでCGI

    今度、C言語でCGIを組むんですけど、 Perlについての書籍やホームページはよく ありますが、C言語のものはあまりなくて困っています。なにかお勧めの本やホームページがありましたら どなたか教えていただけないでしょうか。お願いします。

    • ベストアンサー
    • CGI
  • C言語による数値計算について

    C言語による数値計算について 研究で使うため、C言語による数値計算を覚えたいのですが、何をしたらいいかわかりません。 一応わからなくてもやってみたらいいとか言われますが、そんなこと言われても、なにをしたらいいかわからないのです。できるようになるビジョンも見えません。 よくわかるCとかいろいろ参考書はありますが、別に数値計算用に書かれたものではないですし、つながりが見えませんし、まず数値計算を抜きにしてプログラミングというものを覚えようとしても、本に書いてあることが、全く謎でとっかかりがありません。 数値計算の本を見てみると、プログラミングとか全く関係なしに数値計算の手法を書いてあるものとか、最後に付録としてできあがったプログラミングが書かれているだけとかで全く手順がわかりません。 どうしたらいいのでしょうか?アドバイスをお願いします。

  • プログラミングを始めて半年以内の方に質問

     えー、プログラミングを始めて10年になります。  今度CGIの勉強をしたいという従兄弟から「お薦めの本を教えて」と言われて、「うん、いいよ」と気軽に返事をしたのはよかったんですが、実を言うと自分がPerlの勉強をするために読んだ本はかなり分かりにくく、C言語をすでに勉強した人向けに書かれてあることに気づいてしまったのです。  かといって本屋に偵察にいこうにも、自分が選んだのではプロ向けの本を選んでしまう可能性があります。  そこで、プログラミングというものを始めたばかりで、かつ今Perlの勉強をしている方におたずねしたいのですが、読んでみて理解しやすかった本を教えてください。  うちの従兄弟は面倒くさがりで、よっぽど分かりやすい本でないと途中で飽きてしまう性格ですので、困っているのです(^_^;  よろしくお願いします。

  • C言語を独学で習得するには。

    C言語を習得したいのですが、どんな本で習得するのがオススメですか? あまり文字が多いとやる気がなくなってしまいますので図解と文がバランスのいいも。ソースの間違いがないもの。(以前使っていた本が間違いだらけでした)最もポピュラーな書き方をしているもの。(これも以前使ってた本は他とは違いクセがありました)を探しています。 文字を表示するのは出来ますが、ポインタ・文字列などはまだ理解が浅い感じです。 プログラミングなどを行う仕事に就きたいと思っていますのでC言語の本質を理解して応用のきいたプログラミングをしたいと思っています。 最終的にはC言語習得後にC++も学びたいと思っていますので、C++についてもオススメの本があったら教えてください。 特に、独学で完成度の高いソフトが作れるようになった方の意見をお願いします。 またタイトルとは別のことになってしまいますが、変数に日本語(漢字・ひらがな・カタカナ)を代入させるにはどうすればいいのでしょうか?

  • perl/cgiでのランキングについて

    perlを(数日前から)勉強中の身ながら恥を承知で書きます。 元々プログラミングが苦手な事もあり 手をつけようにもつけられおらず、エラーがどうの、ではなく 情けながら…はじめからわからない…分野でして、 使用言語:perl 本題は HTMLのtextboxから「名前」「スコア」を入力し、 それをスコアが降順(高い順)に 1位から3位まで名前と共に表示させるCGIを目的としています。 例 順位・名前・スコア 1位・kenes・2007 2位・keiko・2000 …… 書いてある事が簡単なperl/CGIなのも分かっているのですが 先日までC言語の方をメインに勉強しPerlを触る時 C言語とのギャップに妙な混乱が発生し、なかなか理解出来なっており そもそもCGI自体、あまり触った事が無く、更に当人自身、 応用する事が不得意であるのですが今、非常に困っています。 どうか参考になる本、プログラムなどをご教授賜りたく候。

    • ベストアンサー
    • Perl

専門家に質問してみよう