プログラミングは、代入と計算、関数と思考力で、誰でも出来る。
実行することを、全部実行する。
C++は、クラスが多い。
Windowsは、オーバーライドでクラスに機能をつけたし、
メッセージでメンバ関数を呼び出す。
Linuxは、Cならば、関数を覚える。
C++やJavaならば、クラスを覚える。
ライブラリは、おそらく、glibc、カーネルのシステムコール。
Xなら、GTK+/GLIBか、GNOMEか、Qtか、KDE。
ツールチェインは、GCC、Make、Automake、Autoconf。
パッケージは、RPM、YUM、Dpkg、APT。
シェルは、BASH。
エディタは、Emacs、ELisp。
Windowsなら、Visual Studio。
VC++、C#、VB。
Javaなら、J2SE、J2EE。
開発は、Eclipse。
Apacheは、Perl、PHP、Python、Java。
ブラウザは、HTML、CSS、JavaScript。
動画は、FLASH、Windows Media、Quick Time。
Officeは、ワード、エクセル、パワーポイント。VBマクロなど。
文法と関数。
Cの文法と関数を覚える。
C++の文法とクラスを覚える。MSDN、他、追加のライブラリ。
Javaの文法とクラスを覚える。公式のドキュメントを参照。
Perl、Python、PHP、C#、Lisp、他にもいくらでも言語がある。
その他、パソコンには、Googleのもの、Appleのもの、オープンソースのものが多い。
IBMのものも多い。HP、Dell、Sun、Oracle、BSD、など。
オープンソースは、見た目が悪い。
グラフィカル開発が出来ないのは何でだろう。
標準のクラスが無いからだ。
オープンソース標準クラスを、C、C++、Javaで作って欲しい。
標準のクラスは、GNOME、KDEに両対応し、
MFC、Javaクラスを超えるものになって欲しい。
Wikiも悪いが、OpenOffice.orgは悪い。
誰も何も買わなくなる。
GNU/Linux+OpenOffice.orgが良いものになると、
誰も何の購入もなしに全部の機械を手にする。
誰も有料のJustSystemなどのOfficeなんか買わない。
Linuxが良いものになるだけで滅びる。
LinuxにJavaと同等以上のクラスライブラリを作り
GNOMEと統合すれば、Linuxは皆使うようになるかもしれない。
でも、Linux以外は、独占的だ。
コードが読めない。
ブラックボックスで、パソコンが何をしているのかは
Microsoftにしか分からない。
Linuxになれば、実行、配布、コピー、研究、
そういう自由が可能になる。
Linuxが流行ると、ラジカセやiPodなんか買わない。
古いパソコンで何でも出来るようになる。
昔速かったはずだから、速くできるはずだ。
マイクロソフトのC++コンパイラを使わなければ、何も作れない。
C++、C#、VBを選ぶしかない。
あるいは、GNU/Linuxである。GCCである。
他のものが無い。マイクロソフトとGNU/OSSしかない。
そこが悪い。ビル・ゲイツに勝てるわけが無い。
Office以外のものは、OpenOffice.org(LibreOffice)
Visual Studio以外のものは、GCCやEclipse。
IBMが作らないか。Ubuntuが作らないか。
読者からのコメント:
valp 2011/12/18 19:10
本題から外れているかもしれないですが、最近のApple (Mac OS X/iOS)やFreeBSD勢はGCCからClangというC/C++/Obj-Cコンパイラに移行している(最中)です。第3勢力のC/C++コンパイラとして一部で話題です。
OSは、いつも実行されているプログラムである。
ハードウェアのデバイス管理をすべてしている。
アプリケーションは、OSとライブラリに命令する。
ウィンドウ管理は、高度であるため、Xが実行する。
ツールキットはさらに高度であり、Xクライアントライブラリを使って実装する。
アプリケーションは、その上で実行している。
Linuxカーネルが全てしているのが、GNU/Linuxである。
アプリケーションは、さまざまな方法でLinuxカーネルと標準Cライブラリを実行している。
さらに、Linuxカーネルがアプリケーションを実行している。
KDE, GNOMEは、独自のコンポーネントシステムを使っている。
Linuxカーネルの上で動作するUNIXアプリケーションだ。
Xを使う。
C言語は、機械語よりは高度だが、低水準の言語だ。
あとは、コンパイラだ。
コンパイラによって、ソフトウェアは機械語のバイナリファイルになり、
コンピュータで実行できる。
GNOMEはそれくらい。
KDEは、C++言語を使う。オブジェクト指向のクラスベースで作られている。
QtとKDEライブラリが賢い。
Linuxは、コマンドラインで使うと普通だ。
コマンドは、UNIXがそのままある。
grepやfindが賢い。
あとは、Emacsが賢い。
あとは、Debianが賢い。
Linux、GNOME、他、Javaなどはいろいろと悪いが、一番コンピュータだ。
KDEはさらに賢い。きちんと優れたOSになっている。
GNOME、KDEが複数あるのは、デスクトップもLinuxで色んなものが動くからだ。
Linuxは、ひととおり動くものを作っただけ。
KDEは、カーネルと一緒に、歯車のように動く。
OSは、1から作っても、Windowsと同じになるだけだ。
Linuxで良い。
作りたい部分を作れば良いと思う。
むしろ、Windowsで良いが。
Linuxよ、統一せよ!
Windowsを考えると良く分かる。
システムは違うが、概念は同じだ。
WindowsがWindowsアプリケーションを実行する。
LinuxがLinuxの実行可能ファイルを実行する。
パソコンの基本。表示、編集、更新、保存、開くと閉じる。
サーバーサイドでは、表示とデーターベースである。
ワープロは必要ない。
エディタとブラウザがあれば良い。
サーバーサイドは、LAMPだ。
Linux+Apache+MySQL+PHPである。
説明することは無い。
最近はPythonが、特にデスクトップでの設定処理などに流行っている。
ワープロは、コンポーネントを作って作るしかない。
要は、プログラムとデータだ。
パソコンは、プログラムがデータを操作しているだけだ。
LinuxよりWindowsのほうが賢いから、Windowsのほうがいい。
Linuxは適当にBASHとシェルスクリプトが賢い。
UNIX的なコマンドラインが賢いのかもしれない。
要は、プログラムが動いているだけが、コンピュータだ。
Javaは初心者向けだ。
一番簡単で、一番分かりやすく、一番コンピュータだ。
Linuxは、ファイルシステム、コマンド、設定ファイルを知れば、誰でも出来る。
X, GNOME, KDEは、適当に覚えるのが良い。
ソースコードは、ユーザーのホームディレクトリにコンパイルする方法を学ぶ事。
後は、初期化ファイルや起動スクリプトがある。
パソコンは、ソ連とアメリカみたいなものしかない。
NASAと同じだ。
オリジナルはドイツである。
プログラミングは、パソコンのやることを全部書けば良い。
全部作るのは馬鹿だから、何か1つのものを作るのがいいが、
良い分野はコンパイラやXぐらいしかない。
頑張ってアプリケーションを作っても、iTunesと同じになる。
そこにげんなりする。
全部作ろうとすると、ストールマンにしかならない。
何年もやっているのに、何も出来ていない。
GNU/Linuxはおかしい。
GTK+は、C言語なのにツールキットだ。
GCJは、VMでないJavaだ。
Emacsは、エディタなのに環境だ。
おかしなものばかり作る。
そのうち、クラウドでないクラウドや
アンドロイドでないアンドロイドを作るだろう。
何故フリーになったのかは、誰でも分かる。
コピーすれば、誰でも作れるからだ。
Linuxを簡単に言うと、カーネルとコマンドだ。
あるいは、全部のプログラムだ。
Linuxとは言うが、僕は何も作っていない。
プログラミングは、難しかった。
本を読まないと出来ない。
Linuxは悪い。
給与を払わない。馬鹿にインターネットで作っている。
左翼だ。レッドハットは、左翼のホワイトハットだ。
Windowsが良い。
給与を払う。自由だ。
発展する。
ビル・ゲイツだ。賢い。
プログラミングは、真面目に考えないほうが良い。
適当に、やっていることを考えるのが良い。
コードである。
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=summary
http://git.savannah.gnu.org/cgit/coreutils.git
ジョブズはすばらしかった。
オリジナルを全部作って、ピクサーまで出来る。
ああいう人間が良い。
Windowsは賢い。
Windows 95で完成させたビルゲイツが悲惨だ。
よくある、最初の作品で完成だ。
あとのシリーズに意味が無い。
Vista、7は、かなりの馬鹿だ。
意味のない部分を変えても、何も得することが無い。
ただ、もう一度考えて、覚えなおすだけで
初心者が躊躇する。
さらに言えば、アップデートだけで儲けるのはおかしい。
古いパソコンは切り捨てる。
どんどん買うが、ビルゲイツに貢いでいるだけだ。
最近好きなものは、iPhoneだ。
iPodタッチを使っていると、使える。
はてなに投稿、と、音楽を聴く、しかしないが。
ゲームは入れたくない。
僕はGoogleにつく。
Androidが好きだ。
ロボットにはなりたくない。
パクリは、悪い。
Linuxは、コピーして、無料にして、オリジナルを滅ぼす。
Microsoftは、コピーして、自己資本にして、オリジナルを滅ぼす。
Appleは、最近の機械を全部作っているのに、分からない。
Appleが賢くは無い。ビルゲイツも独自に見える。
悲惨に、Emacsは賢い。
僕も、xyzzyを使う。
一番賢いエディタが、Emacsだ。
発展はつまらない。
馬鹿に、標準になる。
誰もが、Wikiしか見ない。
誰もが、Windowsしか使わない。
それ以前の多様な文化が消えた。
賢くなったから良いか。
はてなは悲惨だ。
ブログなんか、儲かるわけが無い。
ブログユーザーが多いから、消すわけにいかない。
放っておくと、倒産する。
借金地獄になる。
アナログな機械は、直せるのが良い。
デジタルになると、何も直せない。
機械を綺麗にしても、意味がないと思う。
iPodが嫌いになった。
変なことが起きて、壊れる。
動かなくなる。
iOS 5.1にしたときに、
アルバムがアーティストの項目の中に表示されなくなったときは、
アルバムアーティスト名を確認して、
無いものにiTunesで入力する。
ビルゲイツは賢い。
Windows 7は、誰でも使えるほどわかりやすくなった。
パワーシェルは、きちんと賢い。
Officeでは、ワードで数式が表示できるようになった。
Officeは、作りこまれている。
アップルは、オリジナルを作り
グーグルは、賢いサーバーサイドを作っている。
グーグルの賢い点は、AndroidをJavaとLinuxにしたこと。
誰でもわかる点がいい。
その点、アップルはObjective-Cだ。
囲い込みはつまらない。
GoogleのGo言語は悲惨だ。賢い人間がやっている。
Oracle(もとはSun)のJava坊や、Dukeは悲惨だ。ストールマンだ。
Wikiは賢い。自由で平等で、民主主義で社会主義だ。
賢くなりすぎて、英語版は全世界に勝っている。
悪い点は、給与を払わない、誰も何も買わない、インターネットを征服した。
しかし、買ったパソコンでWikiを全部見れるのはいい。
世界はそういう風に終わった。
IBMは、製品名が悪い。
Cell(細胞)やBlue Gene(青い遺伝子)だ。
人間を作りたいのだ。
Googleは、悪い。
人間をロボットにしたり、違法コピーを蔓延させている。
検索エンジンは、あまり高度でない。
広告は、インターネットを全部わが物にして儲けている。
Googleは、あまり悪くない。
パクリは普通だ。ライブドアよりは、はるかに賢い。
ビルゲイツのWindows 7で、WikiとOfficeとGoogleを使う。
それがパソコンだ。
WindowsとWikiは、標準になったのが悪い。
それ以外の豊富な文化がなくなった。
なぜか、Linuxは、Windowsも、Macも、スマートフォンも、NeXTすらパクっている。
GNOME、KDE、UbuntuのUnity、WindowMaker、fluxboxである。
GNOMEは、スマートフォンとレジストリ、COMと.NETをパクった。
KDEは、Windows 7をパクった。
Unityは、Macをパクっている。
WindowMakerはNeXTSTEPをパクった。
fluxboxは、適当にシンプルで軽快である。
カーネルとコマンドライン、BASHは、UNIXをすべてパクった。
Xは、DOSとWindows 3.1のままである。
遅くて、不安定だが、いつかはまともなものになるのだ。
Linuxは、カーネルを改良するだけで良いのが賢い。
GPLだから、誰も金儲けができない。
全部無料だから、いくらでもアプリケーションが使える、という発想だ。
Linuxは、サーバーサイドとプログラミング言語が賢い。
GCCとEmacsが使えるほか、
Perl、Apache、Java、SQL、が誰でもフリーで使える。
自宅サーバーに使える。
オープンソースの発想は普通だ。
無料かつ共有して、インターネットで共同して作れば、
きちんと賢いものが、ゆっくり出来ていく。
金儲けと同じだ。金は、いくらでも研究ができるが、
Linuxは、そこらへんをインターネットでやっているだけだ。
パクリとは言うが、結構オリジナルなのがLinuxだ。
GNOME 3、Unity、KDE 4が結構独自で、綺麗だ。
Windowsよ、発展せよ!
永遠に発展し、すべてを統一するのだ。
そろそろ、アップルなどのおかげで
発展は、出揃った。
Windowsも、成熟した。
次は、ロボットだ。
でも、誰も作れない。
日本人に、コードは書けない。
数学は、出来ないのだ。
僕のホームページに、
人工知能のコードがある。
繰り返し、ランダムに、思う。
記憶や、考える力がない。
オブジェクトに記憶を保存したり、
人工知能を乗せると良いと思う。
パソコンは、C++では、クラスである。
クラスで考え、クラスが動く。
その通り、JavaもC#も同じだ。
Cでは、クラスでない。
オブジェクト指向をしない。
そのままの構造体とポインタを、
オブジェクトとして使うのだ。
オブジェクトを使用し、
オブジェクトを表示し、
オブジェクトを処理する。
C++コンパイラは、public、protected、privateを保持したまま
C++言語をポインタと関数に変換する。
コンパイラは、CとC++の機能をきちんと把握して、
継承やオーバーライドをきちんと実行できるようにする。
パソコンは、そのように動いている。
C++のオブジェクトは、その通りCでプログラムに変換される。
そのプログラムの集合体が動いているのが
現代的なOSである、Windowsである。
Javaは、そのC++をVMにして、どこでも実行可能にした。
Javaのライブラリは、C/C++/Javaで書かれている。
それを、よりWindowsに近いものにしたのが、.NETである。
コンパイラを実現可能にするためには、
基本となる基礎プログラムを作り、それをVMにする。
つまり、Javaである。
あるいは、Cで実現する。そのように、完全にCに変換する。
中間コードを作るのもいい。
C++からCに変換し、
そのマクロを全てライブラリに移行すれば良いように見える。
リンカで繋げれば良い。
あとは、アセンブラである。
Cをアセンブルするためには、
さらに低機能な方が良い。
表示部分は、オブジェクトの表示を
繋ぎ合わせて表示する。
それぞれのアプリケーションの空間を作って
現在実行中のものをそこに全て保存する。
いらないもの、もう終わったものを消す。
そのように、マルチタスクが実現できる。
メモリの部分は、独立して使う。
CPUは常に同じことをしている。
プログラムも、常に同じ命令を実行させる。
プログラム言語で記述されたソースコードは、
機械語の命令に変換されて実行させられる。
計算は、おそらく、論理和と論理積を使って
代入や四則演算をしている。
パソコンは、難しくない。
コードを見て、代入を考えれば出来るはずだ。
コンピュータには、UNIXの作り出したファイルという概念を使って
色んな性質のファイルとメモリバッファを処理する。
HTML、CSS、JavaScriptを処理するのがブラウザである。
UNIXは、コマンドラインとデーモン、Xであり
Windowsは、WindowsとOfficeである。
Xの周辺では、オブジェクト指向なデスクトップ環境を提供する。
デスクトップ環境は、メッセージでプログラムが動く。
クリックすれば、それをOSがプログラムに伝達して、
そのプログラムの一部のメソッドが実行されるのである。