ブックマーク / nagise.hatenablog.jp (8)

  • 条件演算子の二項目と三項目が違う型でも動くことがあるやつ - プログラマーの脳みそ

    昨日の発表資料です(資料?https://t.co/GKPhtBKprx #kanjava — Toy (@mdstoy) 2024年7月31日 関ジャバ'24 7月度 - connpass のショートセッションで出てきたネタ、「条件演算子の二項目と三項目が違う型でも動くことがあるやつ」の言語仕様解説。 // これはいける System.out.println(i % 3 == 0 ? "Fizz" : i); // これは無理 String str = (i % 3 == 0 ? "Fizz" : i); この挙動はなぜなのか? §15.25. Conditional Operator ? : いわゆる三項演算子 ? : の型の仕様についてはJava言語仕様の §15.25. Conditional Operator ? : を読み解く必要がある。 第二項と第三項の型の組み合わせでいろい

    条件演算子の二項目と三項目が違う型でも動くことがあるやつ - プログラマーの脳みそ
    zu2
    zu2 2024/08/02
  • マウンティングの語源調査の仕方 - プログラマーの脳みそ

    前回、思い出話として nagise.hatenablog.jp を書いたのだが、その中でネットスラングの「マウンティング」について、初出が nagise.hatenablog.jp であるということを書いた。この記事は 2008年9月20日で、以下の用例が見られる。 そんなテクニックはいかに相手のニホンザルを押さえ込んでマウンティングを成功させるかというテクニックでしかない。そんなことをやったところで疑問はなんら解決しないし、誤った意見をこうした手法で押し通しでもした日には、後で大きな惨劇が起こりかねない。勝った負けたなどと言っていても議論は進展しないのである。 これは明確なエビデンスで、この時点でこのような用例があった、というのはひとつの道標となる。 ここで、「筆者が発案したというのは当か?」「より古い用例はないか?」という疑問が生じることだろう。では、そうした疑問が生じたときにどのよ

    マウンティングの語源調査の仕方 - プログラマーの脳みそ
    zu2
    zu2 2023/03/19
  • なぜ自動テストの導入は失敗するのか? - プログラマーの脳みそ

    開発室の雑談。営業側のマネージャが言うには 「今のプロジェクトで自動テストの導入を試みている話をしたら、XXXさんのところでも過去にいくつか導入を試みたけどもみんな上手くいかなかったって話になって」 なるほど? まあ確かに自動テストはシステム開発にとって魅惑の技法ではあるものの、では導入がうまくいっているか? というと普及率は低いと言わざるを得ない。私がお手伝いしたプロジェクトでは、元請け側から自動テストをやるお達しが来たわけだが、紆余曲折あって掛け声倒れのような状態になってしまった。 ビジネス書の煽りタイトルのような件だが、古式ゆかしき受注生産の業務システム開発プロジェクトに自動テストを導入しようとして失敗する事例を聞いたので、僕なりに分析して見出した要素を挙げておこうと思う。 V字モデル ソフトウェア開発の手法としてV字モデルというものがある。 オーダーメイドでシステムを作るにあたっ

    なぜ自動テストの導入は失敗するのか? - プログラマーの脳みそ
    zu2
    zu2 2021/04/30
  • 西暦1年は閏年か? - プログラマーの脳みそ

    閏年(うるうどし)の話題。 Twitterで見かけた話題で「西暦1年は閏年かどうかぱっとわからん人おる?」という些か煽り気味のツイートを見かけたのだけども、反射的に「閏年じゃないに決まってるじゃん」とぱっと答えてしまわないだろうか。当にそうだろうか? そう単純な話なのだろうか? プログラミングを学んでカレンダーを扱うことを学ぶ際に置閏法についても簡単に触れられることがある。置閏法というのは閏年や閏月(太陰暦では1年が13ヵ月になるケースがあり追加の月を閏月と呼ぶ)をどのようなルールで挿入するかという話で、まさにアルゴリズムであるからプログラミングの話題と相性がいい。 置閏法 現代の西暦の置閏法(ちじゅんほう)は 西暦を 400 で割り切れる年は閏年 上記以外で西暦を 100 で割り切れる年は平年 上記以外で西暦を 4 で割り切れる年は閏年 上記以外は平年 といった手続きで閏年(つまり2月

    西暦1年は閏年か? - プログラマーの脳みそ
    zu2
    zu2 2020/10/30
    “結果的に言えば西暦1年は閏年ではなく平年である。 しかし、その導出過程は「西暦を4で割り切れないから」ではなく、”
  • 言語機能としての型、概念としての型 - プログラマーの脳みそ

    某エントリが型について再考するきっかけになったのは事実だが、個々人の思想の成否を問う気がないのでとくにリンクはしない。ここでは型とは何かという点について僕なりの思想を記しておきたい。 データ型を区別しない世界 ごくシンプルなチューリングマシンを考えよう。 チューリングの仮想機械は、 無限に長いテープ その中に格納された情報を読み書きするヘッド 機械の内部状態を記憶するメモリ で構成され、内部状態とヘッドから読み出した情報の組み合わせに応じて、次の動作を実行する。 ヘッド位置のテープに情報を書き込む 機械の内部状態を変える ヘッドを右か左に一つ移動する 上の動作を、機械は内部状態が停止状態になるまで反復して実行し続ける。 チューリングマシン この原始的な世界において「型」はない。メモリは抽象的で全てのメモリは同等に扱われ区別する必要はない。 また、チューリングマシンに程近い原始的なプログラム

    言語機能としての型、概念としての型 - プログラマーの脳みそ
    zu2
    zu2 2013/03/05
  • 僕の知らない論理 - プログラマーの脳みそ

    いつも通りのある日のこと、彼は突然声高に言った。嫌だ!は充分に論理的だと。*1 彼が主張し心理学者がまさにまさにと肯定*2した僕の知らない論理に僕は興味を持った。 それはこういう理屈なのだろうか?と考えた仮説を書いたら*3ある人が解説をしてくれた。 僕の知っている論理学とは随分と違うその論理学の名を知らない。*4 僕の知ってる論理 中学校の数学で「命題」について習っているはずだ。「対偶」という言葉に覚えはないかい?なんかややこしい話だったと記憶しているかもしれない。ああいうジャンルの話題だと思ってくれればいい。 命題「AならばB」の対偶は「BでないならAでない」である。 対偶 (論理学) - Wikipedia 真っ当なプログラマなら論理演算はよく知ってる。日々の日常だし、基礎の基礎だ。真と偽の組合せでプログラムは動いている。 だいたいどのプログラム言語でもboolean値(真偽値)は扱え

    僕の知らない論理 - プログラマーの脳みそ
    zu2
    zu2 2011/09/06
  • 日本語でプログラミングしてはいけない理由 - プログラマーの脳みそ

    詳しすぎる詳細設計書 - SiroKuro Page とか 詳細設計書に何を書くべきか? - Sacrificed & Exploited 関連。 ソースコードと1対1で対応するような仕様書を書いてはならない理由。 日語は読み上げれるかもしれないが内容を理解できるとは限らない 日人なら日語で書かれた相対性理論の教科書を読み上げることはできる。しかし相対性理論を理解できるというわけではない。 日語は論理演算を表現するのに向いていない OR と XOR の区別がつかなかったり、括弧による演算順番の指定がやたら面倒くさくて見通しの悪いものになったり。 日語は例外処理を記述するのに向いていない 法律の例外事項とかの読みにくいことと来たら。 日語はシンタックスハイライトされない 「を」とか「は」とかカラフルになっても嬉しくないけど。 日語はコンパイラによる静的チェックができない Wor

    日本語でプログラミングしてはいけない理由 - プログラマーの脳みそ
    zu2
    zu2 2010/01/10
    日本語だからいけないんじゃなくて、メタ言語だと意識して区別しろという話じゃないかな。数学ではうまくいってるわけだし。
  • パロディ封じに対するニコ動のしたたかな戦略 - プログラマーの脳みそ

    「ニコニコ動画」でMADも削除 ドワンゴが権利者に申し入れ - ITmedia NEWS 他のメディアでも報じられているが、映像関連の団体から著作権侵害動画の削除要請を受けたようだ。 まるのままアップロードする真っ黒な動画はさておき、MAD動画と呼ばれるパロディも著作権侵害動画とされたようだ。MADの場合はたぶん「同一性保持権」の侵害ということになるのだろう。 著作権法改正でニコ動などの法関係はどうなる? - プログラマーの脳みそでも書いたが、著作権法改正の動きがあるようで、パロディなどの利用をフェアユースとして認めるのではないかという話も出ていた。 実際にどうなるかは法案が可決するまで分からないわけだが、フランスにはパロディ条項なるパロディを認める条文があると聞く。現行法では判例も含め日ではパロディは認められたことはないわけだが、パロディ文化の封殺というのは表現の自由という観点からする

    パロディ封じに対するニコ動のしたたかな戦略 - プログラマーの脳みそ
    zu2
    zu2 2008/07/03
  • 1