タグ

ブックマーク / kmizu.hatenablog.com (8)

  • 構文解析歴20年近くになりました - kmizuの日記

    まえがき タイトルが一体何言ってるんだお前は、という感じのものなのですが、初めて構文解析器ぽいものを書き始めてから、たぶん20年くらい経ったかなくらいの意味です。私を知っている方はご存知かも知れませんが、修士~博士にかけての私の研究テーマは、Packrat Parser/PEGで、博士論文もそれ関係でした。 で、博士号取った後、査読付き論文は一も出していないのですが、中田育男先生の、ISO-Rubyパーザの試験実装をお手伝いしたり、なんだかPEGや構文解析に関する論文の査読をしていたら、去年からプログラミング研究会の論文誌編集委員になったりしています。最近、まともに(査読付き)論文書いてない私がこんな立場引き受けていいのかなーと思うものの、構文解析という分野はとてもニッチなので、査読できる人が少ないせいか、構文解析に関する論文は、私に査読の話が来ることがしばしばあります。 私が型システム

    構文解析歴20年近くになりました - kmizuの日記
  • 【月1言語企画】まだ実装されてないけど、関数名は決まってるという意図を表現可能な静的型付き言語Funtomを作ってみた - kmizuの日記

    こんばんは。今日は、月1言語企画の一環として作成したプログラミング言語Funtomを紹介したいと思います。 github.com というか、ついさっきプロトタイプができたばかりなんですが。 基的には、ほぼ自作のプログラミング言語Klassic github.com をベースにしたのですが、一つやや特徴的な機能があります。それは、まだ存在してないけど名前は決まっている関数を呼び出すことができるというものです。幽霊呼び出し(Phantom Call)という厨二ぽい名前を付けてみましたが、使い方は以下のような感じです。 def myMap(xs, f) = { ?implementLater(xs, f) } myMap([1 2 3], (x) => x * 2) ここでは、関数myMapを実装しているのですが、「後で実装するよ」って旨を表現したいので、それを?implementLater(

    【月1言語企画】まだ実装されてないけど、関数名は決まってるという意図を表現可能な静的型付き言語Funtomを作ってみた - kmizuの日記
  • 書評:プログラミング言語大全 - kmizuの日記

    プログラミング言語大全 作者:クジラ飛行机発売日: 2020/04/18メディア: 単行(ソフトカバー) 技術評論社の編集さんから、「プログラミング言語に詳しい人」枠でなんだか献いただきました。ただ、タイトルを見た時点でそこはかとなく不安があったので、記述がひどいぽかったら書評は書かないでおこうと思いましたが、ぱらぱらと読んで、よく調べて書かれた書籍だと思ったので、ご紹介したいと思います。 この書籍は、日語プログラミング言語「なでしこ」や「ひまわり」の作者として知られているクジラ飛行机さんが、世の中に数多あるプログラミング言語の中で、(比較的)知られているものについて、 プログラミング言語の歴史 影響を受けた言語 影響を与えた言語 利用シーン 文法や処理系の特徴 といった側面から紹介するといった趣です。 オススメしない読者 初めにこれを書くのはどうかと思ったのですが、読む必要がない人

    書評:プログラミング言語大全 - kmizuの日記
  • Scalaを学ぶと何が嬉しいかを考えてみる - kmizuの日記

    まえがき 「Scalaを学んで何が嬉しいか」ていうのは、人によって様々な答えがあると思いますが、最近ようやく自分なりの答えが出た気がするので書いてみます。 Scala採用企業で働くのに手っ取り早い 多くの人の言語を学ぶ動機は、就職や転職に役立つというものだと思います。この点においては、当然、JavaRubyPythonPHPといったメジャーな言語には劣るものの、こと東京であればScalaを採用している会社は少なくなく、むしろScala人材が不足している状況です。もちろん、そういう案件では、ただ、Scala言語でプログラムが書けるだけでは駄目で、JVMについての知識なども必要になりますが、特に都内ならそういう企業に就職するためにScalaを学ぶというのもありかと思います。 ちなみに、Scala採用企業マップ(これで全部ではないです)をshinharadさんが作成されていますので、参考ま

    Scalaを学ぶと何が嬉しいかを考えてみる - kmizuの日記
  • IT系勉強会の参加者にお願いしたい、たった3つのこと - kmizuの日記

    私は、大学院生時代含めれば、2008年から色々な勉強会を開催していて、直近数年でもそこそこの数を開いています。その動機は、技術を布教したいとか、ある分野を学ぶ人の助けになりたいとか、単に雑談の場を作りたいとか色々ありますが、別段高尚な意識があるわけでもありません。 勉強会のクオリティについてもバラツキが大きく、私がひたすらJVMの仕様を読み続ける勉強会とか、なんとなく雑談を続ける勉強会とか、色々アレなものもあり、あんまり誇れたものではないです。せっかく参加してくれたのにちょっとクオリティが微妙だったなーと反省したものも多々あります。 それはともかく、勉強会を開く中でどうしてもこれだけは守って欲しいなと思うことがあったので、年の始め頃のこの時期に書いておくことにしました。こういう記事を下手に書くと、良識ある人にだけ萎縮されてしまうみたいなリスクもありますが。 勉強会のページをちゃんと読んで、

    IT系勉強会の参加者にお願いしたい、たった3つのこと - kmizuの日記
    alcus
    alcus 2020/01/08
  • ポモドーロ・テクニックぽいもの(仮)をできるだけ厳密に実践してみた - kmizuの日記

    まとめ ポモドーロっぽいもの(仮)を実践してみた 我流なので、ポモドーロそのものじゃないよ やり方をできるだけ厳密にした 5分の休憩中は、モニターを見ない 25分経ったら、何がなんでも休憩する 同期割り込み(電話や郵便物)やトイレは例外扱い 効果: どの時間に何をやっていたのか、が可視化された 強制的に休憩させられるので、集中力が長続きした(主観) 時間に追われる感覚がかなり減った 課題: 栄養補給とかはどういう枠組みでとらえるのか オフィスだとそのままは実践しづらい気がする(今日は自宅作業) 一時的に疲労感が高まったときの扱い(強制ストップ?) ... 動機 私は割とすぐに集中する(してしまう)タイプなので、集中することは比較的容易なのですが、一方で、集中を中断するのがかなり苦手です。そのため、途中で切り替えて別に作業をしたりするのがうまくなかったり、集中し過ぎて疲労感がたまるといったこ

    ポモドーロ・テクニックぽいもの(仮)をできるだけ厳密に実践してみた - kmizuの日記
  • 私なりのオブジェクト指向プログラミングの定義 - kmizuの日記

    きしださんの以下のツイート オブジェクト指向はこの20年だれも再定義せずみんな自分の思うオブジェクト指向を暗黙に仮定して適当に話してるだけなので、技術的な共通認識のもとの議論はほとんどできないんですよ。という話を「オブジェクト指向をきちんと使いたいあなたへ」の記事に書いたのだけど、そろそろ公開するか— きしだൠ(K8S(Kishidades)) (@kis) July 29, 2019 を読んで、そういえば、私が思うオブジェクト指向の定義、についてツイッター以外ではあまり語ったことがなかったなと思い返し、ちょっと記事にしてみることにしました。まず、結論からいうと、私はオブジェクト指向プログラミングとは サブタイピングを活用したプログラミング手法の総称 と考えています。ここで、クラス継承とかインタフェース継承とかダックタイピングとかではなく、単にサブタイピングであるのがポイントです。なお、型

    私なりのオブジェクト指向プログラミングの定義 - kmizuの日記
  • Scalaに関する誤解と事実を語る - kmizuの日記

    TL;DR 世間のScalaに関するイメージは、昔のままであることが多い 昔のままどころか、最初から間違ったイメージを持たれていることも多い 実際には、既に解決されている問題は多々あるし、改善に向かっていることも多い プロジェクト管理の問題を言語に押し付けているケースもある はじめに 自分が最初にScalaに触れたのが2005年(Scala 1からカウントした場合)、あるいは2007年(Scala 2以降からカウントした場合)と、Scalaとの付き合いも結構長くなってきましたが、その間に Typesafe社(現Lightbend社)の設立 実質標準ビルドツールとしてのsbtの確立 ライブラリのバイナリ後方互換性に関するポリシーの策定 公式ScalaイベントScala Daysのはじまり Play 2 Frameworkの登場 Scala Center発足 その他色々 がありました。この間、

    Scalaに関する誤解と事実を語る - kmizuの日記
  • 1