日記に戻る

08-コンピュータ

プログラミング 19:16

プログラミングは、代入と計算、関数と思考力で、誰でも出来る。

実行することを、全部実行する。

C++は、クラスが多い。

Windows 19:16

Windowsは、オーバーライドでクラスに機能をつけたし、

メッセージでメンバ関数を呼び出す。

Linux 19:16

Linuxは、Cならば、関数を覚える。

C++やJavaならば、クラスを覚える。

Linuxライブラリ 19:16

ライブラリは、おそらく、glibc、カーネルのシステムコール。

Xなら、GTK+/GLIBか、GNOMEか、Qtか、KDE。

ツールチェイン 19:16

ツールチェインは、GCC、Make、Automake、Autoconf。

パッケージは、RPM、YUM、Dpkg、APT。

シェルは、BASH。

エディタは、Emacs、ELisp。

Windows 19:16

Windowsなら、Visual Studio。

VC++、C#、VB。

Javaなら、J2SE、J2EE。

開発は、Eclipse。

Apache 19:16

Apacheは、Perl、PHP、Python、Java。

ブラウザは、HTML、CSS、JavaScript。

動画は、FLASH、Windows Media、Quick Time。

Officeは、ワード、エクセル、パワーポイント。VBマクロなど。

文法と関数 19:16

文法と関数。

Cの文法と関数を覚える。

C++の文法とクラスを覚える。MSDN、他、追加のライブラリ。

Javaの文法とクラスを覚える。公式のドキュメントを参照。

Perl、Python、PHP、C#、Lisp、他にもいくらでも言語がある。

その他 19:16

その他、パソコンには、Googleのもの、Appleのもの、オープンソースのものが多い。

IBMのものも多い。HP、Dell、Sun、Oracle、BSD、など。

オープンソース 19:13

オープンソースは、見た目が悪い。

グラフィカル開発が出来ないのは何でだろう。

標準のクラスが無いからだ。

オープンソース標準クラス 19:13

オープンソース標準クラスを、C、C++、Javaで作って欲しい。

標準クラス 19:13

標準のクラスは、GNOME、KDEに両対応し、

MFC、Javaクラスを超えるものになって欲しい。

Office 19:08

Wikiも悪いが、OpenOffice.orgは悪い。

誰も何も買わなくなる。

GNU/Linux+OpenOffice.orgが良いものになると、

誰も何の購入もなしに全部の機械を手にする。

誰も有料のJustSystemなどのOfficeなんか買わない。

Linuxが良いものになるだけで滅びる。

クラスライブラリ 19:08

LinuxにJavaと同等以上のクラスライブラリを作り

GNOMEと統合すれば、Linuxは皆使うようになるかもしれない。

Linux 19:08

でも、Linux以外は、独占的だ。

コードが読めない。

ブラックボックスで、パソコンが何をしているのかは

Microsoftにしか分からない。

Linuxになれば、実行、配布、コピー、研究、

そういう自由が可能になる。

Linux 19:08

Linuxが流行ると、ラジカセやiPodなんか買わない。

古いパソコンで何でも出来るようになる。

昔速かったはずだから、速くできるはずだ。

マイクロソフト 19:09

マイクロソフトのC++コンパイラを使わなければ、何も作れない。

C++、C#、VBを選ぶしかない。

あるいは、GNU/Linuxである。GCCである。

他のものが無い。マイクロソフトとGNU/OSSしかない。

そこが悪い。ビル・ゲイツに勝てるわけが無い。

IT 19:09

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 18:52

OSは、いつも実行されているプログラムである。

ハードウェアのデバイス管理をすべてしている。

アプリケーションは、OSとライブラリに命令する。

ウィンドウ 18:52

ウィンドウ管理は、高度であるため、Xが実行する。

ツールキットはさらに高度であり、Xクライアントライブラリを使って実装する。

アプリケーションは、その上で実行している。

Linux 18:52

Linuxカーネルが全てしているのが、GNU/Linuxである。

アプリケーションは、さまざまな方法でLinuxカーネルと標準Cライブラリを実行している。

さらに、Linuxカーネルがアプリケーションを実行している。

KDE, GNOME 18:52

KDE, GNOMEは、独自のコンポーネントシステムを使っている。

Linuxカーネルの上で動作するUNIXアプリケーションだ。

Xを使う。

C言語 18:52

C言語は、機械語よりは高度だが、低水準の言語だ。

あとは、コンパイラだ。

