並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 564件

新着順 人気順

プログラミング言語の検索結果41 - 80 件 / 564件

  • Python 3.9 時代の型安全な Pythonの極め方 / Mastering Type Safety in Python 3.9 Era

    PyCon JP 2020 の「Python 3.9 時代の型安全な Python の極め方」の発表資料です

      Python 3.9 時代の型安全な Pythonの極め方 / Mastering Type Safety in Python 3.9 Era
    • プログラミング言語へのMicrosoftの影響力がヤバい - きしだのHatena

      Tiobe indexを眺めながら、C#とVBが入っていてMicrosoftは強いなーと思ったのだけど、よくみると他の言語もMicrosoftの影響力すごいのではとなったので調べてみた。 https://www.tiobe.com/tiobe-index/ Python 例えば1位のPythonにMicrosoftはかなり力をいれている。象徴的なのが、Pythonのオリジナル開発者の入社 C/C++ Windows上でのC/C++コンパイラではMS C/C++が圧倒的シェアであるし、C++の標準化団体にMicrosoftはGold Memberとして参加している。 https://isocpp.org/about Java 4位のJavaに関してもかなりリソースは割いているわけですが、全体の影響度としてそこまで大きくはないですね。 昨日のブログにも書いたようにOpenJDKビルドを出してい

        プログラミング言語へのMicrosoftの影響力がヤバい - きしだのHatena
      • フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記

        モチベーション なぜRustを選んだか? 私はQEMUは「アーキテクチャエミュレーション界のLLVM」だと思っている QEMUが高速な理由:TCG Binary Translation ゲスト命令(RISC-V) → TCG → ホスト命令(x86)の処理をRustで作ろう RISC-Vの命令をフェッチしてデコードする RISC-Vの命令をTCGに変換する TCGをx86に変換する 実装結果 Binary Translation実行を高速化するための様々なテクニック BasicBlock分まで複数命令をまとめて変換 TCG Block Chainingの実装 評価結果 TB Lookup and Jumpの実装 評価結果 まだ完成していないところ 一部の最適化はまだ未実装となっている ゲストアーキテクチャがx86のみとなっている。TCGによる複数プラットフォーム対応として、まずは環境のそろ

          フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記
        • Goでの並行処理を徹底解剖!

          並行処理をうまく使うのは難易度が高めです。 それゆえに、go文とチャネルについて基本的な文法書で知った後「並行処理ちゃんとできる!」の段階まで自力でたどり着くのは大変でしょう。 この本は、 *「並行処理ってやって何が嬉しいの?」 *「ゴールーチンとかチャネルとかって一体何者?」 *「ゴールーチンやチャネルを使ったうまいコードの書き方が知りたい!」 *「Goランタイムで並行処理をどううまく処理しているか知りたい!」 といった要望にお答えする、「Goでの並行処理」に関連した事柄について網羅的・徹底的に書きまくったものです。

            Goでの並行処理を徹底解剖!
          • Mojo 🔥

            先日プログラミング言語 Mojo と呼ばれるもののアナウンスメントがあった。この言語のデザインが私のスイートスポットに刺さる感じだったので、今のうちから注目している。使いたいなというか、将来使うことになりそうな言語なので簡単に何ができそうかを調査してまとめておきたい。 ウリとしては「C 並のパフォーマンスが出る Python」といったところだろうか。 k0kubun さんからコメントを裏でもらって、これって要するに並列化とか SIMD 化とか入れたら35,000倍のパフォーマンスが出るようだけど、これは Python の部分とは呼べなくて、素の Python 動かして本当にそういえるかは怪しくない?とのことで、判断保留します 🙇🏻‍♀️ k0kubun さんありがとう 言語のデザインとしては、AI 開発に向けたプログラミングを提供できるよう設計されていると感じる。表側は Python

              Mojo 🔥
            • ゲーム開発者のための C++11~C++20, 将来の C++ の展望 - CEDEC2020 - Speaker Deck

              ゲーム開発者のための C++11~C++20, 将来の C++ の展望 【CEDEC ページ】https://cedec.cesa.or.jp/2020/session/detail/s5e8327a52702c 【解説付きの書籍版 📚】https://zenn.dev/tetsurom/books/cpp11-cpp20-for-game-developers

                ゲーム開発者のための C++11~C++20, 将来の C++ の展望 - CEDEC2020 - Speaker Deck
              • 25年に渡る PHP の歴史

                PHPエコシステムに長年関与してきたことで知られるコントリビューターが JetBrains に入社。PhpStorm チームとともに PHP 言語とエコシステムの改善を目指す。

                  25年に渡る PHP の歴史
                • 2020年以降のプログラミング技術のトレンド予想 - Qiita

                  こちらの記事は、2019年7月に公開された Indrek Lasn 氏による『 2020 and Beyond Programming Trend Predictions 』の和訳になります。 本記事は著者の許可を得て掲載しています。 Thank you for letting us share your knowledge! 著者に何かメッセージがある方は Twitter までご連絡ください。 また本記事は転載であり、本記事はこちらになります。 はじめに 2020年は、もうすぐそこです。 2020年はSFの世界のように聞こえますが、そろそろ新しい世界のドアをノックする時期になっています。 すぐそこまで来ている未来のプログラミングの世界に興味をお持ちの方は、この文章をこのまま読み続けて下さい。 これから述べることは、間違っているかもしれませんが、私が将来起こると考えていることです。 未来を

                    2020年以降のプログラミング技術のトレンド予想 - Qiita
                  • Rust は何を解決しようとしたのか;メモリとリソースと所有権

                    みなさん、 Rust 書いてますか?最近は Rust が楽しくてたまりませんが、のんびりやっていたらなんとなく理解するまで 1 年くらいかかってしまいました。 良い言語なので、できればみなさんにも気軽に手を出してもらいたく、 Rust の中で特に難しい概念とされている話「所有権(ownership)」について簡単にまとめることにしました。 おことわり 今回記述する「所有権」は、英語で "ownership" として表現されるものを和訳した単語です。 今回説明している概念は、「所有権」という言葉よりも "ownership" (およびその対訳である「所有」、「持ち主であること」) のほうが的確であると思いますが、このドキュメントでは「所有権」という言葉を使います。 所有権とは 所有権とは、簡単に言えば「値(データ)を持っている」 「その値を解放することに責任を負っているもの」のことを指します

                      Rust は何を解決しようとしたのか;メモリとリソースと所有権
                    • とほほのHaskell入門 - とほほのWWW入門

                      「ハスケル」と呼びます。 数学者・論理学者の Haskell Curry の名前に由来しています。 LISP, ML などの言語の影響を受けています。 関数型プログラミング言語 であり、特に 純粋関数型言語 に分類されます。 金融、セキュリティ、数学・科学解析、構文解析などの分野での利用例があります。 関数型プログラミングに慣れていない人にとっては、多少学習コストが高いようです。 遅延評価 を採用しており、式は記述されていても必要となるまで評価されません。 関数型言語ですが、モナド などを利用することにより、手続き型言語のような記述も可能です。 Haskell 1.0 (1990年)、Haskell 98 (1999年)、Haskell 2010 (2009年) などのバージョンがあります。 コンパイル型言語ですが、スクリプト言語の様にインタプリタで呼び出すこともできます。 処理系は、イン

                      • Go コンパイラのコードを読んでみよう - kosui

                        はじめに 本記事は、 DeNA Advent Calendar 2020 の 11 日目の記事です。 突然ですが、「コンパイラのコードを読んでみよう」なんて言われても、「どうせ巨大で難解で複雑なロジックを理解しないと読めないんでしょ?」と思いませんか。 コンパイラの構造を理解しようとしても聞いたことのないような専門用語がずらりと並び、コードを読もうとしたらそれらをすべて完全に理解してないと一行も理解できないんじゃないか...。Go のコンパイラ gc のソースコードを読むまでは、私もそう思っていました。 しかし、あまりにも暇な休日のある日、思い立って gc のコードを読んでみました。すると、「コンパイル」という難解な響きの処理も、一つひとつを小さなタスクに分解することで、少しずつ読み進めることができると分かったのです! 何よりも感動したことは、 gc そのものが全て Go で書かれていて、

                          Go コンパイラのコードを読んでみよう - kosui
                        • Goコンパイラをゼロから作って147日でセルフホストを達成した - Qiita

                          Go言語コンパイラをスクラッチから書いてセルフホストを達成しました。 本家Goコンパイラの実装はほとんど見ずに、ほぼ 8cc というCコンパイラから学んだ知識のみで作りました。 特徴 コンパイルするとアセンブリを吐きます 字句解析・構文解析は手書きです。yacc/lex などのツールは使っていません 標準ライブラリも自作です コード行数はテストをのぞくと 9,152行でした。 セルフホストに必要な機能しかないので、Go言語の全機能は網羅していません。 例えば以下の機能は未実装です。 ガベージコレクション go routineとchannel 浮動小数点 設計 70%くらいは 8cc の設計をそのまま引き継いでいます。 残り25%(map,slice,interface,method,型推論等)が自分のオリジナル、残り5%が9cc、くらいな感じです。 かかった期間 2018/10/7に着手し

                            Goコンパイラをゼロから作って147日でセルフホストを達成した - Qiita
                          • JavaScript Visualized - Promise Execution

                            Promises in JavaScript can seem a bit daunting at first, but understanding what's happening under the hood can make them much more approachable. In this blog post, we'll dive deep into some of the inner workings of promises and explore how they enable non-blocking asynchronous tasks in JavaScript. I'm still working on making this blog better on mobile devices, mobile browsers don't always render t

                              JavaScript Visualized - Promise Execution
                            • C++の後継目指すプログラミング言語「Carbon Language」、Googleの技術者が実験的公開。C++は技術的負債で改良が困難と

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

                                C++の後継目指すプログラミング言語「Carbon Language」、Googleの技術者が実験的公開。C++は技術的負債で改良が困難と
                              • COBOLのコードは未だに我々の金を握っており、バリバリ現役である - YAMDAS現更新履歴

                                www.wealthsimple.com この文章は、1969年にトロントの高校を出たばかりの、特に人生の目標もなかったトーマスの話から始まる。彼の父親は大工だったが、あいにく彼は不器用ときた。そこで母親が彼に新奇なものを勧めた。「コンピュータプログラミング……とかどう?」 トーマスはカナダの大きな銀行に入行し、1978年にプログラマーとしてのキャリアをスタートした。彼は常にパズルを解いているようでプログラミングが好きだった。彼はコードを書いては「パンチカード・オペレータ」に渡した。日に二度カードを銀行の巨大な「メインフレーム」コンピュータに食わせるが、そのコードが正しく動いているか分かるには数時間かかった。ヘマをやらかしたら、トーマスはエラー文を凝視して、COBOL のコードを書き直してやりなおしだ。 数年のうちにトーマスは COBOL が得意になり、かけがえのない何千行ものコードを書い

                                  COBOLのコードは未だに我々の金を握っており、バリバリ現役である - YAMDAS現更新履歴
                                • COCOA、グーグル・アップルOS最新仕様に未対応 政府は数カ月放置 | 毎日新聞

                                  新型コロナウイルスの感染者と濃厚接触した可能性を知らせる政府のスマートフォン向け接触確認アプリ「COCOA(ココア)」が、15日時点で米グーグルとアップルの基本ソフト(OS)の最新仕様に対応していないことが分かった。稼働はしているが、両社の今後のソフトの更新次第で作動停止など不測の事態に陥る恐れがある。政府は状況を把握しながら、数カ月にわたり事実上放置していた。 ココアはグーグルのOS「アンドロイド」、アップルのiPhone(アイフォーン)の「iOS」のいずれを使ったスマホでも利用できる。両社は2020年秋ごろまでに、接触履歴を記録する機能を向上させるため、OSの大幅な更新を実施した。それ以前の古い仕様のソフトに対応したアプリが機能停止する事態を避けるため、当面はサポートを続ける方針を示したが、同時に「古いソフトを使わないよう強く推奨する」との警告を出し、ココアのようなアプリを運用する各国

                                    COCOA、グーグル・アップルOS最新仕様に未対応 政府は数カ月放置 | 毎日新聞
                                  • 年収1000万円を超えるエンジニアが知っておくべき最低限の各言語の特徴 - Qiita

                                    初めに、そして結論 本当は冒頭にこういう言い訳がましいことを書くのは好きではないのだが、例によってディスり成分が多めなので、筆者はそういうキャラということでそこは目を瞑って欲しい。実体験に基づいて書くので業務上あまり触ってこなかった言語については記載が少ないが、読者のみなさんが詳しいことや私の記述で事実と異なる部分については謝罪して訂正したいのでプルリク、コメント等熱望している。あと筆者はサーバーサイドエンジニアであってフロントの事が全然わからんのでその辺はさっぴいて読んでほしい。結論から言うとRustを使え。 古生代 アセンブラ以外の高水準プログラム言語の歴史は1950年代から1であるが、筆者の実体験に基づいて話をするので'80年代まですっ飛ばす。 N88-BASIC N88といえばN88-BASIC(86)を思い浮かべる読者が多いと思うが、筆者はPC-8801mkIIユーザーだったので

                                      年収1000万円を超えるエンジニアが知っておくべき最低限の各言語の特徴 - Qiita
                                    • ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP

                                      Object-Oriented Conference 2024で発表した資料です。 https://fortee.jp/oocon-2024/proposal/b31c9818-3cb8-4350-adfe-cbc839cdf829 ビジネスの専門知識(ドメイン)を中心に据えたドメイン駆動設計に代数的データ型などの関数型のパラダイムを加えたよりタイプセーフな関数型DDDを紹介します。 本セッションではドメインモデリングによって発見したモデルやビジネスロジックをソフトウェアに反映する際により型を重視した設計を加えます。 型で表現する範囲が広がることでビジネスロジックをより明確にコードで表現できるようになります。 さらには型で表現されているためコンパイルフェーズで気付けるミスが増え、ソフトウェアの品質向上にもつながります。 関数型の考えをいれるといってもただ単にHaskellなどに代表される関

                                        ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP
                                      • プログラミング言語論入門 - 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
                                        • 強い思想: Go を Web 開発に採用する上で

                                          Go は Web 開発に向いているか? 最も向いている領域は「CLI ツール」「ミドルウェア」「マイクロサービス」だと思っている。なぜならそれらはコードベースを比較的小さく抑えることを前提としているからだ。 Go は大きなコードベースを抱えやすい設計の言語になっていない。 ミドルウェアとマイクロサービスに関しては小さく作ることが正義。 CLI ツールに関しては単一責務なツールであれば小さくなるが,複数を束ねるツールであっても Web サービス開発に比べれば考えることは少なくて済む。 Web 業界における「一般的な Web 開発」,すなわちモノリスを基本とした中規模以上の開発にははっきりと 向いていない と言うべきだろう。 フラットパッケージは正義か? 私が SNS で何度か言及した以下の記事がある。 フラットパッケージ戦略は,確かに Go の文化圏においては一定の支持を集めている。Go の

                                            強い思想: Go を Web 開発に採用する上で
                                          • 二分木 - Rustではじめるデータ構造とアルゴリズム(第1回)

                                            Rustの特徴のひとつは、所有権(ownership)・移動(move)・借用(borrow)の概念です。これらがコンパイル時に厳格にチェックされることにより、古くから未定義挙動でプログラマを悩ませてきたダングリングポインタなどの問題がなくなり、メモリ安全性がもたらされます。 しかし一方で、自分で多少複雑なデータ構造を定義しようとする場合にはコンパイルを通すだけでもかなりの知識・力量が要求されます。 この(不定期)連載では、 Rustではじめるデータ構造とアルゴリズム と題し、プログラミングコンテストなどでよく見かける基礎的なデータ構造とアルゴリズムを、できるだけシンプルにRustで実装していきます。 &, &mut, Box, Rc, Cell, RefCell などの使い分けや、なぜそれを使う必要があるかの解説を、実例を通して行います。 第1回は、最もシンプルな木構造である 二分木 を

                                              二分木 - Rustではじめるデータ構造とアルゴリズム(第1回)
                                            • for文のforはなぜforなのか? - yapattaのブログ

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

                                                for文のforはなぜforなのか? - yapattaのブログ
                                              • Python互換の静的型付け言語「Erg」

                                                承前 Ergは私が数年前から開発を始め、つい一昨日公開したばかりのプログラミング言語です。 のはずですが、 早速、qnighyさんに捕捉していただきました。ありがとうございます。 この記事ではそのErgがどのような言語なのかざっくりと解説していきたいと思います。なお、紹介した機能の一部は未実装です。実装途中の機能を含むコードには*を、完全に未実装の機能を含むコードには**をつけておきます。 はじめに Pythonは概ね素晴らしい言語です。 オフサイドルールを世に知らしめた(?)、その可読性の高い文法。Numpy, SciPyを始めとする機械学習、科学技術計算用の膨大なライブラリ。 しかしPythonにもいくつかの弱点が存在します。 まず、動的型付け であること。それ自体は弱点というより良し悪しなのですが、明らかに動的型付けでは手に余るPythonプロジェクトが世に溢れています。 次に、一貫

                                                  Python互換の静的型付け言語「Erg」
                                                • なぜRustなの?と言われた時のために

                                                  20 秒で概要 当記事では、Rust における以下の 4 つのいいところを特徴を紹介します。 他の言語と比較しながらコンセプトを学ぶことで、なぜ今 Rust を学ぶべきかを理解できます。 Rust はメモリ安全な言語です Rust はリッチな型システムがあります Rust はエラー処理が分かりやすい Rust は健全なコミュニティの有るエコシステムです また以下のような、Rust 学習における最初の一歩のお手伝いもします。 環境のセットアップ 写経に適したチュートリアルの紹介 躓きポイントの紹介 Rust のいいところ Rust はメモリ安全な言語です。 これまでのメモリ管理手法 プログラミング言語によるメモリ管理には、これまで 2 種類の方法が有りました。 プログラマが全責任をもって管理する 例)C 言語 char *str; int length = 100; // 100byte(半

                                                    なぜRustなの?と言われた時のために
                                                  • プログラミング言語はひとつマスターすれば他もできる? - t-hom’s diary

                                                    プログラミングでは、ひとつの言語をマスターすれば、どんな言語でも使えると言われている。 この言説には賛否あるけど、ある意味正しくて、ある意味間違いだと思う。 より正確に言えば、新しく学ぶ言語と既にマスターしている言語に共通する概念についてはスムーズに移行できるということだ。 たとえば変数・分岐・繰り返し・比較演算なんかは、大半の言語が備えている共通概念である。言語によって作法やスタイルが異なるだけで考え方は同じなので、新しく学習する言語でこれらを使いこなすのは難しくない。 仮にVBAを100%マスターしているなら、Pythonの学習範囲はPython特有の部分だけで済む。 まあそうは言ってもなかなか一つの言語をマスターするのは難しい。 VBAの学習割合が少なければ、Pythonをマスターするための学習範囲はより広くなる。 じゃあまずはVBAを極めよう!と考えるかもしれないがそれも早計である

                                                      プログラミング言語はひとつマスターすれば他もできる? - t-hom’s diary
                                                    • 複数の言語で同じWebサービスを実装して技術特性の違いを見てみた - Hatena Developer Blog

                                                      開発合宿運営チームの id:yutailang0119 と id:maku693 です。はてなでは四半期に一度、技術グループ主導で開発合宿を開催しています(過去の合宿の様子は「開発合宿」カテゴリーにまとまっています)。 2023年4月に実施した開発合宿では、参加者が複数のチームに分かれ、それぞれ異なるプログラミング言語で同じお題のWebサービスを開発しました。言語ごとの特性を比較し、今後の技術選定に生かす取り組みです。 この記事ではその開催レポートをお届けします。 開発言語の特性を理解したい さまざまな技術要素を2日で実装できるお題に 参加チームやコミュニケーションでの工夫 順調に開発が進んだ合宿当日 技術勉強会で「成果物を見る会」を実施 開発合宿を終えて プログラミング言語ごとの使用ライブラリ TypeScript Go Ruby Scala 開発言語の特性を理解したい はてなではたくさ

                                                        複数の言語で同じWebサービスを実装して技術特性の違いを見てみた - Hatena Developer Blog
                                                      • 論理プログラミング言語Logicaでデータサイエンス100本ノック

                                                        Googleが発表したOSSプロジェクトである論理プログラミング言語Logicaを使って、データサイエンス100本ノック(構造化データ加工編)の設問を解きながらどのような言語かを確認していく。 (BigQueryのクエリとして実行していく) 最初に、プログラミング言語Logicaの特徴を纏めておく。 論理型プログラミング言語: このカテゴリではPrologが有名 SQLにコンパイルされる: 現状BigQueryとPostgreSQLに対応 モジュール機構がある: SQLと比較した強み コンパイラはPythonで書かれている: Jupyter NotebookやGoogle Colabですぐ始められる Colabでチュートリアルが用意されているので、まずこちらからやると良いと思う。 コードの見た目は関係論理の記述に似ている。 事前に、データサイエンス100本ノックのテーブルデータをBigQu

                                                        • Goから学ぶI/O

                                                          GoにはI/Oに関わるパッケージが数多く存在します。io, os, bufio, fmtなどなど……。これらの立ち位置や、I/O実行の裏で何が起こっているのか本当に理解していますか?この本では、この問への答えをまとめました。

                                                            Goから学ぶI/O
                                                          • 「データ分析をやるならRとPythonのどちらを使うべき?」への個人的な回答 - 渋谷駅前で働くデータサイエンティストのブログ

                                                            (Background image by Pixabay) 最近また「データ分析をやるならRとPythonのどちらでやるべきか」という話題が出ていたようです。 言語仕様やその他の使い勝手という点では、大体この記事に書いてあることを参考にすれば良いと思います。その上で、人には当然ながら趣味嗜好がありますので、個々人が好みだと思う方を使えば良い話ではあります。 とは言え、僕自身もクソコードの羅列ながらこのブログにR & Pythonのコードを載せているということもあるので、便乗して今回の記事では僕個人の意見と感想も書いてみようと思います。いつもながらど素人の意見(特にPythonは本業ではない)なのと、自分がメインに使っているRでもtidyverseをほとんど使わないなど割とout-of-dateな使い方をしているということもあり、読んでいておかしなところなどあればどしどしご指摘くださると有難

                                                              「データ分析をやるならRとPythonのどちらを使うべき?」への個人的な回答 - 渋谷駅前で働くデータサイエンティストのブログ
                                                            • Lispはなぜ覇権を握らなかったのでしょうか?

                                                              回答 (9件中の1件目) 広く普及しているとは言い難いですが、今でも新しい製品に採用されることはあります。 数年前、私はあるiOSとAndroid向けのゲーム開発に携わっていました。中でもAIの出来が面白さに大きな影響を与える種類のものでした。 プログラマーの同僚が1人、Lispに大変に強い思い入れがあり、そのAIは同僚の作ったLispインタプリタで動作しています。構文解析が簡単で、ゲームデザイナーのあーしたい、こーしたいの要望にもインタプリタの拡張で対応できる柔軟さがありました。 また別の同僚は、Lisp方言のClojureでゲーム開発の効率を高める特別なコンパイラを書いていまし...

                                                                Lispはなぜ覇権を握らなかったのでしょうか?
                                                              • オブジェクト崇拝は罪! 古ヘブライ文字で記述する創世的プログラミング言語が降臨/そこはかとなく神聖な感じのするソースコードがやんごとない【やじうまの杜】

                                                                  オブジェクト崇拝は罪! 古ヘブライ文字で記述する創世的プログラミング言語が降臨/そこはかとなく神聖な感じのするソースコードがやんごとない【やじうまの杜】
                                                                • Ruby 3.0.0 リリース

                                                                  Posted by naruse on 25 Dec 2020 Ruby 3.0系初のリリースである、Ruby 3.0.0 が公開されました。 これまで、Ruby3に向けてパフォーマンスの改善、並行処理、静的解析という3つの目標を掲げて、活発に開発が行われてきました。特にパフォーマンスの改善については、Ruby 3x3 として「Ruby3はRuby2の3倍速くする」ことを目指してきました。 Ruby 3.0では開発の指標の一つとしてきたOptcarrotベンチマークで3倍を達成するとともに、以下のような取り組みが行われています。 benchmark-driver.github.io/hardware.html に書かれている環境で計測されました。 8c510e4095 が Ruby 3.0 として使われています。環境やベンチマークによっては3倍にならないかもしれません。 Ruby 3 では

                                                                  • かつて人類は1と0を打ち込んでプログラムを書いていたらしい

                                                                    それじゃあまりにも天才しかできないだろうということでニーモニックというのを持ったアセンブリ言語ができた 多分当時の人の中にあった議論は、こんなの1と0の羅列に名前つけただけだろ、なんかいいことあんの?という人たちと、まさにブレークスルーだ世界が変わるとエキサイトした人たちだろう。 色々あったが、人にも読めるソースをアセンブリ言語に変換してくれるCが出来た。 多分このときも単なるアセンブリのスーパーセットだろ?なんか意味あんのか?っていう人たちと、やばいレベルでプログラミング書きやすくなったとエキサイトする人たちに分かれたことだろう。 その後Javaが登場してオブジェクト指向が花開いた。 このときも、構造化プログラミングに毛が生えた程度のもんだろ?何が嬉しいんだ?という人と、オブジェクト指向なら何でもできる!とエキサイトした人たちで溢れかえったことだろう。 Java以降のIT界隈ではもはやオ

                                                                      かつて人類は1と0を打ち込んでプログラムを書いていたらしい
                                                                    • ゴーファーくんと辿るプログラミング言語の歴史/history-of-programming-languages-with-gopher

                                                                      若手向けに開催した勉強会の資料です。 一般的なアプリケーション開発をターゲットに、主要言語と歴史を解説しています。

                                                                        ゴーファーくんと辿るプログラミング言語の歴史/history-of-programming-languages-with-gopher
                                                                      • Cコンパイラを作ろう!

                                                                        こんにちは、21Bのseasonです。この記事はtraP夏のブログリレー3日目の記事です。 自作Cコンパイラでセルフホスト達成しました。 リポジトリ: https://github.com/season1618/c-compiler/tree/main 自作Cコンパイラでセルフホスト達成しました!!!!!!🎉🎉🎉https://t.co/8fLIAJWksQ pic.twitter.com/2fgH5sKoZ0 — season (@season1618) July 27, 2022 実際にどうやって作るかを書くと長くなるので、ここでは経緯とか完成までの流れとかを書こうと思います。一応開発メモは以下に上げておきました。 開発メモ: https://github.com/season1618/note/blob/main/cs/c-compiler/index.md 経緯 大学の講義で

                                                                          Cコンパイラを作ろう!
                                                                        • 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は小文字です
                                                                          • ポケットモンスター ソード/シールドにHaxeが採用されていた - terurouメモ

                                                                            顛末 昨日、こういう感じのツイートを見かけかました。 ポケモンほどの大規模なゲームでHaxe採用されるの初めてなのではhttps://t.co/i8lCJx0NWh— neguse (@neguse) November 14, 2019 結果、このような形となりました。 これは、Haxeという高度な型システム及びマクロシステムを持つ静的型付き言語であり、マルチプラットフォームでC++, JavaScript, C#, Java, Python, PHP, Luaなどのターゲットに出力可能なプログラミング言語の現実世界での利用状況を調査するために購入されたものです pic.twitter.com/UnaZsMrH9I— てろるー (@terurou) November 16, 2019 調査結果 確かにポケモン ソード/シールドの知的財産の表記には、Haxeの記載がありました。 確かにポケモ

                                                                              ポケットモンスター ソード/シールドにHaxeが採用されていた - terurouメモ
                                                                            • Ruby 2.7のここがすごい! パターンマッチ、コンパクションGCなどをリリースマネージャーに聞いた - エンジニアHub|Webエンジニアのキャリアを考える!

                                                                              Ruby 2.7のここがすごい! パターンマッチ、コンパクションGCなどをリリースマネージャーに聞いた 2019年12月25日にリリースされたばかりのRuby 2.7では、どのような機能がどういった経緯で採用されているのでしょう。リリースマネージャーのnaruseさんと、フルタイムコミッターのmameさんに詳しくうかがいました。 まつもとさんはとにかく忙しくて 実はすごいirbの改良 パターンマッチはRubyをどう変えるか キーワード引数は、端的に壊れていたのを大整理した 高速化に向けたいくつかの観点 Ruby 2.7で導入される「コンパクションGC」とは Ruby 3のビジョンは「静的解析」「並行並列」「JIT」 プログラミング言語Rubyには、クリスマス前後に新しいバージョンをリリースする伝統があり、2013年の2.1.0以降は毎年12月25日にメジャーバージョンアップが行われています

                                                                                Ruby 2.7のここがすごい! パターンマッチ、コンパクションGCなどをリリースマネージャーに聞いた - エンジニアHub|Webエンジニアのキャリアを考える!
                                                                              • プログラミング言語別の平均年収ランキング トップ10にPythonやJSなど入らず 1位は? パーソル調査

                                                                                プログラミング言語別の平均年収ランキング トップ10にPythonやJSなど入らず 1位は? パーソル調査 パーソルキャリアは6月6日、日本におけるプログラミング言語別の平均年収ランキングを発表した。1位は「ABAP」で平均年収661万円。2位は「R」で656万円、同率3位は「Perl」と「VC・VC++」で630万円だった。同社が過去に調査した「ITエンジニアが学びたい言語ランキング」ではPython、Java、JavaScriptが上位だったが、これらはトップ10に入らなかった。 プログラミング言語別の平均年収ランキングでは、5位が「Delphi」で629万円、6位が「ASP」で628万円、7位が「Go」で627万円、8位が「PL/1」で618万円、9位が「Cocos2d-x」で607万円、10位が「C++」で605万円だった。調査結果は、パーソルキャリアが転職支援サービス「doda」

                                                                                  プログラミング言語別の平均年収ランキング トップ10にPythonやJSなど入らず 1位は? パーソル調査
                                                                                • やっぱりコンパイラが書きたい。渡米後にRuby JIT開発を趣味から仕事に変えた私のキャリア戦略 - Findy Engineer Lab

                                                                                  国分崇志(@k0kubun)と申します。プログラミング言語Rubyのコミッターとして活動しています。2019年からシリコンバレーで働いており、2022年からShopifyという会社でRubyのJust-In-Time(以下、JIT)コンパイラをフルタイムで開発しています。 長い間趣味でやっていたコンパイラの開発を仕事にしたのは、現職が初めてでした。この記事では、趣味を仕事に変えた経緯や、どのようにして業務経験のない分野にキャリアチェンジしたのかを紹介します。 仕事で分散システム、趣味でコンパイラを書くキャリア 楽しく稼げる仕事を求めてたどり着いたRubyエンジニア 研究で分散システムと言語処理系の両方に興味を持つ 分散ミドルウェアを仕事で、JITコンパイラを趣味のOSS活動で やっぱりコンパイラを仕事にした複合的なきっかけ 働きながら大学院に通い、コンパイラが一番好きなことに気付いた コン

                                                                                    やっぱりコンパイラが書きたい。渡米後にRuby JIT開発を趣味から仕事に変えた私のキャリア戦略 - Findy Engineer Lab