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

締切り済みの質問

プログラミングの基礎

将来プログラマになりたいと思っています
今中学生なのですが、高校は情報科学科のある高校に行こうと思っています
プログラミングの勉強をするために学んでおくべきことはなんですか?
基本中の基本から学びたいと思っています。
あと言語はC言語をやろうと思っているのですが
C言語を勉強する前にパソコンの動作?を理解するためにアセンブラも勉強をしておくほうがいいのでしょうか

投稿日時 - 2007-08-26 13:54:55

QNo.3287793

すぐに回答ほしいです

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

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

回答(7)

ANo.7

はじめまして
将来プログラマになりたいということですが

プログラミングの入門書はいろいろ発売されています。
資格試験もいくつかあります。
1.入門的には情報処理活用能力検定(民間主催)があり、パソコン(周辺機器)の機能、使用、プログラム(ベーシック、C言語)の理解など入門レベル以上。
2.基本情報処理技術者試験(国家主催)はありますが、基本知識からパソコンの内部処理とある程度知識(ビット処理などの演算など)が必要で中学生ではじめて学習するには進めできない。

入門者には1.の情報処理活用能力検定を目指して学習すればよいと思います。学習参考書など発売されています。

プログラミングは、事務系用、技術系用、グラフィック・ゲーム系用、いろいろな方向がありますが、高校以降に決めて、今は、入門的な知識(パソコンの機能、使用方法)をいろいろな入門書籍から学習すればよい。(プログラム言語に関係なくプログラムの理解、作成などの書籍もあります)

投稿日時 - 2007-08-30 16:45:41

まず始めに日本国内においては、「プログラマー」という免許は存在しません。(他の国ではどうだか知りませんが、恐らく今後もそういったものは登場しないでしょう。)お医者さんになるためには、大学の医学部医学科に入学し、臨床医学など専門的な勉強を6年間みっちりと勉強しなくてはいけません。ただ、プログラマーという職業はなろうと思えば誰でもなれるものなんですよ。(法的には何ら問題はありません。)

そんなこんなで、実際にプログラマーの仕事に従事されていらっしゃる方々には、実に様々な経歴の人が数多くいます。学歴だけみても、情報系の大学、大学院まで進みメーカー系の企業に就職された方や、はたまた高卒や中卒でいきなり実務に足を踏み入れた人など。実際に、プログラミングの勉強を始めた時期に関しても、義務教育の時から独学で頑張ってきた人から、大学に入ってから、もしくは実社会に出てからなど、実にこれまた様々です。

ただし、ここで注意すべき点が一つあります。それは何かというと、世の中には「実社会に出るまでは全くプログラミングなんて知らなかったけど、その後の努力によって(時には短期間で)即戦力となり得る技術者」がいるということです。

では、そのような「できる人」とそうでない人との違いは何かというと、つまるところ「基礎的な学力」が身に付いているのかどうか、です。言うまでもなく、ここでいう「基礎的な学力」とは、以下のような学問を体系的に勉強することで得られる能力です。

・国語
・数学
・英語
・理科
・社会

質問者さんが今からプログラミングの勉強を始めることは、実に素晴らしいことです。飛び級制度といっても現状では未だ限定的ですし、恐らく担任の先生に相談しても否定的で、何ら前向きな回答は得られないでしょう。それに、世の中には孫正義さんやビル・ゲイツさんみたいな人もいますし、大器晩成型が必ずしもベストとは限りません。

しかし、いくら質問者さんが今から頑張ってプログラミングの勉強をしていても、実社会に出た後、短期間で同等レベルまですぐに追い付いてくる人もいる、ということを忘れないでください。

プログラマーにとっては、(コーディングだけでなく)プログラミングが出来ることは必須条件ですが、出来ることならばそれ以外の能力も身に付けておいた方がよりいいですよね。(その後に上級プログラマーになるにしろ、SEになるにしろ・・。)

最後に、コンピュータのハードウェアに関することについては、以下の過去ログも参考にしてください。ソフトを極めたければ、ソフトのことだけを知っていてもダメですので。

「PCの自作とは何ですか?」
http://oshiete1.goo.ne.jp/qa3146144.html

投稿日時 - 2007-08-26 20:50:53

ANo.5

zwi

