並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 98件

新着順 人気順

プログラミング言語の検索結果1 - 40 件 / 98件

  • データサイエンス系チートシートを網羅してみた - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに この記事では、私がこれまでXで発信してきたデータサイエンスに関わるさまざまな分野のチートシートを一挙にまとめました。前処理、可視化、機械学習、深層学習、ベイズ・統計、さらにはその他の関連トピックまで、私が作成したものからネット上のものまで多岐にわたる内容を網羅しています。 それぞれのセクションでは、実践的かつ即戦力となる情報が詰まったチートシートを紹介しており、初心者から上級者まで幅広い層に役立つ内容を目指しました。 日頃からX(旧Twitter)を通じて、データサイエンスに関する知識や役立つリソースを共有していますが、今回の

      データサイエンス系チートシートを網羅してみた - Qiita
    • 【C#】何故 C# を好むのか。~他の言語と比較しながら~ - ねののお庭。

      世の中には多くの C# に関する誤解が蔓延っています。 偏見にも満ちています。 そして技術的に正しい批判ではなく、根本的に技術的に誤った批判ばかりで正直悲しい。 技術的に正しい形の批判なら「お、そうだな。そしてそれの解決策はですねぇ...(ニヤニヤ)」となるのですが...。 そして C# 界隈から一歩出ると、「え、C# で作ってるの!?なんで??」とか言われる事が非常に多い始末。 C# 大好きマンとしては非常に嘆かわしい。 嘆かわしい限りなので、ここでなぜ C# を私が好むか、そして何故ソフトウェアの開発に向いているかを語りたいと思います。そして誤解が解けたら嬉しい。ついでに C# を書きたいと思ってくれたら嬉しい。 想定読者 前書きという名の予防線 事前知識: C# と .NET C# はパフォーマンスの高い言語 C# はビルドも高速 C# はオープンソースかつクロスプラットフォーム 言

        【C#】何故 C# を好むのか。~他の言語と比較しながら~ - ねののお庭。
      • Practice Rust

        Practice RustLearn Rust by practicing, choose from a variety of coding exercises and challenges to help you improve your Rust programming skills

          Practice Rust
        • Python理事会が古参開発者を追い出して開発者コミュニティが騒動に - Qiita

          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? どういうわけか日本では一切話題に上がっていないのですが、Pythonの開発者コミュニティでなんか問題が起きているようです。 どうも話が様々なスレッドにとっ散らかっているうえに半分はDiscordや非公開のところで動いているみたいなので、読み取れていないところが色々あるかもしれません。 誰かが補足してくれるはず。 Proposed bylaws changes to improve our membership experience 最初のきっかけはこのスレッドです。 これは規約の一部を変更する提案であり、その中でも3番目の提案であるAd

            Python理事会が古参開発者を追い出して開発者コミュニティが騒動に - Qiita
          • IT技術解説③:なぜ、組み込み業界ではRustが流行らず、未だC言語が主流なのか?

            はじめに 組み込みソフトウェア開発の世界では、プログラミング言語の選択が製品の品質、開発効率、そして長期保守性に大きな影響を与えます。近年、メモリ安全性や並行処理の安全性を強みとするRust言語が様々な分野で注目を集め、採用が進んでいます。Webバックエンド、システムプログラミング、そしてLinuxカーネルのような重要なプロジェクトでもRustの導入が進んでいるにもかかわらず、組み込み開発の現場では依然としてC言語が主流であり続けています。本稿では、最新の安全な言語であるRustが、なぜ組み込み開発において広く採用されず、数十年の歴史を持つC言語が今なお主要な選択肢であり続けているのか、その技術的・実務的な要因を詳しく検討します。 1.ヒープを使わない開発が多いのでRustの本領が発揮されない 組み込み開発では、動的メモリ管理を避ける設計が一般的です(ヒープを使わない)。 Rustの特徴で

              IT技術解説③:なぜ、組み込み業界ではRustが流行らず、未だC言語が主流なのか?
            • 新刊『型システムのしくみ』の発売を4/18に予定しています

              ご来店ありがとうございます。新刊発売予定のお知らせです。 2025年4月18日(金)、遠藤侑介著『型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語』の発売を予定しています。なお、2025年4月16日(水)から開催されるRubyKaigi 2025会場のBOOKSTOREにて、著者サイン会に合わせた先行発売を予定しています(紙書籍のみ。部数には限りがあります)。ジュンク堂池袋本店様でも4月16日から販売していただける予定です。 『型システムのしくみ』について 多くのプログラミング言語では、さまざまな場面で「型」が登場します。特に静的型付き言語では、プログラムを実行せずに潜在的な問題をあぶり出す「型検査」の有用性が広く知られるようになりました。最近では動的型付き言語でも、型ヒントや静的解析ツールとして、この機能を部分的に取り入れる動きがあります。 型検査の背

                新刊『型システムのしくみ』の発売を4/18に予定しています
              • C/C++の「ポインタ」とは

                C/C++ の「ポインタ」は、難しいとか、実は簡単だとか、色々言われます。 ポインタについては規格に書かれています。この記事は、ポインタをより正確にイメージするため、規格に私の解釈を追加したものです。区別のため、C++23 草案 (N4950) の内容には節番号を付け、私の解釈は 斜体 で書きます。 私の解釈は以下の記事の影響を受けています。 ポインタとは、IDとオフセットの組 まず、ヌル以外のポインタは、以下の ID とオフセットの組 です。 ID:新しいオブジェクトが作られるたびに振られる、ユニークな値。 オフセット:オブジェクト先頭からのバイト数。 詳しく話していきます。 ID の割り振り 変数を定義するとオブジェクトが作られ (6.7.2)、各オブジェクトに固有の ID が割り振られます。たとえば、 と書くと整数 x と配列 arr が作られるので、x と arr にそれぞれ ID

                  C/C++の「ポインタ」とは
                • TypeScript以外が嫌いです

                  TypeScript以外が嫌いです こんにちは、TypeScript原理主義者のTakoです。今日は私がなぜTypeScript以外の言語が心の底から嫌いなのかをお話しします。 はじめに みなさん、世の中にはプログラミング言語がたくさんありますよね。Java、Python、JavaScript、Ruby、Go...。でも、私にとってそれらは全て「TypeScriptではない言語」というカテゴリに分類されます。つまり、使う価値のない言語です。 型がないなんて、人生がないようなもの JavaScript?あんなの型がなくて何が楽しいんですか?undefined is not a functionとかcannot read property of nullとかいうエラーと戯れるのが好きですか?私は嫌いです。 // TypeScriptの美しさ interface User { id: numbe

                    TypeScript以外が嫌いです
                  • HPCプログラマの書くコードってなんで古臭いの?

                    TL;DR Q: HPCプログラマの書くコードってなんで古臭いの? A: そうしないと性能が出なかったから はじめに スパコンを使ってそれなりに長いこと研究をしています。初めてスパコンを使ったのは今から25年くらい前です。発展の早い世界ですので、昔と今ではだいぶ違ってきています。この前、スパコンを使う時の「常識」がすでに現在では常識ではなくなっているっぽいことを知り、私も「そっち側」になったのか、と感慨深くなりました。以下は、HPC業界の語り部に片足を突っ込んだおっさんの戯言です。 なお、以下では主に「京」の話をするため、富士通のC++コンパイラに文句を言う形になりますが、富士通が悪いのではなく、昔のスパコンに搭載されていたC++コンパイラはどれもかなり酷かったということはあらかじめ言っておきたい気がします。IBMのコンパイラとかも酷かったし、なんならIntelのコンパイラもバグだらけだっ

                      HPCプログラマの書くコードってなんで古臭いの?
                    • GopherがRust入門したので違いをまとめてみた

                      はじめに ウホウホ。 Rustを使い始めてちょうど2年くらい経って、すこしRustのことがわかってきたので、改めてGoとRustのそれぞれの違いを整理したいなと思いこの記事を書きました。 筆者はウェブ開発の経験しかないので、ウェブを中心にまとめています。 気づいたらかなりな量になってしまったのとGopher向けにRustを紹介するような記事になってしまいましたが、よければ読んでみてください。 筆者について Goを使い始めて7年ほど経っていて、これまでCLI/TUIツールをいくつか作ってきました。 スペシャリストではないですが、プロダクトでGoを書く分には特に問題ないレベルかなと思います。 Rustは2022年夏ころから使い始めてちょうど2年ほど経ちました。 なにかツールを作ったわけではないですが、勉強がてらにいくつか作ったもの・書いた本があります。 普通にRustを書く分には問題ないですが

                        GopherがRust入門したので違いをまとめてみた
                      • 美しすぎる。神の言語といわれるLISPは、数学のように純粋で美しいロジックが展開できる言語。オシャレな LISP インタプリタ。 - Qiita

                        「本記事は、技術的な視点から情報を提供することを目的としております。内容については可能な限り正確性を期しておりますが、記事内の見解は執筆者の意見や理解に基づいており、すべての方にとって普遍的な結論を示すものではありません。技術の分野は常に進化し、新たな知見が追加されることもあります。ご意見がある場合には、建設的な対話を歓迎いたしますが、批判的な意見を展開する際も、お互いの尊重を大切にしたコミュニケーションを心がけていただけると幸いです。」 タイトル: 「東京プログラマー リスプを書かずにはいられない物語」 新宿の夜景を見下ろすカフェで、主人公の大輔は、ノートパソコンに向かって静かにキーボードを叩いていた。彼は東京で働くプログラマー。コードの世界に浸り、特に最近夢中になっているのが関数型言語LISPだった。 LISPは、数学のように純粋で美しいロジックが展開できる言語。大輔は「この関数型の世

                          美しすぎる。神の言語といわれるLISPは、数学のように純粋で美しいロジックが展開できる言語。オシャレな LISP インタプリタ。 - Qiita
                        • COBOL技術者の減少と、技術の「時限爆弾」に我々はどう向き合うべきか ~「昭和100年」を前に~【フォーカス】 レバテックラボ(レバテックLAB)

                          TOPフォーカスCOBOL技術者の減少と、技術の「時限爆弾」に我々はどう向き合うべきか ~「昭和100年」を前に~【フォーカス】 立命館大学情報理工学部教授 上原 哲太郎 情報セキュリティ学者。デジタル・フォレンジック研究会会長や情報セキュリティ研究所理事を務め、官公庁のセキュリティ対策支援や、警察組織のサイバー犯罪アドバイザーなどを行う。「PHS反対運動の父」を掲げる。研究室には大量の菓子類を常備している。学生にはスナック系やブラックサンダーが好評。 公式サイト 立命館大学 研究者学術情報データベース X 「昭和100年問題」と呼ばれる年問題があります。西暦ではなく、元号である「昭和」を用いて、年の値を数字2桁固定で処理しているシステムが、COBOLなどで記述された企業や自治体の一部ソフトウェアに存在することに起因します。 当時の仕様のまま今も昭和換算で運用を続け、無理やり「2024年=

                            COBOL技術者の減少と、技術の「時限爆弾」に我々はどう向き合うべきか ~「昭和100年」を前に~【フォーカス】 レバテックラボ(レバテックLAB)
                          • 全世界のソフトウェア開発者は4700万人。最も多いのがJavaScript開発者で2800万人、Java、Pythonが続く。スラッシュデータの調査

                            全世界のソフトウェア開発者は4700万人。最も多いのがJavaScript開発者で2800万人、Java、Pythonが続く。スラッシュデータの調査 IT業界に関する調査を行っているSlash Dataは、全世界のソフトウェア開発者に関する調査結果を発表しました。 発表によると、全世界のソフトウェア開発者は合計で約4700万人。そのうち最も多く使われているプログラミング言語がJavaScriptで、約2800万人のソフトウェア開発者が利用しています。 2位がJavaで約2320万人、3位がPythonで2290万人、4位がC++で1630万人、5位がPHPで1150万人と続いています。 言語ごとの開発者の増加ペースで見ると、JavaScriptを利用する開発者はこの1年で280万人増加したものの増加ペースは鈍化。 スラッシュデータは、この鈍化はJavaScript開発者をめぐる人材市場が成

                              全世界のソフトウェア開発者は4700万人。最も多いのがJavaScript開発者で2800万人、Java、Pythonが続く。スラッシュデータの調査
                            • 「Rust」が10周年--エレベーター故障から始まったシステムプログラミング言語の歴史

                              Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 川村インターナショナル 2025-05-30 07:00 オープンソース運動の創始者の1人であるEric S. Raymond氏は、次の言葉が有名だ。「全ての良いソフトウェアは開発者の個人的な希望から始まる」。Mozillaのソフトウェア開発者であるGraydon Hoare氏がプログラミング言語「Rust」の開発に着手したときも、まさにそうだった。 2006年、Hoare氏は自宅マンションのエレベーターがたびたび故障することを不満に思っていた。同氏は後に、「コンピューターに携わるわれわれが、故障しないエレベーターも作れないとは、ばかげた話だ」と語っている。同氏は、エレベーターが頻繁に故障する原因として、制御ソフトウェアのメモリーエラーを疑っていた。このソフトウェアは「C」または「

                                「Rust」が10周年--エレベーター故障から始まったシステムプログラミング言語の歴史
                              • JavaScript エンジンの高速化

                                これらの JavaScript エンジンのうち、以下では特に JavaScriptCore を扱います。 最適化の基本戦略 JavaScript をはじめとする動的言語は、主にインタープリタにおいて実行されます。しかし、インタープリタはコンパイルされたコードと比較して実行に時間を要するという欠点があります。そこで、インタープリタの最適化では、バイトコードの JIT コンパイルが最初に行われます。 しかし、コンパイルには当然時間がかかります。少しでも高速化されたコードを生成するには、より多くの時間をコンパイルにかけなければなりません。コンパイルによる速度向上とコンパイルのレイテンシはトレードオフの関係にあります。 そこで、多くの JavaScript エンジンは、インタープリタと多階層の JIT コンパイラの組み合わせで構成されています。次の図は、主要な JavaScript エンジンの設計

                                  JavaScript エンジンの高速化
                                • Asahi Linuxのリードデベロッパがアップストリームメンテナーを辞任、背景に“C vs. Rust”対立に端を発したブリゲーディング | gihyo.jp

                                  Linux Daily Topics Asahi Linuxのリードデベロッパがアップストリームメンテナーを辞任⁠⁠、背景に“C vs. Rust”対立に端を発したブリゲーディング 僕はもう、カーネル開発プロセスやコミュニティ管理アプローチになんの信頼も置いていない(I no longer have any faith left in the kernel development process or community management approach.)―2020年のプロジェクトローンチ以来、Asahi Linuxのリードデベロッパを務めてきたHector Martinは2月7日、Appleシリコン(ARM)コードのアップストリームカーネルメンテナーを辞任する意向をLinux開発者メーリングリストで表明した。突然の辞任の背景には、Cベースの古参メンテナーとRustコード推進派の対

                                    Asahi Linuxのリードデベロッパがアップストリームメンテナーを辞任、背景に“C vs. Rust”対立に端を発したブリゲーディング | gihyo.jp
                                  • Java 30周年記念! Javaの30年をふりかえる

                                    JJUG CCC 2025 Spring 発表資料

                                      Java 30周年記念! Javaの30年をふりかえる
                                    • 令和の時代にPerlに入門する - ハンドルネームの敬称は省略できます

                                      こんにちは、id:rokuokunです。 Perlとの出会いは突然やってきます。 いつ求められてもサッと対応できるように、いち早くPerlを書けるようになっておきましょう。 perl --version 今回入門するにあたり使用するバージョンは Perl 5.40.0 です。 インストール作業については割愛しますが、困ったらplenvを使っておけばいいと思います。 ❯ perl --version This is perl 5, version 40, subversion 0 (v5.40.0) built for darwin-2level Copyright 1987-2024, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Pu

                                        令和の時代にPerlに入門する - ハンドルネームの敬称は省略できます
                                      • Node.jsでTypeScriptのコードを実行できるようになるかも - hiroppy's site

                                        module: add --experimental-strip-types by marco-ippolito · Pull Request #53725 · nodejs/node It is possible to execute TypeScript files by setting the experimental flag --experimental-strip-typ... 💁‍♀️ まだマージされてない点に注意してください --experimental-strip-typesというフラグを実行時に付けることにより、Node.jsでTypeScriptのコードを実行できるようになるPRが出てきました。 背景 TC39でも型注釈の話題(議事録を読むとブラウザとの兼ね合いもあり道のりは長そう)が存在するほどJSのコードにおいて、型は当たり前となっています。 Node.jsと同

                                          Node.jsでTypeScriptのコードを実行できるようになるかも - hiroppy's site
                                        • 型システムを知りたい人のための型検査器作成入門

                                          @ 関数型まつり2025(2025-06-14) https://fortee.jp/2025fp-matsuri/proposal/5699c262-e04d-4f58-a6f5-34c390f36d0d

                                            型システムを知りたい人のための型検査器作成入門
                                          • C language

                                            The C programming language C is a general-purpose high-level programming language suitable for low-level programming, in other words: a system programming language. It stands out in terms of portability, interoperability, efficiency, and stability. Revisions of the C standard

                                            • 「生成AI×ビジュアルプログラミング」が進まない理由は?中山心太氏に聞く、高級言語との本質的な違い | レバテックラボ(レバテックLAB)

                                              「生成AI×ビジュアルプログラミング」が進まない理由は?中山心太氏に聞く、高級言語との本質的な違い 2024年9月18日 株式会社NextInt代表 中山心太 データ分析、コンサル、ゲームディレクター、技術顧問、企業での研修・講演など多方面で活躍。著書に『ChatGPT攻略』、『仕事に役立つ新・必修科目「情報Ⅰ」』。共著に『仕事ではじめる機械学習』『データサイエンティスト養成読本 ビジネス活用編』など。 X 株式会社NextInt 現在プログラミングの現場では、生成AIの活用が進んでいます。今やテキストプログラミングにおいて生成AIの活用は珍しいことではなくなりました。一方でビジュアルプログラミングにおいては、テキストプログラミングほど生成AIの活用が進んでいないのが現状です。 「ビジュアルプログラミングとは、結局どんなものなのか」「なぜ広くプロユースされていないのか」「なぜビジュアルプロ

                                                「生成AI×ビジュアルプログラミング」が進まない理由は?中山心太氏に聞く、高級言語との本質的な違い | レバテックラボ(レバテックLAB)
                                              • 私の心を揺さぶったプログラミング言語 - 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の日誌
                                                • 神話のプログラム言語 Odin(これであなたも厨二病)

                                                  Odinと言うプログラム言語を、ご存じでしょうか? 最近、youtubeで海外のコンピューターサイエンティストの間でも、話題として取り上げられるようになってきました。 Odinは、C言語の代替プログラム言語とも言われ、ジェネリクス、パターンマッチング、エラー処理など、現代的なプログラミング言語の機能を備えたプログラム言語だと言われています。 C言語の代替プログラム言語といえば、CarbonやRustが有名ですが、どちらの言語も難解すぎると言う欠点があります。 Odinの開発者はスウェーデンのgingerBill氏で、Odinと言う言葉は、北欧神話に登場する神の名前です。知識と詩の王であり、死と復活を司る神として知られています。 神話の神を司った、このプログラム言語を覚える事で、あなたも神に・・・。(厨二病) 失礼、あなたもC言語を脱却出来るはずです。 最近では、JangaFX社のリアルタイ

                                                    神話のプログラム言語 Odin(これであなたも厨二病)
                                                  • 誰もPython自体には興味がない、大人気言語の残酷な現実

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

                                                      誰もPython自体には興味がない、大人気言語の残酷な現実
                                                    • 行政サービスをプログラミング言語として扱う技術が特許に、Excelデータ化よりも具体的に何がうれしい?

                                                      行政サービスをプログラミング言語として扱う技術が特許に、Excelデータ化よりも具体的に何がうれしい?:function 児童手当の対象者(人){ アスコエパートナーズは、行政サービス情報をプログラミング言語で表現する技術を開発し、特許を取得したと発表した。自治体業務の効率化と正確性の向上に寄与し、政策決定効率を高めるという。

                                                        行政サービスをプログラミング言語として扱う技術が特許に、Excelデータ化よりも具体的に何がうれしい?
                                                      • [PDF]オブジェクト指向言語物語 小野寺民也

                                                        • C++の最新動向と展望をチェック。C++の日本語リファレンスサイト「cpprefjp」メンバーの講演を、ゲームエンジン開発者がレポート&補足してみた【CEDEC2024】|ゲームメーカーズ

                                                          C++の最新動向と展望をチェック。C++の日本語リファレンスサイト「cpprefjp」メンバーの講演を、ゲームエンジン開発者がレポート&補足してみた【CEDEC2024】 国内最大規模のゲーム業界カンファレンス「CEDEC2024」が、2024年8月21日(水)から8月23日(金)までの日程で開催されました。1日目にはプログラミング言語「C++」の日本語解説を提供するオープンソースWebサイト「cpprefjp」のコントリビューターである鈴木 遼氏、松村 哲郎氏、安藤 弘晃氏が登壇し、「ゲーム開発者のための C++17~C++23, 近年の C++ 規格策定の動向」と題した講演が行われました。 今回は通常のCEDEC講演レポートと異なり、前提知識の補強やC++の動向の補足を「ゲームの最適化」連載を担当するrita氏に依頼。C++の最新情報が解説された講演の様子を、現役C++エンジニアの視点

                                                            C++の最新動向と展望をチェック。C++の日本語リファレンスサイト「cpprefjp」メンバーの講演を、ゲームエンジン開発者がレポート&補足してみた【CEDEC2024】|ゲームメーカーズ
                                                          • Turing Machines

                                                            ALAN M. TURING 23 June 1912 – 7 June 1954 F | | P(T) R P(u) R P(r) R P(i) R P(n) R P(g) R P( ) R P(M) R P(a) R P(c) R P(h) R P(i) R P(n) R P(e) R P(s) R -> B B | | L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) -> F In 1928, David Hilbert, one of the most influential mathematicians of his time, asked whether it is possible to create an algo

                                                              Turing Machines
                                                            • 型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語

                                                              紙書籍をお届けします(PDFがついてきます) PDFのみ必要な場合は、こちらからPDF単体を購入できます 通常はご注文から2~3営業日で発送します。 年末年始や大型連休など、1週間から10日程度、配送のお休みをいただく場合があります。詳しくはお知らせをご覧ください。 型システムがようやくわかった! 遠藤侑介 著 184ページ A5判/1色刷 ISBN:978-4-908686-20-7 2025年4月15日 第1版第1刷 現代の開発環境では、エディタ上でコードを書いている最中から、実行もせずにエラーが判明することがあります。コードの補完でも、文脈に適した候補が魔法のように提示されてきます。こうした機能で中心的な役割を果たすのが「型システム」です。 では、なぜ型システムはプログラムのエラーを早期に発見したり、適切な補完候補を絞り出せたりするのでしょうか? 背景となる数学の理論を教科書で学ぶ以

                                                                型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語
                                                              • Lua の代替スクリプト言語まとめ

                                                                Lua の代替スクリプト言語 組み込み用のスクリプト言語として使える Lua はライトな反面、動的型付けや 1-based index といった仕様がボトルネックになりがちです。そうした状況の中、相応の短所も抱えた Lua の代替となりえる C/C++ 開発用組み込み用のスクリプト言語が多く開発されています。しかしながら、それらを横並びで比較及び評価した記事をあまり見かけませんでした。そこで、本記事では AltLua となりうる言語を取り上げ、それぞれの特徴を検証していきます。 Lua 向けトランスパイラ言語 コンパイルして Lua を出力するトランスパイラ言語について。Lua VM 上で動作するため、既存の Lua ライブラリの利用が可能な他、軽量で高速な強みを十分に生かせることが期待できます。 github stars やリリースなどの情報は 2025 年現時点のものを記載します。 M

                                                                  Lua の代替スクリプト言語まとめ
                                                                • tbsp - tree-based source-processing language

                                                                  tbsp - tree-based source-processing language tbsp is an awk-like language that operates on tree-sitter syntax trees. to motivate the need for such a program, we could begin by writing a markdown-to-html converter using tbsp and tree-sitter-md [0]. we need some markdown to begin with: # 1 heading content of first paragraph ## 1.1 heading content of nested paragraph for future reference, this markdo

                                                                  • We need visual programming. No, not like that.

                                                                    SummaryMost visual programming environments fail to get any usage. Why? They try to replace code syntax and business logic but developers never try to visualize that. Instead, developers visualize state transitions, memory layouts, or network requests. In my opinion, those working on visual programming would be more likely to succeed if they started with aspects of software that developers already

                                                                    • [Rust] 自作言語での TUI デバッガのススメ

                                                                      Rust で作るプログラミング言語シリーズです。 バイトコードコンパイラの難しさ 書籍での心残りの一つが、第6章のバイトコードの難易度です。本書ではプログラミング言語を作るにあたってステップ・バイ・ステップで難易度を上げていくように構成を考えていますが、第6章のバイトコードの実装の時点で難易度が急激に上昇します。例えば、次のようなジャンプアドレスの計算を行う必要があるのですが、これはかなり込み入ったロジック計算が必要になります。 条件分岐では、下図のようにジャンプしますが、このアドレス計算が厄介です。 ループについても同じくジャンプ命令が必要ですが、こちらはループの先頭にアドレスを戻します。 この実装の難しさは、プログラムの意味を理解する(意味論)ロジックと、それをバイトコードへ変換するロジックを一つとしてデバッグしなくてはならないところにあります。どちらに問題があるかを切り分けるのは簡単

                                                                        [Rust] 自作言語での TUI デバッガのススメ
                                                                      • - Curry Programming Language

                                                                        -- Returns the last number of a list. last :: [Int] -> Int last (_ ++ [x]) = x -- Returns some permutation of a list. perm :: [a] -> [a] perm [] = [] perm (x:xs) = insert (perm xs) where insert ys = x : ys insert (y:ys) = y : insert ys Curry is a declarative multi-paradigm programming language which combines in a seamless way features from functional programming (nested expressions, higher-order f

                                                                          - Curry Programming Language
                                                                        • Rustで有名アルゴリズムに挑戦(24) Rustで効率的なFisher–Yatesシャッフルを実装してみよう

                                                                          Rustで有名アルゴリズムを実装して、Rustについての理解を深めることが目的の連載です。今回扱うのは、配列のシャッフルについてです。最初に何も考えずに実装してみて、次に効率的に配列の要素をシャッフルするFisher–Yatesシャッフルを実装してみましょう。 Fisher–Yatesシャッフルを実装してみよう コンピューターにとって適当にシャッフルは難しい コンピューターは、人間よりも計算も速く正確に動いてくれるものですが、意外なことが苦手だったりします。そんな苦手なことの一つが「適当にシャッフルする」という作業です。 そもそも計算によって乱数を生成するのは簡単なことではありません。それで、さまざまな乱数生成アルゴリズムが提案されています。また、現在時刻やマウスの移動など、さまざまな物理現象を利用して、乱数生成を行う手法もあります。「適当さ」をコンピューターで再現するのは難しいものなので

                                                                            Rustで有名アルゴリズムに挑戦(24) Rustで効率的なFisher–Yatesシャッフルを実装してみよう
                                                                          • Why Go's Error Handling is Awesome

                                                                            Go's infamous error handling has caught quite the attention from outsiders to the programming language, often touted as one of the language's most questionable design decisions. If you look into any project on Github written in Go, it's almost a guarantee you'll see the lines more frequently than anything else in the codebase: if err != nil { return err } Although it may seem redundant and unneces

                                                                            • Eve

                                                                              Eve: Programming designed for humans Eve is a programming language and IDE based on years of research into building a human-first programming platform. From code embedded in documents to a language without order, it presents an alternative take on what programming could be - one that focuses on us instead of the machine. This is Eve: Eve is about humans, not computers We've made tremendous advance

                                                                              • Implementing Logic Programming

                                                                                Most of my readers are probably familiar with procedural programming, object-oriented programming (OOP), and functional programming (FP). The majority of top programming languages on all of the language popularity charts (like TIOBE) support all three to some extent. Even if a programmer avoided one or more of those three paradigms like the plague, they’re likely at least aware of them and what th

                                                                                  Implementing Logic Programming
                                                                                • The Vine Programming Language

                                                                                  The Vine Programming Language description Docs GitHub Discord