タグ

ProgrammingLanguageに関するscrewboundのブックマーク (392)

  • Microsoft の新プログラミング言語「Axum」は並列処理向け言語 | スラド デベロッパー

    Microsoft が新たなプログラミング言語「Axum」をリリースしている (家 /. の記事より) 。 Axum は以前は「Maestro」という名前で開発されていた並列言語で、マルチコア CPU で高いパフォーマンスを発揮できるとのこと。Axum はクラスを宣言する機能はないが、.NET プラットフォームで動作し、C#の クラスを利用することは可能。現在 Axum はまだ立ち上げの段階だが、開発者からのフィードバックは歓迎するとのこと。 Axum については、InfoQ や Publickey でも紹介されている。

  • 将来しなくても良くなるコーディングテクニック | スラド デベロッパー

    もうやらなくていい昔のコーディングテクニックあれこれという話題がありました。過去は過去として振り返るのは有効ですが、それを踏まえた上で、将来しなくても良くなるコーディングテクニック、というのは何でしょうか ? IDE や言語環境の改善により、人間が無駄なことをしなくて済む環境は整いつつあるも、まだまだ改善しなければならない部分は多い。そんな環境改善に伴い、今は行っているけど将来的には意味が乏しくなるコーディングテクニックというのを語り合うのも面白いのではなかろうか ? 日頃の不満点、こうなったらいいな、など色々思いはあるでしょうが、コーディングテクニック関連の雑談ということでは丁度良い機会でもあることだし、忌憚無い意見をお聞かせ下さい。

  • もうやらなくていい昔のコーディングテクニックあれこれ | スラド

    ソフトウェア開発は複雑なものだが、年月とともにその開発プロセスは改善されてきたと言えるだろう。「熟練の」プログラマーであればマニュアルチューニングなどを行ったことも記憶に残っているだろう。しかし今日の開発ツールは、昔であれば手で書かなければならなかったような複雑な機能を自動的に行ってくれたりする。多くの開発者はこれを歓迎している。すでに若いナマイキな奴は、我々のような時代遅れの人間がこれらのことを手で行っていたと気付かないかもしれない。 Esther Schindler氏は古株プログラマーらに「頭痛の種だった昔のプログラミングテクニック」について尋ね、自身の経験も交えた記事をComputerWorldに掲載している。パンチカードとか、ハンガリアン記法とか、覚えているだろうか? 元記事に挙げられている「頭痛の種」には(バブルソートなどの)ソートアルゴリズム、リンクリストやハッシュテーブルの実

  • http://atnd.org/events/451

    http://atnd.org/events/451
  • ラムダ計算とチューリングマシンの違い 2009-04-13 - きしだのはてな

    ぼくもYコンビネータがわかるようになるまではそうだったのだけど、Yコンビネータを使うとどのような処理ができるのかがよくわからなくて悩んでいる人が多いように思う。他の人のブログを見ても、名前をつけずに再帰ができるのがすばらしいとか書いてあったりするのだけど、それによってどういう処理ができるのかわからずにいた。 結論をいえばYコンビネータには、なにかの処理を便利にする能力はない。関数であらゆる計算ができるということが示せれば、あとは用なしだ。理論の礎としてうまってしまえばいい。 結局、Yコンビネータによってどのような処理ができるかというのは、ラムダ計算の要素のメリットをチューリングマシンの中に見出そうとしてるといえる。 ラムダ計算とチューリングマシンは、どちらも計算モデルという点では一致しているけど、全く違う。 無限であるか有限かの違いといってもいい。 チューリングマシンでは、データの量と処理

    ラムダ計算とチューリングマシンの違い 2009-04-13 - きしだのはてな
  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
  • InfoQ: JVMで動く言語Ioke:分かりやすい構文で、LispとRubyの力を持つ言語

    Ola Bini氏(リンク)は、JRuby (リンク)開発の中心人物であり、Practical JRuby on Rails Projects(リンク)の著者である。その彼が、Ioke(リンク)というJVMの上で動く新しい言語を開発している。Iokeの型を重視し、非常に動的でプロトタイプベースのオブジェクト指向言語が目指すところは、素晴らしいぐらい小さい正規構文を持つLispやRubyを使用したときに得られる同等の力を開発者に授けることである。 Ola氏は、以下にIokeの質(リンク)に関する説明をしている。 Iokeは、強力な型付け言語であり、動的、プロトタイプベースのオブジェクト指向言語です。それは同図像であり、数種類のマクロがビルトインされています。Iokeに最も影響を与えた言語は、Io(リンク)、Smalltalk(リンク)、Self(リンク)、Ruby(リンク) そしてLisp

    InfoQ: JVMで動く言語Ioke:分かりやすい構文で、LispとRubyの力を持つ言語
  • 驚きの表現力のお絵かきプログラミング Context Free Art を試してみた - てっく煮ブログ

    文脈自由文法でアートが楽しめる Context Free Art というのを試してみた。Windows, Mac, Linux などで利用できて、簡単なコードを書けくだけで複雑な幾何学アートを生成してくれる。サンプルから1つ起動後、メニューの Example からいくつかのサンプルを試してみた。たとえば、木を生成するサンプル「weighting_demo」のソースはこんなの。 startshape SEED1 rule SEED1 { SQUARE{} SEED1 {y 1.2 size 0.99 rotate 1.5 brightness 0.03} } rule SEED1 0.05 {SEED1 {flip 90}} rule SEED1 0.05 { SQUARE{} SEED1 {y 1.2 s 0.99 r 1.5 b -0.5 flip 90} SEED1 {y 1.2 x

  • ウニができるまで 〜 Context Free Art の遊び方 - てっく煮ブログ

    前回に引き続き、Context Free Art を取り上げる。今回は、Context Free Art で変なウニ風の生き物を作っていく手順を紹介する。さぁ、準備はいいですか?1. 基となる図形まずは基となる図形を描画する。こんなやつ。ソースコードは次のようなもの。 startshape LINE // LINE というルールを描画しろ rule LINE { // ルール LINE の定義 CIRCLE { s 6 1 x 3 sat 1 b .3 hue 30} } 1行目の startshepe LINE では、「LINE というルールを描画しろ」と指定してる。じゃあ、LINE ルールはどうなってるかというと3行目で定義している。LINE ルールでは CIRCLE を1つ描画する。CIRCLE は Context Free で定義されている円を描画するルールだ。ルールにいくつか

  • 郵便番号マップを作ってみた - てっく煮ブログ

    ビジュアライジング・データ ―Processingによる情報視覚化手法 を読んでたら「アメリカ郵便番号を地図上に図示する」という例が出てきたので、これの日版を作ってみました。 郵便番号マップ内陸地がぽっかりあいてるのが不思議だったり、色でどのへんの地域が近い番号なのかが分かったり、いろいろ興味深いです。絞り込み機能先頭の数字で絞り込む機能もつけてみました。これが東京(1XX)。これが中国四国地方(7XX)。うっすら四国の海岸線が見えます。今週は、これを作っていく過程を紹介していきたいと思います。乞うご期待。ビジュアライジング・データ ―Processingによる情報視覚化手法作者: Ben Fry, 増井俊之(監訳), 加藤慶彦出版社/メーカー: オライリージャパン発売日: 2008/12/01メディア: 大型 連載目次(予定)郵便番号データをデータベースに入れるgeocoding

  • クラスとは何かを集合論から考えなおす - 2009-03-08 - きしだのはてな

    いま論理学とか集合論とかを勉強してるので、クラスって何かという話のときも集合論として考えてた。 なので、そのとき考えたことをまとめておく。 まず、「なにか」があるとする。「なにか」はなんでもいい。 そして、その「なにか」の集合を考える。たとえば"aaa"や"bbb"を要素とするStringという集合を考える。3とか5とかを要素とするIntegerという集合を考える。 ここで、その集合がなにを扱うかという規則をどうするかというのがオブジェクト指向としては大切になるかもしれないけど、今回はそこには触れないでおく。 とにかく、「なにか」と『「なにか」の集合』を考えることをここでは大切にする。 これで『「なにか」の集合』を考えたところで、『「なにか」の集合』を要素とする集合を考えて、この集合をクラスとする。つまり、クラスという集合は、StringやIntegerといった集合を要素にもつ。 ここで、

    クラスとは何かを集合論から考えなおす - 2009-03-08 - きしだのはてな
  • 米国でRuby関連書籍の売り上げが減速か - @IT

    2009/02/27 出版社の米オライリー・メディアは2月25日、プログラミング言語関連書籍の2008年の売り上げデータから、各言語関連書籍の市場シェアを可視化したデータを公開した。データはオライリー1社のものではなく、書籍販売のPOSデータを管理・提供するニールセン・ブック・サービシズから得たものという。 データを可視化して分析を加えているのは、オライリー・メディアのOpen Tech eXchange部門で発行人を勤めるマイク・ヘンドリクソン(Mike Hendrickson)氏。2月25日付けのブログ投稿によれば、2008年のプログラミング言語関連書籍の売り上げ実績は174万部で、2007年の185万部から5.9%減少。ただし、コンピュータ関連書籍全体は8%減少しており、これと比べてプログラミング言語関連書籍の売れ行き自体は特に悪いわけではないという。 ヘンドリクソン氏が公開したグラ

  • 未来の言語は「APL」? Rubyのまつもと氏が講演 - @IT

    2009/02/13 「今日はRubyの話はしません」。プログラミング言語「Ruby」の生みの親で開発コアメンバーでもある、まつもとゆきひろ氏は冒頭でそう話すと、自身のプログラミング経歴や半世紀に及ぶプログラミング言語の歴史を外観しつつ、未来のプログラミング言語へ向けた構想について語った。 書籍だけでPascalを習得した高校生 2009年2月12日、翔泳社主催で東京・目黒で行われた「Developers Summit 2009」でまつもと氏は「未来へつながる言語~ある言語おたくの視点から」と題した講演を行った。立ち見が出るほど詰めかけた観衆に向かって、“最も有名なプログラミング言語オタク”として自身のプログラミング言語観を披露した。 1980年代の高校生時代からプログラミング言語が好きだったというまつもと氏だが、一番最初に使った言語はBASICだったという。ところが、ローカル変数や構造化

  • [新しい構文を考える] e4x相当 - 新言語 Xtalを作る日記

    ゲームにおいてもXMLは当たり前のように使用するようになっています。*1 XtalもXMLリテラルとか、XMLノードを簡単に扱える機構を取り入れるべきなのかもしれません。 これは、かなり前、取り入れる方向で考えていました。 しかし、XMLの仕様をちゃんと実装している暇は正直ありません。 とりあえず、文法の部分についてだけ、以前考えていたことを記しておきます。 Xtalにe4xとまったく同じ構文を導入するのは不可能です。 他の構文と衝突したり、言語機能的にムリがあったりするからです。 *2 それに、いくつかe4xには欠点と思えるところもあります。 e4xでの記法をXtalでもいけるような別の記法を考えてみます。 要素取得 e4xでは elem.ns::fooという書き方でelem以下の名前空間nsに属したfoo要素にアクセスできます。 複数のfoo要素があるならば、XMLListを返します。

    [新しい構文を考える] e4x相当 - 新言語 Xtalを作る日記
  • 「○x言語はもう終わり」というプログラマは終わり : 404 Blog Not Found

    2009年02月19日22:30 カテゴリLightweight Languages 「○x言語はもう終わり」というプログラマは終わり これ、 Perlはもう終り? | | プログラマ2.0日報 | あすなろBLOG すでにJPAの中の人が完璧に論破しちゃっている FUDを広げるのは誰の得にもならないと思うんだ。 - D-6 [相変わらず根無し] のだけど、お呼びがかかったので蛇足しておくことにする。 まずは各論から。 Perlはもう終り? | | プログラマ2.0日報 | あすなろBLOG 言語仕様が汚い。厳格にはサブルーチンの「引数」という概念がないし、変数はすべてグローバルで特に宣言した場合だけローカルになる...というあたりの仕様は、そりゃインタプリタの実装は楽チンだろうけども、美意識(とミスしにくさ)には欠けるよね。 汚いったって英語や日語ほどじゃない。そして英語や日語が汚い

    「○x言語はもう終わり」というプログラマは終わり : 404 Blog Not Found
  • http://madscientist.jp/~ikegami/diary/20090217.html

  • 空セマンティクスのオーバーロード - 世界線航跡蔵

    Rubyには nil がある。Smalltalkから継承した知恵の1つである。 今更Rubyistには言うまでもないが、これはマクロに過ぎないCの NULL やオブジェクトではないJavaの null とは一線を画すものだ。C#の中の人が null を反省して「 nil いいなぁ」と言っていたらしいけれども、とにかく nil は良いものだ。 これはデフォルトのNull objectである。RubyにおいてもNull objectパターンは健在だが、「何らかの出力できるオブジェクト」でよい程度の軽量なケースにおいては、わざわざNull objectを定義しなくともデフォルトのNull objectとして nil を使うことができる。だから、その意味ではRubyではNull objectパターンは「当たり前」であると言ってもよいかもしれない。 空セマンティクス Null objectは何らかの

    空セマンティクスのオーバーロード - 世界線航跡蔵
  • Context Free - デザイン文法で遊ぶ - Radium Software

    Context Free は,CFDG と呼ばれる文脈自由デザイン文法を使って画像を生成するためのソフトウェア。語弊を恐れず砕いて言えば「お絵描きプログラミング環境」の一種だ。とてもシンプルなプログラムから,恐ろしく複雑な絵や,細密な絵を作り出すことができる。 以下は,とりあえずの習作。「プログラミング」とは言えども,普段のプログラミングとはまったく異なる部分の脳細胞を使っているような感覚があって,とても新鮮。命令型言語の発想で染まりきってしまった頭をリフレッシュするには最適!かも! include i_pix.cfdg startshape HOGE rule HOGE { H_5by5 {x 0 } O_5by5 {x 1.2} G_5by5 {x 2.4} E_5by5 {x 3.6} HOGE {s 0.75 y 1 r 30} } startshape Origin rule O

    Context Free - デザイン文法で遊ぶ - Radium Software
  • Succinctness is Power

    簡潔さは力なり---Succinctness is Power--- Paul Graham, May 2002. Copyright 2002 by Paul Graham. これは、Paul Graham:Succinctness is Power を、原著者の許可を得て翻訳・公開するものです。 プロジェクト杉田玄白正式参加テキスト。 <版権表示> 和訳テキストの複製、変更、再配布は、この版権表示を残す限り、自由に行って結構です。 (「この版権表示」には上の文も含まれます。すなわち、再配布を禁止してはいけません)。 Copyright 2002 by Paul Graham 原文: http://www.paulgraham.com/power.html語訳:Shiro Kawai (shiro @ acm.org) <版権表示終り> Paul Graham氏のエッセイをまとめ

    Succinctness is Power
  • オーディオプログラミング言語 ChucK - Radium Software

    オーディオプログラミング言語 ChucK を使って組んでみたサンプルプログラムの映像。 最初のプログラムは,1度,短3度,5度,短7度の音(つまりマイナーセブンスコードの構成音)からなるランダムなシーケンスを延々と鳴らし続けるもの。 二番目のプログラムは,構成音は最初のプログラムと同じだけど,ただランダムに鳴らし続けるのではなく,簡単な繰り返し構造を持たせるようにしたもの。最初のプログラムよりも,いくぶん音楽的な要素が加えられていると思う。 ChucK は,こういった類の実験を行うには非常に適した言語だと思う。上の二番目の例では,プログラムを動かしている最中に変更を加え(繰り返しの構成を変えてみている),それを「オン・ザ・フライ」で再実行している。同様のことは SuperCollider などでもできるけれど, ChucK は仕様の簡潔さと,統合環境 (miniAudicle) の手軽さが

    オーディオプログラミング言語 ChucK - Radium Software