>将来プログラマになりたいと思っています。
きびしい意見かも知れませんが、プロの現場から見た視点でお話させてもらいます。
残念ながら高校の情報処理科の授業で習うプログラムの技術は、仕事の現場で役に立つレベルではありません。仕事の現場に入った時点で一から教え直されるのが普通です。全然プログラムを習っていない人間の方が先にプログラムのレベルが上になったりも良くあることです。
仕事で役に立つレベルとなると授業の内容だけはまったく足りません。独学で学ぶことと、自分で何かを作り上げること、何らかのオープンソースのプロジェクトに参加するなど積極的な行動がレベルを上げる方法です。
ゲームでもアプリでも、見知らぬ人が遊んでくれたり、使ってくれたりするレベルのものを自分で作り上げることを目指してください。即戦力を求めている会社は、そういう人しか採用しません。

それとプログラマ→SEとステップアップを考えるなら、何よりも幅広い知識が必要とされます。#3のdon_goさんの言われるようにプログラムに関係ない知識から固めたほうが良いと思います。
プログラムの勉強は独学でも可能ですし、専門学校や大学の情報処理科もあります。あわてなくて大丈夫ですよ。
例えば、ゲームプログラマになりたいなら、昨今の高度な3D処理のためには大学程度の数学知識があったほうが絶対有利です。

投稿日時 - 2007-08-26 19:23:32

ANo.4

1) 英語
技術文章の大半が英文なので日本語の解説が無いと分からないでは話にならない。

2) 数学
数学が直接的に必要になる場面はあまり無いが数学的な考え方は必要。
確率・統計はリソース見積りやパフォーマンス予測に役に立つ。

3) 国語
要求・仕様を正しく誤解されないように伝える・読み取るのに国語力は必要。

4) 社会常識・コミュニケーション能力
仕事は一人では出来ないですから。

投稿日時 - 2007-08-26 19:05:57

ANo.3

>将来プログラマになりたいと思っています
kusinadaさんはまだまだ若いのですから、今から
将来を決めつける必要はありません。
もう一度冷静になって考え直しましょう。
やり直すチャンスはまだ残っています!!

まずは学校の勉強をしっかりとやっておくこと。
将来何をやるにしても基本が大事です。
単なる教科書の丸暗記ではなく、回答を導くまで
の過程を大事にして下さい。
たとえ答を忘れても、それを導く手段をちゃんと
理解していれば、いつでも回答を手に入れる事が
できます。
#その方法がWeb検索のみというのは駄目ですよ!!

投稿日時 - 2007-08-26 18:25:35

ANo.2

基本情報処理技術者試験の勉強をすれば、コンピュータに関連した各方面の基礎知識がある程度身に付くと思います。もっとも、情報科学科に進めばおそらく学校で情報処理技術者試験を受験するので、そのための関連テキストも購入することになると思いますし、いまから自費で学習するのはちょっと微妙ですけどね。まあ、大抵どこの書店でも参考書が売られていますから、どんな内容か眺めてみるのも面白いと思います。

アセンブラの理解は、C言語の深い理解には必要なものですが、まずはC言語をある程度学習するのが先決だと思います。なお、C言語はメモリ管理などで初学者には厄介な部分(しかし重要な部分)が多いので、アルゴリズム的なことや「プログラミングとは大体こんな感じだ!」といったことを学習したいのであれば、Java言語の方が取り組みやすいと思います。ただし、C言語とJava言語を両方同時に学習するのは、言語仕様の微妙な違いで混乱するため避けたほうが賢明です。何か一つの言語を「大体どんなプログラムでも書けそう」という程度に習熟してから、必要であれば他の言語を学習しましょう。

投稿日時 - 2007-08-26 14:46:35

ANo.1

C言語で十分だと思います。
CPUのレジスタの構造や仕組みは勉強しておいたほうがよいと思いますが,アセンブラ自身は言語としては単純ですから,どの言語でもプログラミングということができれば,理解するのは比較的簡単です。ただし使いこなすには制約が多いだけにいろいろなノウハウが必要ですが,最近はかなり特殊な状況で無い限りアセンブラまで必要にならないと思います。

プログラマというのもいろいろな職種がありますから,それによってだいぶ学ぶことは違ってくると思います。

特に最近はパソコンというよりは,携帯電話はじめいろいろな情報機器が高度化してそれの制御ソフト(いわゆるファームウェア)を書く人が不足しています。
質問者さんが仕事につくころはどうなっているかわかりませんが,
プログラム言語だけでなく,ネットワークなどの知識も重要になってきますので,いろいろ勉強してください。

投稿日時 - 2007-08-26 14:08:54

あなたにオススメの質問