コンパイラによって、ソフトウェアは機械語のバイナリファイルになり、

コンピュータで実行できる。

KDE 18:52

GNOMEはそれくらい。

KDEは、C++言語を使う。オブジェクト指向のクラスベースで作られている。

QtとKDEライブラリが賢い。

Linux 18:52

Linuxは、コマンドラインで使うと普通だ。

コマンドは、UNIXがそのままある。

grepやfindが賢い。

あとは、Emacsが賢い。

あとは、Debianが賢い。

Linux 18:52

Linux、GNOME、他、Javaなどはいろいろと悪いが、一番コンピュータだ。

KDEはさらに賢い。きちんと優れたOSになっている。

GNOME、KDEが複数あるのは、デスクトップもLinuxで色んなものが動くからだ。

Linux 18:52

Linuxは、ひととおり動くものを作っただけ。

KDEは、カーネルと一緒に、歯車のように動く。

1から作っても 18:52

OSは、1から作っても、Windowsと同じになるだけだ。

Linuxで良い。

作りたい部分を作れば良いと思う。

Windows 18:52

むしろ、Windowsで良いが。

Linux 18:52

Linuxよ、統一せよ!

Windows 18:52

Windowsを考えると良く分かる。

システムは違うが、概念は同じだ。

WindowsがWindowsアプリケーションを実行する。

LinuxがLinuxの実行可能ファイルを実行する。

基本 18:46

パソコンの基本。表示、編集、更新、保存、開くと閉じる。

サーバーサイドでは、表示とデーターベースである。

ワープロ 18:46

ワープロは必要ない。

エディタとブラウザがあれば良い。

サーバーサイド 18:46

サーバーサイドは、LAMPだ。

Linux+Apache+MySQL+PHPである。

説明することは無い。

最近はPythonが、特にデスクトップでの設定処理などに流行っている。

ワープロ 18:46

ワープロは、コンポーネントを作って作るしかない。

プログラムとデータ 18:31

要は、プログラムとデータだ。

パソコンは、プログラムがデータを操作しているだけだ。

LinuxよりWindowsのほうが賢いから、Windowsのほうがいい。

Linux 18:31

Linuxは適当にBASHとシェルスクリプトが賢い。

UNIX的なコマンドラインが賢いのかもしれない。

プログラム 18:31

要は、プログラムが動いているだけが、コンピュータだ。

Java 18:31

Javaは初心者向けだ。

一番簡単で、一番分かりやすく、一番コンピュータだ。

Linux 18:19

Linuxは、ファイルシステム、コマンド、設定ファイルを知れば、誰でも出来る。

X, GNOME, KDEは、適当に覚えるのが良い。

ソースコードは、ユーザーのホームディレクトリにコンパイルする方法を学ぶ事。

後は、初期化ファイルや起動スクリプトがある。

ソ連とアメリカ 18:20

パソコンは、ソ連とアメリカみたいなものしかない。

NASAと同じだ。

オリジナルはドイツである。

プログラミング 18:23

プログラミングは、パソコンのやることを全部書けば良い。

全部作るのは馬鹿だから、何か1つのものを作るのがいいが、

良い分野はコンパイラやXぐらいしかない。

頑張ってアプリケーションを作っても、iTunesと同じになる。

そこにげんなりする。

全部作ろうとすると、ストールマンにしかならない。

何年もやっているのに、何も出来ていない。

GNU/Linux 18:26

GNU/Linuxはおかしい。

GTK+は、C言語なのにツールキットだ。

GCJは、VMでないJavaだ。

Emacsは、エディタなのに環境だ。

おかしなものばかり作る。

そのうち、クラウドでないクラウドや

アンドロイドでないアンドロイドを作るだろう。

フリー 18:27

何故フリーになったのかは、誰でも分かる。

コピーすれば、誰でも作れるからだ。

カーネル 21:16

Linuxを簡単に言うと、カーネルとコマンドだ。

あるいは、全部のプログラムだ。

プログラミング 21:41

Linuxとは言うが、僕は何も作っていない。

プログラミングは、難しかった。

本を読まないと出来ない。

Linux 22:41

Linuxは悪い。

給与を払わない。馬鹿にインターネットで作っている。

左翼だ。レッドハットは、左翼のホワイトハットだ。

Windowsが良い。

給与を払う。自由だ。

発展する。

ビル・ゲイツだ。賢い。

プログラミング 23:26

