• ベストアンサー

プログラミング入門者の選択すべき言語について

プログラミング入門者の選択すべき言語について 私はプログラミングを始めようと思っているものです。 始めるにあたってまず考えなければならないのが どの言語でプログラムするかと言うことだと思います。 Cやjavaなどたくさん種類がありますが、 まずどれから始めたらいいのでしょう。 とりあえずは円周率を求めたり 計算のできるアプリケーションを作りたいと思っています。 また、それを作るにあたって必要なソフト?なども教えていただけたらうれしいです。 全くの初心者です。 わかりやすくお願いします。

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

  • ベストアンサー
  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.4

今なら私はlua(ルア)をお勧め致します。割と新しいスクリプト言語です。 私もまだあまり詳しくはなくて、これからアプリ開発をしようとしているの ですが。 今時のアプリは画面描写が多く、X座標とY座標のデータをペアで必要とされる 場合が多いですが、単純な変数で持ちたいところですが、関数値が1つしか持 てないので設計に単純なところで苦慮することが多かったです。 その点Luaは2つ以上の関数値が持てるところが新しさを感じます。 しかし、言語としては易しそうです。 Luaスクリプタがフリーでありますので、画面に式を書いて実行してもいいで すし、テキストファイルにプログラムを書いて実行しても構いません。 Creative社のZEN x-Fi2というiPod touchのようなものがありますが、 このモバイルがLuaを採用しています。 PC用にZENシミュレータがありますので、PCの画面にX-Fi2を表示して、その 中でLuaを動かすことも可能で、勿論、プログラムをそのまま実際のZEN X-Fi2に 移しても動作可能です。 ZENシミュレータとZEN用ライブラリはCreativeからフリーで出ています。 また、ZEN F-Xi2のアプリにLuaで作られたLuaエディタがありますので、 モバイルのZENの中でもプログラムが書けますので、開発に場所を選ばないのも 面白いです。 ZEN X-fi2も機種によって9000~25000円と割とお手軽に入手できますし。 iPod touch/iPhoneのアプリはMacが必須ですし、ケータイのスマートフォンは 電話会社との契約が必要で面倒なので、ZENはお手軽さが魅力です。 また、Lua言語もとてもお手軽そうです。 それにiPod touchなどと違ってアプリやゲームの数が少なく、これからでも メジャーな開発者になる可能性はあると思います。 その他、お薦めではありませんがLISPは面白いですね。 慣れると問題を日本語で考えるよりLISPで考えるほうが早くなってきます。 が、あまりに世間一般では特殊すぎますね。

jj0plo
質問者

お礼

ご回答ありがとうございました。 luaが簡単そうだと言うことは分かりました。 ただまだプログラミングでの関数の意味が分からないので、、、 またZENのプログラムができると言うことですが、 このような携帯型のハードウェアの場合利用できる言語は決まっているのでしょうか。 すぺてのプログラムでは最終的には機械語にコンパイルされるというのを読んだことがあるのですが。 またそうなるとPSPやいiPodのアプリも作れると言うことでしょうか。 本当に初歩的な質問ですみません。 是非教えてください。

その他の回答 (4)

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.5

