Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Transpecという、RSpecの古い記法で書かれたspecを、最新の記法に自動で書き換えるツールを作った。 最初のバージョン0.0.1をリリースしたのが2013年8月9日なので、すでに一年前になる。 先日のRSpec 3の正式リリースからもしばらく経って一段落したところだし、 この辺で一旦振り返って、 開発中のその時々で何を考えていたのか、忘れてしまう前に長々と残しておくことにする。 きっかけ そもそもTranspecを作り始めたきっかけは、 should記法を使っていた自分のプロジェクトのspecをexpect記法に書き換えようとしたところから。 これは2013年の7月下旬の話で、まだRSpec 2.99/3.0のベータ版も出ていない頃。 正直なところexpect記法が導入された当初は違和感があったし、 更にはThe Plan for RSpec 3も発表され、 「このままRSpec
何だか名前が無駄にかっこいいんですが…。 HTML5やJavaScript、PHPにCSS、XMLなどなど…挙げだせばキリが無いプログラミング言語。分野ごとに違ったものがスタンダードをとっている為、プログラマーは複数の言語を学ばなければならないケースが多いです。そんな問題を解決するため、アメリカ国家安全保障局(NSA)がカーネギーメロン大学に出資して、1つの統一言語を作るプロジェクトを進めているんだそう。 伝説上のドラゴンの名前を取って、その名も「Wyvern」(ワイバーン)と名付けられたこのプロラミング言語は、アプリケーションやウェブサイト作りにおいて複数の言語が入り乱れている状況を改善するべく、開発が進められているんだとか。 開発者は以下のように語っています。 今日のウェブ・アプリケーションは全く統一性のない複数の言語で書かれており、ごちゃまぜ状態です。例えば、1つのウェブ・アプリケー
インタプリタたんから、もう少し詳しい説明よ。 プログラマの皆さん!デザインパターンって、学んだものの「上手いのは分かるけど、イマイチ適用する場所が分からない」「はいはい、デザパデザパ(笑)」「で、上手い構造作ると何かいい事あんの?」なーんて思っていないかしら? 「でざぱたん」はそんな“深刻な若者のデザインパターン離れ”を食い止めるべく“もっと身近にデザインパターンを感じてもらう”ための本として誕生したの!デザインパターンは定石集であり、それそのものを適用する事は少ないかもね。でも“そういう視点で考える”だけで全然違ってきたりするものなのよ。 サンプルコードには“コピペクソコードの山が発生し易い”PHPを採用したわ。とはいえ、多言語化できるように簡単な内容に仕上げてあるから、ぺちぱー以外の方も安心ね。 新ジャンル!? かわいいイラストとちょっぴりダークなショートストーリーと わかりやすいPH
38. Ragelの書きかた # ---- Literal ---string = ("'" . (any - "'")* . "'") |('"' . (any - '"')* . '"'); integer = digit+; atom = (alpha (alpha | digit)* ); # ---- Operator ---operator = "+" | "-" | "*" | "/"; main := |* atom => { material := Ore{ Token: ATOM, Value: data[ts:te], } material.Research() ores = append(ores, material) }; String => { material := Ore{ Token: STRING, Value: data[ts:te], } mater
Want to create a programming language, but don't feel like going through one of those expensive and boring 1000-page books ? Well, you're not alone ... The best system to create your first programming language.
ここ最近、新しいプログラミング言語が次々と登場し普及し始めている。GoogleがプッシュするGoやMozillaが開発するRustなどが徐々に人気を集めているほか、AppleもSwiftという新言語を開発した。JavaScriptもそう遠くないうちにさまざまな機能強化や仕様変更を果たしたECMAScript 6が発表され、大幅に変わると予想される。次にどの言語を習得すべきか、頭を悩ましつつも興味を示しているプログラマの皆様も多いだろう。 そんななか、米人材系サイトDiceが「来年以降あなたが必要な5つのプログラミング言語」なる記事を公開している。この記事では来年以降必要となる言語としてJavaScript+HTML5+CSS3、C#、Java、PHP、Swiftの5つが挙げられており、オマケとしてErlangが挙げられている。Erlangについては「Erlang自体に対する仕事はそんなには
Java の finally よりも golang の defer のほうが筋が良さそうだ、 ということから考え始めた結果、 どうして私が golang を気に入ったのかがわかった気がしたので書いておきます。 ファイルをオープンし読み込みな処理で何かして終わったら閉じる、という関数を Java と golang で書き比べてみましょう。 Java で書くとこんな感じですね。 public static void readFile(String fname) throws IOException { InputStream s = null; try { s = FileInputStream(fname); // // Do something with "s". // } finally { if (s != null) { s.close(); } } }
ブログ(iiyu.asablo.jpの検索) ホットコーナー内の検索 でもASAHIネット(asahi-net.or.jp)全体の検索です。 検索したい言葉のあとに、空白で区切ってki4s-nkmrを入れるといいかも。 例 中村(show) ki4s-nkmr ウェブ全体の検索 標題: Erlang, Oz/Mozart, Prolog, 単一化 --- Erlangのこと、あれこれやってたから、弾さんのコメントがあった。 http://blog.livedoor.jp/dankogai/archives/50832431.html そろそろerlangについて一言いっとくか で、 --- ここから --- 変数束縛が Variable = Value. なのに、関数定義が function(Aargument) -> blah, blah, blah. てのはどうよ? --- ここまで
ブログ(iiyu.asablo.jpの検索) ホットコーナー内の検索 でもASAHIネット(asahi-net.or.jp)全体の検索です。 検索したい言葉のあとに、空白で区切ってki4s-nkmrを入れるといいかも。 例 中村(show) ki4s-nkmr ウェブ全体の検索 ASAHIネット(http://asahi-net.jp )のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。 --- 6月に、九大(九州大学)に講義に行ったとき、中洲産業大学で厳粛に執り行われた 馬刺し教授会で、ここでもたびたび言及している 「最近、関数型言語が現場でもやっと使われ始め、でも、Prologのような論理 型言語を知らない学生や技術者がいて、おれらの学生時代(今から30年から35 年前)、Lispのような関数
私はGo言語が気に入っていますし、多くの場面で使用します。現にこのブログもGoで書いています。Goは便利な言語ですが、優れた言語とは言えません。つまり、悪くはないけれど、十分ではないということです。 満足できない言語を使用する際は注意が必要です。注意を怠ると、その言語を次の20年間使い続ける羽目になるかもしれないからです。 私のGoに対する主な不満を本文にまとめました。既に何度も指摘されていることも含まれていますが、中にはこれまでほとんど話題になっていない指摘もあります。 これから列挙する全ての課題には既に解決策があることを示すため、私が優良な言語と考えるRustやHaskellと比較して説明します。 汎用プログラミング 課題 誰でもさまざまな事柄に幅広く対応できるコードを記述したいと考えます。例えば数のリストの合計を求めるために定義した関数が、小数、整数、またその他の合計を求められるもの
『コンピュータプログラミングの概念・技法・モデル』 (コンピュータプログラミングのがいねん・ぎほう・モデル、CTM、CTMCP、英: Concepts, Techniques, and Models of Computer Programming) は、一般的なコンピュータプログラミングの概念について説明した教科書であり、ピーター・ヴァン・ロイとセイフ・ハリディにより著された。 日本語訳の訳者は羽永洋である。 この教科書の略称はCTMもしくはCTMCPである。 ガウディ本と呼ばれることもある。 ピーター・ヴァン・ロイはルーヴァン・カトリック大学の教授であり、セイフ・ハリディはスウェーデン王立工科大学の教授である。 この教科書は2004年に MIT Press から出版され、2007年に日本語訳が翔泳社から出版された。 この教科書では、マルチパラダイムプログラミング言語Ozの注意深く選択され
今ちょうど、 科学者の手によるコードは質が低い という投稿を読み終えたところです。科学者の書いたコードは”ソフトウェア・エンジニア”が関与したコードと比べて質が劣るという内容でした。 私は10年以上同じ職場に勤めていますが、同僚の多くは数学や物理学が専門で、”ソフトウェア・エンジニアリング”の知識はほとんど持っていません。 そこでは、大惨事は必ずと言っていいほど、自分のことをいっぱしのプログラマだと思っている少数派によって引き起こされます。かくいう私も、少なくとも数件、いまだ解決を見ていない大きな不具合の原因を作ったことがあります。他にも大きめのバグをいくつか出しましたが、幸いその時のコードはお蔵入りしたため、私に無駄な給料を払わされた雇い主が被害をうけたくらいで、同僚の生産性を大きく損なうことはありませんでした。 その度(少なくともほとんどの場合)私は反省し、それまでにも増して退屈なくら
先日llvm 3.3がリリースされました。aarch64(arm 64bit)のコードが生成できるようになったということなので、ソースからビルドして遊んでいたのですが、さりげなく凄く最適化されたコードが生成されているのに気がつきました。aarch64だと今は実行して確認できる環境が手元に無いので、普通のarmv7-aで同じことを試しました。 ここで使ったコードとその結果はgistに貼りました。 https://gist.github.com/tetsu-koba/5835724 ソースコード int sum(int x) { int sum = 0; int i; for (i = 1; i <= x; i++) { sum += i; } return sum; } 1からnまでの総和を求める関数です。1から100までの総和が5050なのはガウス少年の逸話で有名ですね。 gcc 4.8.
With an expressive, easy-to-read syntax, Swift empowers new developers to quickly understand core programming concepts. And with resources like the Develop in Swift Tutorials, Swift Coding Clubs, and Swift Playground, it’s never been easier to get started with Swift as your first programming language. Learn more about Swift education resources from Experienced developers can also quickly dive in a
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く