• ベストアンサー

最初に学ぶべきプログラミング言語は?

プログラミングをしたいと思います。 目的がはっきりしていないのですが、ソースの公開されているプログラムを自分向きに修正、改造したりしたいです。(要望を出して対応してもらうのは申し訳ないですし、自分で多少はいじれるようになりたいです。せっかくソースを公開されているのですから。) 疑問に思ったのは、最初に学ぶべき言語についてです、各言語の特色、主要な言語の情報を教えていただけないでしょうか。 プログラミングを始めるに際して、入り口に立つための準備に関することを教えていただけないでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • elmclose
  • ベストアンサー率31% (353/1104)
回答No.1

プログラミング言語は大きく分けて手続き型、関数型、論理型などに分類されます。 手続き型言語の代表は、Pascal, Ada, C, C++, PL/I, Fortran, Java, JavaScript, BASIC などです。 関数型言語の代表は、Lisp です。 論理型言語の代表は、Prolog です。 現在では、広く使われているのは、手続き型言語です。各言語によってだいたい用途が分かれてきますので、どういった分野のプログラムを利用したいかによって言語を選べば良いと思います。例えば、科学技術計算は伝統的にFORTRANが広く使われていますし、ウェブ用にはJavaがわりと広く使われていますし、C言語などは割とOSやハードウェア制御などにも使われる軽い言語ですし、自然言語処理にはLispやPrologも使われます。 あと、上記の分類とはまた異なりますが、「オブジェクト指向プログラミング」の概念を取り入れた言語もあり、ある種のプログラム開発には向いています。 まったく初めてでしたら、勉強ならばPascalあたりから始めるのが良いでしょうし、いきなり実用を考えるならCまたはC++あたりから始めても良いと思います。 なお、いわゆるプログラミング言語ではありませんが、機械語やアセンブリ言語を理解しておくのも、プログラムを書く上では役に立つと思います。

wonder-magic
質問者

お礼

多様な意見があり、とても参考になりました。 回答への返信をつけるのが非常に遅くなり申し訳ありません。 今は海外ソフトの日本語化やEmacsのLispを書いたりしています。 自身でも勉強を続けていこうと思っています。 ありがとうございました。

その他の回答 (7)

  • mattue2ks
  • ベストアンサー率25% (3/12)
回答No.8

他の質問を見ましたが、まだお若いようですね。 よって、今は意識していないとしても将来役に立つ可能性の高い言語という視点で選びます。 となると、「最初」はC#がよいでしょう。標準ライブラリも充実していますしマニュアルも十分。インストールするだけで使えるので「環境構築」に惑わされることがありません。動きが「目に見える」のでとっつきやすいです。ある程度プログラムの雰囲気が分かってきた後に他の言語に手を出せばよいでしょう。 一昔前であればVBも選択肢として入りましたが今からやるのであればC#です。 「公開ソースを修正」なんて当分は手が出ないでしょうから、そんなこと考えない方がよいでしょう。 ただし、パラメータをいじるだけで良いというのであればビルドの仕方を覚えるくらいで済むので敷居はぐっと低くなります。C#を少し勉強した後であればCでもDelphiでも「なんとなく」パラメータ変更は出来るようになります。 なんだかんだ言ってマイクロソフトの力は強大です。仕事をするにも趣味にしてもマイクロソフトの言語を勉強するのがよいでしょう。

wonder-magic
質問者

お礼

多様な意見があり、とても参考になりました。 回答への返信をつけるのが非常に遅くなり申し訳ありません。 今は海外ソフトの日本語化やEmacsのLispを書いたりしています。 自身でも勉強を続けていこうと思っています。 ありがとうございました。

回答No.7

お薦めの言語はC言語あるいはC++言語だと思います。 ライセンスにかんして書いている方がいましたが、 ライセンスがうるさくない言語としてbasicではなく、 C++言語ベースのがあります。 wxwidgetsといって、フリーの開発環境です。複数のOSで動きくことを想定としたものです。これを使って商用ソフトも非商用ソフトも作っても大丈夫なので。 また同種のものでpythonやperl,basicを使った wxpython,wxperl,wxbasic,wxrubyなどがあります。 http://www.wxcommunity.com/modules.php?op=modload&name=Downloads&file=index&req=viewdownload&cid=1 ちなみに自分は使いこなせていませんが…。 windowsなら http://wxdsgn.sourceforge.net/ をダウンロードしてインストールするだけで使えます。

