タグ

ブックマーク / qiita.com/shuetsu@github (2)

  • 「早すぎる最適化は諸悪の根源」について - Qiita

    この、ドナルド・クヌース先生の有名な格言について考えてみます。 プログラムのコードをきれいな状態に保つことと、実行速度の向上や必要なリソースの削減といった最適化を図ることとは両立しない場合が多々あります。こうした場合にどちらを優先すべきか?という問いに対し、クヌース先生は「まずコードをきれいにしろ」と答えています。 ソフトウェアのユーザにとって、コードがきれいかどうかは何の価値もありません。対して実行速度などは使いやすさに直結する重要な要素です。それなのになぜ、きれいなコードのほうが優先されるべきなのでしょうか? きれいなコードとは? なぜ最適化と両立しない? まず考える必要があるのは「きれいなコード」とは何か?ということです。 それは、開発者がコードを眺めて「なんて美しいんだ!」と悦に入るためのものではありません。 きれいなコードの条件として、大きく以下の2つが挙げられると思います。 ・

    「早すぎる最適化は諸悪の根源」について - Qiita
    peketamin
    peketamin 2018/05/28
  • プログラミング言語を作る。1時間で。 - Qiita

    あなたは、プログラミング言語を作ったことがありますか? エッ!?ない!? それはいけない。いますぐ作りましょう。1時間ぐらいで。 10/3追記 続編を書きました。 http://qiita.com/shuetsu@github/items/23d5194cf821402bfadf どんな言語を作るのか オレの言語なので、名前はorelangです。 orelangはJavaで作ります。他の言語でも作れると思います。 文法は1種類しかありません。これで十分です。 (operator arg1 arg2...) オペレータ(operator)に、引数(argN)を渡して呼び出します。ネスト可能です。 例えば以下のようなイメージになります。 (+ 1 2 (* 3 4)) => 15 // 1 + 2 + 3 * 4 を計算 +や、*が、オペレータです。 後々ちゃんと、流れ制御文とかも作ります。1

    プログラミング言語を作る。1時間で。 - Qiita
    peketamin
    peketamin 2016/09/29
  • 1