■_
一月終わり。
一つ前へ
2013年1月(中旬)
一つ後へ
2013年2月(上旬)
一月終わり。
行きたかったー → テスティングにまつわる過去,現在,未来をDorothy Graham氏が語る─ソフトウェアテストシンポジウム 2013基調講演:レポート|gihyo.jp … 技術評論社 株式会社シャノン技術ブログ: JaSST'13 Tokyoに行ってきました。
岸田さんの講演だけでも
岸田さん「美術における分析とは、分解してもわからない。そうではなく、どのようなプロセスによって創造されたのかを追跡することである。ソフトウェアも同じ。 #jasst
— akiyama924さん (@akiyama924)
2013年1月31日
岸田さん「進化は時間の問題ですからプロセスの問題になります。基本概念はプロセスの繰り返しです。そこでベストプラクティスに学び利用しようという考えがあります。
— akiyama924さん (@akiyama924)
2013年1月31日
岸田さん「しかし、ベストプラクティスに学ぶことは成功しません。なぜなら、成功した条件と同じ条件であることは少ないから。それよりも、失敗に学ぶ、歳を考えることが大切です。
— akiyama924さん (@akiyama924)
2013年1月31日
岸田さん「ソフトウェアを眺める時に3つのビューポイントがあると考えている。客観的、社会的、主観的の3つです。客観的とはプロダクトです。社会的とは人間社会のコミュニケーションのツールと考える見方です。主観的な観点とは個々のユーザーがそのSWに対してどうとらえるかです。
— akiyama924さん (@akiyama924)
2013年1月31日
岸田さん「ソフトウェア・シンポジウム2013を岐阜でしますのでぜひ来てください。
— akiyama924さん (@akiyama924)
2013年1月31日
昨日の件ですが、どうも A1形式の文字列を組み立てるしかないようで。 Setting a Range in Excel with two variables - microsoft.public.windows.powershell
で、こんな感じのやり方が紹介されてました
$range = $ws.usedRange ← 「使用中」の範囲を取得 $r = $range.rows.count ← ↑の行数を獲得 $c = $range.Columns.count ← 列数を獲得 $S = $ws.Cells.Item($r,$c) ← このアドレス指定だと、row, column を数値で指定できる $S = $S.Address() ← $S に $S のアドレスをA1形式の文字列化したものが入る(絶対番地) $U = $ws.Cells.Item(1, 1) ← R1C1 (A1) を指定 $U = $U.Address() ← 文字列化 $T = $U + ":" + $S ← 二つのアドレスをコロンで挟んで範囲指定に
回りくどいがまあ仕方ないか。
その中で思ったのは、F#が知的ツールとして優れているという事です。F#は数学的もしくは論理的な事を考えるのに向いています。
【改悪】宇宙戦艦ヤマト2199のここがマジ赦せん!8 200 名無しさん@お腹いっぱい。 [sage] 2013/01/27(日) 15:11:20.02 ID:BWNuasmf0 Be: >>192 ただし真田さんじやなくて榎本あたりが言いそうだ 2199の真田さんは、実のところ旧作の真田さんじゃなくて Mr.スポックもしくはデータ少佐だからな
そういや声が同じだ。>2199の真田さんとデータ少佐
スター・トレックI-X 劇場版BOX [DVD]
また半額セールやってるんですが(2/5まで)、対象製品で欲しいのは… すでに買ってるものばかりだなあ Save 50% on Programming Ebooks - Deals - O'Reilly Media
2012年の優れたIT系書籍としての5冊、「Jolt Awards 2012」 - Publickey
に挙げられてる本の一冊、エレメンタルデザインパターンはすでに邦訳が出てます。
そっかずいぶん早いタイミングでの翻訳だったのねえ。
ピアソンの本にしては意外。というと失礼かしらん。
割とオススメ(まだ全部は読んでないのだけど)。
エレメンタルデザインパターン―パターンの基礎を学び、より有効に活用する
泳ぐやる夫シアター AAで学ぶ南北戦争への道 第24回 西海岸征服 泳ぐやる夫シアター AAで学ぶ南北戦争への道 第25回 グラント初陣
歴史群像の南北戦争特集号読み返したいが処分済みであった。 今からは買えないだろうなあ。 神保町に歴史群像のバックナンバーをそこそこ置いてる古書店はあるんだけども。 知識の泉: 歴史群像 No.26 南北戦争 THE CIVIL WARの全貌 舞方雅人の趣味の世界 アメリカ南北戦争概略その40(最終回)
まあ、イロイロできるんですが。
Microsoft Excelを操作する - PowerShell 逆引きリファレンス
【PowerShell】PowerShellからExcelを操作する。 | 創造的プログラミングと粘土細工
$sheet.Range("A1").Value2 = "A1"
で、複数セルを一度に指定したいのですが
$sheet.Range("A1:A20").Text
のように文字列ではなく
$sheet.Cells(1,1).Text
のように Row, Column の数値の組でやりたい。
VBAだと Rnage(.cells(1,1), .cells(20,1))のように書けるんですが
PowerShell だとどうすればいいんだろかい。
例によって、日本語記事が出てから(それなりに)盛り上がったというあれ。 はてなブックマーク - C言語は今でも価値のある言語か? 2013-01-28 - うだんうだん日記 C言語は今でも価値のある言語か? - ONETOPI はてなブックマーク - うしし@twintails.infoのブックマーク - 骨董品捨てろ Cの設計思想が優れている点 - プログラマyasuhoの隠れ家 C言語は今でも価値のある言語か? まとめ | ニュース&Twitter反応まとめ by タグ速(タグ速ニュース)ツイッターNEWS速報 日刊 C言語新聞
CouchDB の人が言語系のバグでやになって C に比重を移したという話を読んだ。特殊な技術に乗っかるということはその利点だけでなく欠点も受容するということ。欠点を誰か他人がが事前に直してくれないほどに深く技術に依存したとき、どうするか
— 旧正月まで平常運転・星のキャミバ様さん (@camloeba) 2013年1月28日
C が高級アセンブラだということをすぐ忘れて、高級言語だと思う人がいけないね。C なかったら、じゃぁ、アセンブラで実装するかよ?ポータビリティ無いんだぜ。
— Shigeyaさん (@shigeyas) 2013年1月28日
だから、Cは滅ぼすべきみたいな事言う人は自分の開発環境からCで書かれたプログラム全部滅ぼしてから言ってよ。JNodeでJavaのコード書いてるとかなら納得するからさぁ:C言語は今でも価値のある言語か? - infoq.com/jp/news/2013/0…
— しゅううさん@がんばらないさん (@syuu1228) 2013年1月28日
JNodeでは本当にCが滅ぼされてるので、一度ソースコード眺めてみるといいと思います。軽く鼻血でます。
— しゅううさん@がんばらないさん (@syuu1228) 2013年1月28日
そういや Lilith と Modula-2 とか Oberon なんかはどうなんすかね。>C抜きで~ Lilith (computer) - Wikipedia, the free encyclopedia Lilith and Modula-2 ETH - Oberon - Welcome to Oberon
それはさておき、これまた例によって 翻訳記事だけ見てどうこう言ってる方が大半のようで (今回は変な訳文はなかったと思いますが)。 たとえばC++云々というコメントが散見されましたけど、 記事からリンクされている(元記事に対する)フォロー記事にこういう風に書かれてます。
Damien Katz: Follow up to "The Unreasonable Effectiveness of C" Follow up to "The Unreasonable Effectiveness of C" My post The Unreasonable Effectiveness of C generated a ton discussion on Reddit and Hacker News, nearly 1200 comments combined as people got in to all sorts of heated arguments. I also got a bunch of private correspondence about it. So I'm going to answer some of the most common questions, feedback and misunderstandings it's gotten. Is C the best language for everything? Hell no! Higher level languages, like Python and Ruby, are extremely useful and should definitely be used where appropriate. Java has a lot of advantages, C++ does too. Erlang is amazing. Most every popular language has uses where it's a better choice. But when both raw performance and reliability are critical, C is very very hard to beat. At Couchbase we need industrial grade reliability without compromising performance. (略) Don't just blindly use C, understand its own tradeoffs and if it makes sense in your situation. Erlang is quite good for us, but to stay competitive we need to move on to something faster and industrial grade for our performance oriented code. And Erlang itself is written in C. (略) Why Isn't C++ a suitable replacement for C? Often it is, but the problem with C++ you have to be very disciplined to use it and not complicate/obfuscate your code unnecessarily. It's also not as portable to as many environments (particularly embedded), and tends to have much higher compilation and build times, which negatively affects developer productivity. C++ is also a complicated mess, so when you adopt C++ for its libraries and community, you have to take the good with the bad and weird to get the benefits. And there is a lot of disagreement what constitutes bad or weird. Your sane subset of the language is very likely to be at odds with others ideas of a sane subset. C has this problem to a much much smaller degree. What about Go as a replacement for C? (略) What about D as a replacement for C? (略) Is there anything else that could replace C? (略) That's just, like, your opinion, man Yes, my post was an opinion piece. But I'm not new to this programming game. I've done this professionally since 1995. (略) I've written a byte code VM in C++ that's been deployed on 100 million+ desktops and 100's of thousands of servers. I used C++ inheritance, templates, exceptions, custom memory allocation and a bunch of other features I thought were very cool at the time. Now I feel bad for the people who have to maintain it. (略) Posted January 17, 2013 11:27 AM
まあC++に対する意見もこれはこれで納得しない人は少なからずいるでしょうけれど。
例のErlang本(わたしはまだ買ってませんが)でこういう情報が
Learn You Some Erlang for Great Good!の印刷版が手元に来たけど、この厚さはやばいぞ。
日本語版の「Pythonクックブック」並の厚さがある。。。これ邦訳版、「詳解Linuxカーネル」くらいの厚さにならないか?
— Yoshifumi YAMAGUCHIさん (@ymotongpoo) 2013年1月28日
Learn You Some Erlang for Great Good! - O'Reilly Media Publisher: No Starch Press Released: January 2013 Pages: 624
詳解 Linuxカーネルはってーと1000ページほどらしい
Amazon.co.jp: 詳解 Linuxカーネル 第3版: Daniel P. Bovet, Marco Cesati, 高橋 浩和, 杉田 由美子, 清水 正明, 高杉 昌督, 平松 雅巳, 安井 隆宏: 本 登録情報 大型本: 1024ページ 出版社: オライリー・ジャパン; 第3版 (2007/2/26) ISBN-10: 487311313X ISBN-13: 978-4873113135 発売日: 2007/2/26 商品の寸法: 23.4 x 18.8 x 5.2 cm
Amazon.co.jp: Python クックブック 第2版: Alex Martelli, Anna Martelli Ravenscroft, David Ascher, 鴨澤 眞夫, 當山 仁健, 吉田 聡, 吉宗 貞紀: 本 登録情報 大型本: 652ページ 出版社: オライリー・ジャパン; 第2版 (2007/6/26) 言語 日本語 ISBN-10: 4873112761 ISBN-13: 978-4873112763 発売日: 2007/6/26 商品の寸法: 23.2 x 18.6 x 3.6 cm
Amazon.co.jp: Python Cookbook: Alex Martelli, Anna Martelli Ravenscroft, David Ascher: 洋書 登録情報 ペーパーバック: 807ページ 出版社: Oreilly & Associates Inc; 2版 (2005/5/5) 言語 英語, 英語, フランス語 ISBN-10: 0596007973 ISBN-13: 978-0596007973 発売日: 2005/5/5 商品の寸法: 17.8 x 4.2 x 23.3 cm
翻訳であれこれあっても1000ページはいかないんじゃないかなあ。
こういう記事がありまして。
Ada 2012: The Joy of Contracts | Dev Tools content from Electronic Design The most exciting addition to Ada 2012 is the facility known as contract-based programming. The concept is straightforward: program elements such as subprograms are designed to satisfy specific software requirements ("contracts"), so the syntax of these program elements should support specifying such requirements. As a concrete example, the contract for a subprogram includes its preconditions (properties that the subprogram assumes on entry) and its postconditions (properties that the subprogram assures on exit). Figure 1 shows an example of the contracts associated with an insertion procedure for adding an element to a simple queue. Contracts may be checked statically by the compiler or a supplemental analysis tool, or enforced dynamically with run-time checks.
そして reddit での反応。
Ada 2012: The Joy of Contracts : programming Design by contract has been tried for a very long time and never really imposed itself, for a bunch of reasons: It only really works for trivial cases and fundamental structures, such as queues or stacks. Good luck expressing such contracts for database or network access, or anything with heavy use of side effects, which is still sadly the norm in today's real world software. In the cases where you can express these constraints, it's much more productive to capture them in a test than baking them in your production code, even if such code can usually be excised at build time.
週末、本を何冊か持ち出して喫茶店辺りで読もうかと思ったりするんですが 近くの駅周辺の喫茶店ろくに空きがありゃしねえw スタバやドトール、上島珈琲、コメダ等々数店あるんですがどこもダメ。 いいところないすかねえ。
Objective-C プログラマー向けのCの本とか。 Win Free Copy of “All the C You Need to Know” | Mobile Orchard
Win Free Copy of “All the C You Need to Know” | Mobile Orchard This time we have teamed up with Bill Dudney to organize a Giveaway of his latest book “All the C You Need to Know”, this time one lucky winner can win a free copy of the book. Keep reading to find out how you can be the winner! Description: This short book helps Objective-C developers understand C, the base language underneath Objective-C. After finishing this book you will have a much deeper understanding of the C language and how many of its features are used to give Objective-C flexibility. If you’ve ever wondered why the NSError ** parameter at the end of many Foundation APIs has two asterisks instead of one this is the book for you. Read more about this book here How to Enter? All you need is leave a comment below and we will randomly choose one lucky winner, it’s that simple. Deadline The contest will close on 30/01/13 PT. The winner will be contacted by email, so be sure to use your real email address when you comment!
へーおもしろそう。んじゃあ試しに…と思ったら
iTunes - Books - All the C You Need to Know by Bill Dudney
Requirements: This book can only be viewed using iBooks 3.0 or later on an iPad. iOS 5.1 or later is required.
ぬーん。
参考になるような(Python の)コードを書いている人を教えてというお悩み。 Grow as a Python Developer by reading other peoples code : Python
Grow as a Python Developer by reading other peoples code : Python Hi r/py, Everyone knows that a big part of learning and improving yourself as a developer is reading other peoples code. What projects on Github do you think are good examples of code for a new or intermediate python developer to look at??
今日のTL。 特に検索などはせずにわたしの視界に入ってきたものから抜き出しました。 順番を一部入れ替えたりしています。
Haskell に限らず関数型プログラミングが出来る言語の多くの初心者向け本や情報がこの変なクイックソートを入門者殺しに使いはじめている。あんまり良くないことだと思います
— 旧正月まで平常運転・星のキャミバ様さん (@camloeba) 2013年1月27日
@camloeba haskell歴二日目のヒヨッコが感動に昂ぶって書いた文章なのでご容赦、ご教示くださると嬉しいです。
— えぴんさん (@spinute) 2013年1月27日
@spinute 簡単に言うと、クイックソートの本質であるin place sort でないところがまずいです。そして実際遅すぎて実用になりません。クイックソートのような遅いソートアルゴリズムでしかないです。Haskell クイックソート 偽物 などで検索してください。
— 旧正月まで平常運転・星のキャミバ様さん (@camloeba) 2013年1月27日
@camloeba なるほど、理由はまだわかったようなわからないようなですが、c++よりはひとまず確かに遅いようです。検索したら色々出てきたので読んでみます、ご指摘ありがとうございます。
— えぴんさん (@spinute) 2013年1月27日
あれ、どこが変なんだろう。 RT @camloeba Haskell に限らず関数型プログラミングが出来る言語の多くの初心者向け本や情報がこの変なクイックソートを入門者殺しに使いはじめている。あんまり良くないことだと思います
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
in-placeな実装がかんたに作れるってのはquick sortの本質ではないと思う。実装選択の際の判断材料にはなると思うけど
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
偽物というのは、あまりにも語弊があるし、そっちのほうがよっぽど初心者を混乱させるし良くない。
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
Haskellで真面目にクイックソート書くと,一旦 STArray 辺りに落としてから普通に手続き型言語みたいなソートをすることになりますね.
— 銀天すばる@野良C++erさん (@SubaruG) 2013年1月27日
べつにあれそのまま使ってもいいでしょう?何がダメなの?
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
quick じゃない quick sort を使うメリットって無いですし. 不安定だし最悪ケースあるし
— 銀天すばる@野良C++erさん (@SubaruG) 2013年1月27日
関数型プログラミング言語に効率を求めちゃだめだと思ってる。Haskellの入門書とかに書いてあるクイックソートって先頭の要素をピボットにしてる時点で実用的なものじゃないことは明白だし
— 猫の威を借る狐ぬるかるさん (@nullkal) 2013年1月27日
メモリ意識したいならC言語でポインタと戯れててください
— 猫の威を借る狐ぬるかるさん (@nullkal) 2013年1月27日
本物のクイックソートは5行じゃない #本物のプログラマはPascalを使わない
— ☣仕様生命体☣さん (@Cryolite) 2013年1月27日
僕は最適化を信じる!!
— 猫の威を借る狐ぬるかるさん (@nullkal) 2013年1月27日
pivotの選択?inplaceじゃない?それはクイックソートのアルゴリズムとはなんも関係ないと思う。
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
@tanakh クイックソートの本質というのは計算量が平均してn log nになることや最悪時n^2になることですよねぇ。定数項は本質じゃないと思います。コンピュータの本質がメモリ書き換えというのも、少し違う気がするし。
— きしだ✅さん (@kis) 2013年1月27日
@tanakh コンピュータの本質というのなら、メモリ書き換えだけでなく、メモリ確保・開放もあわせて本質で、関数型でのクイックソートの例は後者を利用しているということもできる気がします。
— きしだ✅さん (@kis) 2013年1月27日
@kis 僕もそう思うのですねえ。なんか違うって人は、そういうところじゃないところにクイックソートの要件があるというのかなんだろうか
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
insertion ソートはケツからSwapしないといけないとか、そういうことになりかねないし、そういうのは実装の詳細であって、そういうことをいうから余計混乱するんですよ
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
constexpr でクイックソートを実装すると計算量が Ο(N^2logN) になるので偽物です。Ο(N^2) 未満の計算量のソートはまだ発見していないので誰か考えてください。
— 狂える中3女子ボレロ村上/陶芸C++erさん (@bolero_MURAKAMI) 2013年1月27日
メモリのことを考えずただ正しく動くプログラムを書いてればいいというなら世の中みんなボゴソートで溢れかえってる
— わさびずさん (@wasabiz) 2013年1月27日
ボゴソートが、正しく動く…??
— くいなちゃん。さん (@b2) 2013年1月27日
ホーアのクイックソートの論文読んだことないんだけどあれって何が書いてるの.そもそも何が発生したらクイックソートなの.
— uezato yuyaさん (@ranha) 2013年1月27日
ガチガチにチューニングしたソートがライブラリにあるので、そっちつ帰ってんなら、そもそも誰が実装したものも使えないしどっちにしろあんま変わらんじゃん
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
確実に停止することが保証されたボゴソートを書けるならそれ凄いのでは RT @wasabiz: メモリのことを考えずただ正しく動くプログラムを書いてればいいというなら世の中みんなボゴソートで溢れかえってる
— 狂える中3女子ボレロ村上/陶芸C++erさん (@bolero_MURAKAMI) 2013年1月27日
結局クイックソートは手続き型言語での実装が沢山なされてきているせいで、どうしても関数型言語での実装は実用上難があるというのが現状なのでは
— 猫の威を借る狐ぬるかるさん (@nullkal) 2013年1月27日
だからあれがなんで実用できないとか、間違ってるとかそういう話になるのかわからない。あれはあってるし、計算量も正しいと思うんだけど。
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
うーん、計算量の係数部分は未来に投げていいのでは、という理解なんだけど
— κねこせんさん (@necocen) 2013年1月27日
メモリの話だから鳩ノ巣ソートの方が良かったかな
— わさびずさん (@wasabiz) 2013年1月27日
fibもあれは正しいし、qsortも正しいけど、sieveが間違ったるから、なんかごっちゃにされてるんじゃないか?
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
クイックソートのアルゴリズム:pivotの選択、pivotでの分割、再帰的にソートじゃないんか。なんで分割をinmemoryでやってないからおかしいということになるんだ。ちょっとわからない。
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
そういえば Haskell でのクイックソートってリストの連結操作にかかるオーダーを考慮しても most case で Ο(N log N) って認識であってる?
— 銀天すばる@野良C++erさん (@SubaruG) 2013年1月27日
@subarug avg case O(nlogn)であってます。
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
入門書に書かれてるソートアルゴリズムなんて手続き型のヤツでも実用上ライブラリの実装に劣ることは間違いないけど 仮に関数型言語でそれと同等の効率のモノを書こうとするとどうしても手続き型言語で書いたような実装になっちゃうってことなのでは
— 猫の威を借る狐ぬるかるさん (@nullkal) 2013年1月27日
「javacコマンドでのコンパイル・javaコマンドでの実行がJavaの本質」みたいな話とかぶるなー。それはあなたにとってのJavaの原点であって本質ではない、という。
— きしだ✅さん (@kis) 2013年1月27日
注釈付ける必要はないんではないのか。それはクイックソートの勉強じゃないか。そんなのみんな知ってる。って思ってても、HaskellからCS入る人もいるんですかね。
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
でもそれこそCの長いよく乗ってるコードだって、worst cast なんもしてないこと多いし、注釈する必要がないんじゃないか
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
偽物だとか変だとかは字面の問題であって、容易に書けるけど効率が悪い実装を初心者に刷り込むんじゃないの、というのが元発言の意図じゃないの? ただ、これについてもまずは忠実に綺麗に書けることを示した上で、でも効率を考えると……という流れなら教科書として正しい筋道じゃないの?と思う。
— Yak!さん (@yak_ex) 2013年1月27日
マージソートだったらそんなに論争怒らないじゃないですかぁ。はあ。
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
HaskellのあのQuickソートのベンチとってくださいよ。randomとworstで
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
なんかクイックソートの話題、参加している人の前提が揃ってない感じ
— 猫の威を借る狐ぬるかるさん (@nullkal) 2013年1月27日
クイックソート,partitionの際に(部分)セグメントの左端と右端からそれぞれlowerポインタとupperポインタを走らせて交差するまで交換しますと書いてるし,dividing lineでpartitionした後は計算機の特性によって小サイズセグメントをアレせよ(続く
— uezato yuyaさん (@ranha) 2013年1月27日
アレ出来ないサイズならまた分割せよーみたいなことを書いてるけど,明確にrecursiveという語を用いずに,nestという継続を覚えるような逆順に覚えるような何か(stackという語を用いていない)にガンガン覚えておきますとか書いてるな
— uezato yuyaさん (@ranha) 2013年1月27日
余計なメモリ領域を確保しないソートなら未だに quick sort が最速だけど普通は worst case 対応のために intro sort 使うことが多いですね
— 銀天すばる@野良C++erさん (@SubaruG) 2013年1月27日
intro sort は「最初は quick sort して,再帰が深くなったら heap sort に切り替える」ってだけのソート
— 銀天すばる@野良C++erさん (@SubaruG) 2013年1月27日
ああいや脚注でALGOLを使った実装ではrecusionを使っているのでもうちょっと簡単には見えると書いてる
— uezato yuyaさん (@ranha) 2013年1月27日
inplaceであるCのソートと、普通のリスト処理のHaskellのソートを比較して、コードが短いってのはフェアじゃない、ってのもわからんでもないが、Cではそれが書きやすい方法なんだから仕方がないんじゃないのか。
— Hideyuki Tanakaさん (@tanakh) 2013年1月27日
Haskell を勉強しようって人に対しては CS 的な註釈がふんだんにあったほうがニーズに合ってる気がするけど、ひょっとしたらこれからはそうでもなくなってくるのかもしんない。
— ひらいさん (@h_hirai) 2013年1月27日
別にクイックソートがin-placeじゃなくてC言語より超簡単になってもいいけど、逆のケースとして簡単なDPとかがHaskellにするとすごい魔術っぽくなるのも紹介してほしい。一般的な「データ構造とアルゴリズム」はC言語脳で考えられてるから関数型脳で再構築しないといけない。
— INADA Naokiさん (@methane) 2013年1月27日
すごいH本に載ってたクイックソートのコードは,クイックソートの本質をついたいいコードだと思います.
— Ichinose Shogoさん (@shogo82148) 2013年1月27日
あ、Togetterでまとめてた人が ○| ̄|_ 【またかよ】「Haskellでクイックソート」問題【何度目だ】 - Togetter
関数プログラミングやるよー。という。 Functional C Programming: Higher order functions, closures, lifted types… | Charles Cary's Blog
Functional C Programming: Higher order functions, closures, lifted types… | Charles Cary's Blog TL;DR tl;dr You can implement many functional programming techniques in C. Map, filter, closures, and lifted types are all very possible. Function pointers are worth understanding. Code. Functional C I was having a conversation with a lover of Haskell who lamented C's lack of functional constructs. Eager to show him that C does in fact support functional programming, i decided to write a small, functional C library. I posted the code here and hacker news seems to have enjoyed it. The following is a brief explanation about how to go about building a functional C library. It walks through the basics and leaves the implementation details to the code itself. Here is a more technical README.
で、元記事はこの後いくつか実装例を出してるんですが、そこまでやらんでもねえという気が。
Q. すでに1byte命令空間は全て埋まっているCPUがあります。これに1byte prefixを増やすにはどうすればよいでしょう?
Technology tends to serve one of two purposes - to make us more efficient at some task, or to entertain us in our resulting free time. However, when we fixate on productivity to the exclusion of everything else, we often forget about the big picture.
Code review spreads awareness of changes across the community. I’m changing X, and I want you to know about this, too.
ここはARM最適化勉強会とか開いてその筋の人に教えてもらおう計画.
きれいなコードを書くための…… - 闘わないプログラマ Version 3.1 SP2
この本買ってみました。
Javaプログラマーが主なターゲットかな(サンプルがJava)という感じでした。
んで、楽するために道具を使おうということでawkを例に出しているところがあるんですが
awk -fscript.awk < input.txt
のように入力をなぜかわざわざリダイレクト。
対応するJava のプログラムコードに合わせたかとも思うんですが、
いやそのなんというかごにょごにょ…
昨日だったかこの動作をついったで知って、なんでまたそんなけったいな動作を と思ってたんですがその解説が。 Stupid Languages | Hacker News
Ned Batchelder: Stupid languages Stupid languages Friday 25 January 2013 A popular pastime among programmers is to make fun of programming languages, or at least the one you choose not to use. For example, Gary Bernhardt's 5-minute talk WAT is all about unexpected behavior, mostly in Javascript. Today brought another example of surprising Javascript behavior: > ['10', '10', '10', '10', '10'].map(parseInt) [ 10, NaN, 2, 3, 4 ] I looked at this and thought, like most others, "WAT??" I wanted to understand how Javascript produced this result, so I read up on Javascript's map() function. Once I read the docs, it was clear what was going on. In most programming languages, the map function accepts a function of one argument, invokes the function for all of the values in an array, and produces the array of results. Javascript doesn't work quite that way. In Javascript, the map function accepts a function of three arguments. For each element in the array, the function is passed the element, the index of the element, and the entire array. So this map function makes these function calls: Javascript では map関数は三つの引数を受けとります。 配列の要素ごとに、関数は配列要素、その添え字、配列全体が渡されます。 ですから先のmap関数では次のように呼び出しが行われます。 parseInt('10', 0, ['10', '10', '10', '10', '10']) parseInt('10', 1, ['10', '10', '10', '10', '10']) parseInt('10', 2, ['10', '10', '10', '10', '10']) parseInt('10', 3, ['10', '10', '10', '10', '10']) parseInt('10', 4, ['10', '10', '10', '10', '10']) The second argument to parseInt is the base to use when converting the string to an integer. A value of 0 means, "do the right thing," so the first result is 10. A base of 1 makes no sense, so the second result is NaN. And 2, 3, and 4 produce 2, 3, and 4. Javascript silently ignores extra arguments, so the array passed as the third argument has no effect. parseIntの第二引数は文字列を整数に変換するときの基数として使われます。 この値が0の場合、「正しい動作をする」ので最初の結果は10となります。 基数が1の場合は意味がないので二番目の結果はNaNになります。 2、3、4に対しては2、3、4を生成します。 Javascript は黙って余計な引数を無視するので、第三引数として渡された配列は 結果に影響を及ぼしません。 So is Javascript's map wrong? It behaves differently than the map found in lots of other languages like Python, Ruby, Lisp, Perl, Haskell, and so on. But it isn't wrong. Working in more than one language, it's frustrating dealing with their differences. New Python learners chafe at the fact that Python names work differently than C variables. They want to know if function arguments are call by value or call by reference (neither). I saw a person on IRC once who was upset that Python lists were called lists instead of arrays. 以下略
なるほどねえ。 にしてもどういう経緯でこの仕様になったんだろか。
じかんねー
二子玉
駅周辺がかなり変わったといえば、二子玉川もそうですね。
わたしが高校生だった頃は以下略(通っていた高校の最寄り駅が二子玉川の隣の駅だった)。
二子玉川駅 - Wikipedia
今回(と多分次回)は結構お勧めできる気がする。 なんでああなったのかというのが納得できた。 アキバ系!電脳空間カウボーイズ: 第三百四十五回 enchantMoon筐体デザイン血風録 前編
ふとした思いつき(疑問)
バグの修正期間/変更量
【入門】Common Lisp その9【質問よろず】 884 デフォルトの名無しさん [sage] 2013/01/25(金) 23:59:41.91 ID: Be: land of lisp 翻訳、来月らしいね。読みたい。 885 デフォルトの名無しさん [sage] 2013/01/26(土) 00:14:57.82 ID: Be: 本当だ Land of Lisp近日発売 http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-87311-587-0 886 デフォルトの名無しさん [sage] 2013/01/26(土) 00:43:08.06 ID: Be: on lispやプログラミングClojureのようにebookも出るのかな。 887 デフォルトの名無しさん [sage] 2013/01/26(土) 07:41:51.32 ID: Be: オーム社さんオーム社さん ここまできたんだからこれもやってください http://nostarch.com/realmofracket 888 デフォルトの名無しさん [sage] 2013/01/26(土) 10:10:47.01 ID: Be: land of lispが翻訳されるのか Grand Theft Autoのもじりのヒャッハーな感じがどう訳されているのか期待してる
887 の本が気になったのでリンクをたどると Realm of Racket | No Starch Press
Realm of Racket | No Starch Press Racket is a descendant of the language family that includes Lisp and Scheme. The language was designed with beginning programming students in mind, and boasts succinct syntax and a gradual learning curve. Inspired by The Land of Lisp, Realm of Racket incorporates cartoons and wacky e xamples while teaching readers the fundamentals of the Racket language. Readers will learn to create several complete Racket-based games and even incorporate their own graphics with the user-friendly programming environment DrRacket. The games get more sophisticated with each chapter as readers gain mastery over crucial concepts like recursion, loops, and distributed programming.
Use coupon code PREORDER to get 30% off all pre-order books!
まだ完成してはいないのね > pre-order
30% off とはいえ紙本だけっぽい
(ただし紙本買うともれなく電書も手に入る)。
Free ebook edition with print book purchase from nostarch.com!
山浦恒央の“くみこみ”な話(50):残存バグ数を予測する、「Gompertz曲線」による推定法とは? (1/2) - MONOist(モノイスト) 気がつかなかったけど、新しい回がきてた。 とはいえ正直この一連のバグ数手法についての記事で何が言いたいのかがわからない。 どれもこれも使い物になんてならないよということを言ってるわけでもないし といってそのありがたみが伝わってこないような。 それと妙に上滑りした感のある文章がなんとも。 数式嫌いのやつがプログラマーになるとか何とかそのへんのやつね。
次回のサンプリング云々てのはどれのことだろねい。
Twitter / miura1729: mruby のJITがgcc ... melancholic afternoon SIGSEGV on ubuntu · Issue #1 · miura1729/mruby
edx の扱いだったとは。
なるほどというものもこれはどうかなあというものも。 Some Small Refactorings in Ruby - Caius Theory
Some Small Refactorings in Ruby - Caius Theory Some Small Refactorings in Ruby Caius Durling - 2013-01-16 12:23:54 Here's a few things I refactor as I write code down initially. Not entirely convinced it's strictly refactoring, but it's how I amend from one pattern I see in a line or three of code into a different structure that I feel achieves the same result with cleaner or more concise code. Multiple equality comparisons (略) Assigning multiple items from a nested hash to variables (略) Returning two values conditionally Sometimes a method will end with a ternary, where depending on a condition it'll either return one or another value. If this conditional returns true, then the first value is returned. Otherwise it returns the second value. You could quite easily write it out as an if/else longer-form block too. def my_method @blah == foo ? :foo_matches : :no_match end My brain finds picking the logic in this apart slightly harder mentally, than if I drop a return early bomb on the method. Then it reads more akin to how I'd think through the logic. Return the first value if this conditional returns true. Otherwise the method returns this second value. I think the second value being on a completely separate line helps me make this mental distinction quicker too. So I'd write it this way: def my_method return :foo_matches if @blah == foo :no_match end Returning nil or a value conditionally Following on from the last snippet, but taking advantage of the ruby runtime a bit more, is when you're wanting to return a value if a conditional is true, or otherwise false. The easy way is to just write nil in the ternary: def my_method @foo == :bar ? :foo_matches : nil end However, we know ruby returns the result of the last expression in the method. And that if a single line conditional isn't met, it returns nil from the expression. Combining that, we can rewrite the previous example into this: def my_method :foo_matches if @foo == :bar end And it will still return nil in the case that @foo doesn't match :bar. Returning a boolean Sometimes you have a method that returns the result of a conditional, but it's written to return true/false in a conditional instead. def my_method @foo == :bar ? true : false end The really easy refactor here is to just remove the ternary and leave the conditional. def my_method @foo == :bar end And of course if you were returning false when the conditional evaluates to true, you can either negate the comparison (use != in that example), or negate the entire conditional result by prepending ! to the line.
後置 if 使ったのはなんか違和感あるなあ。 うまいとは思うけど。
確かに join とか欲しいなあと思うことはままある。
awk で $2から$NF まで出力すると言うやつが、 cut コマンドみたいに -f2- とか出来れば良いのに.
さすがに awk '{for(i=2;i<NF;i++){printf("%s", $i)}print $NF}' はないなと.
— 那須 剛さん (@takechin_n)
2013年1月25日
@takechin_n $1="" でawkに行を再構築させて、print $0じゃダメですか?
— ot2sy39さん (@ot2sy39)
2013年1月26日
これでうまくいく場合もあるけれども、 レコードの再構築が発生した場合、区切りに使われるのは FS でなくて OFS なんだよね。 あれ、最初の方のコード辺だと区切りが丸きりないなw
だけど自炊の場合って本を裁断するので当然売ることは出来ず廃棄するしかないので、そういうところに売られないのですよね。
テレ玉でのガンダム(無印)最終回。
やっぱり映画版でかなり上書きされているので、
特にBGM に違和感が。
「え、こここで『めぐりあい』だろー」とか。
映画版にはなかった
「冗談じゃないよ。死にに行くわけじゃないんだ。
護衛機をまわせ。ザクでいい、ザクで!」が聴けたのは良しw
この記事を投稿したというツイートがやたらとRTで回ってきまして。 イケてるしヤバい言語 REBOL - yojikのlog はてなブックマーク - イケてるしヤバい言語 REBOL - yojikのlog githubにソースコードがあげられたのが一か月前だし、 なんでこのタイミングだという感じが否めない (さらにはブックマーク数の伸びが以下略)。
Rebol 3 Source Code Released! : programming
Rebol 3 Source Code Released! : programming Rebol 3 Source Code Released! (rebol.com)Source released under the Apache 2.0 license. Repository: https://github.com/rebol/r3 ...and apparently there is an underused reddit: /r/rebolWell, the announcement that it was going OSS was a few weeks ago, now that day has arrived. I think the peak interest that Rebol had was shortly after its initial release, as on Linux the now common GUI libraries weren't out for too long, both GNOME and KDE in its infancy. So non-standard, quick to create GUIs weren't clashing with a non-existent standard look and feel yet and there was more interest in such technologies (including Rebol, Tcl/Tk and even Java/Swing). The language itself appeared as a batteries-included mix of Forth, Tcl and Lisp, but the fact that it was closed source didn't exactly excite a lot of hobbyists. I really wonder how popular this will get. Scripting languages actually seem more consolidated right now (basically Python and Ruby, with Tcl and Perl being mostly left behind), even on Linux GUIs have to be more standardized, and "just" built-in support for common protocols isn't enough anymore, as now you have to cope with more specialized APIs, too (i.e. not just HTTP/POP/SMTP, but OAuth, Twitter etc.). There's a module system, so let's see if a CPAN/Gems-like site will emerge, this tends to make or break a scripting language nowadays. If nothing comes to place, at least it's another interesting toy language to fiddle around with (cf. Factor, Io, Icon).
今になってソースコード公開しても手遅れなんじゃね? というのは以前から云われてましたね。
hacker news でも → REBOL language source code now on github | Hacker News
公開時のアナウンス
Comments on: R3 Source Code Released! 12-Dec-2012 10:33 GMT Article #0519 You probably thought the source release would never happen? Am I right? Well, it's there now in github. This is preliminary. Once I know some of you have built it successfully, I'll make a more public announcement and add a tarball for download from rebol.com. I'll check in here for a several minutes every night to respond to any questions. Let's see what happens... Who will be the first to port it to Android? -Carl Soon: A roadmap of where I'd like to see R3 go...
ソースコードはこちら rebol/r3 · GitHub
気がついてなかったけど結構関連のスレッドがたってたっぽい。 REBOL to become open source | Hacker News Rebol's future | Hacker News Why Rebol was never open-sourced I will never know. I guess Carl came from a dif... | Hacker News
そして、パーサにはできるだけ手を入れないというのが Python 界の不文律なのだ。
ついったでタイトルを見かけて、100円だったので買ってみたけど大変良かった。 筆者はマリーンズのファンらしいのだけど、よく見てるw Amazon.co.jp: 湘南シーレックスが好きだった。 eBook: Nishiyama Kazuhiro: Kindleストア 湘南シーレックスについての基本的なところはこちらを→ 横浜DeNAベイスターズ (ファーム) - Wikipedia
Jason Little and Andrew Annett explain different behavior models helping to understand resistance to change, where it comes from and how to encourage the desired behaviors.
お、またおもしろそうなものが The Pragmatic Bookshelf | Good Math in beta; Working with TCP Sockets もうβが買えるのねどうしよう The Pragmatic Bookshelf | Good Math
だめだ
観てきました(限定BDはともかくクリアファイルとか売り切れでしょぼんぬ)。
色々と旧作からの違いがさらに強く出てきたんですが、
どうなんですかね。自分は割と好意的に見ているつもりなんですが
2ちゃん某スレをみるに「ガミラスびいき」が過ぎるという意見もあるようで
(確かに云われりゃあそうなんですが)。
もうちょっと細身のメモ帳が欲しいんだよなあ。大きさはこのくらいで。
長年追いかけていたとある件で、偶然から進展があったのだけど 纏めている時間と手間がががが。 まだ調べなきゃいけないこともあるし。
追加
構造体の最後の要素を char[1] にして、malloc で調整して可変長っぽくする技は結構有名な技だと思ってたんですがね ≫ バカが征く jitu.org/~tko/cgi-bin/b…
— ζさん (@zetamatta) 1月 20, 2013
@zetamatta Struct Hackという有名なテクニックだったんですね。 c-faq.com/struct/structh…
— tko@jituさん (@gdgdiler) 1月 23, 2013
おぉ、なんか格好いい名前ですね!(名前は知りませんでした…) RT @gdgdiler zetamatta Struct Hackという有名なテクニックだったんですね。 c-faq.com/struct/structh…
— ζさん (@zetamatta) 1月 23, 2013
買ってしまったものは仕方ないので使っているのですが、
良いと思うところも確かにあるものの出した金額に見合うものかというとどうかなあ…
カバーがしっかりした厚みのあるものは思ったより使い勝手がよいですね。
それで手帳コーナーで調べてみると、他のメーカーの手帳(ノート)ってこういうハードカバーみたいの
ないのですね(あるのかもしれないけどみつからなかった)。
まあ今年の終わりに次を買う気になるかどうかw
Jamie Allen explains some of the terminology encountered by Scala developers and not only: OO features, pattern matching, functional programming, actors, futures, tuples, implicits, type theory, etc.
Jonathan Lipps introduces Selenium, a functional testing framework, discussing and demoing how Selenium is used in the automated testing stack, then shares some gotchas and best practices.
流行に乗った。というわけではないんでしょうが、とりあえずチェックしよう。
1/22新刊:ISBN978-4-88337-860-9 ソシム『きれいなコードを書くための鉄則』Lepton著 13冊入荷
— ジュンク堂書店池袋本店/PC書さん (@junkudo_ike_pc) 1月 22, 2013
デバッグの理論と実践 ―なぜプログラムはうまく動かないのか
この本の筆者なんかも関係してるんですかね。この方面。
ここ数年、デバッグ技術およびバグ発見手法について飛躍的な進展があり、脆弱性発見のペースが格段に上がっている。 そのことはセキュリティに興味がないシステム管理者も知っておいたほうがいい。
— Youki Kadobayashiさん (@youki10) 1月 22, 2013
今日はついった特集。というわけではないんですが
構造体の最後の要素を char[1] にして、malloc で調整して可変長っぽくする技は結構有名な技だと思ってたんですがね ≫ バカが征く
jitu.org/~tko/cgi-bin/b…
— ζさん (@zetamatta)
1月 20, 2013
Win32 API の構造体にもあるはず。 QT @zetamatta: 構造体の最後の要素を char[1] にして、malloc で調整して可変長っぽくする技は結構有名な技だと思ってたんですがね ≫ バカが征く
jitu.org/~tko/cgi-bin/b…
— Yak!さん (@yak_ex)
1月 20, 2013
@zetamatta これ技名なんていうんでしたっけ。MS系の書籍で見たような気がするんですがおもいだせない。
— saitohaさん (@kefir_)
1月 20, 2013
@kefir_ 言われてみると、名称の類、全然知らないですねぇ。僕も初めて見たのが遠い昔すぎて全く思い出せません…
— ζさん (@zetamatta) 1月 20, 2013
@zetamatta C99 からは struct obj *p[]; という風に配列のサイズを書かない形式 (不完全型) が合法になっています。 サイズから 1 を引く処理が不要になるので便利ですよ。
— (32) 齊藤敦志さん (@SaitoAtsushi) 1月 20, 2013
懐かしい技だなー。最近じゃ組み込みとかやらんからとんと縁がなくなったCの世界だ。
— 水底さん (@mnzktw)
1月 20, 2013
構造体の最後を char [1] にして可変長レコードにする業は業が深い
— AoiMoeさん (@AoiMoe)
1月 20, 2013
構造體の最後何時もchar []にしてた。規格的にどうなのかは見てない。
— 隅須 ゆとりーなさん (@nagoya313) 1月 20, 2013
gcc拡張ではゼロ要素配列の宣言が許されているので云々。
— 水底さん (@mnzktw) 1月 20, 2013
構造体の最後の要素を char[1] にするのには、malloc(sizeof(struct ...) + strlen(s)) すると、char[1] でサイズが +1 されて終端の \0 がちょうど入る大きさになる、というややこしい整合がある
— きしもとさん (@ksmakoto) 1月 20, 2013
ええいC99おんりーにして可変長配列はhoge[0]にさせてくれ!
— とみながたけひろさん (@takehiro_t) 1月 20, 2013
あえて末尾を char [1] にせずに、 (char *)&ptr[1] とするのとどっちがマシか説
— AoiMoeさん (@AoiMoe) 1月 20, 2013
あとは、末尾のレコードを char * にしといて初期化時に (char *)&rec[1] を代入しとく流儀とかあるな。
— AoiMoeさん (@AoiMoe) 1月 20, 2013
まあどっちも良く使われるクソイディオムなので、知らんとCのシステムコードは読めん
— AoiMoeさん (@AoiMoe) 1月 20, 2013
char [1] 使った可変長な奴は使い方間違うとトラウマを大量生産する。。。
— 「サンマーお」向上委員会さん (@cvsync) 1月 20, 2013
自分のTLで気がついたものを抜き出しただけなので、この他にも言及していた人は結構いるんじゃないかと思います。 検索とかする気にはなりませんw
Eigenstate.org::The home of Ori Bernstein on the Web. Myrddin is a language that I put together for fun, but which has developed delusions of usefulness. It's made by one coder with too little spare time on his hands.
Clay Programming Language a language designed for generic programming
Myrddin: A language for coding close to the metal. : programming A few people were telling me I should make an announcement about my pet project, so here it is. It's far from finished, but it's reaching the point where you can start to implement things without running into serious compiler bugs too often. There are a few important unimplemented features, but I think I can hammer them out in the next while. I'd be happy to answer any questions, etc.
ゆるゆるとチェック。
むきりょくー
飽きたので投げる
Why Learn Scala in 2013? - The Typesafe Blog Why Learn Scala in 2013? Dec 28 / 9:00am 2012 was a big year for the Scala programming language - with monumental releases, adoption by major enterprises and social sites alike and a Scala Days conference that knocked the socks off years past, we'd like to take a quick moment to highlight a few things that address the "why learn Scala" question you may be asking yourself. 2012年はプログラミング言語 Scala にとって big year でした。モニュメントとなるようなリリース (monumental releases) があり、大企業やソーシャルサイトによる採用があり、 knocked the socks off years past した Scala Days カンファレンスがありました。 we'd like to take a quick moment to highlight a few things that address the "why learn Scala" question you may be asking yourself. 19 Pages of Scala Jobz! The Knoldus Software team has created the Scala Jobz app (built with Scala and Play) to provide a central listing of Scala jobs. There are already 19 pages of jobs! There is no doubt that the job market for Scala developers is huge and growing quickly! Knoldus Software チームは Scala jobs の central listing を provide するために Scala と Play を使って Scala jobz アプリケーションを作り上げました。すでに19ページ分にもなる Scala jobs がすでにあったのです! これは疑いもなく、Scala developler にとっての job market が巨大で急速に成長しているということです! Should You Learn Scala? あなたは Scala を学ぶべきか? Jean Yang, a Ph.D. Computer Science student at MIT, makes a great case for learning Scala, arguing that its libraries and interoperability with Java make it ideal for mainstream adoption. Jean points out that learning Scala makes you more marketable as a developer, since companies like Twitter, LinkedIn, Foursquare and Quora are all looking for hires with Scala skills. great case for learning Scala を make した MIT の Ph.D Computer Science student である Jean Yang は Java のライブラリおよび Java との interoperability が Scala の mainstream adoption を理想的なもの にしたと主張しました。Twitter や LinkedIn、Foursquare、Quora といった企業がみな Scala のスキルを 持った人材を捜し求めていたので、Jean は Scala を学ぶことがあなたを developer としてより marketable にすると指摘しました Scala Second Impressions Scala の Second Impresions If you made the leap to Scala and found features lacking or simply were not persuaded, then check out Rod Hilton's Scala Second Impressions blog post. Rod previously shared his early thoughts on Scala about a year ago, and originally had some issues with the compiler, APIs and general youth of the language. But his new article revises these assumptions and makes the delightful statement that "Scala is awesome!" もし Scala を使い始めてみて足りない機能であるとか納得のいかない機能を見つけたなら、Rod Hilton の Scala Second Impressions という blog post をチェックしてみてください。一年ほど前、Rod は コンパイラー、 API、general youth of the language にいくつか問題があるという Scala についての彼の early thoughts を share していました。しかし彼の新しい article はこれらの仮定を白紙に戻して、 "Scala is awesome!" という delightful な主張をしています。 Scala is like Git Scala は Git に似ている Sander Mak discusses complexity issues surrounding Scala on Branch and Bound, tackling the topic of how the language is often portrayed as being too hard to pick up. Sanders compares these statements to similar arguments around Git, giving the Scala complexity discussion an entirely new perspective. Sander Mak は Branch and Bound で Scala をめぐる complex issues を議論して、 この言語 (Scala)が being too hard to pick up としてどれほど頻繁に portray されたかという topic に tacle しました。 Senders はこれらの statements を Git を巡る同様の主張と比較し、 Scala の complexity discussion に完全に新しい perspective をもたらしました。 Branch and Bound Blog - Sander Mak - Branch and Bound Scala, the Next Frontier Finally, if you missed Barb Darrow's article on GigaOm titled "How Martin Odersky rewrote the rules of coding for a mobile world", it's definitely worth reading. Barb outlines the benefits of Scala in a real-world context and links the language to advancements in mobile and cloud environments. Her portrayal of Odersky as "belonging in the same pantheon of programming gods as James Gosling, the father of Java itself; Niklaus Wirth, who wrote Pascal (and with whom Odersky studied); Anders Hejlsberg, of Turbo Pascal fame; and Bjarne Stoustrup, who wrote C++ and other languages," makes us pretty proud! 最後にもし、 GigaOm にある "How Martin Odersky rewrote the rules of coding for a mobile world" (Martin Odersky はどのように mobile world のためのコーディングのルールを書きかえたのか) というタイトルの Barb Darrow の article をまだ読んでいないのなら、是非とも読んでみてください。 Barb は real-world context における Scala の benefits を outline して、モバイル環境やクラウド環境に おける advancements のための言語と結びつけています。 彼女の "belonging in the same pantheon of programming gods as James Gosling, the father of Java itself; Niklaus Wirth, who wrote Pascal (and with whom Odersky studied); Anders Hejlsberg, of Turbo Pascal fame; and Bjarne Stoustrup, who wrote C++ and other languages," としての portrayal of Odersky は makes us pretty proud! New Year's Resolution to Learn Scala in 2013 If you've made a resolution to learn Scala in 2013, then get started with the Scala Learning Resources and subscribe to the monthly Typesafe newsletter to follow the latest news. Here's to a Scalacious 2013! Happy New Year!Copyright © 2011 Typesafe, Inc. All rights reserved.
Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming La... が、Kindleストアで55%OFF、1471円になっています。洋書新刊9位。
j.mp/W7CFv0
— 人気電子書籍値下げ情報さん (@amaebooksale)
1月 20, 2013
日曜日に、↑なツイートが流れてきたんですが
Amazon.co.jp: Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers) eBook: Bruce A. Tate: Kindleストア
Kindle 価格: ¥ 1,487
OFF: ¥ 1,748 (54%)
たしかに安くなっている。
でも、出版元の Pragmatic Bookshelf をみると、
The Pragmatic Bookshelf | Seven Languages in Seven Weeks
eBook ($22.00)
こう。数字自体はAmazonの方が安く見えるけど、
The Pragmatic Bookshelf | Seven Languages in Seven Weeks Buy the eBook and get these DRM-free formats delivered immediately: epub (for iPhone/iPad, Android, eReaders) mobi (for Kindle) PDF
↑なわけで、さてどっちがいいんでしょうね。と。
TechLIONへのお誘い@CROSS2013 33枚目に 「640Kはすべての人にとって未来永劫充分なメモリーだ ビルゲイツ 1981」というのがあるんですけど、 そこまで大仰な表現だったっけ? と気になったのでちょっとぐぐってみた(ありがたい時代だねえ)。
Bill Gates - Wikiquote の Misattributed のところにこういう記述が
Bill Gates - Wikiquote 640K ought to be enough for anybody. Often attributed to Gates in 1981. Gates considered the IBM PC's 640kB program memory a significant breakthrough over 8-bit systems that were typically limited to 64kB, but he has denied making this remark. Also see the 1989 and 1993 remarks above. I've said some stupid things and some wrong things, but not that. No one involved in computers would ever say that a certain amount of memory is enough for all time … I keep bumping into that silly quotation attributed to me that says 640K of memory is enough. There's never a citation; the quotation just floats like a rumor, repeated again and again. Gates (19 January 1996), "Career Opportunities in Computing—and More". Bloomberg Business News Do you realize the pain the industry went through while the IBM PC was limited to 640K? The machine was going to be 512K at one point, and we kept pushing it up. I never said that statement — I said the opposite of that. "Gates talks" (20 August 2001) U.S. News & World Report
もうひとつ The '640K' quote won't go away -- but did Gates really say it? - Computerworld
The '640K' quote won't go away -- but did Gates really say it? - Computerworld Computerworld - Here's the legend: at a computer trade show in 1981, Bill Gates supposedly uttered this statement, in defense of the just-introduced IBM PC's 640KB usable RAM limit: "640K ought to be enough for anybody." (略) Despite the enduring popularity of the legend about the 640K comment, though, it's hard to find solid proof that Gates ever said it. For example, Wikiquote, an offshoot of Wikipedia, offers no strong evidence.
さて本当のところは…?(華麗なる投げっぱなしジャーマン
(「投げっぱなしジャーマン」が華麗かどうかの議論はおいといて)
順不同 The Safe-C Programming Language The Safe-C Programming Language : programming Reduce C- language coding errors with X-macros - Part 2 | Embedded Embedded in Academia : C and C++ Aren’t Future Proof
たとえば、患者を待たせないとかえって医療技術の高さが疑われイメージが損なわれるそうだ。
一つ前へ
2013年1月(中旬)
一つ後へ
2013年2月(上旬)
リンクはご自由にどうぞ
メールの宛先はこちら