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

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

解決済みの質問

中1でプログラミングに興味。どの言語が?

こんにちは。


現在中学一年生の者です。


いろいろな経緯(後で書きます)でプログラミングに興味があります。


今までソースコードを打たないでゲームが作れるツール(無料)などを利用してきましたが、最近そちらに慣れて来て、物足りなくなってきました。

有料の物は中学生ですし、あまり購入したくありません。

いっその事、それに将来役に立つだろう、とソースコードを打つ決心(?)をいたしました。


が、

言語がたくさんありすぎて何から始めたらいいのかよくわかりません。


色々なサイトを巡回して、なんとなく世界で主に使われている言語の名前は頭に入っています。しかし逆にそれと、実行速度の違い程度しか知りません。

あとはandroidはjavaだとか、iOSアプリはobjective-cだとか。



今は自分で"何か"自己満足な簡単アプリを作りたいと思っているだけで、目的別の言語比較を見てもなかなか何を学ぶか決められません。



そこで、お聞きしたいのが、

"今後(将来)様々な言語を学ぶとして、この若いうちに吸収しておいたほうが後々楽"

という言語です。

なんとなく説明文でCかなと思ったりしていますがどうなんでしょうか。


"この一つを若いうちに知っておけば、他の言語もなんとなく理解しやすいという言語"、教えてください。


できればスタートにぴったりな環境もお願いします。(フリーソフトやサイトなど)


自分はMacで(今更後悔ですが)
Mac 10.7.2 lionです。

EclipseのインディゴとやらにAndroid SDK入れているのと、Net Beansはインストールしてあります。


書籍は海外に住んでおりまして、購入できません。(Amazonはありますが...)



ここからは私がプログラミングに興味を持った経緯ですので、参考になるともならないとも言いづらいです。
飛ばしてくださってかまわないです。
===

小2で学校に宇宙で活躍するロボットの開発チーム(?)が来て、"壁に当たったら10°回転"とかそういう指示を出すプログラムをブロックみたいなもので作ったのが最初のきっかけ。
小学校高学年で俗に言うゲームオタクをやっておりまして、自分でゲーム作りたいと思っていました。その時はただのサイトでいろいろ読んでいただけです。