参考URL:
http://www.wxwidgets.org/
wonder-magic
質問者

お礼

多様な意見があり、とても参考になりました。 回答への返信をつけるのが非常に遅くなり申し訳ありません。 今は海外ソフトの日本語化やEmacsのLispを書いたりしています。 自身でも勉強を続けていこうと思っています。 ありがとうございました。

  • oryaaaaa
  • ベストアンサー率35% (75/211)
回答No.6

日本の開発者傾向は世界の流れと孤立して職人傾向にあります。日本人が中心で使ってる開発環境はどちらかというと、ライブラリ等を全部自分でつくっていく感じで、ライブラリを使う上で制限やロイヤリティ(使用料)など制限がいっぱい付きます。それでも良いなら、マイクロソフトやボーランドの製品などを使えばいいでしょう。 wonder-magicさんのようにオープンソースで情報交換して、使えるライブラリは全部使って改造する感じでソフトウェアを作りたいと考えているなら、私の使っている環境がおすすめです。コミュニティはオープンソースで会話する世界、みんなライブラリを公開(EXEに含むタイプ)してロイヤリティや利用制限をつけません。それが120以上、コードTipsは2000以上あります。さらに初心者用の書き方をまとめたコード大全集(他の開発環境にはない)。最速チューニングBASICでBASIC系では最速の処理性能。組織での利用を考慮せず個人向きにプログラミング仕様を設計しています。BASIC系では一番洗練されて使いやすいです。学習は本を買う必要はありません、コード全集とネット上の教科書でぜんぶ勉強できます。WinだけでなくLinuxやMacOSXの開発環境も1つのパッケージに全部はいってます。 もし将来の仕事でプログラミングを学ぼうとしているなら、PureBasicはセミATのスポーツ車、DelphiやVisualはマニュアル一般車のような感じです。最初に楽々な環境になれると、仕事で使おうとしたとき馴染めなくなるかもしれません。使うのが難しいDelphiやVisualを学ぶ方が良いでしょう。私は使ったことがあるので言えるのです。

参考URL:
http://dbp.cool.ne.jp/program/purebasic/purebasic.htm
wonder-magic
質問者

お礼

多様な意見があり、とても参考になりました。 回答への返信をつけるのが非常に遅くなり申し訳ありません。 今は海外ソフトの日本語化やEmacsのLispを書いたりしています。 自身でも勉強を続けていこうと思っています。 ありがとうございました。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.5

#4さんの回答に補足します。 > Borland used the name "Object Pascal" for the programming > language in the first versions of Borland Delphi, but later > renamed it to the "Delphi programming language". However, > compilers that claim to be Object Pascal compatible, are often > trying to be compatible with Delphi source code. なので、現在では言語名としても Delphi です。 プログラムを読むときの手助けになる本をもうひとつ紹介しておきます。

参考URL:
http://amazon.jp/exec/obidos/ASIN/4756144152
wonder-magic
質問者

お礼

多様な意見があり、とても参考になりました。 回答への返信をつけるのが非常に遅くなり申し訳ありません。 今は海外ソフトの日本語化やEmacsのLispを書いたりしています。 自身でも勉強を続けていこうと思っています。 ありがとうございました。

  • dekopa-
  • ベストアンサー率42% (161/378)
回答No.4

