タグ

programmingに関するtakkan_mのブックマーク (64)

  • 今年の年賀状ネタ - 桜花な日々

    去年(http://d.hatena.ne.jp/rofi/20100417/1271519352)に引き続き今年もやりました。 長いので詳細は続きから。 今年のネタ みなさん今年の干支は何でしょうか? そうですね、みなさん大好きうさみみ年兎年ですね! ということで今年のネタはこれです! #include <stdio.h>/* q=" =;;; $a= 'us' .'a' .'c' .'c' ;; $a=~ s/c/mi/g ;print $a; exit(); q&*/ #/**/ define p(c) putc(c ,stdout ) void pr( char *s, int/* */ e) {char *t =s ;for (; *s ;++s){ /* */ switch( *s ){ case 96: if (e) p(*s);else pr (t ,1);break; /

    今年の年賀状ネタ - 桜花な日々
  • プログラマが知るべき 97 のこと - Backnumbers: Steps to Phantasien

    「プログラマが知るべき 97 のこと」 日語版のエクストラとしてちょこっと書かせてもらいました. エッセイ集のようなで, 読切 Blog 記事一気読み, みたいなノリで読めます. ソフトウェアアーキテクトが知るべき(同上) の続編というかんじですが, アーキテクトもプログラマも大差ないので片方読んで面白かったらもう一方も楽しめると思います. (両方に書いてる人もいます...) 一編 2 ページくらいの長さに揃っているので割と読み易い一方, 私のようにぐだぐだ長々と書く傾向の人間が書くと ややあっさりしてしまう気がした. ここで続きをちょっと書きたい. パッチのなやみ 私が書いたのは, "良いコード" と "良いパッチ" はときどき相反することがあるからどうしましょうね, という話だった. 良いコードはさておき良いパッチとはどんなものだろう. という話はを買っていただきたくおもいますが

  • Programming Languages - Hyperpolyglot

    Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License

  • brainf*ckでジョジョ言語 - 旧toyoshiの日記

    CSNagoya3周年記念の発表で使ったネタ言語。 ジョジョ言語 バージョン3です。 タイトルでピンと来なかった人はwikipediaのbrainfuckの項目などをご覧下さい。 賢い人がバージョン6を作って素数をカウントするなどしてくれたらいいと思います。 特徴 バトル風言語 バージョン3 ジョジョ言語の構文 オラ … 現在のポインタの値を1増やす 無駄 …現在のポインタの値を1減らす スターフィンガー!、やれやれだぜ…ポインタを1つ右に動かす ロードローラーだ!、貧弱ゥ…ポインタを1つ左に動かす ハーミットパープル…現在のポインタの値をアスキーコードとして出力する 新手のスタンド使いか!…標準入力から1文字読み込み、現在のポインタに書き込む あ…ありのまま 今 起こった事を話すぜ!…ポインタの値が0なら、対応するザ・ワールド!までジャンプ ザ・ワールド!…ポインタの値が0以外なら、対応

    brainf*ckでジョジョ言語 - 旧toyoshiの日記
  • The Go Programming Language

    Tips for writing clear, performant, and idiomatic Go code

    The Go Programming Language
  • NoopでHello World! - SH2の日記

    今回はデータベースのネタをお休みして、噂のプログラミング言語Noopを試してみました。 速報:グーグルが新言語「Noop」を公開。JavaVMで動作 − Blog on Publickey JVMで動作する新言語「Noop」- Google開発者らによる新プロジェクト | エンタープライズ | マイコミジャーナル 以下、NoopでHello World!を動かすまでの手順です。 JDKのインストール NoopはJava VM上で動作するので、まずJava SE Development Kit(JDK)をインストールします。 インストールが済んだら、C:\Program Files\Java\jdk1.6.0_16\binにパスを通しておきます。 TortoiseHgのインストール NoopはMercurialでバージョン管理されているので、Windows用のクライアントとしてTortois

    NoopでHello World! - SH2の日記
  • quine リレー - まめめも

    Update (2013-07-15): I improved this program to 50-language version. 50 言語版にパワーアップさせました。 これはこのプログラム自身を出力する Unlambda プログラム、を出力する Whitespace プログラム、を出力する brainfuck プログラム、を出力する Java プログラム、を出力する C プログラム、を出力する Haskell プログラム、を出力する OCaml プログラム、を出力する Lua プログラム、を出力する Perl プログラム、を出力する Python プログラム、を出力する Ruby プログラム、です。 # ruby l=92.chr;eval s="s=s.dump[r=1..-2].gsub(/("+l*4+"){4,}(?!\")/){|t|'\"+l*%d+\"'%(t .s

    quine リレー - まめめも
  • 恐るべし、新言語、織田信長\(^O^)/: ホットコーナー

    ブログ(iiyu.asablo.jpの検索) ホットコーナー内の検索 でもASAHIネット(asahi-net.or.jp)全体の検索です。 検索したい言葉のあとに、空白で区切ってki4s-nkmrを入れるといいかも。 例 中村(show) ki4s-nkmr ウェブ全体の検索 ASAHIネット(http://www.asahi-net.or.jp)のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。 --- ErlangやOzの流れで、並行・並列論理型言語と論理変数(データフロー変数) のことをちょっとぐぐっていたら、ものすごい研究に出くわしました。 それが、平田圭二(NTT CS 基礎研究所)と山崎憲一(NTT 未来ねっと研究所) による http://www.brl.ntt.co.jp/peo

  • きれいなソースコードを書くために必要な、たったひとつの単純な事 - よくわかりません

    「構造のきれいなプログラムを書けるようになるためにはどうすればいいのか?」という質問を受けたので、「はて?どうしているだろうか?」と考えてみました。あ、形式知にきちんとなっているようなテクニックみたいなもんじゃなくて、モノローグなので、あまり凝ったものは期待しないように。 http://blog.shibu.jp/article/28983162.html 自分なりにもっと凝縮版を。渋川さんが言っている事全体もその通りとは思うけど*1、もっと簡単で、しかも射程が広い、と自分が思っている事。 渋川さんはちょろっと触れてるだけだけど、自分はこれが最も基的で汎用的、かつ、ソースをきれいにする原動力となる上にバグをも減らしてコードの汎用性まであげる、コーディングのエンジンみたいなものと思ってる。それは、 「すべてに正しい名前を付けて、そして、正しい名前であることを維持する」という鉄の意志 クラス

    きれいなソースコードを書くために必要な、たったひとつの単純な事 - よくわかりません
  • 基盤系プログラマの実践的教育が必要だ - 未来のいつか/hyoshiokの日記

    ここで言う基盤系というのは、OSとかRDBMSとかプログラミング言語処理系とか、そーゆー奴ね。アプリケーションプログラムとかWebサービスとかを支える縁の下の力持ち。その基盤を作るプログラマをどのように育てるかというお話。 まあ、ハッカー予備軍をどのように育成するか。ハッカーって、育てるとか教育するとか、そーゆーものではなく勝手になるものだから、そもそも、そんなものはありえないという議論もある。確かに天才というのは、天才なので、教育がどうだこうだということはないのだけど、一般的なプログラマというのは、一般的な教育プログラムである程度底上げ的なことは出きると思う。 例えば、PostgreSQLの開発者を考えてみる。ちょっとRDBMSに興味がある、だけどどこからとっかりをつけていいのかよく分からないという初心者がいたとする。今ある、OSS利用者教育プログラムをいくらやったところで開発者にはなれ

    基盤系プログラマの実践的教育が必要だ - 未来のいつか/hyoshiokの日記
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
  • OCaml/guideline - U-Wiki+

    Caml Programming Guideline 和訳 原文 ページの和訳は未許可翻訳ドラフト版です。 This Japanese translation document is a draft, which is not yet permitted to make public by original authors. Japanese translation by M.Ukai (ukai at sansu dot org). Caml プログラミングガイドライン これはCamlプログラムの体裁を整えるための、 ベテランのCamlプログラマのコンセンサスを反映したガイドライン集です。 が、誤りや漏れの指摘は喜んで受け入れます。 コメントはここに送ってください: webmaster @ caml.inria.fr オリジナルの英訳者: Ruchira Datta このページに批評を

  • プログラミングの本質とは - 射撃しつつ前転 改

    プログラミングの質は、条件分岐と繰り返し(と連接)だけでチューリング完全が実現できることであると考えている。つまり、いわゆる構造化定理である。 プログラミングの勉強を始めた頃は、一体どこまで勉強すれば自分はプログラミングが出来るといえるのか、まったくわからなかった。構造化定理を知ったとき、ああ、これだけ知っていれば全てのプログラムが書けるのか、と感動したし、振り返ってみても、あの瞬間はプログラマとして一つの到達点であったと思う。もちろん、そこから先の道のりは、まだまだ長かった訳だけれども。 構造化定理の良い点は、チューリングマシンというなんだか抽象的かつ重要そうなものと、自分がいつも書いているプログラムの間をシンプルに結びつけてくれる点であると思う。実際にプログラミングをする際の道具立てとしては便利なものが色々とある(高階関数だとかクロージャだとかね)訳だけれど、精神を支えているという点

    プログラミングの本質とは - 射撃しつつ前転 改
  • 命令型プログラミングはどこに行くのか

    命令型プログラミングパラダイムとは 現在主流のプログラミング言語は、質的にはハードウエアの実行メカニズムに深く根ざして発展してきた言語です。すなわち、固定長メモリセル列の上にデータ構造を構築し、状態を表現します。そして機械語命令列をプロセッサが順番に実行し、状態遷移を行うというチューリングマシン的メカニズムです。プログラミング言語が変われば、1つの命令文が扱えるデータ構造の粒度や抽象度も大きく変わりますが、「データ構造を構築し、計算を実行するためのアルゴリズム(命令文の列)を記述する」というパラダイムには変わりありません。 連載の視点では、PascalやCなどの構造化プログラミングや、C++Javaのようなオブジェクト指向プログラミングなども、質的には命令型パラダイムに含まれると考えます。 命令型プログラミングは、次回紹介する「宣言型プログラミング」と対になる概念です。「手続き型プ

  • ふざけた変数名を使う奴は、ばかなの? 死ぬの?:アルファルファモザイク

    「小女子焼き殺す」 2ちゃんねるに書いた無職、「小女子(こうなご)は魚のこと」と主張するも…懲役1年6月求刑

  • lucille development blog » Blog Archive » Playing with Pure

    http://pure-lang.sourceforge.net/ コンパイルが通ったのでちょっと遊んでみました. Pure 言語とはなんぞや Pure とは、和○○○○主演のドラマで,,, と 信頼関係のコントのネタに出てきそうですが、 そうではなくて、 項書換え(term rewriting)ベースの関数型言語です。 Pure 言語の開発者は、同じような特徴の言語として、 Q 言語をすでに開発していますが、 Pure 言語はそれの後継を目論んでいるようです. Pure 言語が Q 言語と異なるところは、 先進的な言語的特徴を取り入れているところと、 LLVM バックエンドの採用で高速に実行できるところです. (どんだけ高速に実行できるのかは不明) また LLVM バックエンドを採用していることで、 C 言語との親和性も高いです. とりあえず使ってみる pure 言

  • すご過ぎるとおもちゃに見える - あどけない話

    「達人プログラマー」の14ページでは、「毎年少なくとも一つの言語を学習する」ことが提案されています。 達人プログラマー―システム開発の職人から名匠への道 作者: アンドリューハント,デビッドトーマス,Andrew Hunt,David Thomas,村上雅章出版社/メーカー: ピアソンエデュケーション発売日: 2000/11メディア: 単行購入: 42人 クリック: 1,099回この商品を含むブログ (347件) を見るこの大切さを雄弁に語っているのは、「普通のやつらの上を行け」の『「ほげ言語」のパラドックス』です。(「ほげ」の部分は、もっと適切な単語に訳して欲しかったです。。。) 小賢しい人は、「ほとんどの言語はチューリング完全だ」だと反論します。そのとき、「じゃぁ、全部アセンブラで書けば」と感情的に言い返すことはできても、客観的に諭すことは僕にはできませんでした。 その答えを見つけた

    すご過ぎるとおもちゃに見える - あどけない話
  • 君のプログラミング言語で、これ、できる? - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2006年8月1日 火曜 ある日、自分のコードを眺めていて、ほとんど同じに見える2つの大きなコードブロックがあるのに気付く。実際、一方が"スパゲッティ"、他方が"チョコレートムース"について言及しているところを別にすれば、どちらもまったく同じだ。 //簡単な例: alert("スパゲッティがべたい!"); alert("チョコレートムースがべたい!"); この例ではたまたまJavaScriptを使っているが、この後の話は別にJavaScriptを知らなくとも理解できるはずだ。 同じコードが繰り返し現れるのは、もちろん良くないことだ。だから関数を書くことにしよう: function SwedishChef( food ) { alert(food + "がべたい!"); } SwedishChef("スパゲッティ"); SwedishChef(

  • ホワット・ア・ワンダフル・ワールド 初心者にプログラミングを教える際の難しさ

    今のプログラミング言語は,アルゴリズム (計算手順) を書き下す (だけの) ものなんですよね. なので,初心者にプログラミングを教える際 「どうやってアルゴリズムを作れば良いのか ?」「熟練者は,どのように発想しているのか ?」 ということを教える際には,向きません.これがプログラミング教育質的な難しさです. アルゴリズムを作るための方法論と,それを表現できるプログラミング言語が無いから,結局はたくさん読ませて,問題解かせて,自分で勉強してがんばってね,数こなせば自然とわかってくるから,という前時代的な教育しかできないのです.これでは脱落者がたくさん出てしまっても無理はありません. amachang さんががんばってます.執筆中のマインドマップを引用するってのは,ちょっと申し訳ない気もするのですが,面白い一文を発見. IT 戦記 2008-07-15 プログラミング未経験者が Ja

  • 「誰が書いても同じコード」は大事なことなのか - ひがやすを技術ブログ

    昨日、大手SIerの方々と話をする機会があって、そこで出てきたのが、「誰が書いても同じコード」になることが重要で、それを実現するために、ドキュメントをいっぱい書かなくてはいけないという話。大手SIerは、大体同じことを考えていると思います。 でも、「誰が書いても同じコード」にするってのは、そもそも無理だと思うんだよね。そうやって、わざわざドキュメントをたくさん書かせても、めためたなコードを書くやつはいて、総合テストするときに、現場は燃え上がるもの。ある程度の規模以上のプロジェクトなら、どこでもそんな感じじゃないかと思います。 重要なのは、「誰でもメンテナンスできるコード」にすること。そのために、コーディング規約は、きちんと決めてみんなで守る、それ以上は、がちがちに縛る必要はない。 がちがちに縛るために、設定ファイルをたくさん書かせたり、必要以上のドキュメントを書かせるのは、一定の品質を確保

    「誰が書いても同じコード」は大事なことなのか - ひがやすを技術ブログ
    takkan_m
    takkan_m 2008/03/26
    みんなpythonつかえばいいよ