Unix/Linuxプログラミング 理論と実践 Bruce Molay著

 この和書のサンプルコードは以下の英語版サポートサイトからダウンロードできる。
http://wps.prenhall.com/esm_molay_UNIXProg_1/7/2040/522377.cw/index.html

ubuntuにGLOBAL導入

http://www.gnu.org/software/global/download.html

tiny core linuxで無線LAN

何にも入っていないtinyで無線LANに接続する設定は、小難しいと思っていたら、何のことはない。
画面下にあるwifiの絵をクリックするとバッシュシェルのような画面が立ち上がり、勝手に無線を探索してくれる。

後は、パスワードを入れるだけで、環境設定は終わりだ。

Tiny Core Linuxを導入

8年前ほどに買ったノートマシーンを超軽量級のTiny core linuxで動かすことにした。

目的はweb閲覧のみ。

取り敢えず、Firefoxを使えるようにした。

さて、どうなるでしょう。

金融市場分野での選択されたプログラミング言語

所謂金融機関で需要が高い言語といえば、C++らしい。
求人広告をみていると、その傾向がわかる。

cobolとかjavaとかそう云った言語を混ぜ合わせて、勘定系やネットバンキングなどのシステムを作るのだろうと想像するが、 各種マーケットに於ける売買執行実行時に要求されるスピードがすさまじい。

この競争に勝っていくにはやはり、機械に近いC++なのであろう。

素人ながら仮想マシーンシステムの限界を垣間見た気がする。

学生時代に数学とか物理をやった人間もC++なのであろうか?

maximaをubuntuへ導入

数式処理システムmaximaを使ってみることにしました。
software centerからwxMaximaをインストールしました。

さて、どうなるでしょう。

common lisp

人工知能を学ぶ際、言語としてcommon lispが良いらしいと知った。

ubuntuおよびwindowsにRを導入

統計解析をしたく、フリーのRを選択した。
R言語開発IDEのR studioを使用中。

OpenProjでプロジェクト管理始めた

OSなどのプラットフォームに依存しないので、よい。
ubuntu,windowsで使用中。

ubuntu

windowsに飽きたので、linuxを勉強するため、導入が比較的簡単といわれているubuntuを試すことにした。

備忘録

Microsoft Visual Studio 2010 Service Pack 1 (インストーラー)

visual studioのどのエディションにも必要なインストール

http://www.microsoft.com/downloads/ja-jp/confirmation.aspx?FamilyID=75568AA6-8107-475D-948A-EF22627E57A5

インライン関数

複数の関数間での呼び出しは通常、システムスタックに高位アドレスから低位アドレスに向かって、積まれるそうだ。(例のpush-pop)。この作業に時間がかかり、場合によってはオーバーヘッドの一因になるそうな。(オーバーヘッド?)
上記の場合を避けるために、簡単な処理であればマクロを使ってインライン関数化するのがいいそうだ。
では、どうするか。
組み込み型データのコピーはビットコピーするだけだから、単純な操作であろう。しかし、オブジェクトのコピーはそうはいかないようだ。
Cでは、こんな感じ。
int summation(int a,int b){
int sum=a+b;
return sum;
}
こいつを
#define summation(int a,int b) {(a)+(b)} としてやる。


関数定義の前にインライン関数を定義する方法。
#include<iostream>
using namespace std;
//インライン関数を定義
inline int add(int i,int j){return i+j;}

int main()
{
int result;
result=add(5,3);//add関数を呼び出す
cout<<result<<endl;
return 0;
}

すごいのはインラインが自動的に行われることだ。短かく定義されたメンバ関数をコンパイラによって、自動的にインライン化される。
#include<iostream>
using namespace std;
class tester{
int i,j;
public:
sample(int a,int b);
//クラス定義内で定義されたインライン関数
int add(){return i+j;}
};

sample::sample(int a,int b)
{
i=a;j=b;
}

と簡単に述べてみたが、インライン関数の本当の意味は現時点の筆者のレベルからすると理解しがたい点が多いため、更なる勉強が必要だ。

Nikkei225

28000-28550 up in the early session, down lately.