タグ

programmingとあとで読むに関するPSVのブックマーク (4)

  • JavaScriptの罠 - GNUプロジェクト - フリーソフトウェアファウンデーション

    この翻訳は、 2023-07-05 以降に行われた 英語のオリジナル版の変更を反映できていません。 確認するには、 こちらの変更をご覧ください。 わたしたちのウェブページの翻訳の保守の情報については、翻訳 READMEをご覧ください。 自由ソフトウェアコミュニティでは、どんな不自由なプログラムもそのユーザを虐待する、という考えがよく知られています。わたしたちの中には、プロプライエタリなソフトウェアをまったく拒否することで自由を守る人もいます。多くの人は不自由はプログラムへの打撃だと認識します。 多くのユーザは、この問題がブラウザがインストールするようにと提供するプラグインにも関係すると知っています。プラグインには自由か不自由かの違いがありうるからです。しかし、ブラウザは、ほかの不自由なプログラムを実行します。そのプログラムについて、ブラウザは、あなたに尋ねることも告げることもないのです。そ

  • Oracle Javaの無償配布終了で何が起こるのか? - セカイノカタチ

    www.publickey1.jp 世界中で30億デバイスに搭載されているプログラミング言語Javaのリリースサイクルが変更になることと、オラクル版のJavaが無償提供されなくなるというニュースです。 リリースサイクルが半年ごとに オープンソースのOS、LinuxのメジャーなディストーションであるUbuntuなどで採用されているリリース方式で、「機能ができたらリリースする」のではなく、「時間が来たらリリースする」方式です。 Javaぐらい大規模で歴史も深いプロジェクトになると、影響範囲の検証などをじっくり行うため、大きな機能改善などは、何年もかかったりします。すると、自然とリリースサイクルは長くなり、Java7からJava8までで、2年半、Java8→Java9では、3年半もかかってしまいました。 機能ベース = いつリリースされるかわからない このことを回避するために、「リリースペースを

    Oracle Javaの無償配布終了で何が起こるのか? - セカイノカタチ
  • Rubyおもしろい - tmtms のメモ

    Rubyは括弧をつけなくてもメソッドを呼び出せます。メソッド名は普通は英小文字で始まります。ローカル変数も英小文字で始まります。 こんなRubyプログラムを実行すると(ifの条件部で代入しているのはtypoではありません)、 def hoge 123 end p hoge x = 456 if hoge = x p hoge end p hoge こういう出力が得られます。 123 456 456 途中でhogeがメソッド呼び出しから変数参照に変わったのがわかります。 変数宣言後は括弧「()」をつけない場合はメソッド呼び出しではなく変数参照になります。 def hoge 123 end p hoge # hogeメソッド呼び出しなので123 x = 456 if hoge = x # hogeにx(456)を代入。その結果は真なのでif内を実行 p hoge # ここでのhogeはローカル

    Rubyおもしろい - tmtms のメモ
  • C言語でインクルードするだけで使えるNon-movingで正確なコピーGCを作った - Qiita

    インクルードするだけで使えるNon-movingで正確なGCをC言語用に作りました。 行数がコメントを除いて100行に満たない非常に小さなライブラリです。 GCのアルゴリズムとしてはCheneyのコピーGCを採用しています。 通常のCheneyのコピーGCではメモリ空間のうち半分が無駄になってしまいメモリ効率が悪かったり、 GC発生時にオブジェクトが移動してしまいC言語のようなポインタを直接触れる言語との相性が悪いという欠点がありました。 今回はヒープ全体を二重連結リストとして管理することでそのような問題を解決しています。 ちなみにこれはTreadmill GCのアイデアと同じです。(が、アルゴリズム自体はTreadmill GCではありません。) APILinuxのlist.hに非常に近い見た目になっています。 ある構造体をgcで管理したい場合はstruct gc_head型のメンバを

    C言語でインクルードするだけで使えるNon-movingで正確なコピーGCを作った - Qiita
  • 1