言語一般

Re:超テキトー図解ポインタ

id:mktx さんの「超テキトー図解ポインタ」、絵はかわいいですし面白い試みだと思うのですが、内容にちょっと問題があるように見えますので指摘しておきます。冒頭で、ポインタをWindowsのショートカットや標識にたとえています。これについてブコメで批判も…

Failure and Exceptions (James Gosling氏へのインタビューより)

前回、続きを「数日中に書きます。」と言ったくせにその後いろいろ忙しかったり酒飲んだりしていて書いている余裕がなくて、そうこうしている間に、以前のC#作者Anders Hejlsbergのインタビュー記事へのJames Goslingからの反論を見つけてしまいましたので(…

例外処理について、私はこう思う

他人の意見の翻訳ばかりでもアレなので。例外処理機構についての私の考え方は、Diksamがそうなっているように、 例外処理機構自体は必要 検査例外も必要 というものです。

The Trouble with Checked Exceptions

JavaからC#に移った人は、C#にはなぜ検査例外がないのか? と疑問に思うと思います。それに対するC#作者Anders Hejlsbergのインタビュー記事を訳してみました(いままでにもまして訳に自信がないところが多いんですが)。原文はこちら。 http://www.artima.com/…

Exceptions(Joel Spolsky氏の記事より)

この記事 間違ったコードは間違って見えるようにする - The Joel on Software Translation Project の下のほうに 終わる前に、もうひとつ約束していることがあった。もう一度例外を攻撃するということだ。前にやったときには、すごいトラブルに見舞われた。J…

On programming language design

InfoQの以下の記事経由で、 Andrej Bauer氏の語るプログラミング言語の設計 こういう記事を見つけたので、 On programming language design | Mathematics and Computation 日本語に(勝手に)訳してみました。 英語が得意なわけでもないので(ていうか苦手なほ…

割り算

初歩的といえばあまりにも初歩的な話ですが、割り算の話です。CおよびCから派生した多くの言語では、割り算に「/」演算子を使用し、かつ「整数 / 整数」の型は整数型です。つまりたとえば以下のようなコードがあったとき、 int a = 10; int b = 3; double c …

プログラミング言語の力における限界生産力逓減の法則とライブラリと

ひがやすをさんのブログより。 俺からみると、PHPでさくっとできることは、たいていのLLで、同じようにさくっとできる気がする。デフォルトで用意されている呪文を一発唱えればいいという話も、そんな呪文を移植すればいいだけの話。移植もそんなに難しくは…

それ、C関係ないのでは

ずいぶん前の記事に反応しますが。Cはワンマン向け - 神様なんて信じない僕らのために ■[misc]Cはワンマン向けだと考えるようになった。いや、あくまで自分の中ではです。今、Cで作られたものを参考にしてC++に移す作業をしていたりするんだけれども、至る所…

Javaの例外処理

Diksamに例外処理をつけるため、Javaの仕様を参考にしようとしているんですが。try catchのfinally節は、「何があっても通る」ところなので、たとえば以下のようなソースでは、 for (;;) { try { … break; } catch (Exception e) { … return; } finally { … }…

Pascalは結局LL(1)ってことでしょうか

ああああああ、保留と言いつつ1ヶ月近く放置してしまいました。 会社の仕事はいつもにも増してアレな状態でしたし、でも遊びにも行ってたし酒は(いつもにも増して)飲んでたしなのですが、この日記を書く精神的余力が皆無な状態でした。 で、「PascalはLL(1)…

PascalはLL(1)じゃないよね

LL(1)パーサってのは、1トークン読むだけで、それがどの構文に相当するのか確定できなきゃいけないわけで、識別子を読んだ時点でそれが手続き呼び出しか代入文かわからないPascalは、LL(1)ではないですよね。 CがLALR(1)であるというのと同程度にはPascalもL…

プログラミング言語の「萌え度」

萌え、という言葉は私自身決して好きではないですし、「萌えーっ!」とか叫んでるテンション高いオタクを見てると張り倒したくなるんですがそれはさておき。 プログラミング言語にも、「萌える言語」と「萌えない言語」があると思うんですよ。左側に萌えない…

C言語さえ学んでおけば食いっぱぐれる事はない…わけがない

http://www.ac.cyberhome.ne.jp/~mattn/cgi-bin/blosxom.cgi/etc/20070823090234.htmあの、すみません、どなたか「C言語さえ学んでおけば食いっぱぐれる事はない」という主張をされたんでしょうか。20年前くらいならそういう主張も説得力があったかもしれま…

Cは偉大な言語なのだ

タイトルはLife with UNIXからのパクり。 ついでなのでLife with UNIXから引用すると Cは、優れたオペレーティングシステムの七光で栄誉ある地位を築いただけの貧相な言語だなどといわれてきた。だが、それは正しくない。Cは偉大な言語なのだ。Cは実用性とや…

「型なし言語逝ってよし」について

「LL魂」にて、パネル「オレ様言語の作り方」に出演してきました。 ひとり10分ぐらい、自分の言語を紹介する枠がありまして、OpenOffice Impressでプレゼン資料を作って持っていきました。 発表直前にステージ上でプロジェクタの接続テストを行い、プレゼン…

初心者向け言語

Matzにっきより。 公式サイトをたずねて20分でHello World的なWebアプリを書けるようにならない限り、RubyやPythonが初心者にPHPより好まれることはないでしょう。 http://www.rubyist.net/~matz/20070604.html#p07 Matzにっきの方では、PHPネタであったため…

言語習得でつまずくところ

大量生産される新卒デビューJavaプログラマがぶつかる壁 - GoTheDistance より。 お決まりのSystem.out.println("HelloWorld")に始まって、for,while,if,switch・・・といったものをまず覚えた。変数についてはintとかStringとかまー色々あるのね的に考えて…

Xtal

先日小飼弾さんの記事に言及したこともあり、404 Blog Not Foundをてれてれと読んでたら、Xtalという言語を知りました。 http://code.google.com/p/xtal-language/ Xtalは、主にゲーム製作用途のために、C++に組み込み、連携させて使うために開発された言語…

プログラミング言語は、目的に特化している方が使われる

ってのは確かどこかでなでしこ作者のクジラ飛行机さんが書いていたことだったと思う。 PerlはUNIX上のテキスト処理に特化していたし、HSPなら中学生のゲーム製作、Rubyも普及の起爆剤になったのはRailsだろうし、そしてPHPならWebアプリケーションだ。 たま…

JVMのここが変

実はDiksamは当初JVM用のバイトコードを吐く言語として実装しようとしてました。 でもやめたのは、企画の趣旨上いずれVM側も作るつもりだったのですが、JVMを自分で作ることを考えると、難しいというよりも*1むしろ「変」なので、ちと作る気になれなかったた…

C#のプロパティ

たとえばJavaとかでは、getter/setterをいちいち書くのが面倒くさい。 といって、publicなフィールドにしてしまうと、その後読み書きするときに何らかの処理をはさみたくなったりsynchronizedにしたくなった時に困るから、面倒くさくても我慢してgetter/sett…

自転車置き場の議論

ではさっそく さて、私はcrowbarやDiksamという言語を(解説記事のサンプル言語として)作成してきました。 これらの言語は見かけ上CやJavaによく似た言語なのですが、文法を決めるにあたって、「ここはCの文法から変えた方がいいと思うんだけど、Cに慣れた人…