なでなでしこしこ-「オブジェクト指向を導入」「実行速度を何倍にもアップ」「CGIとして動作可能」「より自然な日本語らしく」などなど~様々な方向でひまわりからのパワーアップがなされている。~自然な日本語への改良とは例えば、ひまわりでは文節の区切りに句点が不自然に多くなりがちだったが~なでしこでは助詞で上手く区切りとするようになっている点など。-単語の区切りがわかりにくくプログラミングに向かないと言われる日本語で~これだけの字句・構文解析をするというのは、地味に高度な事だったりする。-当然、日本語なので世界を狙えるようなものではないが~英語だというだけで余計な「難しそう」という印象を受ける事なくプログラミングができ~ソースを読んだだけで何をやっているか理解しやすいため、主に教育の分野で活躍している。-他の言語を習得している人でも日本語萌えのために使っている事がある。[#q75ea0a4]-非常に珍しいプロトタイプベースオブジェクト指向スクリプト言語。上記Javaとは名称が似ているが、別物である。主としてHTMLの動的な変更に用いられる。ユーザー数という意味ではトップクラス。最近では、AJAXの流行で脚光を浴びている。[#vd46a27c]-N88BASICの命令とある程度の互換性があるのが売り。PC98からソースコードを持ってきてそのまま動かせるような代物ではない。当時を懐かしむために使える程度。-Ver.2世代はインタプリタ形式で、N88BASICとの親和性があるものの実行速度は遅くバグも多い。N88BASICっぽさを残したままWindowsプログラミングができるという、VBにはない特徴を持っていた。-Ver.3以降はコンパイラとなり、実行速度が向上してバグもマシになった。言語仕様がVBとVCを混ぜたようなカオスなものとなり、N88BASICとの互換性も下がった。初心者に扱いやすいわけでもなく、上級者が納得する出来でもなく、いったい誰を対象としているのか分からない言語になってしまった。以後、オブジェクト指向に対応したりするが、もはや迷走である。-個人製作でフリーの開発環境としては、IDEやデバッガまで備えており非常にレベルが高い。DirectXも(独自命令などではなく直接に)使える。VBやVC互換になってしまっては終わりである。Editionが登場して決定的となった)-登場時、Windows上でフリーでexeが吐けるプログラミング環境は珍しかったこともあり、HSPと比較される。どっちつかずな仕様やバグが災いして評価は今ひとつ。-悪いことは言わん、やめとけ。[#s4151104]&size(20){''特''};定の用途や環境に特化した言語を集めました。~Flashやアプリケーションの制御、簡易なゲーム製作、OSの機能へのアクセスなどなど。[#zb69257d]-Fortranに次ぐ古い高級言語であるにもかかわらず、動的な型付けを行い、前置記法を持ち、コード自身をオブジェクトとして扱うことができるという脅威的な仕様を持つ。[#qd2b6763]-アドビシステムズ社(旧マクロメディア社)の製品であるFlashに使用されるプログラミング言語。~Flashを作成する際に複雑な動作をさせるには欠かせない。-今まではFlashの作成には専用ソフトウェアが必要だったが~アドビが開発環境をオープンソースで公開したことにより無料で開発することが可能になった。-とくにver3からは、よりオブジェクト指向(プロトタイプ思考)が強くなり、パッケージ管理などしっかりした言語となった。[#t4a3a033]-C言語にSmalltalk風のオブジェクト指向を導入したプログラミング言語。C++よりも比較的シンプルなため、Cが使えるなら容易に習得できる。[#g5c2314f]-テキストエディタ:Vimに搭載されてる。最近ちょっとホットな関数型言語。関数を引数に取れたり型を指定せず型推論させたりとC言語のような手続き型言語からは想像の付かない世界が広がっている。関数型言語といえば他にLispなどがあるがOcamlは静的型付け言語なので速さの点では上と言って良い。破壊的代入ができてしまうなどといった副作用を持つため純粋な関数型言語ではないとする意見もある。[#v149ea30]-テキストエディタ:Emacsに搭載されてるLispの一種。[#wdda5b4c]-構造化された初期の代表的なプログラミング言語。[[本物のプログラマはパスカルを使わない:http://ja.wikipedia.org/wiki/%E6%9C%AC%E7%89%A9%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E3%81%AF%E3%83%91%E3%82%B9%E3%82%AB%E3%83%AB%E3%82%92%E4%BD%BF%E3%82%8F%E3%81%AA%E3%81%84]]とされているが、真相は闇の中である。Applicationsの略。Office製品などのアプリケーションに搭載されており、構文はVBと同一である。VBとの違いは、搭載アプリケーション内でしか実行できない点である。[#o260646e]-汎用のスクリプト言語。非常に実用的であり、テキスト処理、システム処理、CGIなど広く用いられる。「一つのことをやるのに一つ以上の方法がある」言語なため、上級者と初心者では同じ目的でもまるで違うコードになる。[#e89c0b29]-フリーのノベルゲーム用スクリプト。-フリーゲームだったり、同人ゲームだったりの世界では、これと吉里吉里(TJS)で人気を二分している。~吉里吉里以上に取っ付きやすいが、細かな所までは弄れなかったりする。ソースはパッと見HSPっぽい。[#x409a815]-HTML埋め込み型のサーバサイド・スクリプト言語。Perl/CGIに比べ、動作が早い場合が多いとされる。データベース等との連携が優秀。[#u9ffd668]-Javaっぽいスクリプト言語。TJS2VM上(現在はWindowsのみ?)で動作する。-これ自体はマイナーだが、TJS2を使ったゲームエンジン「吉里吉里(きりきり)&KAG3」はちょっと有名なので紹介。~(主観)吉里吉里を使ってみた感じはDirectXよりはとっつきやすい。[#fef358ce]-古の言語。Fortranの機能を取り込み、あらゆる用途に耐える汎用の言語として、すべての言語を置き換えるべく開発されたという非常に無茶な言語。普及しなかったが、現在でも一部生き残っているというしぶとい一面を持つ。趣味で勉強する価値が無いのはCOBOLやFORTRANと同じ。[#nc2b5e9d]-UNIX系OSやLINUXでコマンドをバッチ処理(決まった幾つかのコマンドを自動的に実行)するためのスクリプト。-変数の使用や条件分岐、ループなどの機能を持ち便利。~使用するシェルごとに書き方が異なり、代表的なものはsh系(sh、bash)とcsh系(csh、tcsh)がある。~-ちなみにLinuxのデフォルトのシェルはbash。-Vista以降のWindowsにはPowerShellというシェル環境が搭載された。-zshなどの高機能なシェルを使うと簡単な数値計算までできてしまう。[#x34c0843]-オブジェクト指向スクリプト言語。汎用目的の言語だが、異なる言語で書かれたコンポーネント間をつなぐ糊言語としても人気がある。仕様がきれいなので初心者にもオススメ。アメリカではPerlと共にプログラミングの入門言語として教育の場で親しまれている。[#te392131]-Windowsのコマンドプロンプト(またはDOSプロンプト)でバッチ処理(決まった幾つかのコマンドを自動的に実行)するためのスクリプト。-WindowsではGUIによる操作がメインのため、最近はあまり使用されることは少ないが、一部のインストーラなどでは使われる。~なおNT系で使われるコマンドプロンプトでは、9x系のDOSプロンプトと比べ多彩な文法が使える。-ちなみに後継としてPowerShellというものがあり、強力な操作が行える。[#m23193c0]-オブジェクト指向スクリプト言語。Railsの影響で海外でも人気が高まっている。[#re3e55d6]-アリスソフト謹製のゲームエンジンで3.5、3.6、3.8、3.9の4種類がある。-ノベルだろうがRPGだろうがSLGだろうがADVだろうがなんでも作れる。~100%ではないが3.5で作られた物はそれ以降のバージョンでも、3.9で作られた物はそれ以前のバージョンでも動作する。~3.5の仕様が公開されたことによりマルチプラットホームが実現。~昔はユーザーが多かった。[#k7203c31]-Lispから派生した言語。カッコ多い」をほぼ受け継ぐ。[#x05a89ea]-C言語ライクなアリスソフト謹製のゲームエンジン。-ノベルだろうがRPGだろうがSLGだろうがADVだろうがなんでも作れる。~逆になんでも出来るせいか3.Xの頃ほどユーザーによる利用はそれほど盛んではない。~これを使うくらいならC、C++の方がいいと思われる。~入手には会員登録が必須。[#w98c61b6]-非常にマイナーな言語。コンパイルに時間がかかる。bEpKyT氏により作成された。[#tacfc560]-ういんどみる謹製のゲームエンジン。~-ADV制作を効率的に行えることを基本コンセプトに作られている。~ユーザー数は少ないが個人的にはNスクよりも使いやすい。[#u9ffd668]-Javaっぽいスクリプト言語。TJS2VM上(現在はWindowsのみ?)で動作する。これ自体はマイナーだが、TJS2を使ったゲームエンジン「吉里吉里(きりきり)&KAG3」はちょっと有名なので紹介。(主観)吉里吉里を使ってみた感じはDirectXよりはとっつきやすい。[#kb97946b]-日本人の多くは「てふ」と読む。英語圏の人は「てっく」と読むことが多いと思う。Bachのchと同じ発音)と読むのが正式な気がする。"e"を大文字にして"TEX"と書いてはいけない。数式の処理が非常に簡単にできるため、理工系の書籍は主にTeXを用いて作られていることが多い。数式を用いない文書でも、構造化された文書の執筆に適している。-HTMLなどと違って一応チューリング完全であるため、原理的にはC言語と同じ表現力を所持していることになっている。実際にTeXを使って表計算機能を実装した人もいるとか。言語仕様が古すぎるため、TeXを用いたプログラミングは魔境以外の何者でもない。言って全く勧められない。-魔境をある程度包み隠してくれるLaTeX(らてふ、れいてっく)というマクロがあり、ほとんどのユーザが用いている。したマクロ作成ならLaTeXの上で全部できる。この程度のプログラミングなら特に苦にしない人がほとんどであろう。それでも大掛かりなことをしようとするとやはり大変なので、処理の一部をもっとモダンな言語に代行させたいという発想からLuaを組み込めるLuaTeXなる処理系も作られたが、日本語組版の質は未だ改良中である。Word嫌いであろう。中には、PowerPointも使いたくないためプレゼン用のスライドをTeXで作る猛者もいる。Officeのお節介機能に嫌気が差した人は使ってみるといいと思う。[#a84ff2c0]&size(20){''歴''};史上、初の高級言語であるFORTRANを始め、かなり初期の時代に発明された言語の数々。意外と、改良されて現代でも活躍中だったりするものも多いが、基本的には上手くプログラムを組むための定石が確立していなかった時代のものである。言語の仕様上いわゆるスパゲッティプログラムという処理の流れが絡まったプログラムを作ってしまいがちなので、今からプログラミングを学ぼうと思っている人が始めるにはお勧め出来ない。[#g2ac24c8]-のっけからこんな事を言うのもなんだがプログラミング言語ではない。UMLはソフトウェア開発のためのモデリング言語である。大規模なソフトウェアを開発する場合その仕様を明確にしなければならない。複数人で開発をする場合は共通する認識が重要となる。UMLはそういった大規模ソフトウェアの仕様を細かく正確に表現するための言語であり、近年注目されている。JUDEなどのツールが有名であり、オブジェクト指向に密接に関係している。[#s62e4901]-ボーイング777、F-22などの制御ソフトウェアに使用されているプログミング言語。-アメリカ国防省より募集され、軍事や国家運営への使用に耐えうる信頼性を持つことが条件とされた。~まぁ一般人はまず使わない。[#ma6daf7c]-Windows上でのGUIプログラム作成に適した言語。GUIをドラッグアンドドロップで作成できるため、初心者でも楽しめる。実行にランタイムが必要。略称を意味のあるものにするために、頭をひねったであろうことは想像に難くない。-初心者向け言語であり、学校教育などでも未だに使われている。-確かに初心者にも簡単に書ける(書けてしまう)のだが、言語仕様があまりにオールドファッションで、入門用用語としてはもはや勧められない。BASICで覚えた作法を持ち込まれると、容易にスパゲッティプログラミングが書けてしまう。現代の初心者はPythonやRubyあたりから始めるほうが無難。-任天堂から「ファミリーベーシック」なる、ファミコンでの実行環境が発売されていたことも。Basicは名前にBASICとついているものの、もはや別物と化している。Applicationsの略。Office製品などのアプリケーションに搭載されており、構文はVBと同一である。VBとの違いは、搭載アプリケーション内でしか実行できない点である。[#j66db999]-先人が使用したFORTRANと双璧をなす古(いにしえ)の言語。科学計算に特化したFortranに対し、COBOLは財務計算に特化している。プログラミング言語の選択でとることができる。-これから新たに作成するプログラムのための開発言語として選択する価値は極めて低い。-「コンピュータ=パソコン」な認識の人にとっては遥か昔に絶滅したと思われている言語であるが、実際には企業のワークステーションなどで今でもCOBOLで書かれた業務プログラムが大量に稼動している(その数はCに次ぐとか)。これら業務用プログラムのライフサイクルは、パソコンのアプリケーションに比べると非常に長いため、これからもメンテナンスなどの需要でCOBOLはそう簡単にはなくならないと思われる。-尚、COBOLerはCOBOLプログラマを指し、侮蔑語である。-何故侮蔑語なのかというと、力技でCOBOLプログラムを組んでた時代の古くて良くないプログラミング習慣を深く引きずっており、CやJavaの時代になっても効率的なプログラムが書けない、というかCOBOLしか出来ない人がしばしば居たため。能力の割に年功序列でやたら権力を持っていたりするのも嫌われる要因か。Basic(VB)のサブセット(簡易版)で、マイクロソフト社製のスクリプト言語である。Host)を導入することで動作する。Window2000/XPには最初からWSHが導入されている。[#gb564d21]-古の言語。COBOLが事務処理用であったのに対し、FORTRANは科学技術計算用であった。-史上初の高級言語であり、実に50年前に開発された言語であるがゆえに~現在ではほとんどの分野でCやC以降の言語に取って代わられた。-科学技術の研究分野に限っては現役で使われているところもあるといった程度であり~一般的には、縁側でお茶をすすりながら語られるにふさわしい言語である。-ただ、科学技術計算のための言語の名は伊達ではなく、科学計算に於いてその計算速度は最速を誇る。~これが未だに研究分野で使われ続ける理由である。Framework上で動作する。Basicという名で通ってはいるが言語仕様はVBとは異なる。VB出来るから簡単だろなんて思ってたら痛い目にあう言語。[#zb69257d]-Fortranに次ぐ古い高級言語であるにもかかわらず、動的な型付けを行い、前置記法を持ち、コード自身をオブジェクトとして扱うことができるという脅威的な仕様を持つ。-一言で言うと「(カッコ(が(多(すぎ(wwwwwww(ワロタwwwww))))))」-その溢れ出る魔力に魅入られ熱狂的なファンとなる者が今もなお存在し、古代の産物と言うのに違和感があるほど今も話題にあがったり勉強する人がいたりする言語。Lisp」の項目も参照。多くの言語に影響を与えており、ここ数年言語トレンドの流れは、まるでLispに回帰してるようと言える。[#c98a3780]-従来の言語において、空白に相当する文字(スペース、タブ、言語によっては改行も)は言語における単語の区切りであったが、この言語においては空白文字が言語の全てとなっている(それ以外の文字列はコメント扱いで無視される)。そのため、一見するとプログラムであることすらわからないという珍しい言語である。[#x8905bc4]-その昔、人工知能の分野でよくつかわれた言語。-論理式乃ちPrologプログラムという不思議な性格を持つ。いうことは、"自然言語によるプログラミング"という目標に対しては次善策くらいの位置にいることになる。-いわゆるパズルや経路問題を列挙的手法で解くのに向いている。-簡単に言うと「ちょwwこれどう記述すんの?ww」って時に使えるかもしれない-基本的にはオンメモリデータベースと思えばよい。照会言語としてのPrologはSQLより遥かに強力である。データベースシステムとしては、管理機構があまりに貧弱だ。[#wdda5b4c]-代表的な構造化プログラミング言語の1つであり、本来は教育用言語として誕生した。同じ構造化言語でありながら記法の対照的なCとしばしば比較されてきた。-厳密なため機械的に解析しやすくコンパイルが非常に高速で、簡素なため初心者に習得しやすいという強力な言語仕様を持つ。大規模な開発や低レベル部分の制御が苦手なため、プロには敬遠されていた。-とはいえ、初期のMacintoshがPascalで書かれているなどの例に示されるように、言語としてのポテンシャルは高いと言える。Toolboxと呼ばれるAPIセット(WindowsでいうWin32APIに相当)はPascal形式となっており、文字列もCのヌル終端形式ではなく先頭バイトに文字列長が指定されたPascal文字列に変換しなくてはならなかった。Macintosh(Apple公式の技術文献)でもPascalで関数プロトタイプやサンプルコードが記述されており、少なくとも初期のMacプログラマにとってはPascalは避けて通れない道であった。-後継となる言語は[[Delphi>プログラミング言語/Delphi]]であり、こちらもコンパイルが爆速である。#br-尚、[[本物のプログラマはパスカルを使わない:http://ja.wikipedia.org/wiki/%E6%9C%AC%E7%89%A9%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E3%81%AF%E3%83%91%E3%82%B9%E3%82%AB%E3%83%AB%E3%82%92%E4%BD%BF%E3%82%8F%E3%81%AA%E3%81%84]]とされているが、真相は闇の中である。[#h43ff498]-命令が機械語と一対一で対応している言語。場合、構文自体は非常にシンプルだが、それが故にロジック全体の可読性に欠け、結果的に複雑で初心者には不向き。その他の高級言語(特にシステムそのものに切り込めるC/C++等)をやったことのある人ならプログラミングの概念を学ぶためにやる価値はある。[#fef358ce]-古の言語。Fortranの機能を取り込みあらゆる用途に耐える汎用の言語として、すべての言語を置き換えるべく開発されたという非常に無茶な言語。-当然あまり普及しなかったが、現在でも一部生き残っているというしぶとい一面を持つ。~趣味で勉強する価値が無いのはCOBOLやFORTRANと同じ。[#nc2b5e9d]-UNIX系OSやLINUXでコマンドをバッチ処理(決まった幾つかのコマンドを自動的に実行)するためのスクリプト。変数の使用や条件分岐、ループなどの機能を持ち便利。使用するシェルごとに書き方が異なり、代表的なものはsh系(sh、bash)とcsh系(csh、tcsh)がある。ちなみにLinuxのデフォルトのシェルはbash。[#offef4e8]&size(20){''上''};手く分類出来なかった言語や、そもそも言語っぽくないもの。~アセンブリなんかは古代の言語といえばそうだが、将来においても無くなる事はありえないだろう。[#te392131]-Windowsのコマンドプロンプト(またはDOSプロンプト)でバッチ処理(決まった幾つかのコマンドを自動的に実行)するためのスクリプト。WindowsではGUIによる操作がメインのため、最近はあまり使用されることは少ないが、一部のインストーラなどでは使われる。[#h43ff498]-命令が機械語と一対一で対応している言語。機械語を直接読むのは大変なので、アセンブリを介すことによりCPUの中で実際にどういう処理をしているかを読む/書くことができる。-Z80、8086などがそれにあたる。機械語との対応のさせ方によりいくつか方言はある。-CPUによって使える命令が異なるが、基本的な機能や定石はどんなCPUでも大体同じである。最大限の性能を引き出すためにはCPUの細かい仕様を覚える必要があるが......-大抵の場合、構文自体は非常にシンプルだが、それが故にロジック全体の可読性に欠け、結果的に複雑で初心者には不向き。その他の高級言語(特にシステムそのものに切り込めるC/C++等)をやったことのある人ならプログラミングの概念を学ぶためにやる価値はある。-C言語などの仕様や動作が「何故そうなっているのか」という部分に自然と納得出来たり~自分が書いたコードがコンパイルされた後、どうなってるのかわかったりして楽しい。[#ha81ca19]-書式が日本語形式の言語。為だけに存在するアセンブリ言語であり、架空のコンピュータであるCOMETにて動作するとされる。~尚、現在では仕様が変更され、CASLII/COMETIIとなっている。-アセンブラやCPUアーキテクチャの入門として大学の授業などで使用されることもある。[#j655821f]-CPUが直接解釈して実行出来る命令。加算、減算、代入などの動作が割り振ってあり、CPUは読み込んだ数値に従って動く。~多少「数値」というのには違和感があるが、要は数バイト程度のデータの事。-数値と動作の対応関係を「命令セット」と呼び、これが同じCPUなら違う製品でも同じソフトが動かせる。~(実際はOS等の環境によって動かない場合も多々あるが......)-WindowsやLinuxが動くような一般的なパソコンのCPUはx86という命令セットを持っている。-ただし、x86は32bit用の命令セットなので、WindowsVistaあたりの時代からは64bit用のx64が登場した。Intel的にはx86を切り捨ててスッキリしたIA-64を広めたかったようだが、互換性が無いという事で受け入れられなかった。結局AMDがx86と互換性のあるAMD64を出し、これがx64として定着した。X移行はx64系のCPUに対応するようになった。-Cなら、機械語命令をchar型の配列として用意してから、インラインアセンブラで配列に対してcallやjmpを呼び出せば直接走らせる事も出来る。実用性はあまり無く、最近のOSではDEPなる機能で保護されている場合もある。デフォだとDEPはオフになっている。[#c691717f]-コンピュータ言語の一種ではあるが、プログラム言語に含めるかのラインは微妙。データベース言語というか。-データベースの定義・操作・制御などを行える。-手続き型でも関数型でもない、集合論に基づいた独特なモデルを持つ。-独特ではあるがイロモノというわけではなく、データベースを扱う際には必須なので職業プログラマにはお馴染み。-集合論に基づいたというのは、例えばデータベースに「こういう条件を満たすデータはある?」などと問い合わせる時の条件の指定の仕方が集合論的である、という事らしい。他にもデータベースならではの細かい指定や小技などがかなり色々ある。-そのため勉強してみると「上手い書き方」の追求が楽しい奥が深い言語だが、別に集合論だの意識しなくても普通に使える。[#g2ac24c8]-のっけからこんな事を言うのもなんだがプログラミング言語ではない。~UMLはソフトウェア開発のためのモデリング言語である。-大規模なソフトウェアを開発する場合その仕様を明確にしなければならない。~特に複数人で開発をする場合は共通する認識が重要となる。~UMLはそういった大規模ソフトウェアの仕様を細かく正確に表現するための言語であり、近年注目されている。-JUDEなどのツールが有名であり、オブジェクト指向に密接に関係している。#br-ぶっちゃけて言ってしまえば「図」である。なんだって?~MicrosoftやGoogleをブッ潰すスーパーソフトを作りたいって?~そうかそうか、そんな君にオススメの言語があるんだ。[#d0d2f58e]-名がアレなので、Brainf*ckと呼ぶことが多い。~コンパイラを小さくする事を目的として設計された言語。~実際、Mullerが開発したコンパイラのサイズは123バイト(キロバイトでもメガバイトでもない)インタプリタは98バイトとなっている。-ポインタを>と<で操作しながら、ポインタがさす値を増減させて処理をさせる。~実用性は全くといっていいほど無いが、一応あらゆるプログラムを作成できる。機械語の方がマシだな。#brBrainf*ckと同等で文字だけを変えたものには以下のようなものもある。長門有希--...,「」および任意の命令区切りを使ってプログラムする言語。「.........。