論争というか、「純粋関数への誤解」に端を発するバトルがあったのでその顛末を記す意味も込めて。ちなみに、この議論は単に正しい/正しくないかであって、関数型推しであるとかは議論の本質でないと思います。 私と反対の意見もあえて掲載しています。まとめへの追加は大歓迎です。
![関数型プログラミングと純粋関数型プログラミング言語に関する意見まとめ](https://cdn-ak-scissors.b.st-hatena.com/image/square/4f2e8b612481ffdfbb5ff5788f2a73c9305f3547/height=288;version=1;width=512/https%3A%2F%2Fs.togetter.com%2Fogp2%2F0be1f6a27aafa6ee2048efd097577e0d-1200x630.png)
僕は、1 日に少なくとも 3,000 行程度、多く書くときで 10,000 行以上のプログラムを書くことができる。その結果、多い月で 10 万行 / 月くらいである。なお、言語は書くソフトウェアの性質上、大半が C 言語である。 また、プログラミングにはバグが付き物だが、ここ 2、3 年の間は、発生するバグの数を極めて少なく保つことに成功している。 とても大きく複雑で、かつレイヤ的に OS に近い処理をたくさんやるプログラムを書く場合は、プログラミングをするときでも、事前の設計が極めて重要となる。設計をうまく行わないと、後になって全面的に書き直しをしないといけなくなったり、パフォーマンスが低下したりする原因となり、開発者の苦痛の原因となる。 当然のことながら、これまで書いたいくつかの大きく複雑といえるソフトウェアの大半の設計も、自分で行った。いかなる場合でも、設計は、最初の 1 回目で確定
本記事を終えた次は? AtCoder Beginners Selection を終えたら、AtCoder 上の過去問が AtCoder Problems に集大成されていますので、片っ端から埋めるような気持ちで精進していきましょう。本記事の続編として AtCoder 版!蟻本 (初級編) AtCoder 版!蟻本 (中級編) AtCoder 版!蟻本 (上級編) AtCoder 版!蟻本 (発展的トピック編) も執筆しましたので参考にしていただけたらと思います。また、アルゴリズムとデータ構造に関するトピックを集大成した書籍として、 問題解決力を鍛える!アルゴリズムとデータ構造 (通称、けんちょん本) を上梓しました。ぜひ読んでみてください。 1. AtCoder とは AtCoder は以下のコンテストサイトを運営しています。今後常に訪れることになるサイトです: AtCoder コンテスト
プログラマが知るべき97のこと大人気の書籍『プログラマが知るべき97のこと』のエッセイを無料で公開中!すべてのプログラマにおすすめの本がウェブで読めるようになりました。 エッセイ一覧分別のある行動関数型プログラミングを学ぶことの重要性ユーザが何をするかを観察する(あなたはユーザではない)コーディング規約を自動化する美はシンプルさに宿るリファクタリングの際に注意すべきこと共有は慎重にボーイスカウト・ルール他人よりまず自分を疑うツールの選択は慎重にドメインの言葉を使ったコードコードは設計であるコードレイアウトの重要性コードレビューコードの論理的検証コメントについてのコメントコードに書けないことのみをコメントにする学び続ける姿勢誰にとっての「利便性」かすばやくデプロイ、こまめにデプロイ技術的例外とビジネス例外を明確に区別する1万時間の訓練ドメイン特化言語変更を恐れない見られて恥ず
スクラッチすくらっち(Scratch)は、無料むりょうで使えるプログラミングぷろぐらみんぐ言語げんごです。スクラッチを使つかえば、パズルのようにプログラミングができて、アニメーションからゲームまで、いろんな作品さくひんを作つくれます。そして、君きみの作つくった作品さくひんをコミュニティこみゅにてぃに共有きょうゆうすれば、世界中せかいじゅうのともだちとつながることができます。あたまの中なかでそうぞうして、プログラミングし、共有きょうゆうする。これがスクラッチです。 はじめに この講座こうざでは、Scratchを使つかったプログラミングをとおして、そうぞう力りょくをやしない、協調きょうちょうしてアイデアを形かたちにする力ちからをみにつけていきます。 スクラッチは、もともと8才さいから16才さいの子供こどもむけにデザインされていたそうですが、PCを操作そうさできて、スクラッチの画面がめんやこの講
Other Languages: 한국어 Русский 简体中文 About Scala school started as a series of lectures at Twitter to prepare experienced engineers to be productive Scala programmers. Scala is a relatively new language, but draws on many familiar concepts. Thus, these lectures assumed the audience knew the concepts and showed how to use them in Scala. We found this an effective way of getting new engineers up to spe
ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 再帰は再帰なんかじゃない!末尾再帰こそが真の再帰なんだ! : melborne.github.com - 「計算機プログラムの構造と解釈」で 末尾再帰というものを知ったので勉強しました 自分の理解を書いてみます 再帰 再帰呼び出しとはある手続きの中で 再びその手続き自身を呼び出すことと定義される*1 でもこの定義は正確じゃない なぜなら再帰呼び出しは自分自身を呼んでいないからだ 階乗を考えてみよう 階乗は数学的にこう定義できる 但し、自然数n=1のときは1 ふつうRubyで階乗メソッドはこう書く def fact(n) if n == 1 1 else n * fact(n-1) end end fact 5 #> 120 factメソッドの中でfactメソッド
2006年04月16日13:53 カテゴリMath書評/画評/品評 TuringとChurchの狭間で The Emperor's New Mind Roger Penrose [邦訳:皇帝の新しい心] なんでひげぽんが反復がすぐにわからなかったかを憶測すると、「変数とは代入すべきもの」、という手続き型言語の呪縛が思い立つ。ひげぽんは別にがっかりする必要はない。hyukiさんさえそれに引っかかっていたんだから。 その証拠を、以下にお見せする。 [結]2005年8月 - www.textfile.org sub fix { my $G = shift; return $G->( sub { my $x = shift; return fix($G)->($x); } ); } これはPerlで実装した不動点関数で、全く問題なく動く。しかし、hyukiさんも知らぬ間に一つ「反則」を犯しているこ
こんにちは!! ヨシオリです!! Java Advent Calendar -ja 2010 : ATND の 29 日目になります!! え? クリスマスで終りじゃないの?? まぁ,いいじゃないですか,適当にダラダラ続けてもw ちなみに ATND の URL のイベント ID 的なのが 11000 なのですごいですね!! というわけで,個人的には Java の中でも 1,2 を争うくらい好きなインターフェースについて書きます!! まずは WEB+DB PRESS Vol.60 をヨムノデス WEB+DB PRESS Vol.60 作者: まつもとゆきひろ,西尾泰和,山田憲晋,城戸忠之,増井俊之,羽生章洋,uupaa,ミック,塙与志夫,原悠,奥一穂,はまちや2,大沢和宏,吾郷協,浜本階生,中島拓,中島聡,矢野りん,角田直行,能登信晴,田村哲也,吉村譲,結城亜砂子,角谷信太郎,石橋秀仁,WEB
Link:ActionScript3.0 サンプル 色温度(33d) Hibernate データ操作(43d) Hibernate Middlegen(44d) Hibernate 基本(44d) Tomcat ベーシック認証(44d) Java javaコマンド(52d) Java JDBC(60d) Java サニタイズ(61d) Java logging(66d) Java JDBC ConnectionHelper(67d) BlazeDS めも(72d) BlazeDS messaging framework(73d) BlazeDS BlazeDSとは?(73d) MS-DOSプロンプト メモ(79d) ActionScript3.0 コアクラス EventDispatcher(81d) Tomcat メモ(81d) Apache tomcat連携(ajp)(86d) MySQ
TheC10kProblem - 「C10K問題」(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと 目次 この文書について C10K 問題 関連サイト まず読むべき本 I/O フレームワーク I/O 戦略 1. 各スレッドが複数のクライアントを受け付ける. そしてノンブロッキング I/O と レベル・トリガ型の完了通知を利用する. 伝統的な select() 伝統的な poll() /dev/poll kqueue() 2. 各スレッドが複数のクライアントを受け付ける. そしてノンブロッキング I/O と 変更型の完了通知(readiness change notification)を利用する. kqueue() epoll リアルタイム・シグナル fd 単位のシグナル (Signal-per-fd)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く