ソース公開されているものを修正云々、というのは自分が書けるようになってからです。 そして、「最初に覚えるべき」などという言語は無いと思ってください。実際、言語なんて目的に応じて都度変わります。 Windows上で、Windowsらしいアプリケーションを作りたいのでしたら、VB.NETかC#.NETを勧めます。この2つで、大半の用は済みます。 「入り口に立つ」なら、まずこの系統が良いと思います。 コマンドプロンプトから起動し、一括で大量の文字を処理するようなプログラムでしたら、Rubyを勧めます。正直「書いていて気持ちいい」と思わせるコードが書けます。 どうしてもソース公開しているコードを、というなら、母数の差でC/C++です。基本となるのはCですね。 処理系として使われているのはむしろC++ですが、C++の厄介な部分であるtemplate等は最初は流し読みでいいと思います。まずC言語の部分だけで性一般でしょうから。 似た系統で、Delphiを覚えると良いです。汚いC言語ソースはDelphiを覚えると矯正されます。(Delphiは製品の名前で、言語はObject Pascalです)

wonder-magic
質問者

お礼

多様な意見があり、とても参考になりました。 回答への返信をつけるのが非常に遅くなり申し訳ありません。 今は海外ソフトの日本語化やEmacsのLispを書いたりしています。 自身でも勉強を続けていこうと思っています。 ありがとうございました。

  • tk85
  • ベストアンサー率0% (0/1)
回答No.3

本気でプログラムをされるつもりがあるなら、機械語から入ると基礎が身についていいと思うんですが、趣味のレベルでしたらVB、C、C++あたりから入られるのがいいんじゃないでしょうか。 あと、ソースを修正・改造されたいそうですが、表示文字を変えたりとかならまだしも機能をいじるような改造は、少し複雑なプログラムになるとかなりのスキルを要求される場合があります。自分で作るよりも、人のプログラムを解読する方がはるかに難しい場合が多いです。いきなりフリーソフトの改造とかに手をつけると挫折してそれっきりになってしまうかもしれないので、まずはある程度自分でプログラムできるレベルを目指す事をお薦めします。 まあ、とりあえずはMicrosoftのVisualExpressシリーズとかはどうでしょうか。無料だしサンプルプログラムもあるので。

参考URL:
http://www.microsoft.com/japan/msdn/vstudio/express/
wonder-magic
質問者

お礼

多様な意見があり、とても参考になりました。 回答への返信をつけるのが非常に遅くなり申し訳ありません。 今は海外ソフトの日本語化やEmacsのLispを書いたりしています。 自身でも勉強を続けていこうと思っています。 ありがとうございました。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

公開されているプログラムをいじりたいという目的があるのですから、 遠回りせずそこで使われている言語に手を出すというのもありではないかと思います。 ソースが公開されているソフトウェアでよく使われている言語というと、 C/C++, Java, Delphi Visual Basicあたりになるかと思います。 まるっきりの入門でC/C++だとつらいところもあるとは思いますが、いずれは通る道だということでがんばりましょう。 このような前提を抜きにすれば Pythonをお薦めします。最近日本人著者による入門書もでましたし、能力的には申し分ないです。 言語の特色等はスペースがとてもじゃないけど足りないので割愛させてください。あと、 > プログラミングを始めるに際して、入り口に立つための準備に関することを教えていただけないでしょうか。 いろんなアルゴリズムを覚えて自分のものにしましょう。 人のプログラムを読むときに役に立ちます。

参考URL:
http://www.amazon.co.jp/exec/obidos/ASIN/479733665X,http://www.amazon.co.jp/gp/product/4839912653/
wonder-magic
質問者

お礼

多様な意見があり、とても参考になりました。 回答への返信をつけるのが非常に遅くなり申し訳ありません。 今は海外ソフトの日本語化やEmacsのLispを書いたりしています。 自身でも勉強を続けていこうと思っています。 ありがとうございました。

