プログラミング / フリーの開発環境
- 2017年12月13日:作成/12年間放置されていた予定項目です(^_^;)
- 2020年12月30日:FreeBASICを追加
- 2022年09月24日:ActivePerlのDL情報を追加
初稿からの長期放置の害がもっとも大きいと予想されるのがこの項目です。私が入手/インストール/動作確認した2004~6年当時のバージョンと現行バージョンで事情が異なる可能性も有りますが、2017年12月の確認では、後継ソフト/企業への張替えなどリンク修正程度しか行っておりません。
また、私の常用環境が32BitのWindows XP/7であるため、現行のWindows 10を含む64Bit環境の事情は不明です。各開発環境の現状に付いては、ご自信でご確認下さい m(_ _)m
言語選びの参考に幾つか紹介しますが、このような優れた言語/環境を無償で提供して下さった個人や組織には感謝するのが当たり前であって、何の努力もせずに、さっきダウンロードしたんだけどさっぱり解りません、ゲームの作り方を教えてください、ちゃんとサポートして下さい、などと言ったら単なるクレーマーです。これが理解できない方は商用環境を購入の上で、サポート窓口で粘着して下さい(って、それも十分問題ありますが・・・)。
マシン語(Machine Language)
開発環境の簡便さと言う点ではマシン語が一番で必要なものはバイナリエディタだけであるが、マシン語は人間のための言語ではなくCPU語そのものであり、人間にやさしくない点でも抜群である。そもそもインターフェイスが無いわけで、それがヒューマンなはずがない。
1970年代半ば登場したマイクロコンピュータ(ワンボードマイコン)ではマシン語以外にプログラミング手段は用意されておらず、幾多の挑戦者を打ち砕き、私も打ち砕かれ、使いこなせたのは脳内でピー・ピー・ガァ~~・ガァ~~と異音を発している極々限られた特殊な人間だけだった・・・と今でも信じている。
今現在、一般人非専門家がマシン語で直接書かなければならない状況はまず無いと思うが、ナンデモ根本からやらないと気がすまない人/理解できない人、かつてのリベンジを果たしたい人(私は負けたままで結構です ^_^;)、そして脳内で異音がしている自覚が有る人、いかがでしょうか?
なお、16進で編集するエディタは正式にはヘキサデシマルエディタ(Hexadecimal editor)と呼ばれ、厳密な意味でのバイナリエディタ(Binary editor)は0と1で直接編集するソフトを指す。マシン語で書かないまでも、適当な実行ファイルの中を覗いて見ると、マシン語とか低レベル言語の意味が解かり、高レベル(高級)言語の有り難さが理解できると思う。
また、プログラミングの範疇ではないかもしれないが、あるソフトの規定値が困る/メニューが解りにくいという場合に、バイナリエディタで修正できる場合がある(クラッシュは当然なのでバックアップ必須!)。ただし、個人で使う分には問題ないが、通常はそれを再配布したらアウト!である。
- Stirling(バイナリエディタ)
- Windows95~
- 商用利用も可
- 定番中の定番エディタで、ASCII、シフトJIS、EUC、UNICODE、EBCDIC、EBCIDK各 キャラクターセットに対応している。
- 狐's バイナリエディタ for Win95/NT(バイナリエディタ)
- Windows95(3.1用16Bit版あり)
- 商用利用も可
- 古いエディタでASCII、シフトJISのみ対応、正式にはWindows98以降は動作保証外で横スクロールバー操作で落ちるなどの問題もある。しかし、広い範囲を見渡したい場合には便利で、狐であたりを付けてStirlingで重点的に・・・が私の使い方。
- その他バイナリエディタ
- Vectorに行けば多数あるのでお好みでどうぞ!
テキストエディタ(Text Editor)
これも立派な開発環境。マシン語以外のいわゆる言語では、人間はテキストファイルを編集してプログラミングを行う。統合開発環境には専用エディタが通常含まれているが、そのエディタが使いにくい場合、あるい自力で記述してコンパイラのみ使用する場合には、別途テキストエディタが必要になる。
Windows標準のメモ帳でも作業可能ではあるが、低機能でプログラミングに必須の行番号すら表示されず実用には耐えない。Vectorで探せば、コマンド、定数とコメントを色分け表示してくれるなどプログラミング支援機能をもった優秀なテキストエディタが多数有るので、これもお好みでどうぞ(私はTeraPad派)。
アセンブラ(Assembler)
マシン語による直接記述が余りにも解かりにくいため、マシン語の命令と一対一に対応したアセンブリ言語(mnemonic、ニーモニック)に置換えて記述する。ニーモニックは、意味を類推しやすいアルファベットの並びになっている。人間が書いたソースコード(source code、ソースプログラム/source programとも)は、コンパイラでCPUが実行可能なオブジェクトコード(object code、ネイティブコード/native codeとも)に変換される。
一応、言語と呼ばれマシン語よりはマシであるが、マシン語よりマシなだけであって、一般人が常用するものではないと思う (^_^;)
- MASM32 v8.2(32Bitアセンブラ)
- Windows95~
- 商用利用も可
- 32bit版であるため16bit版の制約である64Kの壁(セグメントの概念)はない。80386~Pentiumの命令セットがサポートされており、WindowsAPIも簡単に扱え無駄のないオブジェクトコードを記述することが可能(あくまでも可能 ^_^;)。
- S.S'S HOMEPAGEのMASM32の遊び方に詳しい解説がある。
C言語(C Language)
アメリカのAT&T社ベル研究所で1972年にD.M.Ritchie氏とB.W.Kernighan氏が開発したもので、現在ではC言語にオブジェクト指向に適した仕様を追加したC++が主流である。構造化プログラミングに適する、移植性が高い、ハードウェアを直接操作する低水準処理も可能などの特徴がある。
現在もっとも普及しており、C++様に他言語がひれ伏す王道中の王道言語と思ってマチガイなし!
- Borland C++ Compiler 5.5無償版(C++コンパイラ/Borland)
- Windows95~
- 商用利用不可
使用するには詳細な個人情報(~_~;)を提供して登録する必要がある。すべてコンソールから手作業で行なうことも可能だが、統合開発環境を利用するのが便利。- C++ Compilerは2008年にEmbarcadero(米)に売却され、2017年現在、Borlandから無償版は入手できない(そもそも、2009年にMicro Focus(英)に買収され、Borland自体が存在しない)。
- 5.5 Compilerが必要な場合は当時の雑誌書籍付録か、Visual Windows for BC++などから入手する。
- C++Builder Starter Edition(C++統合開発環境、Embarcadero)
- 動作環境不明
- 2008年にBorlandから買取ったC++ Compiler(の上位後継版?)に総合環境を追加したもの。5.5にこだわらなければこれで問題ないと思う。
- 開発可能なのはWindows用32Bitビットアプリケーションのみ。
- 個人または5人以下の企業/組織に限定し、商用利用時の関連年間収益1,000USドル以下の制約がある。
- BCC Developer(Borland C++ Compiler用統合開発環境)
- 動作環境XP(95~2000、NT4では未確認)。
- 商用利用不可(Borland C++ Compilerの制限)。
- 開発環境のみで、C++ Compilerは別途入手する。
- Visual Windows for BC++(Borland C++ Compiler用統合開発環境)
- Windows98~2000用とXP~10用がある。
- 商用利用不可(Borland C++ Compilerの制限)。
- Borland C++ Compiler付き配布パッケージがあり、これだけでプログラミングが可能。5.5が使いたいなら超お勧め!
- 2018.01.20追記:XP用は要SSE2(Visual C++ 2015)、98用はSSE2不要(Visual C++ 6.0)でXPでも問題なく動作する。また、Borland C++ Compilerは単純コピーOKなので、インストールされたBCC55フォルダを取っておけば使い回しできる。
- Mingw32(C++コンパイラ)
- Windows95(OSR2)?~
- General Public License
- 日本語を含むソースを扱うためには工夫が必要になる。
- Bloodshed Dev-C++(Mingw32用統合開発環境)
- Windows 95(OSR2)~
- General Public License
- コンパイラの日本語問題はそのまま引継がれる。
- 配布パッケージにはMingw32も含まれる。
- lcc-win32(C統合開発環境)
- Windows 95~(Internet explorer 5以降が必須)
- 商用利用不可
- 純粋なCコンパイラで、Win32APIには対応しない(理解できず (^^ゞ)。
- 内蔵エディターは日本語を処理できないので、ソース編集は他のテキストエディターで行う。
- 本家サイト行方不明 uptodownからダウンロード可能
- LSI C-86 Ver. 3.30c試食版(16Bit版Cコンパイラ、エル・エス・アイ ジャパン)
- MS-DOS Ver. 2.11~(Windows 95~も可)
- 成果物で利益を得ることは禁止(実費手数料は徴収可)
- 純粋なCコンパイラであることに注意。試食版にはSモデル制限(プログラム+データ≦64Kバイト)がある。PC-9801などほとんどのDOSマシンで動作し、旧型16Bit機活用に有効な可能性が高い(書けるとイイネ(^^ゞ)。
- CPad for LSI C-86(LSI C-86用統合開発環境)
- Windows95~
- 成果物で利益を得ることは禁止(LSI C-86の制限)
- EZ C言語(LSI C-86用統合開発環境)
- Windows95~
- 成果物で利益を得ることは禁止(LSI C-86の制限)
Pascal言語(Philips’Automatical Sequence Calcurator)
スイス連邦工科大学のNiklaus Wirth教授が1968年に開発した構造化プログラミングに適した教育用言語で、オブジェクト指向的な拡張をしたObject Pascalもある。Windows環境ではC言語とともに(の次に?)広く用いられており、データベースアプリケーション ソフトに使われることが多い。
- Borland Delphi 6 Personal(Object Pascal統合開発環境、Borland)
- Windows98~
- 商用利用不可(教育関係は別途交渉)
- Delphi 6 ProfessionalやEnterpriseの機能制限版で、ライブラリの一部が割愛されている。
使用するには詳細な個人情報(~_~;)を提供して登録する必要がある。- Delphiは2008年にEmbarcadero(米)に売却され、2017年現在、Borlandから無償版は入手できない(そもそも、2009年にMicro Focus(英)に買収され、Borland自体が存在しない)。Delphi 6 Personalが必要な場合は当時の雑誌書籍の付録などから入手する。
- Kylix 3 Open Edition(Linux版Delphi、Borland)
- Linux kernel 2.2以降、libgtk.so 1.2以降、glibc 2.2以降、libjjpeg 6.2以降、X11R6互換のターミナルサーバー
- General Public License
使用するには詳細な個人情報(~_~;)を提供して登録する必要がある。- Delphiは2008年にEmbarcadero(米)に売却され、2017年現在、Borlandから無償版は入手できない(そもそも、2009年にMicro Focus(英)に買収され、Borland自体が存在しない)。現時点のKylixの扱い(権利者)と入手方法は不明、元がGPLなのでどこかのLinuxコミュニティに有るかも知れない(無いかも知れない ^_^;)。
- Delphi 10.2 Tokyo Starter Edition(Delphi総合開発環境、Embarcadero)
- 2008年にBorlandから買取ったDelphi(の上位後継版?)から、データベースコンポーネントとドライバを削除したもの。
- 開発可能なのはWindows用32Bitビットアプリケーションのみ。
- 個人または5人以下の企業/組織に限定し、商用利用時の関連年間収益1,000USドル以下の制約がある。
- (そのままでは?)データベースが扱えない機能制限版Delphiの存在意義は謎・・・な気がする。データベースが扱えない(扱わない)ならC++Builder Starterで良いのでは?
- HelloPascal version4.12(標準Pascal統合環境)
- Windows95~(Me?)
- 特に利用に関する制限なし
- 簡単なグラフィック機能もあるが、コンソール型プログラムが主体。
- 標準が意味するのはオブジェクト指向非対応と言うことか?
- Free Pascal 3.0.2(Delphi-compatible Pascalコンパイラ)
- Windows95~
- General Public License
- Linux版、Mac(OS7.5.3~)版、OS-X版、DOS版などもある。
- CPad for Free Pascal 2.31(Free Pascal用統合環境)
- Windows95~
- General Public License(Free Pascaの制限)
- このWindows統合環境で開発し、Free PascalのコンパイラしかないLinuxやMac環境に移植することが可能なら、1粒で3度おいしいかも。
Fortran言語(FORmula TRANslater)
IBM社が1956年に開発した世界初の高水準プログラミング言語で、数式をそのまま記述できることを特徴とする。大型汎用機の科学技術計算に好んで使われた。既に過去の遺物と言う気もするが、古い学術雑誌掲載の統計プログラムなどを検証したい時、重宝するかもしれない(その程度しか思い付かない)。
- Salford FTN77 Personal Edition(Fortran77コンパイラ、Salford software)
- FTN77後継ソフト Silverfrost FTN95(Fortran77コンパイラ、Silverfrost)
- Windows95~?
- 32/64Bitコンパイルが可能
- Personal版は非商用個人利用に限り無償
- CPad for Salford FTN77(Salford FTN77用統合開発環境)
- Windows95~
- 非商用個人利用に限る(Salford FTN77の制限)
- FTN95にも対応しているかは不明
- GNU Fortran G77 v0.5.25(Fortran77コンパイラ)
- Windows95~(XP?)
- General Public License
- 入手と使い方(同志社大学/水島研究室)
- 統合開発環境としてCPad for Salford FTN77をカスタマイズすれば使用できる(らしい ^_^;)。
Basic言語(Beginner's All-purpose Symbolic Instruction Code)
ダートマス大学で1963年に開発された初心者用の言語で、少ないメモリでも動作することから初期の8bitコンピュータで広く使われた。当初はインタプリタ型が主流だったが最近はコンパイラ型もある。一時、言語仕様の欠点・弊害のみがクローズアップされ排斥運動まで起こったが、正しく使えば問題は無い(ハズだ・・・ ^_^;)。
- Active Basic Ver.4(コンパイラ型Basic統合開発環境)
- Windows 95~
- 商用利用可、成果物販売可
- 本棚の化石、N88-Basicソースもコンパイル可能(Ver2~3を推奨)。
- Win32API、DirectX9、オブジェクト指向に対応。
- RADツールで効率よくユーザーインターフェイス(画面)を構築できる。
- 2018.03.07追記:インストール不要/単純コピーOKで、開発環境をUSBメモリで持ち歩く事も可能。
- TBC-TOKIWA BASIC Compilerサンプル版(Basicコンパイラ)
- DOS汎用、Windows95~
- 成果物の有償配布は禁止
- 16Bit版と一部32Bit版があり8086系のネイティブコードを生成し、PC-9801を含むDOSマシン活用に有効と思われる。
- 32Bitコンパイルが実行速度で勝るが、当然、32bitコンパイルしたら16Bit機では動作しない。
- エディタは別途に準備する(メモ帳でも可)。
- UBASIC86 for DOS/V 32bit版8.88(多倍長計算用Basicインタプリタ)
- DOS汎用、Windows95~
- 特に利用制限はない(と思う)
- 最大2700桁の演算精度を最大の特徴とし、PC/AT用の16bit版と32bit版がある。
- インタプリタは開発環境を兼ねるので他に準備する必要はない。
- インタプリタ型ではあるが十分高速で、本体再配布可(200KB以下)なので、ソース・本体・起動バッチファイルをセット配布すればコンパイラ型となんら変らない(が、コマンドプロンプトが強制終了以外で閉じられないのが難点 ^_^;)。
- QBASIC(英語版MS-DOS標準Basicインタプリタ)
- DOS6.2、Windows3.1~
- 特に利用制限はない(と思う)
- Windows95や98インストールCDのqbasicフォルダに一組入っている。
- 英語モード専用で、日本語は使えないとされる。しかし、日本語モードでも起動し、メニューが日本語になるところまでは確認した。実用に耐えるレベルかは不明。
- これがVisual Basicのご先祖かもしれない。
- 2020.12.31追記:QBASICはQuickBASICから派生した上位言語で、QuickBASICそのものではない(らしい ^_^;)。
- Windows98~(要msvcrt.dll、Cランタイム)
- General Public License
- QuickBASICにC++その他の新しい機能記述への拡張対応を加えた上位互換言語で、DOS版とLinux版もある。
- かつてのQuickBASICユーザーには魅力的選択肢であり、詳細なFreeBASIC 日本語マニュアルが有志によって提供されている。
- Linux版をWindows上でエミュレートするものとWindowsネイティブなものがあるので、ダウンロード時には注意すること(通常のWindowsユーザーなら環境に合わせFreeBASIC-1.07.2-win64.zipまたはFreeBASIC-1.07.2-win32.zipを選ぶのが無難かと)。
- Windows98~(要msvcrt.dll、Cランタイム)
- General Public License(FreeBASICの制限)
- 既に開発が終了しており最終版はUnicode非対応だが、Unicode対応の旧版も入手可能で、日本語化ファイルも準備されている。
Perl言語(Practical Extraction and Report Language)
Larry Wall氏が開発したインタプリタ型プログラミング言語。テキスト処理に優れ、CGI(Common Gateway Interface)に広く使用されている。豊富なライブラリを活用すればWindowsのGUIアプリも作成可能。自由で柔軟な記述規則が長所でもあり短所でもある。
- Perl5(Perl統合開発環境/英語版)
- Windows95~
- Artistic License*またはGeneral Public License。
- 英語版では日本語(2バイト文字)が正しく処理できない。LinuxやFreeBSDには標準で含まれており、Macintosh版もある。
- JPerl for Win32(perl5) 日本語対応差分(Perl統合開発環境/日本語対応版)
- Windows95~
- Artistic License*またはGeneral Public License。
- Perl 5.005_7をベースに日本語処理を可能にしたもの。
- ActivePerl(Perl統合開発環境)
- Windows95~(IE 5.5以降必須)
- Artistic License*
- ActiveState社のWindows版PerlでLinux版やMacintosh版もある。日本語パッチも(どこかに ^_^;)あるが、そのままでも日本語処理にほとんど問題は無い。
- 2022.09.24追記:最新5.34はインストールファイルではなくコンソール版リンクの形式で提供されているが、エラーでリンクが機能せず導入できなかった。5.28でよければ以下のページの最初のリンク(他は未チェック)からインストールファイルが入手可能で、64Bit版がWindows7で問題なく動作している。匿名様に感謝 m(_ _)m
ActivePerl-5.28.1.2801-MSWin32-x64.exe・・・をアーカイブ
*もともとはLarry Wall氏がPerlに付けた使用許諾条項で、オリジナル及び派生物の単品販売は禁止されている。また、ソースコードに改変を加えて公開する場合はソースコードも公開する、修正したソースコードを公開しない場合は開発者が所属する団体の中でのみ使用する、となっている。
その他言語(環境)
- Hot Soup Processor Ver3.0(独自スクリプト言語の統合開発環境)
- Windows95~?
- 商用使用可、成果物販売可
- 手軽なソフト開発を目的とし、ゲームやスクリーンセーバーがすぐに作成可能で、ユーザーも多い。3.0で仕様の大幅見直しが行われ、浮動小数点演算を含む算術関数がサポートされた(つまり・・・2.61までは極端に算数に弱かった ^_^;)。
- HSPMac 2.55α3(Mac版HSP総合開発環境)
- MacOS8.6以降(それ以前のバージョンでは要QuickTime)
- 商用使用可、成果物販売可
- Windows用のソースを流用する事は(かなり)難しい。開発は停滞している(事実上断念)。
- WideStudio(多言語マルチプラットフォーム対応開発環境)
- Windows95~
- 商用使用可、成果物販売可、ソース公開義務無し(開発チーム公式見解)。 私なら使用コンパイラの条項を優先する (^_^;)。
- C/C++、Ruby、Perl、Python、Javaなどに対応し、さらにLinux、Solaris、WIN32、FreeBSD、MacOSX、BTRONにも対応する多言語マルチプラットフォーム統合開発環境。
- Windows版はコンパイラにGNU C/C++とMingW32 GCCが、デバッガにGNU Debuggerが含まれ、単体でC++統合開発環境が得られる。
- 作成したプログラムの実行には2MB超ランタイムが必要で、スタティック版として組込むことも可能であるが当然サイズが大きくなる(Windows版で確認)。
- Java Platform, Standard Edition 8(Java SE)(Java統合開発環境)
- Windows95~
- 使用許諾契約(各自で判断 (^^ゞ)。
- Sun Microsystems社が開発した言語で、充実したネットワーク機能、完全なオブジェクト指向対応、OSやプロセッサに(基本的には)依存しない高い汎用性を特徴とする。
- 1言語=1製品(登録商標)であるが、Sun Microsystems社からフリー版も供給されている。
- インタプリタ型であるが、普及率が高いためほとんど問題はない。快適に開発するにはハイスペック環境が必要となる(能書きには低スペック環境でも楽々動作!とあるが、そうでもない ^_^;)。
- Ruby(スクリプト言語インタプリタ)
- Windows95~
- General Public Licenseに準ずる。
- オブジェクト指向プログラミング機能を持ち、CGI、テキスト処理、システム管理、 ネットワークプログラミングに優れるインタプリタ型言語。
- 文法がシンプルでより分かりやすいプログラミングが可能。Windowsだけでなく、MS-DOS、LinuxやMac OSなどにも移植されている。
- RDE(Ruby Development Environment)(Ruby用統合開発環境)
- Windows98~
- 成果物はGeneral Public Licenseに準じ(Rubyの制限)、RDE本体は再配布など禁止。
- Python(独自スクリプト言語・・・の統合開発環境?)
- Windows95~
- 特に利用に関する制限なし
- 自由に使えるため人気があり、欧米ではPerlに次いで広く使われている。
- 文法が簡易で可読性に優れる、豊富な拡張モジュールを利用して多様なアプリケーション開発が可能と言った特徴がある。MacintoshやLinuxにも移植されている。
- OpenCOBOL(COBOLコンパイラ)
- Windows98SE~?
- General Public License
- COBOL(COmmon Business Oriented Language)は1960年開発の言語で誤差を生じにくい10進演算機能を特徴とする。主に事務処理計算に用いられ、記述は英文に近い。
- OpenCOBOLはCOBOLのフリー版コンパイラで元々はLinux用。Windows版にはCygwin版とMinGW版がある。
- OpenCOBOL Master(OpenCOBOL用統合開発環境)
- Windows98SE~
- 現在(2006年)、新規ライセンスの販売は休止中。ライセンスはエディタCOB-EDITORのみに有効で、ライセンス無しでも制限付き試用はできる。
- OpenCOBOLコンパイラ(含まれているハズ)などエディタ以外はGeneral Public Licenseに従う。
- 2017.12.10追記:現時点での入手方法不明、本家サイト(ビットウォーク)もまともなダウンロード先も見つからない。
- YOOL for Windows(LISPインタプリタ、開発環境も兼ねる)
- Windows95~
- 特に利用に関する制限なし
- LISP(LISt Processor)は既に定義されている関数を組み合わせて新しい関数を定義してプログラムを記述する関数型言語の筆頭格で、人工知能研究などで利用されることが多い。
- オブジェクト指向(仕様は独自)も取り入れたフリーのLISPインタプリタでWindowsのGUIアプリも作成できる。
- 極めて軽量コンパクトで気軽に関数型言語を体験できる。常用するかどうかは別にしても、関数型言語も知っておいて損はないと思う。