> ただまだプログラミングでの関数の意味が分からないので、、、 そうですね。数学の関数と同じように考えたらいいです。 y=f(x) というようなイメージですね。fの内容も自分で定義もするし、前もって 用意されているものもあります。 関数値が二つ持てるというのは x,y=f(n) のような記述が出来るということです。 例えば、 x,y=root(4) とかして、x=2,y=-2とか得るようにすることも可能です。 このような2つ以上の関数値という文法は今まで見たことがありません。 私が知らないだけかもしれませんけど。 一般に関数は、大きなプログラムを1つで書かないで、まとまった 機能ごとに細分化する手法となります。モジュール化とも言い、実は ハードウェアのプリント板設計などから取り入れられた概念です。 > またZENのプログラムができると言うことですが、 > このような携帯型のハードウェアの場合利用できる言語は決まっているのでしょうか。 決まっています。 iPod touchは言語は何か知りませんが。 ケータイのスマートフォンはJAVAが圧倒的に多いです。 機種、或いはメーカーによって方針があると思います。 > すぺてのプログラムでは最終的には機械語にコンパイルされるというのを読んだことがあるのですが。 それはコンパイラ言語のことです。 Luaのようなスクリプト言語は、プログラムを読みそれに従って用意された機械語が実行 されます。これがスクリプタです。PCにも用意できますし、ZENにはファームウェアとして 組込まれています。 要するにスクリプト言語というのはコンパイルをしない、ということです。 コマンドプロンプトのように、1行入力したらその場で1行実行します。 例えば、Luaスクリプタを立ち上げて > と出ますが、 > =10*4 としたら 40 > となって次の入力が要求されます。 このような行をテキストファイルに書く事によってプログラムになり、 Luaはテキストファイルの1行を読むたびにその行を実行するのが 基本です。 スクリプト言語は、PHP、Javascript、BASIC、Perl、Lisp等沢山あります。 また、スクリプト言語なのに、完成したプログラムの実行速度を上げるために コンパイルも出来る言語もあります。それでもコンパイラ言語ほどは早くなり ませんけど。 スクリプト言語は遅いけど、開発者が扱いやすいという面が大きいでしょう。 なお、JAVAはコンパイラ言語とスクリプト言語の中間に位置します。 一応コンパイルしますが、それは仮想マシン用にコンパイルされ、各機器が仮想マシンを 用意し、仮想マシン上で動く訳です。 混乱しやすいですが、仮想PCとはまた違う概念です。 細かいですが、正確にはコンパイルはアッセンブラに翻訳し、アッセンブラから機械語に アッセンブルします。最近はアッセンブル作業はコンパイルの中に隠れていますけど。 > またそうなるとPSPやいiPodのアプリも作れると言うことでしょうか。 勿論です。 PSPは調べたことがありません。フリーで開発環境が作れるか有償かも分かっていません。 iPodはMacでないと開発できないということでそれ以上の調査をしていません。 ケータイなども各種ケータイのシミュレータがフリーで配布されており、PC上に ケータイを表示して、プログラムを実行できる環境が得られます。 勿論言語はJAVAです。

jj0plo
質問者

お礼

早速のご回答ありがとうございました。 コンパイラ言語、スクリプト言語の違いが理解できました。 またケータイなどのアプリも組めると言うこと、 この場合の開発言語は配布される開発環境によるということで理解しました。 いつか挑戦したいと思います。 いろいろ考えた結果、 大変かとは思いますがC++あたりで始めようかと思っています。 というのも、PICのプログラミングなどもしたくて互換性があり良いと考えたからです。 VC++も無料版があると言うことで、 それを使ってやっていきたいと思っています。 まだまだ全く前の見えない初心者にも満たないものですので、 今後また質問してお世話になるかと思いますが、 その時はまたよろしくお願いします。 皆さんありがとうございました。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

プログラミング言語はいろいろあって、それぞれ特徴があります。 自分に合うかというのも向き不向きあります。 頭の中では、中学高校とは違った思考回路を使うって感じです。 ある程度テーマ、課題があって順番に学んでいくのでなくて、 自分で道を開拓していく感じです。 やってみたけど理解できない、 けどこっちなら取り組み易かった、というのはあります。 あとC言語やJAVA、 友達が良いよ、ネットでも良いよ、って言うのは 最近の利用頻度が高いからというのもあります。 学習する人が増えれば増えるほど上級レベルまでがんばらないと (就職等なら)不利です。 大きな会社ではその会社オリジナルで言語があったりします。 プログラミング始めるには、 どの言語と今すぐ特定する必要はなくて、 今は基本的なロジックを組み立てられる力を身につけるのが良いと 思います。 組立てができるようになれば、あとはどの言語でもやりたいことに 適合する命令なり構成なりをマニュアルで探しだしプログラミングします。 このあたりが「設計」、プログラミング記述するのは「製造」 「設計」があっての「製造」なので、 正しい「設計」があれば、どの言語で「製造」しても結果が得られるのです。 とりあえずは、 パソコンソフトを扱っている大型店や書店にて プログラミング言語とはどんなのがあるか特徴を見てみる。 CやJAVA、のソフトはけっこう高額です。 EXCELとかあれば別途ソフトを買わなくてもVBAという言語があります。 フリーソフトではCOBOL等もあります。 言語はあと資格試験も実施しています。 問題サンプルを見て本などで調べて回答してみるという手もあります。 これで感触をつかんで、 実際のパソコンで実行してみたいとなればそれも候補です。

