タグ

ブックマーク / athos.hatenablog.com (5)

  • ニャンパス株式会社に転職しました - Homoiconic Days

    先月で前職を辞め、今週からニャンパスで働き始めたので報告します。 前職 前職では、組込み業界で働いてました。とはいっても、組込みソフトウェアの開発自体には携わってなくて、主に組込みソフトウェア開発のための開発環境の開発をやってました。 詳しくは書きませんが、会社が求める能力・スキル・ワークライフバランスと、自分が目指したいものが違うことから転職に踏み切りました。いわゆる「音楽性の違い」というやつですね。12月半ばに最終出社を迎え、1月いっぱいまでは有休消化期間でした。 転職先:ニャンパス 2月からはニャンパスで働いています。ご存じの方もいるかもしれませんが、一昨年の秋頃にアニメ「のんのんびより」の中に出てくるセリフのおかげ?で話題にもなった会社です。 ニャンパスは、Clojureをメインの開発言語にしている日で数少ない会社で、BaaSサービスのbaasdayや、その他WebサービスをCl

    ニャンパス株式会社に転職しました - Homoiconic Days
  • 重箱の隅的Clojureのイケてないところ - Homoiconic Days

    この記事はClojure Advent Calendar 2011 4日目の記事です。 Clojureには,シーケンスや組み込みのイミュータブルなコレクション型,STMなどエレガントだといわれる様々な特徴がある。一方で,ときにプログラマを悩ませるような厄介な挙動や不自由さを感じる制約も結構あったりする。 今回は,僕がClojureを使い始めてから2年ちょっとの間に遭遇した,そういったClojureの"イケてない"部分のうち,現在の最新バージョン(v1.3.0)でも見られるものについてまとめてみた。 ネストしたloopをうまく扱えない ClojureはJVM上で実行されるため,(今のところ)末尾呼び出しが最適化されない。末尾再帰(ループ)を使いたい場合にはloop - recurを使う。たとえば,階乗を計算する関数factはloopを使って下のように定義できる。 (defn fact [n]

    重箱の隅的Clojureのイケてないところ - Homoiconic Days
  • わーい、テトリス言語 Tetrlang 完成したよー\(^o^)/ - Homoiconic Days

    これはなに? Tetrlang は、研究の中間発表を1週間後に控えた大学院生の現実逃避によって作り出された言語テトリスにインスパイアされた言語です。 Tetrlang は以下のような特徴をもつ言語です。 各命令がテトリスのブロック(テトラミノ)によって表される 他のブロックとの境界が分かる限り、(ほとんど)どんな文字でも使うことができる 各命令は Brainf*ck の命令と同様の動作する 言語の説明 Tetrlang では、テトラミノによって命令を表します。テトラミノは隣接する4つの同じ文字から構成されます。テトラミノを構成する文字には空白文字以外の任意の文字が許されます。ソースコードを左から右、上から下という順にスキャンして、テトラミノの現れた順番で命令が実行されます。基的に、テトラミノの(回転による)向きの違いはありません。ただし、後述するIテトラミノだけは、テトラミノの向きによっ

    わーい、テトリス言語 Tetrlang 完成したよー\(^o^)/ - Homoiconic Days
  • 噂の「英単語を覚えるスクリプト」をClojureで - Homoiconic Days

    第1回 Scheme コードバトンのお知らせ - Higepon’s blogでネタとして挙がっている英単語を覚えるスクリプトをClojureで書いてみた、という話。 コード自体はid:higeponさんのScheme(R6RS)版をほぼそのままClojureに移植しただけ。 ソースコード (追記:ソースコードは http://gist.github.com/273985 からも見られます。) (use '[clojure.contrib.duck-streams :only (reader writer)] '[clojure.contrib.fcase :only (case)]) (defn make-word-spec ([word meaning] [word meaning 0 0]) ([word meaning ok ng] [word meaning ok ng])) (

    噂の「英単語を覚えるスクリプト」をClojureで - Homoiconic Days
  • プログラミング言語の難易度 - Homoiconic Days

    Javaはわりと素朴な言語だ。 Rubyは簡単な英語をちょっと知っていれば分かってしまうくらい易しい。Perlもまぁだいたい同じくらいだ。 Cなんて、小学生でも、ともすれば幼稚園児でも、理解が可能だ。 C++やC#なんかは慣れない人は戸惑ってしまうかもしれないが、実際は素直だったりする。 OCamlは人によって力を入れる場所が違っていたりして混乱しがちだ。それに比べるとHaskellはブレが少なくて意外と易しい。 Pythonは比較的難しい。SchemeはPythonと同程度かPythonより難しい。 Gaucheはかなり難しい。初めて見た人はどうしても間違った判断を下しがちだ。 うん、まぁ名前の読み方の話なんだけど。

    プログラミング言語の難易度 - Homoiconic Days
    bojovs
    bojovs 2008/11/28
    感動した。
  • 1