プログラミングは、真面目に考えないほうが良い。

適当に、やっていることを考えるのが良い。

コード 23:26

コードである。

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=summary

http://git.savannah.gnu.org/cgit/coreutils.git

http://git.gnome.org/browse/

http://lxr.kde.org/search

ジョブズ 15:18

ジョブズはすばらしかった。

オリジナルを全部作って、ピクサーまで出来る。

ああいう人間が良い。

Windows 15:36

Windowsは賢い。

Windows 95で完成させたビルゲイツが悲惨だ。

よくある、最初の作品で完成だ。

あとのシリーズに意味が無い。

Vista、7は、かなりの馬鹿だ。

意味のない部分を変えても、何も得することが無い。

ただ、もう一度考えて、覚えなおすだけで

初心者が躊躇する。

さらに言えば、アップデートだけで儲けるのはおかしい。

古いパソコンは切り捨てる。

どんどん買うが、ビルゲイツに貢いでいるだけだ。

最近 15:41

最近好きなものは、iPhoneだ。

iPodタッチを使っていると、使える。

はてなに投稿、と、音楽を聴く、しかしないが。

ゲームは入れたくない。

僕はGoogleにつく。

Androidが好きだ。

ロボットにはなりたくない。

パクリ 17:27

パクリは、悪い。

Linuxは、コピーして、無料にして、オリジナルを滅ぼす。

Microsoftは、コピーして、自己資本にして、オリジナルを滅ぼす。

Appleは、最近の機械を全部作っているのに、分からない。

Appleが賢くは無い。ビルゲイツも独自に見える。

Emacs 20:34

悲惨に、Emacsは賢い。

僕も、xyzzyを使う。

一番賢いエディタが、Emacsだ。

発展 20:34

発展はつまらない。

馬鹿に、標準になる。

誰もが、Wikiしか見ない。

誰もが、Windowsしか使わない。

それ以前の多様な文化が消えた。

賢くなったから良いか。

はてな 21:40

はてなは悲惨だ。

ブログなんか、儲かるわけが無い。

ブログユーザーが多いから、消すわけにいかない。

放っておくと、倒産する。

借金地獄になる。

アナログ・デジタル 16:16

アナログな機械は、直せるのが良い。

デジタルになると、何も直せない。

機械 16:16

機械を綺麗にしても、意味がないと思う。

iPod 17:59

iPodが嫌いになった。

変なことが起きて、壊れる。

動かなくなる。

治し方 18:02

iOS 5.1にしたときに、

アルバムがアーティストの項目の中に表示されなくなったときは、

アルバムアーティスト名を確認して、

無いものにiTunesで入力する。

ビルゲイツ 18:26

ビルゲイツは賢い。

Windows 7は、誰でも使えるほどわかりやすくなった。

パワーシェルは、きちんと賢い。

Officeでは、ワードで数式が表示できるようになった。

Officeは、作りこまれている。

アップルとグーグル 18:27

アップルは、オリジナルを作り

グーグルは、賢いサーバーサイドを作っている。

グーグル 18:30

グーグルの賢い点は、AndroidをJavaとLinuxにしたこと。

誰でもわかる点がいい。

その点、アップルはObjective-Cだ。

囲い込みはつまらない。

Google 18:32

GoogleのGo言語は悲惨だ。賢い人間がやっている。

Oracle(もとはSun)のJava坊や、Dukeは悲惨だ。ストールマンだ。

Wiki 18:34

Wikiは賢い。自由で平等で、民主主義で社会主義だ。

賢くなりすぎて、英語版は全世界に勝っている。

悪い点は、給与を払わない、誰も何も買わない、インターネットを征服した。

しかし、買ったパソコンでWikiを全部見れるのはいい。

世界はそういう風に終わった。

IBM 18:35

IBMは、製品名が悪い。

Cell(細胞)やBlue Gene(青い遺伝子)だ。

人間を作りたいのだ。

Google 18:39

Googleは、悪い。

人間をロボットにしたり、違法コピーを蔓延させている。

検索エンジンは、あまり高度でない。

広告は、インターネットを全部わが物にして儲けている。

Google 18:41

Googleは、あまり悪くない。

パクリは普通だ。ライブドアよりは、はるかに賢い。

Windows 18:53

ビルゲイツのWindows 7で、WikiとOfficeとGoogleを使う。

それがパソコンだ。

WindowsとWiki 18:53

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 18:55

Linuxは、カーネルを改良するだけで良いのが賢い。