jj0plo
質問者

お礼

ご回答ありがとうございました。 プログラミングで就職を目指すというのではなく、 いろいろ作ってみて楽しむという感じでやっていきたいと思っています。 確かに最終的にやりたいことはどの言語でも同じように出力されるので 何を使っても同じですよね。よく分かりました。 他の回答者さんの回答も参考に何で作るか決めていきたいと思います。

回答No.2

まず、コンピュータプログラミングについて、基本的なことなのですが、 - 画面にウインドウを表示したり、 - ウインドウにボタンを貼り付けたり、 - ファイルを読んだり、 といったことを行うには、言語の文法とは別の知識が必要になります。 例えば、WindowsとMacOSでは、これらのことを行う方法がまったく違います。 よく耳にするC言語などは、上記の壁がとても高いので、初心者の方が挫折しちゃっている大きな理由だと思います。 教えるほうも、ここらの知識と言語の習得を一緒にしてしまうことが、良くあります。 --- さて、世の中には上記の壁を思い切り低くしたコンピュータ言語というものも存在します。 画面に絵を描いたりといったことはあまり得意ではないけど、 計算したり、ファイルを読んでデータを加工したり、 ということを簡単に行えるようにした言語です。 これらを「スクリプト言語」といいます。 以下に挙げるものは、初心者が使うために用意された、というばかりではなくて、 試行錯誤が容易。 短い時間で開発できる。 バグが出にくい。 などの理由で、プロ用途でも良く使われています。 - Perl 結構昔からある言語。時代遅れではあるけど、使っている人は多い。 - Ruby 一言で言うと、Perlの現代風進化型。Perlよりはこれ。 - PHP 主に、WEBアプリケーションを作ることだけに特化した言語。 - Python ややマイナー。言語仕様は洗練されている。 個人的なお勧めは「Python」です。 初心者が独学で学ぶには、一番良い言語だと思います。 ちなみに、Java言語は、C/C++とスクリプト言語の中間くらいの位置づけです。 いずれにしても、C/C++/Javaのような言語は、応用範囲が広すぎて、常に方向を教示してくれる人がそばに居ないと、初心者が敷居が高いと思います。

jj0plo
質問者

お礼

ご回答ありがとうございました。 スクリプト言語の利点について非常によく理解できました。 とりあえずはいろいろ計算させるプログラムが作りたいと思っているので この言語で始めるのもいいかなと思いました。

回答No.1

こんばんは。 言語なんて別に何でも構いませんよ。 自分の環境で確実に走るもので、書籍が多くて、ネットでの情報も 多く得られるものを探すといいのではないでしょうか。 VBは人気が高いですが、どうも行概念のある言語は嫌いなので 私はC#を使っています。 手軽に組めて、インテリセンスが非常に強力なのでコード作成がらくちんです。

jj0plo
質問者

お礼

ご回答ありがとうございました。 確かにどの言語を使っても最終的にすることは同じですよね。 そのことに気づきました。 他の回答者さんの答えも参考に、目的にあったもので作っていきたいと思います。

