タグ

プログラミングと歴史に関するrichard_rawのブックマーク (14)

  • for文のforはなぜforなのか? - yapattaのブログ

    よく考えるとプログラミング言語で当たり前に使っているfor文のforは不思議な命名だ。 他のループで使う、whileやloopは繰り返しをする意味が含まれるからまだわかる。一方forは個人的なイメージではあるがループに関する意味は無さそうだ。 という感じになぜforなのか疑問が湧き上がってきた。 そこで今回はfor文のforはなぜforになったのかを調べてみた。 因みに一番最後に結論が書かれているので結論だけ気になる方は最後だけ見て頂けたら。 この結論は著者のyapattaの推論も含まれている。何か反論、意見があったら気軽にコメントして欲しい。自分が気づかなかったポイントを知れたら面白い。 まずforに一応ループ周りの意味が含まれるか辞書で調べてみた。自分がただforという単語に反復的な意味が含まれていることを知らなかったという可能性もある。 ejje.weblio.jp 10番目の意味で

    for文のforはなぜforなのか? - yapattaのブログ
    richard_raw
    richard_raw 2021/12/27
    for...in...doの「in」はどこから来たのか(調べる気力が無い)。
  • Pythonのオブジェクト指向プログラミングを完全理解 - Qiita

    1. オブジェクト指向の起源 2003年チューリング賞の受賞者アラン・ケイさんはよくオブジェクト指向プログラミングの父と称されます。ご人も憚ることなく、幾度、公の場で発明権を宣言しています。しかし、ケイさんは「C++」や「Java」などの現代のオブジェクト指向言語を蔑ろにしています。これらの言語は「Simula 67」という言語を受け継いだもので、私が作った「Smalltalk」と関係ないのだとケイさんは考えています。 オブジェクト指向という名称は確かにアラン・ケイさんに由来するものです。しかし、C++Javaで使われている現代のオブジェクト指向は当初のと結構違います。ケイさん自身もこれらの言語を後継者として認めないです。では、ケイさん曰くC++Javaの親であるSimula 67という言語はどんな言語でしょうか。ここで、簡単なサンプルコードを見てみましょう。 Class Recta

    Pythonのオブジェクト指向プログラミングを完全理解 - Qiita
    richard_raw
    richard_raw 2020/11/02
    オブジェクト指向の起源から始まる超大作。/“私が作った「Smalltalk」” で頭が疑問符だらけになりました。「自身」か。
  • 西暦1年は閏年か? - プログラマーの脳みそ

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

    西暦1年は閏年か? - プログラマーの脳みそ
    richard_raw
    richard_raw 2020/11/02
    アルゴリズムのことかと思ったら歴史の話だったでござる。面白かったです。
  • プログラミング言語の簡単な歴史を初心者にもわかるように解説 | さくマガ

    ≫ 【2週間無料!】初心者でもホームページが作れる!高速・安定・快適なレンタルサーバー みなさんこんにちは、文系出身のエンジニアのちょまど(@chomado)です。大手外資系IT企業でDevRel (Developer Relations) のお仕事をしています。 今回の記事では、プログラミング言語の歴史について書きたいと思います。私はもともとプログラミング言語が大好きで、歴史には大変興味があったので、今回、たくさん色々調べたり、ベテランの先輩エンジニアの方々に当時の様子をお聞きしたりして(ありがとうございます!)、記事にまとめました。 また、今回、Google Developers Expert の田中洋一郎さん (@yoichiro) に記事のレビュー(査読)や助言をしていただきました。誠にありがとうございました! そもそもプログラムとは? プログラムとは、コンピュータへの命令を記述し

    プログラミング言語の簡単な歴史を初心者にもわかるように解説 | さくマガ
    richard_raw
    richard_raw 2020/10/30
    半分ぐらいからやっとプログラミング言語の話が。いやまあ面白かったですけども。
  • 音響カプラでテレワーク – プログラミング生放送

    昨今、感染症対策などのため、政府が企業へ在宅勤務の推進を呼びかけるなどテレワークが注目されています。テレワークの問題のひとつとして、コンピュータ間の通信があります。そこで今回、今後のテレワークでの活用を見越し、公衆交換電話網を利用してコンピューター間の通信を可能にする通信機器「音響カプラ」を入手し、コンピュータ間のデータ通信を試みました。 発信側は、音響カプラ ACTAM C300A 株式会社田村電機製作所 1986年製です。1秒あたり 300bit の通信速度でデータ通信が行えます。 ACTAM C300A と 600形電話機(1982年製) 着信側は、Mobile Gear II MC-R500 日電気株式会社製 2000年発売(いきなり時代が飛びましたが気にしない)。モデム内蔵です。Windows CE Version 2.0。 Mobile Gear II (MC-R500) 実

    音響カプラでテレワーク – プログラミング生放送
    richard_raw
    richard_raw 2020/03/02
    実物見たことないけど懐かしい。音響カプラを知ったのは逮捕しちゃうぞだったかしら。
  • プログラミングと女性の歴史

    Sep 17, 2018 ソフトウェアエンジニアの分野で活躍する女性がもっと増えてほしいという議論が日だけでなくさまざまな場所で行われています。 数字で正確に推し量る事は難しいですが、やはり男性が多数を占める業界であるという認識が共有されています。 2013年にサンフランシスコで行われたJessica Lynn Suttlesさんの講演は個人的に目からウロコの内容でした。 歴史を紐解いて見ると、プログラミングへの大きな貢献を残した女性は数多く「女性が切り開いた業界」であるという一面があります。今回は海外で行われた講演や記事から読み取れる内容をまとめます。 その後、Ruby On Alesにてほぼ同じ内容の講演が行われこちらはアーカイブが残っています。(関係ないですが、confreaksはいいサイトですね。) The History of Women in Programming 世界初の

    プログラミングと女性の歴史
    richard_raw
    richard_raw 2019/12/10
    ブックマークし忘れてた。/昔、「コンピューター」は計算する職業(女性が多い)のことでしたっけ。
  • C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita

    C++ Advent Calendar 2018 この記事はC++ Advent Calendar 2018 15日目の記事です。 14日目: VTKライブラリ 16日目: C++のエラー処理との付き合い方 当初見積もりよりも大幅に長い記事となり、投稿したのは12/22で1週間遅刻です。すみません。 お知らせ cpprefjpにchar8_t型追加について解説を書きました。ぎゅぎゅっとコンパクトに、また査読を受けて中立的な表現で書いていますので、よければどうぞ。 UTF-8エンコーディングされた文字の型としてchar8_tを追加 - cpprefjp C++語リファレンス 追記 全ての開発者が知っておくべきUnicodeについての最低限の知識 - GIGAZINE Unicodeについて簡潔にまとまってるいい記事を見つけました。 Caution この文章には以下の要素が含まれます。苦手

    C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita
    richard_raw
    richard_raw 2018/12/26
    頑張って参考資料まで来てまだ「まえがき」でしかなかったorz/あ、江添さんお疲れ様です。
  • 計算量はコンピュータ性能論の「入り口」にすぎない--専門家が語る、IT屋に知っておいてほしい基礎知識

    情報処理における全国のエキスパートが一堂に会したリクルート主催の「春の情報処理祭」。HPC(High Performance Computing)研究分野の専門家である、京都大学の中島浩教授は、HPCの役割や速さの秘密について説明するとともに、HPCがビジネス全体にもたらす影響を語ります。コンピュータの性能を生かすために知っておくべき、HPCの基礎知識とは?(春の情報処理祭in京都より) ハイパフォーマンスコンピューティング(HPC)とは 中島浩氏:(BGM「Let It Be」を流しながら登場)さすがにビートルズの「Let It Be」ぐらいは知っているかな。皆さんが生まれるずいぶん前の歌ですけれども。 『アナ雪(アナと雪の女王)』というのがあって、あっちは「Let It Go」なんですね。こっちは「Let It Be」で、何が違うのか。英語のニュアンスはほとんど同じなんですけれども「L

    計算量はコンピュータ性能論の「入り口」にすぎない--専門家が語る、IT屋に知っておいてほしい基礎知識
    richard_raw
    richard_raw 2015/04/21
    おもろいおっちゃんやー(失礼)。/コンピュータに優しい実装をしないと速くならないという話でした。アルゴリズムが即実装になる開発環境とかありませんでしたっけ。
  • ASCIIコードの秘密 - ザリガニが見ていた...。

    当はエスケープシーケンスのことを調べていたのだが、その前にASCIIコードについて調べることになってしまった...。文字コードの基として知っているつもりだったASCIIコードについて、あらためて見直してみると、実は当の意味をよく分かっていなかったことに気づいた。 ASCIIコード表 ASCIIコードは、7ビット(2進数7桁)の文字コードであり、全部で128のコードが定義されている。 最も基的な文字コードであり、その他多くの文字コードはこのASCIIコードと互換性を維持している。 00 10 20 30 40 50 60 70 00 NUL DLE SP 0 @ P ` p 01 SOH DC1 ! 1 A Q a q 02 STX DC2 " 2 B R b r 03 ETX DC3 # 3 C S c s 04 EOT DC4 $ 4 D T d t 05 ENQ NAK % 5

    richard_raw
    richard_raw 2015/02/10
    テレタイプとかCP/Mとか古い含蓄のある話でした。UTFとかややこし過ぎて考えたくもないぜ……。
  • Googleロゴになった「史上初のプログラマー」伯爵夫人|WIRED.jp

    richard_raw
    richard_raw 2012/12/12
    バベッジに影響を受けたAdaさん。
  • 日本語入力を支える技術という本を書きました - 射撃しつつ前転 改

    (追記):「このに書かれていないこと」という項を追加しました。 以前も告知しましたが、日本語入力を支える技術というを書きました。技術評論社から2012年2月8日に発売されます。(私の知っている限りでは、ジュンク堂池袋店、有隣堂AKIBA店、丸善丸の内店、書泉ブックタワーでは既に先行販売しているよう…でしたが、ジュンク堂池袋店、有隣堂AKIBA店、書泉ブックタワーは先行販売分は売り切れの模様です。)どんななのか、目次などについては公式ページを参照していただくとして、以下ではどんななのか宣伝したいと思います。 こののキーワードは「実装」と「初心者向け」です。初心者でも実装ができるようにサンプルコードを多用し、また数式が出てくる部分に関してはちょっとしつこいぐらいに説明を加えました。私自身の経験からすると、を読んだで理解したと思っていても、大抵の場合、細かいところはわかっていないもの

    日本語入力を支える技術という本を書きました - 射撃しつつ前転 改
    richard_raw
    richard_raw 2012/02/04
    このシリーズはすべて読みたくなるから困る。/「この本のキーワードは『実装』と『初心者向け』です。」「(※効果は個人差があります)」
  • なぜ次に学ぶ言語は関数型であるべきか - YAMAGUCHI::weblog

    はじめに こんにちは、Python界の情弱です。ちょっと前にOCaml系のエントリを色々と眺めていたらYaron Minsky氏のエントリを見つけたので翻訳してみました。 OCaml for the Masses - ACM Queue Yaron Minsky氏はJane Streetで第一線で活躍されるエンジニアで、Jane Streetの技術ページをはじめ多くの場所でOCamlに関しての知見を語ってくださっています。 Jane Street Tech Blogs エントリはJohn Hughesの名エントリ「なぜ関数プログラミングは重要か」を受けてACM Queueに寄稿されたものの日語訳です。 なぜ関数プログラミングは重要か Why the next language you learn should be functional YARON MINSKY, JANE STREE

    なぜ次に学ぶ言語は関数型であるべきか - YAMAGUCHI::weblog
    richard_raw
    richard_raw 2011/11/07
    前半しか読んでませんがOCaml面白そうですな。
  • wise9 › JavaとJavaScriptの20年戦争

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS

    richard_raw
    richard_raw 2011/06/01
    面白い!JavaScriptにもマスコットキャラクターが必要ですね(ぇ
  • yebo blog: AppleがMacPaintとQuickDrawのソースコードを寄贈

    2010/07/20 AppleMacPaintとQuickDrawのソースコードを寄贈 Businessweekによれば、AppleMacPaintとQuickDrawのソースコードを米国にあるコンピュータ歴史博物館に寄贈したとのこと。ここからソースコードをダウンロードする事ができる。これは、クヌース先生が「MacPaintはプログラムの歴史上、最も素晴らしい作品」と評し、そのソースコードの閲覧を求めた事から始まった。MacPaintのソースコードは5822行のPascalと3583行の68000アセンブラで、QuickDrawライブラリは17101行の68000アセンブラで書かれている。 John Gruber氏が面白い逸話を披露している。記者がジョブズに「QuickDrawを書くのに何人年が掛かったんですか?」と尋ねた。ジョブズはビルに振り、彼が「4年間これに取り組んだよ」と答え

    richard_raw
    richard_raw 2010/07/21
    クヌース先生のリクエスト。
  • 1