タグ

ブックマーク / nowokay.hatenablog.com (11)

  • ITが面白い時代はすでに終わっているし変化も遅くなった - きしだのHatena

    ITはもう面白くなくなってますね。 技術が面白いときには、いろいろ新しいものが出て性能あがったりできることが増えたりします。調べたらどんどん新しいものが出てくるし、新しいものもたくさん作るし、面白い。ですが、IT技術は一通り出そろって、成熟期に入っています。そうすると新しい技術に出会うことも新しいものを作ることも減っていきます。その結果、いままでの変化のあった状況を知っていれば、つまらんってなりますね。 ※2024/8/24 追記 言いたいことをまとめると、IT素振りのネタ探しに苦労するようになったよねってことです。 結局のところITというのは新しいハードをどう動かして社会に実装していくかというものなので、新しいハードが出ないとどうしようもないのです。けれどもだいたい飽和してしまった。 雑にいえば、これまで1980年くらいにBASIC搭載8bitパソコンが普及するとBASICプログラミング

    ITが面白い時代はすでに終わっているし変化も遅くなった - きしだのHatena
    ene0kcal
    ene0kcal 2024/08/22
    記事中のこれまでのITの面白さは陰り、新たなAI時代で加速したのは事実で、その間の技術的な減速したもあるので間違いだとは個人的には思ってない。ただし年齢によって見え方が違うし、総括したほうがいいとは思う。
  • プログラミングが設計作業であるという話 - きしだのHatena

    いわゆる「ソフトウェア設計書」が設計ではなく、ソースコードが設計であるという話。 随筆です。考えマトメ中なので、ツッコミはそのあたり踏まえていただければ。 追記:ブコメに「設計の定義は?」とあったので末尾に追加しています。 追記(2024/8/15):設計書ってなんだろう?というのも書いておきました。 ソフトウェアの「設計書」とはなんなのか - きしだのHatena このエントリで書いたのですけど、もうすこしちゃんと。 建築では多重下請けでやれてるのに業務システムでだめなのはなぜ? - きしだのHatena このエントリでは次のように書いています。まあ、これで全てではあるのだけど。 「建築などの施工図面に相当するのはソースコードで、建築現場で多重下請けでやってる作業は、ソフトウェアだと(でも?)ビルドです」 あと「継続的デリバリーのソフトウェア工学」からの抜粋。 「継続的デリバリーのソフト

    プログラミングが設計作業であるという話 - きしだのHatena
    ene0kcal
    ene0kcal 2024/08/14
    異論なし。ソースコードは設計コードだし、紙に書いたものは設計書、設計図。凄く実装に寄った設計なんよな。コンパイルやビルドを経て実行実体になるだけで。(もちろんニーモニック書くならそれも設計でかつ実体)
  • 掛算の順序と学習指導要領 - きしだのHatena

    あいかわらず掛算の順序の話がもりあがってるようなのだけど、コーディングルールの話なんだから計算の定義の話をしても徒労だよなと思いながら見ていた。 で、ちょっと教育指導要領解説を見てみたのでまとめる。 学習指導要領解説の記述 「【算数編】小学校学習指導要領(平成29年告示)解説」では次のようになっています。順序は表現のときの問題で、計算では交換則を使っていいとなっています。 被乗数と乗数の順序は、「一つ分の大きさの幾つ分かに当たる大きさを求める」という日常生活などの問題の場面を式で表現する場合に大切にすべきことである。一方、乗法の計算の結果を求める場合には、交換法則を必要に応じて活用し、被乗数と乗数を逆にして計算してもよい。 このPDFの115ページ。 https://www.mext.go.jp/content/20211102-mxt_kyoiku02-100002607_04.pdf

    掛算の順序と学習指導要領 - きしだのHatena
    ene0kcal
    ene0kcal 2024/04/08
    この話の元は順序が逆でバツをもらったところからだと思うが、教師にバツにしないように指導する、問題文に順序について問わない、問うを記載するのが行き着く結論だと思う。
  • このブログの全エントリで学習した極小規模言語モデルを作った - Copilot試してみた日記 - きしだのHatena

    ブログの全エントリを読み込むコード作ったので、とりあえずこれで学習して極小規模言語モデルを作ったら面白かろう、とやってみました。 というとかっこいいけど、まあ形態素解析して続く単語の頻度を覚えておいて、頻度に応じた単語をつなげていうという、Twitter老人会の方ならご存じの圧縮新聞ですね。圧縮きしだのHatenaか。 まあ、ここではてなブログのアーカイブを読み込むコードを書いたので、これで何かしたら面白かろうなと。 GPTのEmbeddingを利用してブログの投稿に対する近いものを探し出す - きしだのHatena それで、以前 圧縮新聞ぽいものを作っていたので、これを改めてはてなブログをデータに作ってみた感じです。 Igoという形態素解析器をつかって圧縮新聞っぽいものを作ってみる - きしだのHatena 圧縮新聞のアカウントは凍結されていますが、雰囲気はこちらを。 圧縮新聞さん迷言集

    このブログの全エントリで学習した極小規模言語モデルを作った - Copilot試してみた日記 - きしだのHatena
  • オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena

    「オブジェクト指向するとプログラムが読めなくなるから禁止」のような話は昔からあって、新しい技術についてこれない人を揶揄するようなニュアンスで使われていましたが、実際にはこれはオブジェクト指向迷路にうんざりした現場での率直な意見だと思います。 オブジェクト指向は、まじめにやるほどプログラムを読みにくくするという性質をもっています。 ※ 使い方次第というコメントついてますが、だからこそちゃんと性質をしっておく必要があると思います。 オブジェクト指向の代表的な指針を3つあげると次のようなものがあります。 オブジェクト同士の連携としてプログラムを組む 単一責務の原則 インタフェースと実装の分離 まず、オブジェクト同士の連携でプログラムを組むと、コードが飛びまくって追いにくくなります。そして単一責務の原則により、小さいクラスが大量に生成されて、追いにくさがさらにあがっていきます。 ダイクストラ先生が

    オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena
  • なぜオブジェクト指向方法論に代わる方法論が出ないのか - きしだのHatena

    1990年代にオブジェクト指向分析・設計の方法論がめちゃ流行ったことがあります。 ただ、そのブームが終わって、後続となるような方法論が流行ることはありませんでした。 で、なぜなのか考えていたのですけど、オブジェクト指向方法論のウリは分析段階で出てきたオブジェクト(といいつつクラス)がコードにそのまま引き継がれるというものでした。ようするにオブジェクト指向方法論というのはコードのスケッチを書いて詳細化していくというものだったのです。 しかしながらこれは、スケッチとして書いた分析・設計が間違っていればコードも間違うわけで、強くウォーターフォールの性質をもつものでした。 結局のところスケッチの妥当性というのはコードを書かないと検証ができません。分析・設計段階で見出されたクラスが妥当かというのは、コード書かなければわからなかったのです。逆に、コードを書けば妥当かどうかわかります。であれば、最初から

    なぜオブジェクト指向方法論に代わる方法論が出ないのか - きしだのHatena
  • オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena

    某所でオブジェクト指向についていろいろ書いたのでまとめておく。 問題意識としては初学者がなにかというと「オブジェクト指向できるようになりたい」のようなことを言うけどそこまでの優先順位でがんばるものではないんでは、というところです。 まず前提として、オブジェクト指向は1980-2000年くらいに流行って発達したものの、それ以降は時代にあわせた進歩はしていない20年以上前の技術ってのがあります。 そのころは今だとCPUのキャッシュにも満たないようなメモリをやりくりしてプログラムを書く必要があったので、オブジェクト指向はメモリ上のデータをコピーすることなくうまく使いまわせるようなプログラム技術になっています。 そしてオブジェクト指向にはそこから目だった更新はなく、タイトルに書いたように、カメラがやっとついたくらいのガラケーのような古い技術という感じがします。 オブジェクト指向について、アプリケー

    オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena
  • プログラムを教えて理解されない場合は教える技術の不足 - きしだのHatena

    プログラムが組めるとプログラムが教えれると思いがちだけど、教えることは別の技術です。 教えてもなかなか理解してくれないとき、プログラミングに向いてないとさえ言う人もいますが、教える側の教える技術の不足です。 教えることも技術のひとつだと気付けば、教えてもなかなか理解してくれないときに技術の不足であるということにも思い至れると思います。技術の不足であると気付けば、改善もしていけます。 そして教える技術というのは、インストラクショナルデザインという名前で系統だてて整理されています。 たとえばそのまま「インストラクショナルデザイン」など、タイトルにインストラクショナルデザインが含まれた書籍もたくさん出ています。 インストラクショナルデザイン―教師のためのルールブック 作者:島宗 理発売日: 2004/11/01メディア: 単行 他にも、タイトルにはインストラクショナルデザインとついてないけどイ

    プログラムを教えて理解されない場合は教える技術の不足 - きしだのHatena
    ene0kcal
    ene0kcal 2021/01/07
    それはその通り。しかし学ぶ側にも学ぶ技術ってものもあるよね。リテラシーの次のものだが。
  • 正月からMSXのZ80アセンブラを書いていた - きしだのHatena

    あけましておめでとうございます。 どこぞに、正月3日に起こった出来事が1年を決めるという話が流れてましたが、そうすると今年は1年、夜中にZ80アセンブラを書いて昼間寝る感じになるんでしょうか・・・ 書いてたのは、こんな感じで誤差拡散でカラーテーブルを表示するプログラムです。 まずは素直なカラーテーブル 最初、年末に何を思ったかこんな感じのカラーテーブル表示プログラムを作りました。MSX2は赤緑8階調、青4階調の256色を同時表示できていたので、それを表示するとこうなるのです。 100 DEFINT A-Z 110 SCREEN 8 120 FOR I=0 TO 15 130 R=(I MOD 8)*32 140 B1=INT(I/8) 150 FOR J=0 TO 15 160 LINE (I*16,J*13)-(I*16+15,J*13+12),R+B1+(J MOD 8)*4+INT(

    正月からMSXのZ80アセンブラを書いていた - きしだのHatena
  • コードに対してコメントを書くと実装に関するコメントになる - きしだのHatena

    おととい、渋谷JVMというイベントがあって登壇させてもらったんですが、そのあとビール飲んでるときに、ぼくが「コード書く前にコメントだけ書くのいいよね」と言ったあとの返答としてきょんくん(kyon_mm)が言った言葉。 全体としては 「コード先に書いてそのコードに対してテストを書くと実装に対するテストになるし、コードを先に書いてそのコードに対してコメントを書くと実装に対するコメントになる」 という感じ。 ここに至るまでの話もおもしろかったんだけど、ここでは、コメントについて書いてみます。 まず、実装に対するコメントってどういうのかというと、こういうの。 id = findId(name); if(id == -1){ // idが-1だったとき登録 register(name); } いやそれはコード見ればわかるから、ってやつですね。 これは、こうやるとより適切です。 id = findId

    コードに対してコメントを書くと実装に関するコメントになる - きしだのHatena
    ene0kcal
    ene0kcal 2015/04/20
    そもそも例題が変だよ。登録した(未掲載)ものを登録できたか確認するためにfindId()して、-1だったらNGとみなすだと?NGの場合、再登録としてregister()を呼ぶというのはいままで見たことないやり方だな。
  • オブジェクト指向は禁止するべき - きしだのHatena

    プログラムがまだ不慣れな人が「プログラムちょっとわかるようになったけど、まだぜんぜんオブジェクト指向とかできてません」のように言ったり、ちょっと慣れた人が「このソース、ぜんぜんだめ。オブジェクト指向ができてない」にようなことを言ったり、まるで、オブジェクト指向ができてるかどうかがよいプログラムかどうかを表すことになってるようだ。 Javaのアルゴリズムのに、「Javaなのにオブジェクト指向ができていない」のような書評がついているのを見たときには、お前は何を求めてるんだと思ったりもした。 そのようなオブジェクト指向は、窓から投げ捨てるべきだ。オブジェクト指向はプログラムのよしあしの基準にならない。 むだにHogeインタフェースとHogeImplクラスがあったり、むだにnewするだけのcreateメソッドがあったり、どこで値が設定されてるかわからないオブジェクトがひきまわされてたり、ソースコ

    オブジェクト指向は禁止するべき - きしだのHatena
    ene0kcal
    ene0kcal 2014/07/19
    まぁ気持ちはわかる。。が差分プログラミングは酷いな。
  • 1