タグ

Programmingとunixに関するmoritataのブックマーク (6)

  • プログラミング言語AWKのここがLOVE

    プログラミング言語AWKが好きなので、この言語のどこが好きかを語ります。主にAWKを知らない、知ってるけど使ったことが無いかた向けの記事ですが、使ったことがあるかたも「こういう思いで使ってる人がいるのか」と遠巻きに眺めてもらえればと考えます。また、後半で最近出たAWKの書籍についても紹介しているので、そちらも役立つかもしれません。 AWKとは AWKは1977年にAT&Tベル研究所で生まれたプログラミング言語です。AT&Tベル研究所といえばUNIXが生まれたところです。著者もUNIXに縁が深い、この世界のレジェンドばかりです。たとえばKernighan先生はプログラミング言語Cをはじめ、たくさんの書籍の著者として有名です。なんだか強そうな言語ではないかという気がしてきました。 AWKは汎用プログラミング言語ですが、「1行1レコードになっているテキストファイルを最小の手間で処理するワンライナ

    プログラミング言語AWKのここがLOVE
  • Freedom and Portability

    The economic advantages of portability are very great. In many segments of the computer industry, the dominant cost is development and maintenance of software. Dennis Ritchie and Stephen Johnson 1978 … many insist that C is the programming language and that it will last forever. Byte Magazine 1983 The August 1983 issue of Byte Magazine devoted its cover, and a large part of its editorial content,

    Freedom and Portability
  • 本物のプログラマはPascalを使わない

    つい3年ほど前まで、ネット上で伝説の投稿「物のプログラマはPascalを使わない」を読むことが出来たのだが、今はマニアックに日語訳を探さないと読めなくなってしまった(原文は今でもネット上で参照可能)。 私の記憶が確かならば、日語訳が月刊『bit』というコンピュータ雑誌に85年頃?に発表されたと思う。当時の私はまだ少年で、プログラミングの師匠(ソフトハウスの正社員)から「読んでみろ」と読ませてもらった記憶があるが、当然半分も理解出来なかった。 そんな私もSEとしては老人と言われるような中年になり、昔を知らない若いエンジニアや若いエンジニア志望の人が非常に多くなった。温故知新と言うが、当時を知る人や、若い人にも読んでもらえれば幸いだ。 はじめにMarch 24, 1983 Real Programmers Don’t Use PASCAL 物のプログラマはPASCALを使わない Ed

    本物のプログラマはPascalを使わない
  • なぜC言語は、B言語を継承して、1から設計し直さなかったのでしょうか?

    回答 (3件中の1件目) なかなか理解しづらい話だと思いますが、当時のベル研究所において、Unixのグループは濃密な知のルツボだったのです。B言語が発明されるとすぐに、十数人の人々が使い始め、良かったところと悪かったところのフィードバックが集まりました。デニスは数日後にはインタプリタ言語だったB言語をコンパイラ化し、古いバージョンを分かりやすいところに置いていました。B言語のユーザーは、バグを見つけるとデニスにメールし、バグが直るまで古いコンパイラを使っていました。 B言語をC言語に改名した主な理由は2つあります。まずB言語(とBCPL)は、CPUのアドレスがバイト単位ではなくてワード...

    なぜC言語は、B言語を継承して、1から設計し直さなかったのでしょうか?
  • On Loving C.. 日本語訳

    以下の文章は、Michael Feathers による On Loving C.. の日語訳である。 文中の固有名詞などについて理解の助けとなるよう Wikipedia へのリンクを加えさせてもらった。 認めなければならないことがある。私は C を愛している。しばらくはそれを意識していても、忘れがちだ。Ruby、Haskell、OCaml、C++Java、そして C# に心移りしたこともある――今も多くの言語に時間を割いているが、C の元に戻ってくると、私は故郷に帰ったような気持ちになる。 私は何十年も前に Kernighan と Ritchie のをパラパラとめくったときのことを覚えている。C にはとても欲求不満を感じた記憶もあるが、とても満足を与えてくれたことも覚えている。C にはヘンなところがあるが、振り返ってみると、それは多くの他の言語のヘンさに比べれば不可解なところはずっと

  • Programming UNIX Sockets in C - Frequently Asked Questions: クライアントとサーバ(TCP/SOCK_STREAM)両方に関する質問

    Previous Next Table of Contents 2. クライアントとサーバ(TCP/SOCK_STREAM)両方に関する質問 2.1 相手側のソケットが閉じられたことをどうやって知ることができますか? Andrew Gierth 氏 ( andrew@erlenstar.demon.co.uk) より: 私の知る限り… 相手側が (SO_LINGER を使ったややこしいことをしないで) close() するか終了したとすると、こちらの read() の呼び 出しは 0 を返すはずです。同じ場合で、write() 呼び出しで何が 起こるかは、もうちょっとわかりづらいです。直後の呼び出し時ではな く、その次の呼び出し時にEPIPE が返るでしょう。 もし相手が再起動するか l_onoff = 1, l_linger = 0 を設定して から閉じたとすると、read() からは(

  • 1