関連するQ&A

  • プログラミング入門者、言語の選択?

    プログラミングは本当に初めてですが、言語の選択について質問させて下さい。 ある事がキッカケでプログラミングなる物を初めてみようと思ったのですが、 javaであったり、C+であったり・・・と色々な言語がある様で戸惑っています。 それぞれの言語を勉強するに当たり、必要な環境等は書店で売られている入門書で十分理解出来る(内容では無く用意するソフト等の事)のですが、入門の入門にでも該当するのでしょうか?どの言語が何に向いている(又は初心者向けor上級者向け等)と言った基礎の基礎って意外と無いものです。 家計簿ソフトの様な物(用途は違う)が出来たら最高なのですが、何(言語)から勉強したら良いのでしょう? 難易度の高低より、出来れば投資額が少なく、汎用性を重視したいのですが・・・ Windows CE等のPDAなんかでも稼働するソフトなら更に良いのですが・・・。 ps:難易度の高低より・・・以降の希望が無謀な事なのかどうかも分からない位ですが、    初めて見ようと思った気持ちを大切に恥ずかしながら質問させて頂きます。よろしくお願いします。

  • プログラミング入門に最適な言語

    プログラミング入門に最適な言語 最近プログラミングに興味をもって、プログラミングに挑戦しようと思ってます。 最終的にC++へ行くつもりですが、何の言語からはじめるのがいいでしょうか。 よろしくお願いします。

  • c言語入門者です。

    c言語入門者です。 円周率暗記練習のプログラムを作成したいと思いましたが、早速つまずいています。 二冊の入門書は結構読み込んだつもりです。三日間考えたり検索してみたのですが、 どうしても糸口が見つからなかったので質問します。 円周率一万桁程度の数列に対して例えば3.1415926535や3.14などの先頭からの一部のみの数列で 真とする方法はどうすれば良いのでしょうか? また一万桁などの大きなデータはファイル入力によって処理するのでしょうか?

  • プログラミング言語について

    プログラムを学ぼうと思っている初心者です。 C、Java、COBOL…色々なプログラミング言語がありますが、それぞれどのような物を作るときに使用されるのでしょうか?今いちばん需要があるのものと難易度も知りたいです。わかりやすく教えていただけるとありがたいです。

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

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

  • プログラミング言語の習得について

    プログラミング言語の習得について こんにちは。某大学の理工学部数学科に通う4年生です。 プログラミング言語について質問させていただきます。 僕は先日基本情報技術者試験を受験しました。 その試験ではプログラミング言語を1つ習得しないといけなかったためC言語の入門書を一冊勉強しました。 今家にはC++とJavaの入門書、C言語の中級書もあります。 そこで質問なのですが、 続けてプログラミング言語を勉強するには、C言語の中級書、上級書というように1つの言語を徹底的にマスターした方がいいですか? それとも、C++、Javaの入門書を一通りやってC以外の言語も一応使えるようにした方がいいですか? ちなみに大学院に進学する予定なのでまだまだ勉強できる環境にあります。 宜しくお願いします。

  • プログラミング入門

    プログラミング入門 今、私はプログラミングの勉強をしたいなーと思っています。それでホント初心者でも一からできるソフトはないでしょうか?または詳しく乗っているサイトを教えてください<m(__)m> できればJAVAかCがいいです

  • プログラミング言語

    プログラミング言語のC言語とかJavaとかPerlとかの違いって使いやすさや慣れ以外に違いってあるんですか? 言葉足らずですいません…! 先程あげた三つのプログラミング言語が全く違うのは理解しているのですが、 それを使う、仕様した結果何か変わるのか疑問を抱いたので質問させていただきました。 初心者なので全く分からなくて… 教えてください><

  • 新言語プログラミング2005?

    以前にC/C++言語・Javaプログラミングを勉強したことがあるのですが、今は違う業界にいて、最近では何のプログラミングが最新なのか分かりません。 「これから」という新言語プログラミングを、誰か知っていたら教えてください。 ちなみに、C言語とJavaの検定・2級を持ってます。

  • プログラミングについて

    プログラミングを今年の四月にはじめたばかりなのでまったくプログラミングの知識がない状態で、大学の3年の授業でJSPをやっているのですが、ほとんどわかりません。(大学には3年次編入で入りました) ちなみにJSPは授業をとらないといけません。 しかし今、一年の授業でC言語を習っていますが、JSPで使うのはJavaなので、C言語をこのまま勉強するべきなのか、それともJavaをやったほうがいいのか迷ってます。プログラミングに関してもっている参考書はやさしいC、明解C言語入門編、 JSP業務アプリケーション短期開発入門です。 何かいい教科書や勉強法、アドバイスがありましたら教えてください。