中学校に入り、Scratch(http://scratch.mit.edu/ ) というツールに出会い、言語選択英語(よりプログラミング言語に近いと言う理由で)ミニゲームをゲーム感覚で作っていました。
Scratchを使いこなせるようになったところでたまたまAndroid端末を手に入れ、そしてApp Inventor for Androidを利用しはじめました。
App Inventorはあまり利用しないまま忙しく時が過ぎ、まじめに取り組もうと思った頃にはサービス終了。
頑張ってAndroid SDKをEclipseに導入しましたが、javaの知識皆無。コピペでなんとか頑張ろうとしたが原因不明のエラーでつまづき...

そして現在に至ります。


javaはhello worldをやっただけですwww

===





長くなりましたが、本題は"今後(将来)様々な言語を学ぶとして、この若いうちに吸収しておいたほうが後々楽"というプログラミング言語教えてください。
というものです







長文、大変失礼いたしました。


先輩方、よろしくお願いします!!!!



(カテゴリですが、プログラミングカテゴリの中で一番活発そうなところへ投稿させていただきました)

投稿日時 - 2012-02-24 07:10:13

QNo.7323861

困ってます

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

ダントツでCやC++をおススメします。
最近の言語と比べると扱いが難しいし、どうしても初めは地味なことしかできませんが
Cができないプログラマにはロクなやつがいません。
経験から言って、Cがわかっていればほかの言語を新しく学ぶときもさほど苦労はしません。
逆にJavaとかから始めた人が新しくCをやろうとすると高い確率で挫折しています。
そういう人をたくさん見てきました。

とここまで書いておいて‥。
質問者さんは中一ということですが、
もしプログラムを始めたことによって
他の勉強がおろそかになるようなことがあるとすれば
今プログラムに勤しむことを正直私はおススメしません。
勉強もちゃんとやった上で、自分のやりたいことをやりましょう。

中学一年生ならまだまだ将来は無限に広がっています。
何も今から自分の将来を狭める必要はありません。
学校の勉強それ自体が将来の自分に役立つことはあまりありませんが、
今の日本の世の中において、
勉強をしなければ年齢とともに確実に自分の将来を狭くしてしまいます。

勉強やスポーツ、友達との時間を大事にし
それでもなお、時間が余る~時間を作ったうえで
プログラムをやるくらいがいいと思います。

以上、知らないおっさんの戯言です。

投稿日時 - 2012-02-26 14:18:42

お礼

言われると思いましたよw
私は将来プログラマになると決めた訳ではありません。道の一つだと思っているだけです。
趣味としてプログラミングをやっていて、スマートフォンのアプリとか開発して売れたら将来副業にもなりますし、やっといて無駄にはならないと思うので。
それに就職の時、ほぼ同じ能力、同じ社会的応力を備えている、二人の入社志望者がいたら、ちょっとだけでも能力におまけがある方を採るじゃないですか。
私はプログラミングをやるのは将来を狭めるためではなく、広げるためですから、ご心配なさらず。
あと学校の勉強は済ませてからパソコンに向かっています。そもそも学校の方をおろそかにしたら親が黙ってません!

それと、私は海外に住んでいるので、暇なんですね。部活も無い、クラス少人数で遊ぶ仲間もいませんw
いつか日本に帰らなければいけないので日本の学校の勉強も必要とわかっていますし、こちらの言語(英語など)もまだ不十分ですからそちらにも取り組まなければならないのですが...ね...
日本という現場にいないと日本の勉強にやる気は出ませんw
語学も日本の教材は文法ガチガチで役に立たない(How are you?といえばI'm fine thank you.)
それで暇です。


みなさんおっしゃっているのでCの方向性でやっていきたいと思います。


ご回答、アドバイスありがとうございました。

投稿日時 - 2012-02-27 02:00:47

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

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

回答(8)

ANo.8

> #7

CodeWarriorって懐かしいな、と思ったら、Mac版は2005年で開発終了してたんですね。
当然、Lionになど対応していません。

投稿日時 - 2012-02-27 18:47:45

ANo.7

<作りやすさ、スピードを求める場合>
javaでアンドロイドアプリの開発をやりましょう。
開発ツールは無料なので、パソコンとスホマがあればすぐにでもできます。
javaでゲーム開発の場合はOpenGLの調査も必要です。
3D系はOpenGLのライブラリを使って動作させますので。

<難しさ、ロジックを極める場合>
VC++でのWindowsアプリの開発をやりましょう。
ただし開発ツールは無料ではないので、アカデミック版を買いましょう。
開発ツールは無難に「Microsoft Visual Studio Express」をお勧めします。
VC++でゲーム開発の場合はDirectXの調査も必要です。
ほとんどのゲームはDirectXのライブラリを使って動作させますので。

MACの場合はC++での開発となります。
開発ツールはCodeWarriorとなります。(有料)

ちなみにVC++での開発は挫折する場合があります。
なぜなら、初心者には難しくソースコードもjavaとは比較にならないくらい
沢山記述しなければなりません。

学生は勉強が本分なので、まずはjavaでアンドロイドアプリの開発をやるのがいいでしょう。
そこで基礎を得て、次のステップでVC++を勉強すれば、他の言語も楽勝でしょう。
(アセンブラなどのマシン語は除きます)

投稿日時 - 2012-02-27 18:03:06

ANo.5

つまづいているとのことですが、Androidアプリが良いと思いますよ。
ゲームやツールだって作れるし、世界に公開するのも簡単です。
チュートリアルにそって進めていくだけでも楽しいです。
テスト環境も整っているみたいですし、お金もかかりません。
サイトはかなり豊富にあるので、やりたいことをぐぐれば出てくると思います。

もっと簡単なところからWebサイトを作ってみるという手もあります。
フリーのレンタルサーバなんかを借りて、HTMLと、PHP、Ruby、Pythonなどでサイトを作ってみたらいかがでしょう。PCやAndroid用のサイトであれば、JavaScript、Ajaxなどと広がりがあります。

ちなみに自分は中一の時、F-BASIC386なる言語で遊んでました。

投稿日時 - 2012-02-24 18:52:46

お礼

Androidアプリはまず真似してやってみようかな..?
せっかく苦労してEclipseにAndroidSDKインストールしたので、使わないともったいないですよねw
実はEclipseがライブラリ見失って、6回くらい入れ直したんです..ww


HTMLはブログで文字色変えたりリンク張ったりしかしたことないですね...あとはCSSも少しだけブログで。

みなさんCを推していらっしゃるのでCをメインで
Cに慣れてきて、何かアプリが出来上がったら自作のwebサイトで公開するという流れでやっていきたいと思います。

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

投稿日時 - 2012-02-25 22:35:28

ANo.4

当方、Macユーザーなので、多少Mac寄りになることを予め申しておきます。

プログラミング環境に関しては、Macは劣るところはありません。
App StoreからXCodeを導入しましょう。「無料」です。MacやiOS用の開発環境です。
「無料」ですが「フルセット」です。上級エディションが有料(数万円)なんてことはありません。
iOSでアプリを公開、というのでなければ、会費もかかりません。

XCodeをインストールすれば、GCC(Linuxでは「標準」、他の環境でも「準標準」とも言えるコンパイラ集)が使えるようになります。個人的には、同じくインストールされるclangというコンパイラが、エラーメッセージが丁寧で初心者にもやさしいのでは、と思っています。

また、Java,Ruby,Perl,Python,PHPと言った、メジャーな言語は「最初からインストール済み」です。
自宅でWebサーバーを作って動作確認させる時でも、メジャーなサーバーであるApache2がインストール済みです。


言語って流行り廃りがあって、将来どんな言語がトレンドになるかわかりません。
ただ、基本はそれほど変わらないので、若いうちは基礎を付けるのがいいのではないでしょうか。

おそらく、当分はCとそれをベースにした言語は消えないと思いますので、Cを選択するのはいいでしょう。

投稿日時 - 2012-02-24 18:40:03

お礼

xcodeをインストールしようと思ったらOSのアップデートが必要と言われてまだインストールしていません。
OSアップデートによる動作不具合(twitterでそのような情報が流れて来たので)が無いか調べて、無さそうならOSアップデートし、xcodeもインストールしてみようと思います。

言語にもはやり廃りがあるのですか。
確かに色々なサイトでobjective-CがiOSのおかげで人気が出て来たと書いてありました。

app storeでxcode見たら1.数GBなのにいろいろ詰まってるんですね!

apache2とやら、というかサーバー関係の知識がいまいちなのでその辺も合わせて勉強してみます。


詳しくありがとうございました。

投稿日時 - 2012-02-25 22:16:07

ANo.3

中一でAndroid・・・。
すごい時代になったものですね。
私は父の会社の払い下げのPC98(MSDOS)で遊んでおりましたw

ともあれ、
他の方も仰っていますが、やはりCですかね。
特にやりたいものが定まっていないのであれば、Cからでいいと思います。

ただ、Cからやらないといけないという程ではないです。
例えば、SNS系のゲームを作りたければjavascript、PHP辺りを学ぶのもいいと思います。
Macでも大丈夫ですしね。
web系言語だとサーバが必要ですが、MacはVirtualBoxが使えたと思うので
それ上で構築すればお金はかかりません。
SNS系はいま非常に儲かりますので、
仮に今のままゲームがそっちに傾倒していけば
非常に有用なスキルになると思いますよ。

投稿日時 - 2012-02-24 15:57:43

お礼

いや、私がAndroidを入手した大きな理由は海外のガラケー(?)では日本語入力ができないということなんですけどねw
Simijiとかgoogle 日本語IMEとかで日本語入力できるので。

皆さん口を揃えてCと言っていらっしゃるのでCをやってみようかな..?


私もPHP,javascriptはどうかなーとか思ってたんです。twitterのフォロワーさんとかがとんでもない(post稼ぎ用とか)クライアントをPHP,javascriptで作ってたりしているんで。

サーバーは、webアプリではなくても、動くアプリが何か完成したら配布したくなると思うので、いずれは必要になりますよね。

VirtualBoxとか聞いた事はありますがよくわからないので調べてみます。
仮想環境でLinuxのサーバーOSをどうのこうの...?いや、わからないw

まだ先だとは思いますが、その段階まで行って、ググっても理解が追いつかなかった場合また質問させていただきます。その際はよろしくお願いします。


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

投稿日時 - 2012-02-25 22:05:11

ANo.2

>"今後(将来)様々な言語を学ぶとして、この若いうちに吸収しておいたほうが後々楽"
C言語とJava。

投稿日時 - 2012-02-24 13:27:54

お礼

言語人気ランキングもその二つがトップにいましたから、どちらかトライしてみようと思います。
ご回答ありがとうございました。

投稿日時 - 2012-02-25 21:54:16

ANo.1

「この一つを若いうちに知っておけば、他の言語もなんとなく理解しやすい」っていうと, やっぱり C かなぁ. 一応 Java やら Objective-C やら C++ やらのベースと言えなくもないし.

「C で苦労しておけば後が楽」ということもないわけではない (ぼそっ).

MacOS X なら gcc 使えばいいでしょう. Unix だし (ぉ).

投稿日時 - 2012-02-24 11:35:05

お礼

色々なサイト見てましたが、やはりCはベースになってるんですね。

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

投稿日時 - 2012-02-25 21:49:10

あなたにオススメの質問