どの言語を学ぶべき?
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* どの言語を学ぶべき? [#o7f2d040]
一般的には情報量の多さから、C/C++、C#、VB.NET、Java辺りか...
スクリプト言語は、変数に型をつけないなど比較的単純なプロ...
初めてプログラミングを学ぶ人にとってはやや適切でない部分...
#contents
** 目的別で考えよう [#f46d3938]
どの言語を学ぶかは、「何をやりたいか」で考えると良いと思...
ゲームを作りたいとか、便利なツールを作りたいとか、そうい...
*** ゲームを作りたい(C/C++、Java、C#、Delphi、Python、Ru...
-一昔前はゲームといえばC/C++という感じでしたが(さらに前...
最近はPCの性能も上がり色々な言語が選べるようになってきま...
なので、定番のC/C++以外でのおススメを考えてみました。&br;
しっかり学びたい方は少しくらい大変でもジャンルを問わずC/C...
--3Dバリバリなゲームを作りたい場合、ほぼC/C++になります。...
最近ではC#もライブラリが充実してきています。
--2DならJava、C#、DelphiなどGUIの作りやすい言語や、&br;
ゲームライブラリのある言語(Python、Rubyなど)がオススメで...
--また、ゲーム製作のための言語であるHSPや、&br;
RGSS(Rubyインタプリタを内蔵したゲームエンジンと、その機能...
高度なカスタマイズ機能を持つアドベンチャーゲーム製作環境...
同じくアドベンチャーゲーム製作ツールなら、LUAで書かれたコ...
ゲームがつくりたいだけならこれらの言語、環境もおススメで...
有名どころでは、TypemoonのFate/Stay nightが吉里吉里/KAGで...
*** GUIツールを作りたい(Visual Basic、Delphi、Java、C#、...
-デスクトップで動くちょっとした小物(時計や電卓、システム...
GUIアプリの製作が簡単なVisual BasicやDelphi、Java、C#、VB...
*** ちょっとした作業を効率よくやりたい (Perl、Python、Ru...
例えば、「nekomimiフォルダの中の全画像に対して、ファイル...
Mac? MacでリネームするならAutomatorかAppleScriptの方が楽...
*** Web上で動くものを作りたい(Perl、Python、Ruby、PHP、J...
-掲示板やwikiなどのサービスを作成したい場合、サーバで動く...
サーバでプログラムを動かすための仕組みとしては、
-CGI
--Common Gateway Interface(サーバーが、クライアントからの...
--Perl、Python、Rubyなどが一般的で、C,C++等をコンパイルし...
--なぜスクリプト言語が主流かと言うと、コンパイルの手間が...
--一般的にPHPに比べて遅いとされるが、それはサーバーがシス...
-PHP
--普通PHPというと、サーバーのmoduleとして動かしているもの...
--一般的にCGIよりも高速で動作するが、それは前述のためであ...
--サーバーの設定によっては、使える関数が制限されているこ...
--CGIと違いHTMLに埋め込むため、どこまでがコードなのか判定...
--手軽さから、サーバーサイドプログラムとしては人気が高い。
-サーブレット/JSP
--Javaで記述。JSPではPHPのようにHTMLにコードを埋め込むカ...
--個人のページではあまり使用されているのを見ないが、企業...
--低価格なレンタルサーバーでは利用できないことが多かった...
-ASP.NET
--.NET言語(主にC#)で記述。Windows系サーバーほぼ限定。拡...
--Microsoftのページなどで見れる。それなりに個人利用もある...
-WebObjects
--超マイナーなJava サーブレットの一種だけれど、数百万もし...
--比較的Cocoa の体系に近い(もともとObjective-Cだった)ぞ...
--ちなみにMac OS X にはPerl、Python、Ruby、Module版PHPが...
などがあります。おススメはPerl、Python、Rubyなどを用いたC...
***WEBページを作りたい (HTML、CSS、JavaScript)[#he0e59ae]
// Web用のページ作った方がいいな多分。。。
最近流行りのページ構成はMVC的発想があるのでグラマ的にもお...
// あくまで言語の説明に絞るため勝手にコメントしました。
//-URI
//--リソース識別子、とでも呼んでやりたい。今はURL(場所)...
//--世の中には色んな情報があるわけだけれど、これの場所を...
//--残念だけれど、横のつながりがない。ダウンロードしてき...
//--Javaなんかでjava.langみたいな表現が有るけれど、階層表...
//--これは人間がカテゴリ化した情報を、どのように呼出し、...
-HTML
--CSS(後述)みたいにいろいろ規格がある。そこにXHTMLを含...
--XML的性格を追求したのがXHTMLだったけど、今後はHTMLとい...
--HTMLとXMLの違いは、HTML5のfooterやheaderを追加しようと...
--恆に下部に存在するfooterといった役割は、XMLからすれば本...
--つまり「俺は見出しだ」「僕は段落だ」「私は題名です」と...
--XMLというよりは、「ラテン語(SGML)の子供のフランス語」...
--XMLはプログラムではシリアライズ(永続化)手段としてよく...
-JavaScript
--CGIだとかはサーバに実行させるプログラムだが、これはそう...
--JavaScript のコードをCGIで動的にサーバから返答させて実...
--クライアントサイドという点では Javaアプレット や Adobe ...
--CGIやPHP、そしてDB(Data base)との連携が極めて多い。た...
--最近では、DBにSQL文を生成して投げる時さまざまな手法があ...
--サーバでやるべきか、クライアントに処理させるべきか。良...
-CSS
--デザインを分離するための方針。Design, Logic, Database, ...
--CSS, CSS2, CSS3 といろいろあつて、IE以外は CSS2に結構対...
--レガシーな CSS よりも CSS2 を今は重視すべきです。CSS3 ...
--CSS3の先行対応は、IEの組版(ruby, 縱書)、SafariのCSSア...
--Logic は JavaScript や CGIなど。Database は DB Server、...
--MVCのCはさしづめWeb ServerやBrowser。Databaseはサーバ以...
--デザインはサーバから受け取るだけではなく、JavaScriptで...
--したがって Design, Logic, Database はサーバとクライアン...
-jQuery
--正確にはプログラミング言語ではなく、フリーのJavaScript...
--ブラウザに依存せず、DOM操作、CSS操作、エフェクト、アニ...
--Ajaxの記述方法も簡易になった。
--おそらく慣れ次第ではJavaScriptよりもかなり速い速度で記...
// Flash Player 死亡のためコメントアウト。ついでに他のAct...
//
//*** Flashを作りたい(ActionScript) [#uff1e9d3]
//Flashアニメや本格的なFlashゲームを作りたい場合、&br;
//ActionScript2.0、またはActionScript3.0をオススメします...
//AS2であればフリーのツール「ParaFla!」や「Suzuka」があり...
//AS3であれば公式で開発環境を無料でDLできるので入りやすい...
//
//最新版では、デスクトップアプリも作れるようになりました...
//Adobe Flash の体験版を入れると、謹製のプレイヤーがつい...
//
//学生、教員はFlex Builder 3 Professionalが無料で入手可能...
//プログラマ向けのツールで、Eclipseベースに独自拡張が施さ...
//詳しくは[[こちら:http://www.adobe.com/jp/education/hed/...
*** とにかくいろいろやりたい [#r5296ba0]
とりあえず、
-コンパイラ系(C/C++、Java、C#など)から一つ
-スクリプト系(Perl、Python、Rubyなど)から一つ
-サーバサイドWeb系(CGI、PHP、JSP、ASP.NETなど)から一つ
-クライアントサイドWeb系(HTML、CSS、JavaScript)から一つ
といった感じで身につけていくのはどうでしょうか。コンパイ...
また、関数型言語(Lisp、Ocaml、Haskellなど)の世界に足を...
さらにPrologなどの論理型言語と呼ばれるものもあります。
*** Python [#idfc8477]
Pythonは、オブジェクト指向のプログラミング言語です。
初心者でも分かりやすいのですが、とても奥深い言語です。
習得が容易でありながら、アプリケーション作成、システム管...
C++やJavaと連携したCPython、Jythonなどもあるのでプログラ...
他には、IronPythonと言う.NET Framework上で動作するPython...
将来性に優れたPythonを始めても損はしないはずです。これを...
*** Mac っす(Objective-C) [#rbd505fa]
Carbon はやめたまへ。血をみるよ。サポート打切りの噂も絶え...
-Objective-C(Cocoa API)
-Objective-C++
-C++
-Java(Cocoa API)
-Python(Cocoa API)
-Ruby(Cocoa API)
-AppleScript
-C(Carbon API)
-JavaScript
以外におもうかも知れないけど、C++があります。これは 低レ...
Objective-C++はC++にObjective-Cの拡張部分をつなげたもので...
Python や Java、Ruby は Objective-C の Cocoa API が使えま...
AppleScriptは知らないとわからないけれど、AppleScriptは(...
他にも「Quartz Composer」で簡易スクリーンセーバ(本格的な...
上にも述べたけど、Web サーバ系の開発も可能です。また UNIX...
*** iPhone アプリってどうなのさ(Objective-C/Objctive-C++...
流行ってるみたいだね。SDK のダウンロードも結構多いとか。M...
iPhone SDK の開発言語は Objective-C の模様。理解レベルは...
面白いのができたら App Store に発表するべし。SDKとドキュ...
*** 最適化したいです。C? アセンブリ? 機械? [#d63ace84]
昨今のコンパイラは優秀で、かなりのレベルで最適化をして下...
こういう最適化は、最初に「アルゴリズム」の改良によってな...
特に Motorola の AltiVec、Intel の Streaming SIMD Extensi...
メモリ管理でもその事は云えるようで、高頻度で参照するメモ...
最近は Multi-thread(マルチスレッド)という遣り方もある。...
ところが Multi-thread へ対応するには、かなり面倒な問題も...
それから OS でみると、Mac OS X の場合はハードを制限するた...
また OpenCL のような、計算機の数を増やすぜ的な発想とか、G...
ところで分散処理って GC で mark する(mark, sweep)とかし...
***Mac OS X と Apple(魔改造とは云わないで) [#af7aede3]
最適化してくと多分 API に詳しくなれます。Apple の手が入る...
さて Cocoa には NSZone 型というヒープ領域(ゾーン領域)を...
そういえばMulti-thread の問題を解決するよって Grand Centr...
分散処理といえば、Xgrid を使えば、分散処理ができるかもし...
*** プログラミングを楽しみたい [#r545f2bc]
プログラミングを楽しみたい人やプログラミング自体を勉強し...
余計なことをあまり考えなくていい[[Python>プログラミング言...
どちらも、WebのCGIプログラムからGUI、ゲームなどなど色々な...
実用的にも覚えておいて損はないと思います。
*** スーパープログラマになりたい [#m07e1930]
-スーパープログラマと人々に呼んでもらうためには、「どの言...
最近では、DHHという人がそれまで海外ではあまり普及していな...
Ruby On Rails以降、海外でRubyの書籍は一気に10倍以上売れる...
頑張って超格好良いソフトを作ろう!&br;
*** OSたんをつくりたい(アセンブリ) [#efacf64b]
-初心者にはまったくお勧めできない。 プログラマなら一度は...
-アセンブリ!これさえあれば怖いものなし! --> Linuxのソー...
--> その前に本を読んでOSの基礎知識を固めなさい(日本語で...
-->「30日でできる! OS自作入門」が日本語書籍で筆者がお勧め...
*** 世を統べる真理を実装したい(人生、宇宙、すべての答え...
-そんなアレゲなことを望むあなたにはLispをおすすめします。...
Lispは歴史が古く、パンチカードでコンピュータが動いていた1...
人工知能の開発に使われたりするなどいろいろぶっ飛んだ言語...
-Lispは元々一つでしたが、拡張が進み、ある一定の共通性を持...
方言と言われるように関数が方言によりちょいちょい変わった...
-- 代表的なLisp方言
--- CommonLisp
--- Scheme
--- EmacsLisp
--- Clojure
-CommonLispはLispの再統一を目指した言語でLispの事実上の標...
*** 彼女を作りたい [#idfc8478]
-親から受け継いだ日本語…Priceless
*** 世界を作り変えたい [#qdea6875]
-VIP言語とあなたの頭
*** 働きたい [#idfc8479]
-親から受け継いだ日本語…Priceless
-TOEIC750点くらいあると捗ります
終了行:
* どの言語を学ぶべき? [#o7f2d040]
一般的には情報量の多さから、C/C++、C#、VB.NET、Java辺りか...
スクリプト言語は、変数に型をつけないなど比較的単純なプロ...
初めてプログラミングを学ぶ人にとってはやや適切でない部分...
#contents
** 目的別で考えよう [#f46d3938]
どの言語を学ぶかは、「何をやりたいか」で考えると良いと思...
ゲームを作りたいとか、便利なツールを作りたいとか、そうい...
*** ゲームを作りたい(C/C++、Java、C#、Delphi、Python、Ru...
-一昔前はゲームといえばC/C++という感じでしたが(さらに前...
最近はPCの性能も上がり色々な言語が選べるようになってきま...
なので、定番のC/C++以外でのおススメを考えてみました。&br;
しっかり学びたい方は少しくらい大変でもジャンルを問わずC/C...
--3Dバリバリなゲームを作りたい場合、ほぼC/C++になります。...
最近ではC#もライブラリが充実してきています。
--2DならJava、C#、DelphiなどGUIの作りやすい言語や、&br;
ゲームライブラリのある言語(Python、Rubyなど)がオススメで...
--また、ゲーム製作のための言語であるHSPや、&br;
RGSS(Rubyインタプリタを内蔵したゲームエンジンと、その機能...
高度なカスタマイズ機能を持つアドベンチャーゲーム製作環境...
同じくアドベンチャーゲーム製作ツールなら、LUAで書かれたコ...
ゲームがつくりたいだけならこれらの言語、環境もおススメで...
有名どころでは、TypemoonのFate/Stay nightが吉里吉里/KAGで...
*** GUIツールを作りたい(Visual Basic、Delphi、Java、C#、...
-デスクトップで動くちょっとした小物(時計や電卓、システム...
GUIアプリの製作が簡単なVisual BasicやDelphi、Java、C#、VB...
*** ちょっとした作業を効率よくやりたい (Perl、Python、Ru...
例えば、「nekomimiフォルダの中の全画像に対して、ファイル...
Mac? MacでリネームするならAutomatorかAppleScriptの方が楽...
*** Web上で動くものを作りたい(Perl、Python、Ruby、PHP、J...
-掲示板やwikiなどのサービスを作成したい場合、サーバで動く...
サーバでプログラムを動かすための仕組みとしては、
-CGI
--Common Gateway Interface(サーバーが、クライアントからの...
--Perl、Python、Rubyなどが一般的で、C,C++等をコンパイルし...
--なぜスクリプト言語が主流かと言うと、コンパイルの手間が...
--一般的にPHPに比べて遅いとされるが、それはサーバーがシス...
-PHP
--普通PHPというと、サーバーのmoduleとして動かしているもの...
--一般的にCGIよりも高速で動作するが、それは前述のためであ...
--サーバーの設定によっては、使える関数が制限されているこ...
--CGIと違いHTMLに埋め込むため、どこまでがコードなのか判定...
--手軽さから、サーバーサイドプログラムとしては人気が高い。
-サーブレット/JSP
--Javaで記述。JSPではPHPのようにHTMLにコードを埋め込むカ...
--個人のページではあまり使用されているのを見ないが、企業...
--低価格なレンタルサーバーでは利用できないことが多かった...
-ASP.NET
--.NET言語(主にC#)で記述。Windows系サーバーほぼ限定。拡...
--Microsoftのページなどで見れる。それなりに個人利用もある...
-WebObjects
--超マイナーなJava サーブレットの一種だけれど、数百万もし...
--比較的Cocoa の体系に近い(もともとObjective-Cだった)ぞ...
--ちなみにMac OS X にはPerl、Python、Ruby、Module版PHPが...
などがあります。おススメはPerl、Python、Rubyなどを用いたC...
***WEBページを作りたい (HTML、CSS、JavaScript)[#he0e59ae]
// Web用のページ作った方がいいな多分。。。
最近流行りのページ構成はMVC的発想があるのでグラマ的にもお...
// あくまで言語の説明に絞るため勝手にコメントしました。
//-URI
//--リソース識別子、とでも呼んでやりたい。今はURL(場所)...
//--世の中には色んな情報があるわけだけれど、これの場所を...
//--残念だけれど、横のつながりがない。ダウンロードしてき...
//--Javaなんかでjava.langみたいな表現が有るけれど、階層表...
//--これは人間がカテゴリ化した情報を、どのように呼出し、...
-HTML
--CSS(後述)みたいにいろいろ規格がある。そこにXHTMLを含...
--XML的性格を追求したのがXHTMLだったけど、今後はHTMLとい...
--HTMLとXMLの違いは、HTML5のfooterやheaderを追加しようと...
--恆に下部に存在するfooterといった役割は、XMLからすれば本...
--つまり「俺は見出しだ」「僕は段落だ」「私は題名です」と...
--XMLというよりは、「ラテン語(SGML)の子供のフランス語」...
--XMLはプログラムではシリアライズ(永続化)手段としてよく...
-JavaScript
--CGIだとかはサーバに実行させるプログラムだが、これはそう...
--JavaScript のコードをCGIで動的にサーバから返答させて実...
--クライアントサイドという点では Javaアプレット や Adobe ...
--CGIやPHP、そしてDB(Data base)との連携が極めて多い。た...
--最近では、DBにSQL文を生成して投げる時さまざまな手法があ...
--サーバでやるべきか、クライアントに処理させるべきか。良...
-CSS
--デザインを分離するための方針。Design, Logic, Database, ...
--CSS, CSS2, CSS3 といろいろあつて、IE以外は CSS2に結構対...
--レガシーな CSS よりも CSS2 を今は重視すべきです。CSS3 ...
--CSS3の先行対応は、IEの組版(ruby, 縱書)、SafariのCSSア...
--Logic は JavaScript や CGIなど。Database は DB Server、...
--MVCのCはさしづめWeb ServerやBrowser。Databaseはサーバ以...
--デザインはサーバから受け取るだけではなく、JavaScriptで...
--したがって Design, Logic, Database はサーバとクライアン...
-jQuery
--正確にはプログラミング言語ではなく、フリーのJavaScript...
--ブラウザに依存せず、DOM操作、CSS操作、エフェクト、アニ...
--Ajaxの記述方法も簡易になった。
--おそらく慣れ次第ではJavaScriptよりもかなり速い速度で記...
// Flash Player 死亡のためコメントアウト。ついでに他のAct...
//
//*** Flashを作りたい(ActionScript) [#uff1e9d3]
//Flashアニメや本格的なFlashゲームを作りたい場合、&br;
//ActionScript2.0、またはActionScript3.0をオススメします...
//AS2であればフリーのツール「ParaFla!」や「Suzuka」があり...
//AS3であれば公式で開発環境を無料でDLできるので入りやすい...
//
//最新版では、デスクトップアプリも作れるようになりました...
//Adobe Flash の体験版を入れると、謹製のプレイヤーがつい...
//
//学生、教員はFlex Builder 3 Professionalが無料で入手可能...
//プログラマ向けのツールで、Eclipseベースに独自拡張が施さ...
//詳しくは[[こちら:http://www.adobe.com/jp/education/hed/...
*** とにかくいろいろやりたい [#r5296ba0]
とりあえず、
-コンパイラ系(C/C++、Java、C#など)から一つ
-スクリプト系(Perl、Python、Rubyなど)から一つ
-サーバサイドWeb系(CGI、PHP、JSP、ASP.NETなど)から一つ
-クライアントサイドWeb系(HTML、CSS、JavaScript)から一つ
といった感じで身につけていくのはどうでしょうか。コンパイ...
また、関数型言語(Lisp、Ocaml、Haskellなど)の世界に足を...
さらにPrologなどの論理型言語と呼ばれるものもあります。
*** Python [#idfc8477]
Pythonは、オブジェクト指向のプログラミング言語です。
初心者でも分かりやすいのですが、とても奥深い言語です。
習得が容易でありながら、アプリケーション作成、システム管...
C++やJavaと連携したCPython、Jythonなどもあるのでプログラ...
他には、IronPythonと言う.NET Framework上で動作するPython...
将来性に優れたPythonを始めても損はしないはずです。これを...
*** Mac っす(Objective-C) [#rbd505fa]
Carbon はやめたまへ。血をみるよ。サポート打切りの噂も絶え...
-Objective-C(Cocoa API)
-Objective-C++
-C++
-Java(Cocoa API)
-Python(Cocoa API)
-Ruby(Cocoa API)
-AppleScript
-C(Carbon API)
-JavaScript
以外におもうかも知れないけど、C++があります。これは 低レ...
Objective-C++はC++にObjective-Cの拡張部分をつなげたもので...
Python や Java、Ruby は Objective-C の Cocoa API が使えま...
AppleScriptは知らないとわからないけれど、AppleScriptは(...
他にも「Quartz Composer」で簡易スクリーンセーバ(本格的な...
上にも述べたけど、Web サーバ系の開発も可能です。また UNIX...
*** iPhone アプリってどうなのさ(Objective-C/Objctive-C++...
流行ってるみたいだね。SDK のダウンロードも結構多いとか。M...
iPhone SDK の開発言語は Objective-C の模様。理解レベルは...
面白いのができたら App Store に発表するべし。SDKとドキュ...
*** 最適化したいです。C? アセンブリ? 機械? [#d63ace84]
昨今のコンパイラは優秀で、かなりのレベルで最適化をして下...
こういう最適化は、最初に「アルゴリズム」の改良によってな...
特に Motorola の AltiVec、Intel の Streaming SIMD Extensi...
メモリ管理でもその事は云えるようで、高頻度で参照するメモ...
最近は Multi-thread(マルチスレッド)という遣り方もある。...
ところが Multi-thread へ対応するには、かなり面倒な問題も...
それから OS でみると、Mac OS X の場合はハードを制限するた...
また OpenCL のような、計算機の数を増やすぜ的な発想とか、G...
ところで分散処理って GC で mark する(mark, sweep)とかし...
***Mac OS X と Apple(魔改造とは云わないで) [#af7aede3]
最適化してくと多分 API に詳しくなれます。Apple の手が入る...
さて Cocoa には NSZone 型というヒープ領域(ゾーン領域)を...
そういえばMulti-thread の問題を解決するよって Grand Centr...
分散処理といえば、Xgrid を使えば、分散処理ができるかもし...
*** プログラミングを楽しみたい [#r545f2bc]
プログラミングを楽しみたい人やプログラミング自体を勉強し...
余計なことをあまり考えなくていい[[Python>プログラミング言...
どちらも、WebのCGIプログラムからGUI、ゲームなどなど色々な...
実用的にも覚えておいて損はないと思います。
*** スーパープログラマになりたい [#m07e1930]
-スーパープログラマと人々に呼んでもらうためには、「どの言...
最近では、DHHという人がそれまで海外ではあまり普及していな...
Ruby On Rails以降、海外でRubyの書籍は一気に10倍以上売れる...
頑張って超格好良いソフトを作ろう!&br;
*** OSたんをつくりたい(アセンブリ) [#efacf64b]
-初心者にはまったくお勧めできない。 プログラマなら一度は...
-アセンブリ!これさえあれば怖いものなし! --> Linuxのソー...
--> その前に本を読んでOSの基礎知識を固めなさい(日本語で...
-->「30日でできる! OS自作入門」が日本語書籍で筆者がお勧め...
*** 世を統べる真理を実装したい(人生、宇宙、すべての答え...
-そんなアレゲなことを望むあなたにはLispをおすすめします。...
Lispは歴史が古く、パンチカードでコンピュータが動いていた1...
人工知能の開発に使われたりするなどいろいろぶっ飛んだ言語...
-Lispは元々一つでしたが、拡張が進み、ある一定の共通性を持...
方言と言われるように関数が方言によりちょいちょい変わった...
-- 代表的なLisp方言
--- CommonLisp
--- Scheme
--- EmacsLisp
--- Clojure
-CommonLispはLispの再統一を目指した言語でLispの事実上の標...
*** 彼女を作りたい [#idfc8478]
-親から受け継いだ日本語…Priceless
*** 世界を作り変えたい [#qdea6875]
-VIP言語とあなたの頭
*** 働きたい [#idfc8479]
-親から受け継いだ日本語…Priceless
-TOEIC750点くらいあると捗ります
ページ名: