タグ

プログラミングと言語に関するUhoNiceGuyのブックマーク (23)

  • 私の心を揺さぶったプログラミング言語 - ABAの日誌

    'Programming Languages That Blew My Mind'というブログ記事で、8歳からプログラマーとして活動しているDavid Tellerさんが、人生で出会った革新的なプログラミング言語について紹介している。 BASIC A language designed to make programming simple. Mind blown: Programming my own games! Mind blown: Arrays (or DIM, as they were called)! Mind blown: GOTO! Mind blown: GOSUB! Original, line-based, Basic is dead, but its legacy lives on in VB.Net, VBA, but also in more subtle ma

    私の心を揺さぶったプログラミング言語 - ABAの日誌
    UhoNiceGuy
    UhoNiceGuy 2024/11/06
    古のBASICは参照とかなしで「変数という箱」に値を入れるというモデルで、教育用にはすごくいいと思うわ。できることが少ないのでファーストステップにいいと思うわ
  • オブジェクト指向言語物語

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

    UhoNiceGuy
    UhoNiceGuy 2024/10/23
    JavaやPHPってOSSでしょ。どうやってマネタイズしてるんだろ//Objective-CやswiftってSmallTalkの系譜でいい?//オブジェクト指向の話というより処理系の高速化の話だね。OOを実現するためインタプリタやGCを利用し、その高速化
  • 誰もPython自体には興味がない、大人気言語の残酷な現実

    最近、プログラミング言語「Python」に関して残念な出来事があった。2023年10月に開催されたPython関連イベント「PyCon APAC 2023」のプロポーザル選考過程において不正行為があったという匿名の告発がインターネットで公開されたのだ。プロポーザルを審査する査読者の1人として、不正を目の当たりにしたという。この告発に対し、同イベントの開催者側である一般社団法人の「PyCon JP Association」も意見を公開している。 告発の内容を読んでみたが、私は当事者ではないので、この選考過程を「不正」と呼ぶのが適切かどうかは判断できなかった。はっきりしているのは、査読者の間で意見の相違があったということだけだ。部外者としては、こうした決定的な対立に至る前に話し合いでどうにかならなかったのかという月並みな感想を抱いた。 この騒動で私が気になったのは、Python自体が皆にどのよ

    誰もPython自体には興味がない、大人気言語の残酷な現実
    UhoNiceGuy
    UhoNiceGuy 2024/10/12
    有料部未読:PythonがschemeからMITの教育言語の座を奪った時にはglue言語として魅力、だったよね。現在の姿はそれを表している//うろ覚えだけどOpenCVとnumpyのarrayと素のPythonのlist全部違うよね。その辺の悪食ぶり凄いと思う
  • 高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性

    高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性 Modular社はPythonの高速なスーパーセットと同社が位置づける開発中の新言語「Mojo」の、Appleシリコンにネイティブ対応したMac版をリリースしました。 Today is the day! Mojo for Mac is live! Download it right now! Read our launch blogpost on how to get startedhttps://t.co/XSMkqUmHKt — Modular (@Modular_AI) October 19, 2023 Mojoは9月に初めてローカル環境でコンパイルなどを実行可能なLinux対応のツール群を公開しています。今回のAppleシリコンにネイティブ対応した

    高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性
    UhoNiceGuy
    UhoNiceGuy 2023/10/23
    OSSにしないのか。どうマネタイズしていくのだろう//9万倍ってワーストケースとの比較でしょ。
  • Pythonについて思うこと | 雑記帳

    みなさん、Pythonは好きですか? この記事では、私がPythonという言語とそのエコシステムについて思うところを書いていきます。全体を通したストーリーみたいなのはなくて、トピックごとに書いています。 私のPython経験は3年弱です。Pythonについてまだまだ新米だという自覚はありますが、そこは有り余る才能でカバーしてこの記事を書いています。 静的型 Pythonには静的型がありません。型ヒントはありますが、インタープリターにとっては飾りにすぎません。 mypyとかの型チェッカーはありますが、「それさえあれば万事ハッピー」なものではなく、既存のコードを適宜書き換えないと型チェッカーでまともな結果を得るのは難しそうです。型検査を念頭に書かれていない(型ヒント付きの)コードをそのままmypyにかけても大量のエラー・警告が出てくるでしょう(ちなみに、型ヒントなしの関数はmypyのデフォルト

    UhoNiceGuy
    UhoNiceGuy 2023/05/24
    Mojoはじめ、いろんなnext Pythonの提案聞くけど、それってPythonじゃなくね?と思わないでもない。なにも考えずPerlみたいにグワーって書けるから普及したのではないかと
  • Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog

    お手伝いの @helloyuki_ です。今回はポエムです。 今回は、Rust を始めた当時、プログラミング言語は Java しかまともに触ったことがない新米若手 Java エンジニアだった私[*1]が「見たことがなく、使いどころがわからなく理解が難しい」と感じたポイントについて紹介します。対象とするソフトウェアのレイヤーが低いか高いかを問わず、とにかく Rust をやってみて理解するまでに時間がかかり、難しいと感じたポイントについて紹介します。 Rust の「メモリ安全」って、結局何 所有権とライフタイム 参照 スマートポインタ 代数的データ型 関数が第一級である モジュールシステム self 型クラスという側面でのトレイト まとめ 私が Rust をある程度使いこなせるようになるまでの話 「難しい」って何?、の話 Rust の「メモリ安全」って、結局何 そもそも論ですが、Rust が取

    Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog
    UhoNiceGuy
    UhoNiceGuy 2023/05/11
    全くおっしゃる通りだ。所有権周りはGCが良きにはからって(ある程度)解決してくれて、見えなくしてくれた。それを明示的に扱うのだから難しいよね。C++やらんと所有権の必要性実感できんでしょ
  • Ruby30周年イベント(後編):まつもと氏「Static Compiler for Ruby」を作りたい。道具立ては揃ってきた

    Ruby30周年イベント(後編):まつもと氏「Static Compiler for Ruby」を作りたい。道具立ては揃ってきた まつもとゆきひろ氏によって開発が始まったRuby言語の30周年を祝うイベント「プログラミング言語Ruby30周年記念イベント」が2月25日にオンラインで開催されました。 イベントでは関係者やRuby愛好家らによる過去30年の振り返りやRubyにまつわるライトニングトークなどが行われ、最後にまつもとゆきひろ氏による基調講演「D is for Dream, V for Vaporware」が行われました。 基調講演では、Rubyを開発する前にまつもと氏が手がけた、Rubyの原点となるソフトウェア「CXライブラリ」や、今回初めて名前が明かされた「Tish」という作りかけのプログラミング言語や、これまであまり語られることのなかった、さらにその前の学生時代に妄想していたプ

    Ruby30周年イベント(後編):まつもと氏「Static Compiler for Ruby」を作りたい。道具立ては揃ってきた
    UhoNiceGuy
    UhoNiceGuy 2023/03/03
    プロファイルを取って最適化手法を変えるという話か//型情報を追加できる動的言語の方がもしかして最適化に有利かも、とのことだが、そのアプローチは静的言語でも本質的には取れるのでは//subset Rubyは期待
  • 何故Javaは敬遠されるのか? - Qiita

    何故かJavaは敬遠される!? 筆者はIT業界に努めて17年ほどです。 SESとして働きに出ることが多かったのですが、近年はWebエンジニアとして PHP(Laravel)を使った開発が多くなってきています。 そんな開発現場ですが、プログラミング言語の話題に上がると 「Javaはわからない」 「Javaって難しいんでしょ?」 「環境構築がなぁ・・・」 なんて話をよく聞きます。 私はJavaの方が経験した期間が長かったので、特にそういった苦手意識は無いのですが Laravelの現場でもそういった話を聞くので、 「フレームワークの特性や、コードの書き方は結構似ているところが多いのに、何でみんな苦手なんだろう?」 と思ってしまうのです。 今回はそのギモンについて、私が思っていることを書いていきます。 (注:Java嫌いな人を論破したいわけではありませんw) 原因その1:インフラ構造上、難しいと思

    何故Javaは敬遠されるのか? - Qiita
    UhoNiceGuy
    UhoNiceGuy 2023/02/22
    この文章読むとよけいJavaが難しそうに思える… Javaは難しいという疑問をことごとく肯定しているような…
  • “親切な人たち”が言ってくる「Rubyは死んだ」「Rubyなんか使わない」 まつもとゆきひろ氏がノイズを気にせず考える、Rubyの価値

    プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、「Ruby」開発者のまつもとゆきひろ氏。「Contribute to Ruby」をテーマに、Ruby歴史・これからについて語りました。全5回。1回目は、Rubyの価値を形作る、Productivity・Community・Joyについて。 オフラインでも開催された「RubyKaigi 2022」 まつもとゆきひろ氏(以下、まつもと):おはようございます。 会場:おはようございます。 まつもと:声が小さい(笑)! (会場笑) まつもと:おはようございます! 会場:(さらに大きく)おはようございます! まつもと:あぁ、いいですね、物理会場は。おはようございます。15分ほど遅れましたけれども、2日目を始めたいと思います。 昨日のカンファレンスはどうでした

    “親切な人たち”が言ってくる「Rubyは死んだ」「Rubyなんか使わない」 まつもとゆきひろ氏がノイズを気にせず考える、Rubyの価値
    UhoNiceGuy
    UhoNiceGuy 2022/12/13
    RubyはSmallTalk的オブジェクト指向で文法の例外がなく、チグハグがなく統一されていて凄く使って楽。考えなきゃいけないことが少ない。最近Pythonばっかだけど//SmallTalkみたいで楽ってSmallTalkってどんだけすごかったんだろう
  • Meta(旧Facebook)が、Rustを社内の正式サポート言語に採用。サーバサイド向けとしてPython、C++、Hackに追加

    Meta(旧Facebook)は、ブログ「Engineering at Meta」で公開した記事「Programming languages endorsed for server-side use at Meta」で、Rustを新たに社内の正式サポート言語に追加したことを明らかにしました。 Meta社内ではソフトウェア開発において正式にサポートする言語を慎重に選択しており、社内においてサポートされた言語に対しては十分な投資が行われ、プログラミング、デバッグ、デプロイなどにおいて良好な開発体験が期待できるとともに、新しプロジェクトが開始される場合には、サポートされている言語を選択することが推奨されています。 サーバサイド向けの言語としてこれまでPythonC++、Hackがサポートされており、今回そこにRustが追加されました。 性能重視のバックエンドサービスやCLIの開発にRustを推

    Meta(旧Facebook)が、Rustを社内の正式サポート言語に採用。サーバサイド向けとしてPython、C++、Hackに追加
    UhoNiceGuy
    UhoNiceGuy 2022/08/01
    Pythonが有用な領域は、どちらかというとHack推しなのかな?取りあえず、一般wordを名前にするのはやめて欲しい
  • ISUCON12 オンライン予選の利用言語比率 : ISUCON公式Blog

    ISUCON12 オンライン予選の利用言語比率を公開します。オンライン予選は698チームの参加があり、運営で利用言語を把握できたのは568チームとなりました。 ※最後のベンチマーカー実行で初期化リクエストに失敗したチームは利用言語が不明となっています オンライン予選 利用言語比率利用率の全体ランキングは以下の通りです Go      402組 70.8% Ruby     43組  7.6% Nodejs    43組  7.6% Python    34組  6.0% Rust     19組  3.3% PHP     16組  2.8% Perl       5組  0.9% Java       5組  0.9% その他(Go2) 1組  0.2% ※言語名はチームによる自己申告となっています 選出場が決まった30チームに限定すると以下となります。 Go      26組 86.

    ISUCON12 オンライン予選の利用言語比率 : ISUCON公式Blog
    UhoNiceGuy
    UhoNiceGuy 2022/07/24
    GCがあるのでRustみたいに所有権とか考えずにすみ、実行効率を考慮(C10Kとか)したコンパイラ言語。Javaのように冗長でない。というのが選択され、そしてコンテストで勝利した理由か
  • C++の後継目指すプログラミング言語「Carbon Language」、Googleの技術者が実験的公開。C++は技術的負債で改良が困難と

    Google技術者Chandler Carruth氏らは、C++の後継を目指す実験的なプログラミング言語として「Carbon Language」(以下、Carbon)をGitHubで公開しました(Chandler Carruth氏のツイート)。 GitHubのドキュメントでは、C++が性能を重視するソフトウェア開発において主流のプログラミング言語である一方、言語そのものにおいて数十年にわたる技術的負債が蓄積されていることなどにより段階的に改良していくことが極めて困難になっていると指摘。 一方で、GoSwiftKotlinRustを始めとする優れた開発者体験を提供する多数のモダンな言語は、C++の代わりに採用する、あるいはC++の開発から移行するには、プログラミング言語の違いや性能のオーバーヘッドなど障壁が多すぎるといった課題があるとも指摘しています。 そこでC++の段階的な改善では

    C++の後継目指すプログラミング言語「Carbon Language」、Googleの技術者が実験的公開。C++は技術的負債で改良が困難と
    UhoNiceGuy
    UhoNiceGuy 2022/07/21
    開発者自ら他の言語(Rust)使えって言うのも珍しいね。文法が割とC++と異なって見えるのだけど、完全にC++の上位互換なのかな?
  • Nimを知ってほしい2022

    Nimを知ってほしいという記事があり、Nimを知らなかった人々向けに最初の紹介として大変な貢献をしてくださりました。 しかしまだNimを使ったプロダクトというのも少なく、競プロではチラホラ見かけるものの、人々の中にある意識としては「気になっています」という域を越えられていないのも事実です。 そこで今回は企業での意思決定をする人や、5年以上の経歴があるエンジニア向けに、Nimを書いてみようと感じてもらうことを目的に、先日私が登壇したみんなのPython勉強会#79 『Pythonistaに伝えたいNimの魅力』に加筆して投稿してみたいと思います。 Nimって何? 2008年から開発が始まった新しいプログラミング言語です。 「Pythonに型が付いて、Goみたいに高速に、バイナリになってOSの実行環境に依存しないで動いてくれる言語ないかな〜」という全プログラマーの夢を叶えてくれる言語です。 書

    Nimを知ってほしい2022
    UhoNiceGuy
    UhoNiceGuy 2022/04/04
    これは凄い言語//GC、ARCのリンク読むとナイーブな参照カウントではなく、静的に解決してるみたい。他の言語もスコープ内で破棄される変数はヒープではなく、スタックに確保して欲しいな。(当たり前にやってたらゴメン)
  • Go言語が成功した理由

    Go言語の作者であるRob Pike氏が「Go言語が成功した理由は何なのか?」というタイトルで2015年に発表をしてる動画を見つけたので、雑に和訳してみたいと思う ちなみに最近Go言語の好き嫌いに関する記事がいくつかバズっており、それに乗っかってるというのは言うまでもない Go言語を嫌う6個の理由 Go言語が好きな理由 良く挙げられる成功要因 Pike氏は以下がよく理由として挙げられると述べている コンパイルの速さ 実行の速さ デプロイの容易性 ツール ライブラリ しかしこれらは全て表面的であって、質的な理由ではないとも述べている ではGo言語が成功に至った質的な理由とは一体何なのか?彼は続いて説明している Go言語が成功に至った真の理由 彼は「Simplicity」、シンプルさがGo言語が成功に至った質的な理由であると述べている そしてこのコンテキストにおける「シンプルさ」とは以下

    Go言語が成功した理由
    UhoNiceGuy
    UhoNiceGuy 2021/09/28
    最近、ライブラリ管理も言語設計に含まれるようになったよね。なんかパラダイムシフトが起こったら混乱する予感。
  • 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小史
    UhoNiceGuy
    UhoNiceGuy 2021/09/28
    ちょっとしか使ってないけど、頭をObjective-C脳に切り替えるイメージ。なんか不思議な感じ。ObjCの自由さを生かせるのは一流プログラマで自分みたいな凡百だとはぇーって感じ
  • Python 4.0が登場しない理由

    TechRepublicより。 オーウェン・ヒューズ Pythonプログラミング言語の生みの親グイド・ヴァンロッサムとの質疑応答で、Python 2.0からPython 3.0への移行がトラブル続きだったことを受けて、「Python 4について真剣に語ることはほとんどタブー」だと述べました。 グイド・ヴァンロッサムは、Microsoft Reactorとのインタビューで、Pythonバージョン 4.0の可能性をほぼ否定しました。Image: Dan Stroud under the Creative Commons licence Python 4.0に期待しないで下さい。人気のプログラミング言語の生みの親であるグイド・ヴァンロッサは、おそらく日の目を見ることはないだろうと述べています。 Microsoft Reactorとのインタビューで、ヴァンロッサムはPythonの将来とプログラミン

    Python 4.0が登場しない理由
    UhoNiceGuy
    UhoNiceGuy 2021/06/06
    Python2から3へは機械的変更ですむから問題ないはず、と考える人は頭のいい人で、大抵のユーザーはエラーが出るだけで絶望的な気分になるんだよ。昔の解説書が動かなくなるとどうしようもないんだ
  • Rust言語でAndroidはより強固・安全に ~GoogleがOS開発への導入を進める/C/C++コードの完全な置き換えは非現実的だが、新規コードへの活用は不具合の予防に効果あり

    Rust言語でAndroidはより強固・安全に ~GoogleがOS開発への導入を進める/C/C++コードの完全な置き換えは非現実的だが、新規コードへの活用は不具合の予防に効果あり
    UhoNiceGuy
    UhoNiceGuy 2021/04/08
    LinusがアンチC++のC原理主義者なのでLinuxカーネルにRustが混じることはないよね。どこに使うんだろう
  • Lispはなぜ覇権を握らなかったのでしょうか?

    回答 (9件中の1件目) え?覇権ですか?とってますよ。 ご家庭での掃除ロボットの制御分野ですが。 * ルンバ一強に拍車、ロボット掃除機市場でシェア7割超え - BCN+R ルンバ (掃除機) - Wikipedia > ルンバのソースコードはカスタマイズされたLISPで書かれている[73]。 https://twitter.com/RainerJoswig/status/802642786168274944?s=19 掃除機ロボット「ルンバ」の動きが分かる長時間露光の写真 - NAVER まとめ 上記はルンバの軌跡ですが、それを描いているのがLispのコードです。 ルンバ...

    Lispはなぜ覇権を握らなかったのでしょうか?
    UhoNiceGuy
    UhoNiceGuy 2020/09/04
    Shiro氏とその同僚レベルのプログラマは世の中に殆どいないよ。普通の人は手続き型言語しか使えない。結局見た目が全て。Lisp(Scheme)にCの皮被せたJavaScriptって言語が大流行。
  • Pythonはコードが書きやすい?ご冗談でしょう

    Pythonが大変な人気を集めている。先日、都内の大型書店のプログラミング書籍コーナーに行って驚いた。とにかくPythonの解説書が大量にあるのだ。複数の書架をPythonの解説書が埋め尽くしている。すべてのプログラミング言語の中で書籍数が一番多いように見えた。これほどまでに増えているとは正直、思っていなかった。 自社の近くにある中規模の書店でも確かめてみた。ビジネス書が中心で技術書はあまりないタイプの書店だ。それでも、タイトルにPythonを含む書籍は10冊近くあった。他の言語の書籍は、メジャーな言語でもせいぜい1~2冊程度。対照的な状況である。 Pythonが人気を集めるに従って、Pythonのことを褒めそやす記事も増えている。そうした記事には、例えば「Pythonのコードは書きやすい」と書かれていたりする。Pythonで有名なプログラマーが言えば説得力があるが、あまりコードを書かない

    Pythonはコードが書きやすい?ご冗談でしょう
    UhoNiceGuy
    UhoNiceGuy 2019/06/14
    この筆者を嫌いになってもSchemeを嫌いにならないで下さい(ちょっと古い)//Pythonは悪食にいろんな要素取り込んで、かつてのPerlみたいになってると言うならわかる
  • 【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)

    私はC++歴3年の学生趣味プログラマーです。 「C++はなぜヘッダと実装を分けなくてはならないのか/そもそも当に分けなければならないのか」という質問です。 C++といえば、ヘッダー部と実装部を.hファイルと.cppファイルに分けることが一般的とされている言語ですが、 これは同じオブジェクト指向言語のC#やJavaにはない特徴です。 そのせいでC++使いたちは今日もcppファイルとhファイルを行ったり来たりしながらコーディングする羽目になっています。(そしてVS使いはF12とCtrl+-を得意気に連打しています。) 私にとってもそれが当たり前になって久しいですが、 時々C++を学び始めたばかりの後輩から「なぜヘッダファイルに実装を書いてはならないのか」「なぜC++は二度も同じコードを書くことを強いるのか」と質問を受けます。 私はそのたびに「実装の隠蔽化」とか「循環参照の危険が云々」とか「そ

    【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)
    UhoNiceGuy
    UhoNiceGuy 2015/06/10
    JavaやC++はヘッダファイル相当の者をclassファイル?に自動生成してるからある程度コンパイル速度が確保されているんだろうなぁ/ヘッダと実装が別れていた方が隠蔽という面で好ましいと考える自分はオールドタイプ?