タグ

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

  • Lispマル非入門 - 新・日々録 by TRASH BOX@Eel

    コンピュータは電子計算機とも訳されるように計算に用いるのが流である、という信念*1の元に、私はちょっとした計算にもパソコンを用いている。 当然ながら*2計算にはLisp処理系のREPLを使用する。*3 ちょっとした計算にてLisp処理系のREPLを用いるメリットは、例えば何かを単純に足し引きする時に、足し引きする値ごとに演算子を書かなくて済むのである。 私はよく買い物の計画を練るのにREPLを用いる: ; ルーターのお守りを任されたけど使い方が分からん。 ; 入門書でも読もうかな。 (+ 4730 ; 978-4839965402 ) ; => 4730 ; そういえば新人向けのLinux入門書を見繕わないと。 ; この辺りのとかどうだろう? (+ 4730 ; 978-4839965402 1980 ; 978-4048913928 2970 ; 978-4797380941 ) ;

    Lispマル非入門 - 新・日々録 by TRASH BOX@Eel
    sh19910711
    sh19910711 2023/06/16
    "買い物の計画を練るのにREPLを用いる / Lisp処理系では値が1個でも3個以上でも加算した結果を得ることができる / REPLを使ってあれこれ考えながらこねくり回す時に、安心して「取り扱う値」にだけ集中していられる"
  • Gotoサンの話。結局のところ「goto禁止」はどういう話だったのか? - 新・日々録 by TRASH BOX@Eel

    C言語で書かれた大量のソースファイルをサンプルとして、現実でのgoto文の利用方法について調査した研究の結果が発表されたようだ。 C言語の開発者によるgoto文の使い方を対象とした実証研究の結果、「goto文は無害だと考えられる」 | スラド Empirical Study On How C Devs Use Goto In Practice Says "Not Harmful" - Slashdot An empirical study of goto in C code [PeerJ Preprints] とりあえず、歴史的経緯的に非常に重要だろう指摘をしておくと、ダイクストラの「Go To Statement Considered Harmful」が出たのが1968年で、C言語の初期の設計・開発が行われたのは1969〜1973年だ。C言語は、ダイクストラの論文が大きな話題となった後に

    Gotoサンの話。結局のところ「goto禁止」はどういう話だったのか? - 新・日々録 by TRASH BOX@Eel
  • 構造化プログラミングを知らない子供たち - 新・日々録 by TRASH BOX@Eel

    それは私のことですがな*1。 サイエンス社から『構造化プログラミング』の日語訳が出版されたのが1975年で*2、それから30年以上経つ訳だけど、計算機科学とかソフトウェア工学とかそういった類の正規の教育を受けていないプログラマの中で構造化プログラミングについてそれなりにキッチリと勉強した人ってどれ位いるのだろうか? 年代や分野にもよるだろうけど、少なくとも比較的若手(20〜30代半ば?)の職業プログラマでは結構少数ではないか、と思う*3。 というのも最近は、 オブジェクト指向(例えばC++的なクラス指向なオブジェクト指向プログラミング)で開発するのが基。 だから最初からオブジェクト指向プログラミングを勉強しる。 「オブジェクト指向プログラミング > 構造化プログラミング」だから、オブジェクト指向の勉強だけでおk。 てか構造化プログラミングなんて常識だろ? 的なノリが主流らしく、わざわざ

    構造化プログラミングを知らない子供たち - 新・日々録 by TRASH BOX@Eel
  • よいコメントの書き方入門(心構え編) - 新・日々録 by TRASH BOX@Eel

    最近、会社でソースのコメントがらみで苦労して、ふと思った。 適切なコメントの書き方についての実践的な入門資料はないものか? 『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』の第33章や『Code Craft ~エクセレントなコードを書くための実践的技法~』の第5章では良いコメントについて結構なページ数を割いて詳しく論じているし、そこまで詳細でなくてよいのなら『プログラミング作法』の第1章で良いコメントの書き方の基方針的なものが提示されている。参考になりそうなはあるのだ。 ただ、ネット上でそれなりにまとまった資料となると、探し方が悪かったからかうまい具合に見つからなかった。だと買って読んでくれる人が中々いないので*1、ネットで読めるものが欲しいのだ。 そこで、車輪の再発明であることを承知の上で、試しに自分で書いてみた。 対象読者は……そこまで考えていなかった。

    よいコメントの書き方入門(心構え編) - 新・日々録 by TRASH BOX@Eel
  • 時代遅れひとりFizzBuzz祭り JavaScript on PhantomJS編 - 新・日々録 by TRASH BOX@Eel

    時代遅れひとりFizzBuzz祭り*1、全3回*2のJavaScript de 処理系ネタもこれで最後。今回はヘッドレスブラウザのPhantomJSだ。こいつはクライアントサイドJavaScriptなのかそうでないのか微妙だ……どちらかというと「JavaScriptのコードでブラウザを操作する」なので、一応クライアントサイドJavaScriptとは別物。でも意外と関係が深い。 PhantomJSは前回のNode.jsとは立ち位置が異なるツールであるものの、その背後を憶測してみると共通項がある。Node.jsの背後には「サーバサイドの処理をJavaScriptで記述したい」という動機があるだろう。PhantomJSの目的は「ブラウザの操作をスクリプトで記述して自動化する」という所だと思うが、その記述言語としてJavaScriptを採用した。双方とも元々の役割は異なるものの、何故かJavaSc

    時代遅れひとりFizzBuzz祭り JavaScript on PhantomJS編 - 新・日々録 by TRASH BOX@Eel
  • 1