関連するQ&A

  • どのプログラミング言語を学んだらよいでしょうか?

    プログラミングを学ぼうと思うのですが、いろいろあって どれを学べばよいかわかりません。 目的によって違うというのをよく聞くのですが、 正直言ってしまうと目的は特になく、なんでもいいから プログラミングができるようになりたいということです。 (もちろん極端に変な言語はいやですが。) このような場合はどの言語を学んだらよいでしょうか。 また、それに関してわかりやすい本などありますでしょうか。 ちなみに自分は全くの初心者です。

  • プログラミングをするならどの言語

    こんにちは宜しくお願いします。 40歳近い私は、BASIC等でプログラムを組んだ世代ですが 最近新しいプログラミング言語を覚えようと思っております。 用途にもよると思いますが、お勧めのプログラミング言語が ありましたら、教えてください。 自分では、JAVAとかC++とかなのかなと思っています よろしくお願いします

  • C言語でBASE64のエンコードのプログラミング

    現在、C言語(OS:Linux)でSMTPのメールを送るプログラムを作っています。 しかし、送信のところまでは完成したのですが、日本語では送れません。 そこでContent-transfer-encodingをBase64にしようと考えています。 インターネットや本でいろいろ調べましたが、VCでのソースしか載っていなくて、 それを改良しても出来ない状況が続いています。 BASE64については理解していますが、プログラムが組めません。 どなたか、C言語(VCではないもの)でBASE64のエンコードのプログラミングのソースを 公開しているサイトを知りませんか。 また、ソースを公開してくれる人がいましたら、教えてください。 よろしくお願いします。

  • プログラミング言語

    プログラミング言語を独学で学びたいと思い勉強方法を模索しています。 *プログラミング歴  まったくの初心者です。 *プログラミングを覚えたい目的  ネット上で自分のアイディア、考えを表現したいからです。  構築、運営、開発、もっとネットの世界でやってみたいからです。 *今の考えはスプリクト言語のPHPを基礎から勉強しよう思っています。 この言語勉強したほうがいいよとか、独学は厳しいから専門学校いけば、とか、ネットで詳しい人探して教えてもらえば、とか、プログラミング言語と平行してデータベースとかも勉強したら、とか 是非アドバイスをください。 お願い致します。

  • どのプログラミング言語をつかっていますか?

    窓の杜やVector等でソフトを作って公開している方々はどのプログラミング言語を使用しているのでしょうか。 自分もソフトを作ってみたいなぁ~なんて思っているのですけど何から勉強したらよいのか分からないもので。。 ご存知の方、実際に作ってらっしゃる方いらしたら、よろしくお願いします。

  • プログラミング言語の説明

    大学4年の者です.  プログラミング言語で作成したアプリケーションについての論文を作成しているのですが,プログラムの説明(変数や関数)についてはどのように説明を行えばよいでしょうか コメントを記載したソースコードを張り付ける方法も考えましたが,それだと文ではないだろうと考え辞めました. 関数の処理はかきつらねるべきなのか段落に番号を振ってわけるのかなど,同期にプログラミング言語を使った論文を書いている人がいないので困っています.

  • C言語プログラミング能力認定試験

    2月にあるこの試験の1級を受けてみようと思っているのですが 下記HPに、「事前に公開しているテーマプログラム」との記載がありますが、ソースが試験前に公開されるんでしょうか? それは、申し込みした時点でもらえるのでしょうか? C言語の入門的な参考書を勉強し終え、 標準関数もある程度の有名なものは使ってプログラムは多少書けるかな っていうレベルなんですが、合格できますでしょうか?

  • 【学生の方へ】プログラミング言語は何を習っています

    アンケート的な質問で大変恐縮ですが、 高校生~大学生、大学院生の方に質問させてください。 プログラミング言語は何を習っていますでしょうか? 1.プログラミング言語 2.扱っているパソコンのOS 3.使っているエディタ 4.差し支えなければ学年 を教えて頂けないでしょうか? ちなみに私はCでした。(C++ではなくタダのCです) 目的は今後のプログラム言語の需要を測るためです。 宜しくお願い致します。

  • C言語からWindowsプログラミングに挑戦しているのですが・・・。

    現在C言語を使い、簡単なプログラミングは組めます。 そこで、Windowsプログラミングをやろうと、 「猫でもわかるWindowsプログラミング」を買いやり始めました。 正直、難しいです。 わからない所がたくさんで、Windowsプログラムを組んでいるみなさんは、用語を覚えているのでしょうか? 勉強法としては、やはりソースの羅列でしょうか?

  • プログラミングC言語 サイコロ問題

    プログラミングC言語の問題でC言語のrand関数を利用して33回のサイコロ型乱数を出力するプログラムを書きなさい。という問題が出ました。ソースコードを教えてください。

専門家に質問してみよう