Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 199件

新着順 人気順

smalltalkの検索結果1 - 40 件 / 199件

  • 【翻訳】技術的負債という概念の生みの親 Ward Cunningham 自身による説明 - t-wadaのブログ

    システム開発の世界において「技術的負債(Technical Debt)」は繰り返し話題になり、しばしば炎上しています。 技術的負債という概念の生みの親は Ward Cunningham (ウォード・カニンガム)です。彼は 1992 年にオブジェクト指向プログラミングの国際カンファレンス OOPSLA '92 の Experience Report でコードの初回リリースを負債に例えました("Shipping first time code is like going into debt")。 Ward Cunningham はソフトウェアの世界に多くの貢献を果たしてきました。Wiki の発明者であり、XP と TDD の父 Kent Beck の師匠のような存在であり、建築の世界の「パタン・ランゲージ」を Kent Beck と共にソフトウェアに輸入した人であり、「アジャイルソフトウェア開

      【翻訳】技術的負債という概念の生みの親 Ward Cunningham 自身による説明 - t-wadaのブログ
    • Pythonのオブジェクト指向プログラミングを完全理解 - Qiita

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

        Pythonのオブジェクト指向プログラミングを完全理解 - Qiita
      • 万能ツール「Notion」共同創設者のIvan Zhaoが考える、プロダクト、採用、バリューのポイントを直接インタビュー

        ALL STAR SAAS FUNDのメールマガジン「ALL STAR SAAS NEWSLETTER」購読登録受付中ALL STAR SAAS FUNDがお届けする 最新SaaSニュース、ブログ記事情報を配信するSaaS業界にいる方は必見のメールマガジン! このツールを定義することは難しい。Notionは、半ば苦し紛れのように「万能ツール」や「生産ツール」と呼ばれる。ただ、俯瞰して見ると、言い得て妙でもあり、そうとしか呼べないともいえる。つまり、それこそが、Notionの魅力なのだ。 世界中で、熱心なユーザーを増やし続けるNotion。高まるのは愛情だけではない。2020年4月には約54億円を調達し、大胆な発展を見せる。今回は、共同創設者であるIvan Zhaoさんに、前田ヒロがその成り立ちや組織運営などを聞いた。 Notionは、京都で再生した 前田:今日はお時間をいただき、ありがとう

          万能ツール「Notion」共同創設者のIvan Zhaoが考える、プロダクト、採用、バリューのポイントを直接インタビュー
        • 2021年の「オブジェクト指向」を考える

          きしださんが先日もたのしいお題を投下されていました。 出遅れましたがこのネタについて少し掘り下げてみます。 念のため個人的なスタンスをあらかじめ表明しておくと、オブジェクト指向に対してはそれなりに好意的ですが、別に時代の最先端だとかソフトウェア開発に必須の知識というほどではない(でも知っておくと便利というか、知らないと不便なこともあるかもしれないのでわざわざ避けるのはおすすめしない)というくらい温度感です。 オブジェクト指向 is 何 そもそも「オブジェクト指向」という言葉自体、座りの悪い言葉です。 意味が明確なのは「オブジェクト指向プログラミング(OOP)」、「オブジェクト指向プログラミング言語(OOPL)」、「オブジェクト指向設計(OOD)」「オブジェクト指向分析(OOA)」といった「オブジェクト指向なんとか」の方で、それらをふわっとまとめた(ような気がする)単語が「オブジェクト指向」

            2021年の「オブジェクト指向」を考える
          • オブジェクト指向宗教史

            OOC 2024 の発表資料です。後のフィードバックを参考に、より妥当な文言に改訂してあります。 ※ 本コンテンツには、一部特定の宗教思想の迫害に言及する表現がございますが、そのような行いを肯定する意図の内容ではございません。

              オブジェクト指向宗教史
            • 英語学習は AI と行う時代がついに到来!? ChatGPT と LINE Bot でオンライン英会話アプリ「Small GPTalk」を作ってみた | DevelopersIO

              こんにちは。CX 事業本部 Delivery 部のきんじょーです。 ChatGPT の API がついに提供されたということで、チャット AI 界隈が盛り上がっていますね。 このビッグウェーブに乗り遅れてはいけないと思い、ChatGPT の優れた自然言語処理能力を活かして LINE で英会話の練習をする「Small GPTalk」というサービスを作ってみました! アプリの紹介と、アプリ作成を通して感じた ChatGPT の可能性についてブログ化していきます。 Small GPTalk とは Small GPTalk は、ChatGPT から派遣された AI 英語講師と LINE 上で SmallTalk(世間話) を楽しむためのアプリです。 レッスンが始まると、講師はトピックを提示してくれます。好きなトピックを選んで講師と会話を楽しみましょう。 レッスンを終わるときは「終わります」と伝えて

                英語学習は AI と行う時代がついに到来!? ChatGPT と LINE Bot でオンライン英会話アプリ「Small GPTalk」を作ってみた | DevelopersIO
              • プログラミング言語論入門 - riswu’s blog

                第0章. なぜ Scala を使うのか? はじめに 本稿は、John C. Mitchell 氏らによる Concepts in Programming Languages を基に自身の見解を交え、私がなぜ Scala を好んで使うのかを論じた記事になります。 プログラミング言語の歴史 本題に入る前に、プログラミング言語の歴史について紹介します。 年代 言語・イノベーション 1950 Fortran and Cobol 1960 Lisp and Algol 1970 Abstract data types (Simula, C, SQL) 1980 Objects (Smalltalk, C++) 1990 Java, JavaScript, Python, Ruby これは、年代ごとに開発された言語およびイノベーションを表にまとめたものになります。ただし、この表には欠けている事柄があり

                  プログラミング言語論入門 - riswu’s blog
                • レイヤードアーキテクチャ - kawasima

                  POSAでの定義 レイヤードアーキテクチャを、体系だって書いたのは「Pattern-Oriented Software Architecture, Volume 1, A System of Patterns」だろう。まずはその原典に立ち返って、レイヤードアーキテクチャとは何かをみてみる。 コンテキスト ソースコードの変更がシステム全体に波及させたくない。それが1つのコンポーネントに閉じられ、他に影響を与えないようにすべきだ。 インタフェースは安定している。標準化団体によって規定されている場合もある。 システムの一部は交換可能である。コンポーネントはシステムの他の部分に影響を与えることなく、実装を入れ替えることができる。 現在設計しているシステムと同様の下位レイヤの課題をもつ他のシステムを、将来構築することがあるかもしれない。 理解のしやすさと保守性のために同じ責務はグルーピングしておきた

                    レイヤードアーキテクチャ - kawasima
                  • Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です

                    2022-09-09改訂: gcc バージョンが古すぎたのと、C が内部計測でなかった点を改め計測しなおしました。結果、Rust は C より速くはなくなりました。紛らわしいことで、ごめんなさい。また、gcc のバージョンアップに伴い、Python および Ruby についてはビルドと計測をしなおしたので、これらも少し速い値に変わっています。この点もどうぞあしからず。 2022-09-10追記:ご要望のあった Python numba.njit 使用時と Go の結果を追加しました。PHP は JIT 有効化が面倒だったので断念しました^^; 2022-09-10追記2:C の計測で clock() を使うのはフェアではないという指摘がありましたので、念のため clock_gettime() を使用したコードに差し替えました。結果に大きな差はありません。 2022-09-10追記3:PHP

                      Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です
                    • MVCとはなにか|tenjuu99

                      この記事は、2019年12月1日に開催されたPHPカンファレンスでの「MVCとはなにか」という題の登壇内容の書き起こしです。スライドはこちらです。 1. はじめに MVCの悪かった点は、わたしたちがどう実装したかという点だ。それはあまりに機械的だった。 https://news.ycombinator.com/item?id=8841428 ある人がアラン・ケイに対して「MVCについてどう思うか」という質問をして、それに対するメールでの回答がHacker Newsというサイトにのっていました。前提をお話すると、MVCというアイデアは、だいたい40年以上まえにパロアルト研究所というところで、アラン・ケイがパーソナルコンピュータの開発をしていたときに、客員研究員としてトリグヴェ・リーンスカウクさんという人が訪れて、そのとき他の研究所のメンバーとも話あって作ったアイデアがMVCになります。 MV

                        MVCとはなにか|tenjuu99
                      • インスタンスとオブジェクトの違い - きしだのHatena

                        インスタンスとオブジェクトは混同しがちで区別がようわからんになりがちです。 とりあえず某所で説明したものを再構成します。 ※2022/12/10追記: クラスに対するのはインスタンスになるべき(たとえばクラス変数とインスタンス変数)なので、ちょっと修正するべきですが、このエントリはそのまま残してます。 クラス・インスタンス・オブジェクト クラスをインスタンス化(実体化)したものがオブジェクト(物)です。 実際に在るものはクラスとオブジェクトで、インスタンスはそれらの関係です。colorsやsportsが並んでるツリーが「オブジェクト」で、右のパレットに並んでるTreeが「クラス」、Treeからみたときのツリーが「インスタンス」ということになります。 ここでツリーはオブジェクトでもインスタンスでもあります。 このように、同じものをオブジェクトともインスタンスともいうことができるので混同してし

                          インスタンスとオブジェクトの違い - きしだのHatena
                        • オブジェクト指向のハードコア

                          オブジェクト指向のハードコアは2019年5月25日にゼロベースサロンで行われたイベントです。「オブジェクト指向」というキーワードについて、プログラミング、デザイン、哲学などの分野を横断しつつ知的な議論ができました。記録映像は必見。 企画意図/招待状 この研究会の企画意図については、私が送った招待状を見ていただくのが早いでしょう: いくつか異なる分野で「オブジェクト指向」がキーワードとして注目されています。昨年からGUIデザインの分野では「オブジェクト指向ユーザーインターフェイス」(OOUI)の議論がホットです。ソフトウェア開発の分野では、数年前からオブジェクト指向の見直しとしての「ドメイン駆動設計」(DDD)が広まっています(※原著である英語版から日本語への翻訳は数年遅れています)。さらには「オブジェクト指向存在論」(OOO)も思想業界でブームになっています。 これはもうオブジェクト指向の

                            オブジェクト指向のハードコア
                          • 「アラン・ケイの」オブジェクト指向とは何だったか?元哲学者のエンジニアがまとめてみた - Qiita

                            2020/5/13追記 オブジェクト指向と哲学の関係について書いた記事ではないです。せっかくだしQiitaっぽいタイトルつけようと思ったら結果的に釣りっぽくなってしまった 概要 オブジェクト指向とは何か?ということを真面目に調べていくと、オブジェクト指向には二種類ある、という話に突き当たる。sumim氏のQuora回答などを参照。 Smalltalkの設計者アラン・ケイによる、メッセージング重視のオブジェクト指向 C++の設計者ストラウストラップによる、クラス重視のオブジェクト指向 今回はこの前者のオブジェクト指向について、アラン・ケイの書きものを読んで調べた結果をまとめ、コメントを付す。 参考文献は最後にまとめて出す。参照元は「(AOO)」のように略記で示す。 アラン・ケイのオブジェクト指向 OOPは私にとって、メッセージング、状態処理の局所的な保持・保護と隠蔽、そしてあらゆる事象の徹底

                              「アラン・ケイの」オブジェクト指向とは何だったか?元哲学者のエンジニアがまとめてみた - Qiita
                            • Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena

                              オブジェクト指向言語の話をするときに便利なように、Javaを中心にプログラミング言語をまとめてみました。 Javaに影響与えるか、Javaから影響を受けるか、という感じですね。 Simula オブジェクト指向はここから始まったと言われています。 クラス、オブジェクト、継承、仮想関数(多態)といった、オブジェクト指向の基本要素が備わっていました。 ただし、「オブジェクト指向」という言葉は生まれていません。 Smalltalk Simulaから発想を得て「オブジェクト指向」という言葉を生んだのはアラン・ケイでした。 しかし、モデルとしてはSimulaとは異なりメッセージングを主体としたものでした。また、アラン・ケイの「オブジェクト指向」はプログラミングのパラダイムだけではなく、人がコンピュータをどのように扱うかというメタファであり、ダイナブックというハードウェアやそのユーザーインタフェースを含

                                Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena
                              • How to recover from microservices

                                I won't deny there may well be cases where a microservices-first architecture makes sense, but I think they're few and far in between. The vast majority of systems are much better served by starting and staying with a majestic monolith. The Prime Video case study that blew up the internet yesterday is but the latest illustration. Maybe once you reach the scale of Netflix or Amazon, there are areas

                                  How to recover from microservices
                                • Goならわかるシステムプログラミング第2版が出たので書評しますね - moriyoshiの日記

                                  少し前になりますが、3月23日に、渋川よしきさんの著された「Goならわかるシステムプログラミング 第2版 」が発売されました。初版と比べてかなり加筆されておりパワーアップしているので、初版をすでにお持ちの方でもさらに興味深く読むことのできる内容に仕上がっている、というのが第一印象です。 残念ながら初版発売時に記事にする機会がなかったのですが、あらためて今回書評したいなと思いましたので、徒然書いていきたいと思います。 この本は実はシステムプログラミングの本ではないかもしれない 「システムプログラミング」とは何でしょう。正直私にもわかりません。その語をはじめに思い浮かべた人は、プログラミングという概念のその中にあえて「システムプログラミング」という分類を作ろうと思い至ったということですから、きっと「非システムプログラミング」というものもあるということでしょう。知らんけど。しかし、これは本書の位

                                    Goならわかるシステムプログラミング第2版が出たので書評しますね - moriyoshiの日記
                                  • Objective-C小史

                                    Mediumより。 BY ハンセン・スー これまでに、ユーザがダウンロードしたiPhoneアプリは1,400億を超えています1。iPhoneの成功は、サードパーティ製アプリのエコシステムに関係しています。2008年にApp Storeがデビューしたとき、すべてのアプリは、Apple以外のコミュニティではほとんど使われていなかったプログラミング言語Objective-Cで書かれていました。それ以来、Objective-Cの使用は爆発的に増加し、アプリを作る開発者たちのゴールドラッシュとなりました。Appleは2014年に新しい言語Swiftを導入しましたが、AppleのiOSオペレーティング・システムのほとんどは今もObjective-Cで書かれており、今後何年もAppleのデバイスで使用されるでしょう。 多くのプログラマがObjective-Cを知ったのは、iPhoneアプリ革命の時でした

                                      Objective-C小史
                                    • 48. GoFデザインパターンとDI (前編) w/ twada | fukabori.fm

                                      話したネタ デザインパターンとは? ソフトウェアパターン 書籍: オブジェクト指向における再利用のためのデザインパターン Gang of Four 進研ゼミみたいなもの Composite パターン デザインパターン以外のソフトウェアパターンとは? アーキテクチャパターン、アンチパターン、コンカレンシーパターン AWSクラウドデザインパターン パターンにはフォーマットがある GoFのデザインパターンはいつ頃生まれたもの? GoFのデザインパターン登場時に、ソフトウェア業界では何が起きていたのか? Ruby 20 周年記念パーティーレポート ―― プログラミング初心者の運営スタッフが見た Ruby コミュニティ C、C++、Perl、Smalltalk、Visual Basic の時代 デザインパターンには、どういうカテゴリがある? 生成・構造・振る舞い Javaのクラスライブラリにおけるデ

                                        48. GoFデザインパターンとDI (前編) w/ twada | fukabori.fm
                                      • プログラミング言語の歴史を誕生した順に徹底解説 - WEBCAMP MEDIA

                                        コンピュータとプログラミング言語の誕生 プログラミング言語の登場に欠かせないのが、まずはコンピュータの誕生です。 コンピュータの誕生とプログラミング言語が誕生した時期について、解説していきます。 1940年以前 正確な日時はわかっていませんが、1940年以前にチャールズ・バベッジが機械式コンピュータを開発した事が始まりです。 1940年頃には機械言語でコンピュータを動かすことが出来るようになっています。この機械言語が初のプログラミング言語と呼ばれています。 チャールズ・バベッジについて詳しく知りたいという方は以下のページをご覧ください。 かつて存在しなかった最高のコンピュータ (TED Talks) 1940年代 1940年代は機械語からアセンブリ言語でプログラムを実行することが出来る様になっており、機械語だけでなくアセンブリ言語により単純な処理をコンピュータで実行する事が出来る様になって

                                          プログラミング言語の歴史を誕生した順に徹底解説 - WEBCAMP MEDIA
                                        • The Rails Doctrine(日本語訳) - Qiita

                                          (訳者注: 原文は https://rubyonrails.org/doctrine/ です。しばらく寝かして問題なさそうであれば本家に投げようかと思っています。おかしいところがあればコメント・編集リクエストをお待ちしております。) The Rails Doctrine By David Heinemeier Hansson in January, 2016 Ruby on Railsの驚異的な台頭は、斬新な技術とタイミングによるところが少なからずあります。しかし、技術的な優位性は時間の経過とともに失われていきますし、タイミングの良さだけでは長期にわたってムーブメントを維持できません。そのため、Railsがどのようにして現役であり続けることができたのかだけでなく、どのようにしてそのインパクトとコミュニティを成長させてきたのかについて、より広範な説明が求められています。私が提唱するのは、永続

                                            The Rails Doctrine(日本語訳) - Qiita
                                          • オブジェクト指向プログラミングの現在・過去・未来

                                            2. 自己紹介 2019/11/23 2 増田 亨 (@masuda220) 最近の仕事:JavaとSQLでプログラミング(したい) 今日は、この本の背景にある オブジェクト指向プログラミングの 基本的な考え方を説明します 仕事レベルで使った言語 Z80アセンブラ, C, PL/SQL, C++, COBOL, FORTRAN, BASIC, Lisp, Prolog, Smalltalk, awk, Perl, PHP, Ruby, Python, Groovy, Objective-C, JavaScript … 試したことのある言語 Haskell, OCaml, Schema, Scala, Kotlin, Go, Rust, IO, TypeScript, … 面白いと思っている言語 Haskell, Prolog, Rust

                                              オブジェクト指向プログラミングの現在・過去・未来
                                            • オブジェクト指向言語物語

                                              メタデータをダウンロード RIS形式 (EndNote、Reference Manager、ProCite、RefWorksとの互換性あり)

                                              • Go: A Documentary

                                                Go: A Documentary by Changkun Ou <changkun.de> (and many inputs from contributors) This document collects many interesting (publicly observable) issues, discussions, proposals, CLs, and talks from the Go development process, which intends to offer a comprehensive reference of the Go history. Disclaimer Most of the texts are written as subjective understanding based on public sources Factual and ty

                                                • 60年前からのプログラミング和文論文を掘り起こした話

                                                  本記事の初版を公開したのは 2024 年 9 月 21 日だったのですが、その後 9 月 26 日に、ピックアップした論文を大幅に増やして更新しました。 また、最初はタイトルを「和文プログラミング論文を〜」としていたのですが、いわゆる「日本語プログラミング言語」の話にも見えてしまうことから、「プログラミング和文論文を〜」に置き換えました。 日本の人々が「プログラミング」にかかわるようになったのは、いつごろでしょうか? その前に、まずは世界のコンピュータとプログラミングの歴史を簡単に振り返ってみましょう。まずは OS から有名どころをたどると、 わかりやすく Windows 95 が 1995 年 [1] その前に広く使われた Windows 3.1 は 1992 年 [2] その下で動く MS-DOS は、バージョン 6 が 1993 年、バージョン 1 が 1981 年 [3] Linu

                                                    60年前からのプログラミング和文論文を掘り起こした話
                                                  • RubyとWebAssemblyの関係についてわかる範囲でまとめる | うなすけとあれこれ

                                                    はじめに 2021年1月にv1.0がリリースされたWasmerにRuby Gemが存在することに触発されて調べてみました。RubyとWebAssemblyが関わっているものについてわかる範囲でまとめ、軽くどのようなものかを書いていきます。 僕自身、業務はおろかプライベートでもWASMを書いたことはなく浅い理解しかしていないですが…… WebAssembly (WASM)とは WebAssembly は最近のウェブブラウザーで動作し、新たな機能と大幅なパフォーマンス向上を提供する新しい種類のコードです。基本的に直接記述ではなく、C、C++、Rust 等の低水準の言語にとって効果的なコンパイル対象となるように設計されています。 この機能はウェブプラットフォームにとって大きな意味を持ちます。 — ウェブ上で動作するクライアントアプリで従来は実現できなかった、ネイティブ水準の速度で複数の言語で記述

                                                      RubyとWebAssemblyの関係についてわかる範囲でまとめる | うなすけとあれこれ
                                                    • 2つのオブジェクト指向ーメッセージ・パッシングと抽象データ型 - Hot Heart, Cool Mind.

                                                      オブジェクト指向には、もともとアラン・ケイが創案したメッセージ・パッシングのオブジェクト指向と、その後、抽象データ型から発展したオブジェクト指向の2つがあって、その2つは、プログラム言語の機構の面からは共通する要素も多いのだけどプログラミングに対するビジョンという点では相当に異なっている、という見方があります。 これに関しては、id:sumim さんが「二つのオブジェクト指向とそれぞれのメリット」という行き届いた論考を公開しておられて、僕などはそれを読んで頭を整理した口です。 その後、それを踏まえて自分なりに両者の違いを考えてツイートしましたが、言葉足らずな点もあったので、内容を整理するとともに加筆しました。 言語機構に惑わされるな この2つのオブジェクト指向は、実現する機構の面では似ています。オブジェクト指向の3要素として「カプセル化、継承、ポリモフィズム」があると言われますが、そうした

                                                        2つのオブジェクト指向ーメッセージ・パッシングと抽象データ型 - Hot Heart, Cool Mind.
                                                      • プログラミング言語 Ruby30 周年記念イベント レポート

                                                        プログラミング言語 Ruby30 周年記念イベント 2023 年 2 月 25 日、Ruby 誕生 30 年を記念したイベントが開催されました。 2020 年から流行した新型コロナウィルス感染症の影響で、一時期のイベントはすべてオンラインでの開催が主流となっていました。 本イベントも当初はオンライン形式で予定されていましたが、当日は松江オープンソースラボをメイン会場としてオフラインとオンラインのハイブリッドで開催されました。 開催日 2023-02-25 (土) 13:40 - 17:30 開催場所 松江オープンソースラボ / YouTube 配信 主催 一般財団法人 Ruby アソシエーション / 一般社団法人 日本 Ruby の会 公式ページ プログラミング言語 Ruby30 周年記念イベント 進行 :前田修吾 公式ハッシュタグ #ruby30th 動画 アーカイブ動画 オープニング

                                                        • 流行っている・流行っていないプログラミング言語に関する1つの考察 - Qiita

                                                          なぜ〇〇というプログラミング言語は流行らなかったのか? 最近、私は古くからあるプログラミング言語に興味があり、LispやSmalltalkなどの言語に興味があります。触っていくうちに、結構面白いな。と思うことがあるのですが、それほど人気があるとは言えません。 例えば、プログラミングの人気を表すTIOBE Indexでも、ランクが高いとは言えませんし、それらの言語はプログラミング言語の歴史。という中で、ちょっと学ぶぐらいで、それほど詳しくは知らない。という人が多いでしょう。 Quoraを探してみると、「Lispはなぜ覇権を握らなかったのでしょうか?」の回答であったり、「Smalltalk が広く使われなくなったのはなぜですか?」という回答が見つかります。 そのように各プログラミング言語に関する言説を読んだり、実際に使って見たり、歴史を紐解いていくうちに、思うことがあったので、まとめたいと思い

                                                            流行っている・流行っていないプログラミング言語に関する1つの考察 - Qiita
                                                          • Smalltalkが失敗した理由

                                                            Room 101より。 Bits of History, Words of Advice 「貴重なものがあるのに、私に喜びを与えてくれるような優雅さがあるのに、なぜ君ら間抜けは劣った言語の乗り物を使うんだ? どうして、そんなに盲目で愚かなんだ?」その議論には絶対に勝てないし、挑戦しない方がいい。 - アラン・パリス, 1978 1970年代後半、Xerox Parcの研究者たちは現代のコンピューティングを発明しました。もちろん、他の場所にもありましたが、Parcは非常に不釣り合いな(不相応な)貢献をしました。 その大部分は、Smalltalkというプログラミング言語をベースとして行われました。40年前、Smalltalkの動的更新とリフレクション機能は、今日の主流言語の中では最も高度なものでした。この言語は、これらの機能を活用して、多くの点で現在、その用語の下で成り済ましている日食、ブラッ

                                                            • iPhone開発言語「Objective-C」作成者が76歳で死去。スマホ時代を拓いた言語の数奇な運命 « ハーバー・ビジネス・オンライン

                                                              Objective-C というプログラミング言語を開発した1人である Brad Cox 氏が、2021年の1月に76歳で亡くなっていた(SCNow)。 IT業界にいる人なら、Objective-C という名前を聞いて、すぐにそれが何か分かるだろう。しかし、そうでない人たちにとっては、プログラミング言語の種類と、その特徴や背景を思い浮かべるのは難しいはずだ。 Objective-C は、初期の iPhone 向けアプリケーションの開発に利用されていたプログラミング言語だ。ある時期まで、iPhone のアプリケーションは、ほぼ全て Objective-C というプログラミング言語によって開発されていた。 Apple という会社と、切っても切り離せないプログラミング言語。いや、スティーブ・ジョブズと切っても切り離せないプログラミング言語と言った方が適切だ。 Brad Cox 氏の死を切っ掛けに、

                                                                iPhone開発言語「Objective-C」作成者が76歳で死去。スマホ時代を拓いた言語の数奇な運命 « ハーバー・ビジネス・オンライン
                                                              • Rubyオブジェクトの未来をつくる「シェイプ」とは(翻訳)|TechRacho by BPS株式会社

                                                                概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The Future Shape of Ruby Objects 原文公開日: 2021/09/10 原著者: Chris Seaton RubyKaigi Takeout 2021: The Future Shape of Ruby Objects by Chris Seaton - RubyKaigi Takeout 2021 日本語タイトルは内容に即したものにしました。本記事はRubyKaigi Takout 2021 Day2キーノートのスピーチ原稿につき、最終的な発表内容はこのとおりでない部分もあります。流れを把握するために必要と思われる部分については訳注で補足いたしましたが、わかりにくい場合は動画と合わせてご覧ください。 本記事ではshapeの仮訳として「シェイプ」を採用しています。 なお、本記事公開後にCRuby 3

                                                                  Rubyオブジェクトの未来をつくる「シェイプ」とは(翻訳)|TechRacho by BPS株式会社
                                                                • フロントエンドとオブジェクト指向

                                                                  フロントエンドの実装にオブジェクト指向をどのように取り入れるかを考えます。 動機 近年のフロントエンドは、Reactなどのフレームワークを使ったコンポーネントベースの設計が主流だと思います。コンポーネントは、HTMLによるマークアップ、CSSによるスタイリング、JavaScriptによる振る舞いがひとまとめにされた、再利用可能な部品です。 コンポーネントの設計を考えていると、次のような疑問が生じます。 何を基準にコンポーネントで分割すればよいか。 コンポーネントの粒度はどれくらいが適切なのか。 どのタイミングで抽象化すれば開発コストが無駄にならないか。 分業した際にコンポーネントの分割や粒度の基準をどのように統一するべきか。 そこで、いろいろ調べたり試したりしたところ、フロントエンドの設計にオブジェクト指向を取り入れることが、これらの答えの一つになるのではないかと考えました。 この記事では

                                                                    フロントエンドとオブジェクト指向
                                                                  • 「作りたいものをいかに早く完成させるかが正義」 まつもとゆきひろ氏が語る、ソフトウェア開発におけるベロシティの重要性

                                                                    「作りたいものをいかに早く完成させるかが正義」 まつもとゆきひろ氏が語る、ソフトウェア開発におけるベロシティの重要性 #18 動的型付け言語と大規模開発 今回のテーマは「動的型付け言語と大規模開発 まつもとゆきひろ氏:こんにちは。まつもとゆきひろです。Matzチャンネル、18回目になりますね。今日は前回の続きで、「動的型付け言語と大規模開発」について話そうと思います。 本当は前回放送リリースした次の日ぐらいに放送できるようにと思っていたんですけど、意外と忙しくてですね(笑)。 今度、フィンランドのヘルシンキで、「Euruko」というカンファレンスが開かれるんですけれども、まだ物理で海外旅行する気にならないので、キーノートを録画しましょうという話になって、そのキーノートの準備をして、スライドを書いて、英語の講演を録画するみたいな作業をしていたら、あっという間に時間が経ってしまって、「Voic

                                                                      「作りたいものをいかに早く完成させるかが正義」 まつもとゆきひろ氏が語る、ソフトウェア開発におけるベロシティの重要性
                                                                    • 関数型プログラミング言語における関数適用構文の歴史的経緯についてのメモ - Arantium Maestum

                                                                      先日こういうツイートがあった: Haskellとかの関数型言語を使用しているプログラマの皆様にお聞きしたいんですけど、「関数名 引数 引数 ...」みたいな関数呼び出し構文って見にくくは無いですか?「関数名(引数, 引数, ...)」に慣れたこちらからすると、丸括弧が無いからコード中のどこが関数呼び出しなのかパット見で把握しにくい。— sounisi5011/プログラム (@sounisi5011Prog) February 22, 2022 「見にくくは無いですか?」と聞かれると、個人的には「全然大丈夫です」と答えざるを得ないのだが、次のツイートに関しては考えさせられた: 数式でも函数には丸括弧を使ってるのに、どこのタイミングで丸括弧が消失したのかわからないし、その選択をした理由も思いつかない。— sounisi5011/プログラム (@sounisi5011Prog) February

                                                                        関数型プログラミング言語における関数適用構文の歴史的経緯についてのメモ - Arantium Maestum
                                                                      • 「人とAIの“模倣”は本質的に同じ」Rubyの父・まつもとゆきひろに聞く、技術の進化と“模倣”の関係 レバテックラボ(レバテックLAB)

                                                                        「人とAIの“模倣”は本質的に同じ」Rubyの父・まつもとゆきひろに聞く、技術の進化と“模倣”の関係 2024年5月14日 一般財団法人Rubyアソシエーション 理事長/Ruby開発者 まつもと ゆきひろ(松本行弘) プログラミング言語Rubyの生みの親。株式会社ネットワーク応用通信研究所フェロー、一般財団法人Rubyアソシエーション理事長、NPO団体軽量Rubyフォーラム理事長などを務める。島根県松江市名誉市民。 近年、大量のデータから文章や画像を生み出す生成AIに注目が集まる中、改めて「模倣」が果たす役割を問い直そうという動きが広がっているように見受けられます。実際に、人間はこれまで、既存の技術を「模倣」しながら新しい技術をつくりだし、その繰り返しによって発展を遂げてきました。 世界中のプログラマーから支持を集める「Ruby」も、他のプログラミング言語のさまざまな要素を採り入れて誕生し

                                                                          「人とAIの“模倣”は本質的に同じ」Rubyの父・まつもとゆきひろに聞く、技術の進化と“模倣”の関係 レバテックラボ(レバテックLAB)
                                                                        • RISC-Vの誕生 既存の命令セットアーキテクチャでは満足できなかった、その理由

                                                                          RISC-Vの誕生 既存の命令セットアーキテクチャでは満足できなかった、その理由:RISCの生い立ちからRISC-Vまでの遠い道のり(1/3 ページ) やっと、IBM 801からRISC-Vまで話がたどり着いた。RISC-Vの生い立ちについては以前EETimesで記事を書かせていただいたが、改めて簡単にご紹介を。 昨今の大学の場合、CPUを設計する、というのは割とごく一般的なもの「らしい」(筆者は地方大学の理学部物理学科出身なので、いまいち情報系とか計算機系の研究室のカリキュラムがよく分かっていない)。例えば東京大学理学部の情報科学科では、学部の3年生になるとCPUを作るという課題が与えられるそうだ。ターゲットはFPGAボードであるが、この上で自分の考えたアーキテクチャのCPUをHDL(Hardware Description Language:ハードウェア記述言語)で記述する形で実装し、

                                                                            RISC-Vの誕生 既存の命令セットアーキテクチャでは満足できなかった、その理由
                                                                          • Speculation in JavaScriptCore

                                                                            This post is all about speculative compilation, or just speculation for short, in the context of the JavaScriptCore virtual machine. Speculative compilation is ideal for making dynamic languages, or any language with enough dynamic features, run faster. In this post, we will look at speculation for JavaScript. Historically, this technique or closely related variants has been applied successfully t

                                                                            • Macintosh誕生にみるUIの起源|tsuyoshi_m

                                                                              これは株式会社RevCommアドベントカレンダー2022 23日目の投稿です。 はじめに初期MacintoshのStart Up Screen こんにちは、株式会社RevCommデザインチームの三浦です。コミュニケーションデザインの分野でデザインディレクターをしています。私はMacユーザー歴30年、Appleの歴史や開発秘話が大好きで、信者としても多くのApple製品を長く愛用してきました。 Apple製品のUIは昔から非常に優秀で、MacやiPhoneなどのOSを初め、iTunesやKeynoteなどソフトウェアにおいても多くの革新的なUIを生み出してきました。 今回は1984年に登場したMacintoshが今日のUIの礎を築いたお話を書いてみたいと思います。 アラン・ケイのダイナブック構想とPARCのAltoAlan Kay, A Personal Computer for Child

                                                                                Macintosh誕生にみるUIの起源|tsuyoshi_m
                                                                              • 365日欠かさずコミットを積む。なぜRuboCopコミッター伊藤浩一はOSSと向き合い続けるのか - Findy Engineer Lab

                                                                                プロジェクト内にあるRubyのコードが、コーディング規約を遵守しているかをチェックしてくれるRuboCop。Rubyでの開発においては広く使われている静的コード解析ツールであり、大部分のRubyエンジニアはRuboCopを利用したことがあるのではないでしょうか。 このツールのGitHubリポジトリを見ると、ある日本人のコミット数が最多であることがわかります。その方とは、伊藤浩一さん。Ruby関連のシステム開発に長年携わり、RuboCopのみならずActive Record Oracle enhanced adapterやParser、Fakerなど各種の有名ツールのコミッターを務めています。OSS関連の活動について、伊藤さんに振り返っていただきました。 永和システムマネジメントに転職し、初めて業務でRubyを書いた ――伊藤さんがRubyやRuby on Railsに触れた経緯からお聞きし

                                                                                  365日欠かさずコミットを積む。なぜRuboCopコミッター伊藤浩一はOSSと向き合い続けるのか - Findy Engineer Lab
                                                                                • Ruby: メモ化のイディオムが現代のRubyパフォーマンスに与える影響(翻訳)|TechRacho by BPS株式会社

                                                                                  概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Performance impact of the memoization idiom on modern Ruby | Rails at Scale 原文公開日: 2024/02/14 原著者: Jean Boussier(byroot) CC BY-NC-SA 4.0 Deed | 表示 - 非営利 - 継承 4.0 国際 | Creative Commons Ruby 3.2における主要な内部変更のひとつに、オブジェクトシェイプ(object shape)の導入があります。 本記事では、オブジェクトシェイプが導入された理由、仕組み、制限事項について解説します。 🔗 オブジェクトのインスタンス変数はどのように保存されるのか Rubyは非常に動的な言語なので、インスタンス変数へのアクセスという単純な操作でも多くの作業を伴います

                                                                                    Ruby: メモ化のイディオムが現代のRubyパフォーマンスに与える影響(翻訳)|TechRacho by BPS株式会社