@nishio: あ、そうか、10年前からあったけど10年間の間に勢力を拡大したケースがあるからあんまり厳しく切らない方がいいのか(TypeScriptの登場が2012年、Rustの登場が2010年だった)
@nishio: あ、そうか、10年前からあったけど10年間の間に勢力を拡大したケースがあるからあんまり厳しく切らない方がいいのか(TypeScriptの登場が2012年、Rustの登場が2010年だった)
この記事は言語実装のカレンダー | Advent Calendar 2021 - Qiita https://qiita.com/advent-calendar/2021/lang_dev の4日目の記事です。 はじめに 昔、アセンブリ言語のみから出発し、GC・継続・オブジェクトシステムなどを持つ比較的高級な言語までブートストラップするということをやりました。いつか再挑戦してみたいと思っていて、正月休みにやりましたら思いのほか動くものになりましたが、死蔵させたまま1年経ってしまいました。勿体無いのでこの機会に紹介して供養します。 前回作ったAmberという処理系はこちら - リポジトリ: https://github.com/nineties/amber 今回はアセンブリ言語じゃなく ELFファイルの手書き から出発してみたいと思います。ただのお遊びで、そんなことしても役には立ちません。が
κeenです。最近JEITAのソフトウェアエンジニアリング技術ワークショップ2020に参加したんですが、そこで五十嵐先生、柴田さん、Matzとパネルティスカッションをしました。その議論が面白かったので個人的に話を広げようと思います。 年末年始休暇に書き始めたんですが体調を崩したりと色々あって執筆に時間がかかってしまいました。 時間を置いて文章を書き足していったので継ぎ接ぎ感のある文体になってるかもしれませんがご容赦下さい。 というのを踏まえて以下をお読み下さい。 いくつか議題があったのですが、ここで拾うのは一番最後の「プログラミング言語の未来はどうなるか」という話題です。 アーカイブが1月末まで残るようです。もうあと数日しかありませんが間に合うかたはご覧下さい。 そのとき各人の回答を要約すると以下でした。 五十嵐先生:DSLを簡単に作れる言語というのが重要。それとプログラム検証、プログラム
Photo by Fatos Bytyqi on Unsplash僕がC++を最後に母国語にしていたのはまだそのバージョンが03つまりは98の修正版の頃で,0x(後に0Aまたは11と呼ばれるようになる)がどうなるのか横に見つつも,僕は Objective-C へと母国語を変えた.Mac OS X (現在の macOS)向けにGUIを使ったプログラムを書くためだ.現在では Objective-C は卒業し,同じ目的のためにはSwiftを使っている. だから来年にはリリースされるであろうC++20に準拠したコードを読んだ時には,古い知識が邪魔をして読むことに大変な困難を覚えた. 例えば 10 9 8 7 6 5 4 3 2 1を印字するために,優れたC++20プログラマなら次のようなコードを書く. for (auto i: std::iota(1, 10) | reverse) { std::
Video Hi, I'm Eric. I'm here to talk about what seems like an absurd idea: that if-then-else had to be invented. If-then-else is how we talk about conditions in programming languages: if something is true, then do a thing, else do a different thing. That's just English, right? Except that it isn't. I can't use "else" as a conjunction in normal speech, only in computer programs. Where did this else
各カラムの意味は次のとおりです。言語の特徴は主にWikipediaを参考にしていますが、正確な分類は困難なため多少の独断と偏見が含まれていることをご了承ください。 登場年代 プログラミング言語が登場した年代です。前後3年の誤差は見逃してください FP(関数型プログラミング) 言語がFPを強くサポートしているかを示しています 程々にサポートしている場合は△を示しています OOP(オブジェクト指向プログラミング) 言語がOOPを強くサポートしているかを示しています 並行計算 アクターや CSP/π計算モデルの特徴を言語が強くサポートしているかを示しています 外部ライブラリを使えばできるよ!みたいなものは除外します 静的型付け 言語の最も主要な処理系が静的型付けをサポートしているかを示しています パラメータ多相 言語がパラメータ多相をサポートしているかを示しています ジェネリクス(Java)、テ
Haskell-style functional programming language running on Erlang VM. View the Project on GitHub hamler-lang/hamler The Hamler Programming Language Hamler is a strongly-typed language with compile-time typechecking and built-in support for concurrency and distribution. Hamler empowers industries to build the next generation of scalable, reliable, realtime applications, especially for 5G, IoT and edg
はじめに 弊社Flatt Securityでは学生の学びを支援したいという想いから今回少額ではありますが高橋さんの留学を支援させていただき、そのご縁で弊社のYONEUCHI, Takashi (@lmt_swallow) | Twitterもスタッフを務めるセキュリティミニキャンプにおける素晴らしい講義の内容をテックブログに書いていただけることになりました。以下本文になります。 @00_ です。今年の夏のUC Berkeleyへの留学費用をFlatt Securityさんに支援して頂いた経緯で、セキュリティミニキャンプの講義内容についてテックブログで書くことになりました。 2019/09/28-2019/09/29 のセキュリティミニキャンプ山梨で「ミニキャン言語を作ってみよう!」の講座を行いました。この講座では、「ミニキャン言語(MC言語)」という独自言語のコンパイラを、自分がコミッタで
つまり, RealWorld を状態とした State モナドの一種である. しかし, これは現実世界のモデルとしてはある意味 壊れている. なぜなら, GHC は RealWorld 型の値をユーザに一切触らせないようにすることでプログラム実行の線形性を担保しているからだ. もし触れたとしたら, 値をコピーすることで現実世界を 分裂 させたり, なかったことに したり, 過去に戻って やり直したりできてしまう. acme-realworld はこのモデルのおかしさをうまく突いたジョークパッケージで, GHC の内部関数を使ってそれを行えるようにする6. 線形時相論理 両者のいいところ取りをするにはどうすればいいのだろうか. 言語の持つよい性質を保ちつつ, 現実世界における計算の発生順序をきちんと言語内で扱うには, やはり, 言語のカリーハワード先の体系自体に現実世界を扱う能力を持たせるの
Version 3.7 released (8/26/2024) Picat Usability Feedback Picat won two gold and one silver medals in XCSP competition and three silver medals in MiniZinc Challenge Picat team won the 2021 LP/CP programming contest News group Users' Manual (pdf | html) Tutorial at CP'19 Tutorial at AAAI'17 Editors for Picat: Emacs, VSC, and Geany WebIDE for Picat Picat team won Grand Prize at NYC Media Lab Summit
A modern web staple. Grain is a new language that puts academic language features to work. Let's Go Powered by WebAssembly Enter the future. Grain compiles directly to WebAssembly, taking full advantage of its speed and efficiency. Sensible Types No runtime type errors, ever. Every bit of Grain you write is thoroughly sifted for type errors, with no need for type annotations. Functional Yet Flexib
人気が下降しプログラマの求人も少ないプログラミング言語ワースト10は? 一方で仕事の多い言語は? CodementorXとCoding Dojoの調査結果 仕事としてどんなプログラミング言語が扱えるかは、プログラマのスキルやキャリアにとって重要事項でしょう。 フリーランスエンジニアのマッチングサイト「CodementorX」は、GitHubやTwitter、Stack Overlowなどのコミュニティサイトにおける人気や、同社の求人データの傾向などを基に、人気が下降し求人も少ないプログラミング言語を、記事「Worst Programming Languages to Learn in 2018 | Codementor Blog」で発表しています。 一方、プログラミング学習サイトの「Coding Dojo」は、求人サイトIndeed.comの情報を基に、仕事の多いプログラミング言語を「Th
いろいろな言語で、キーと値とを対応づけるデータ構造、いわゆる連想配列、辞書、……たちがどのように呼ばれているか、気になったので調べてみた。 おおよそ、対応表(map)、辞書(dictionary)、実装の名前をそのまま(hash-table)、 Perl風(hash)に分けられると思う。 Common Lisp: hash-table Scheme: hash-table (SRFI-69, SRFI-125 → R7RS-large), hashtable (R6RS Scheme, SRFI-126), map (SRFI-44), mapping (SRFI-146) Haskell: Map OCaml: Hashtbl, Map SML: hash_table (sml-nj-lib) C++: map, multimap, unordered_map, unordered_mu
Analyzing github, how developers change programming languages over time By Machine Learning Team / 12 July 2017 Have you ever been struggling with an nth obscure project, thinking : “I could do the job with this language but why not switch to another one which would be more enjoyable to work with” ? In his awesome blog post : The eigenvector of “Why we moved from language X to language Y”, Erik Be
私は時折、コーディングに対する考え方を変えさせられるような、従来と非常に異なるプログラミング言語に出会います。本記事では、その中でも特に気に入っている発見をいくつかご紹介したいと思います。 これは、先賢による「関数型プログラミングは世界を変える!」的な投稿ではありません。本記事で挙げるのは、もっと「知る人ぞ知る」的なリストです。多くの読者の方にとって、以下の言語やパラダイムは聞いたことのないものが大半だと思いますので、私が経験したように、これらの新しい概念を学ぶ楽しさを感じていただければ幸いです。 注:私は以下の言語の多くに関して最低限の経験しかありません。その発想に引き込まれたのであって、専門的知識は持ち合わせていないため、訂正すべき点や誤りがあればどうぞご指摘ください。また、本記事で取り上げていない新しいパラダイムや概念に出会った方は、ぜひお知らせください。 最新情報:本記事が r/p
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く