GPLだから、誰も金儲けができない。

全部無料だから、いくらでもアプリケーションが使える、という発想だ。

Linux 18:56

Linuxは、サーバーサイドとプログラミング言語が賢い。

GCCとEmacsが使えるほか、

Perl、Apache、Java、SQL、が誰でもフリーで使える。

自宅サーバーに使える。

オープンソース 18:58

オープンソースの発想は普通だ。

無料かつ共有して、インターネットで共同して作れば、

きちんと賢いものが、ゆっくり出来ていく。

金儲けと同じだ。金は、いくらでも研究ができるが、

Linuxは、そこらへんをインターネットでやっているだけだ。

Linux 19:01

パクリとは言うが、結構オリジナルなのがLinuxだ。

GNOME 3、Unity、KDE 4が結構独自で、綺麗だ。

Windows 19:05

Windowsよ、発展せよ!

永遠に発展し、すべてを統一するのだ。

発展 16:46

そろそろ、アップルなどのおかげで

発展は、出揃った。

Windowsも、成熟した。

次は、ロボットだ。

でも、誰も作れない。

日本人に、コードは書けない。

数学は、出来ないのだ。

人工知能 17:00

僕のホームページに、

人工知能のコードがある。

繰り返し、ランダムに、思う。

記憶や、考える力がない。

オブジェクトに記憶を保存したり、

人工知能を乗せると良いと思う。

クラス 20:08

パソコンは、C++では、クラスである。

クラスで考え、クラスが動く。

その通り、JavaもC#も同じだ。

C 20:09

Cでは、クラスでない。

オブジェクト指向をしない。

そのままの構造体とポインタを、

オブジェクトとして使うのだ。

オブジェクト 20:10

オブジェクトを使用し、

オブジェクトを表示し、

オブジェクトを処理する。

C++ 20:13

C++コンパイラは、public、protected、privateを保持したまま

C++言語をポインタと関数に変換する。

コンパイラは、CとC++の機能をきちんと把握して、

継承やオーバーライドをきちんと実行できるようにする。

パソコンは、そのように動いている。

C++ 20:14

C++のオブジェクトは、その通りCでプログラムに変換される。

そのプログラムの集合体が動いているのが

現代的なOSである、Windowsである。

CとJava 20:16

Javaは、そのC++をVMにして、どこでも実行可能にした。

Javaのライブラリは、C/C++/Javaで書かれている。

それを、よりWindowsに近いものにしたのが、.NETである。

コンパイラ 20:18

コンパイラを実現可能にするためには、

基本となる基礎プログラムを作り、それをVMにする。

つまり、Javaである。

あるいは、Cで実現する。そのように、完全にCに変換する。

中間コードを作るのもいい。

マクロを全てライブラリ化 20:20

C++からCに変換し、

そのマクロを全てライブラリに移行すれば良いように見える。

リンカ 20:46

リンカで繋げれば良い。

アセンブラ 20:49

あとは、アセンブラである。

Cをアセンブルするためには、

さらに低機能な方が良い。

表示 21:11

表示部分は、オブジェクトの表示を

繋ぎ合わせて表示する。

マルチタスク 21:18

それぞれのアプリケーションの空間を作って

現在実行中のものをそこに全て保存する。

いらないもの、もう終わったものを消す。

そのように、マルチタスクが実現できる。

メモリ 21:19

メモリの部分は、独立して使う。

CPU 17:06

CPUは常に同じことをしている。

プログラムも、常に同じ命令を実行させる。

プログラム言語で記述されたソースコードは、

機械語の命令に変換されて実行させられる。

計算 17:06

計算は、おそらく、論理和と論理積を使って

代入や四則演算をしている。

パソコン 18:02

パソコンは、難しくない。

コードを見て、代入を考えれば出来るはずだ。

コンピュータ 16:28

コンピュータには、UNIXの作り出したファイルという概念を使って

色んな性質のファイルとメモリバッファを処理する。

HTML、CSS、JavaScriptを処理するのがブラウザである。

UNIXとOffice 16:29

UNIXは、コマンドラインとデーモン、Xであり

Windowsは、WindowsとOfficeである。

Xの周辺では、オブジェクト指向なデスクトップ環境を提供する。

デスクトップ 16:35

デスクトップ環境は、メッセージでプログラムが動く。

クリックすれば、それをOSがプログラムに伝達して、

そのプログラムの一部のメソッドが実行されるのである。