並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 596件

新着順 人気順

ProgrammingLanguageの検索結果201 - 240 件 / 596件

  • 『RubyでつくるRuby』の読み方(私論) - golden-luckyの日記

    本記事は、ラムダノートで発売している『RubyでつくるRuby』を買っていただいた方に「読んで」とお願いするための「私家版、読み方のおすすめ」です。また、この本は当社の本のなかでも過小評価されているところがあると思うので、「気になるけど買ってない」という方に興味を持ってもらうことも目的としています。 本書『RubyでつくるRuby』を買った人にも、まだ買っていない人にも、とにかくまず意識してほしいのですが、この本はRubyの解説書ではありません。 じゃあなんの本かっていうと、これは「そもそもプログラミング言語でプログラムを書くって、なに?」という根本的な問いへの取り組み方を教えてくれる本です。 もう一度言いますが、この本はRubyの解説書ではありません。なので、「Rubyを使うつもりはなくて、PythonとかJavaScriptが好き」っていう人や、「それらのプログラミング言語をいままさに

      『RubyでつくるRuby』の読み方(私論) - golden-luckyの日記
    • 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 2024-12-20 Translations: English, Spanish In 1928, David Hilbert, one of the most influential mathematicians of his time, aske

        Turing Machines
      • プログラミング言語ごとのコミュニティの最大規模はJavaScriptの約2520万人、続いてPythonが1820万人、Javaが1770万人など。SlashDataの調査

        プログラミング言語ごとのコミュニティの最大規模はJavaScriptの約2520万人、続いてPythonが1820万人、Javaが1770万人など。SlashDataの調査 ソフトウェアデベロッパーを中心とした調査会社のSlashDataは6月15日、2024年第1四半期時点のプログラミング言語ごとのコミュニティの大きさについてのレポートを発表しました。 これは同社が行った世界135カ国から1万人以上の回答者を集めたアンケート結果などを基に同社が推測しレポートとして発表する予定の内容の一部を公開したものです。 下記は同社が発表したプログラミング言語別のコミュニティを大きさ順に示した図の一部を切り取ったものです。 これによると、最大のコミュニティを持つプログラミング言語はJavaScriptで2520万人。もっともポピュラーな用途はWeb開発となっています。ただしこの人数にはTypeScri

          プログラミング言語ごとのコミュニティの最大規模はJavaScriptの約2520万人、続いてPythonが1820万人、Javaが1770万人など。SlashDataの調査
        • Kotlinのオフィシャルマスコットキャラクターが登場。名前を募集中

          プログラミング言語「Kotlin」の開発元であるJetBrainsは、オンラインイベント「Kotlin 2021 Premier Online Event」を開催中です。 そのイベントにおいて同社はKotlinのオフィシャルマスコットキャラクターを発表しました。 It’s finally happened — welcome the Kotlin Mascot! The mascot has no name! Let's choose a name for our new friend together. Suggest your ideas in the replies or via the form in the blog post. Learn more https://t.co/EMMVAlXkTS — Kotlin (@kotlin) October 22, 2021 ただしこの

            Kotlinのオフィシャルマスコットキャラクターが登場。名前を募集中
          • GitHub - candy-lang/candy: 🍭 A sweet, functional programming language that is robust, minimalistic, and expressive.

            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

              GitHub - candy-lang/candy: 🍭 A sweet, functional programming language that is robust, minimalistic, and expressive.
            • 型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語

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

                型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語
              • Rustで作る!自作言語・コンパイラ入門:学園生活研究部

                Rustで自作言語とコンパイラを作るために必要な知識と実装手法を初心者向けに簡単に説明することを試みました。パーサコンビネータやLLVM関連のライブラリを利用し、Rustで自作言語やコンパイラ作りをやっていきます。

                  Rustで作る!自作言語・コンパイラ入門:学園生活研究部
                • Linuxカーネル開発の第2言語にRustを採用する試み、議論の意義とこれから

                  この30年間、Linuxの開発にはずっとC言語が使われてきたが、その状況が変わる可能性があるだろうか。 プログラミング言語の「Rust」をLinuxカーネル開発の第2言語にしようとする取り組みが一部で見られるようになっている。Googleは、開発者のMiguel Ojeda氏が中心となって進めている、Linuxカーネルのさまざまな要素の開発にRustを使用することを目指すプロジェクトを支援している。 Googleは、Rustを使えばセキュリティ上の脆弱性を引き起こすメモリーエラーを減らせるはずだと主張している(多くのIT企業やオープンソースプロジェクトがアップデートで修正しているセキュリティホールの多くは、メモリーエラーが原因になっている)。このプロジェクトの目標は、3000万行のCのコードをすべてRustで書き直すことではなく、新しいコードをRustで書くことだ。 しかし、潜在的なメリッ

                    Linuxカーネル開発の第2言語にRustを採用する試み、議論の意義とこれから
                  • The AWK Programming Language, Second Edition

                    Updated Mon Feb 5 10:22:02 EST 2024 Available in paperback and e-book formats. Order at Amazon and other fine booksellers. Introduction This page holds material related to the second edition of The AWK Programming Language. The first edition was written by Al Aho, Brian Kernighan and Peter Weinberger in 1988. Awk has evolved since then, there are multiple implementations, and of course the computi

                    • parser gemでRubyプログラムのバグを探す - NaCl Blog

                      出力がちょっと独特ですが、レシーバなし(nil)のputsメソッド呼び出し(send)で、引数は文字列リテラル(str)が一つ、という風に読みます。 CurrentRubyというのは今実行しているバージョンのRuby、ということです。parser gemは過去のRubyの文法に合わせてパースすることもできるのでこのような名前になっています。 parser gemでバグを探す それでは、parserを使って条件式の中の代入式を探してみましょう。大きなコードに対して解析を行う場合、AST::Processor::Mixinを使うのが便利です。これはparser gemの内部で使われている小さなライブラリast gemの機能です。parserの処理のうち、Ruby以外の言語の解析にも使える部分が独立したgemとして用意されているようです。 最初にコード全体を貼っておきます。 require 'p

                      • 手間をかけない 頑張らない ファーストペンギンは否定しない XP祭りはアジャイルなイベントの実践 - Agile Journey

                        アジャイルソフトウェア開発手法の先駆けともいえるXP(eXtreme Programming)の名を冠して2002年から20年以上にわたり毎年開催されているXP祭り。2023年はオンラインの講演とオンサイトでのワークショップによるハイブリッド形式で、9月30日(土)に開催が予定されています。 ▶ XP祭り2023 - xpjug.com/xp2023/ コミュニティ主体によるカンファレンス開催が国内でまだ珍しかったころにスタートし、企業によるスポンサードもほぼなく、参加費も登壇料も全て無料、セッションだけでなくスタッフも毎年公募して入れ替える素朴な運営を続けながら、和田卓人さんや平鍋健児さんといった著名なエンジニアも登壇し、ソフトウェア開発について多くの示唆を与えてきたこのイベントはどのように続いてきたのでしょうか。 世界的にもアジャイルが広まりはじめた立ち上げ当初を知る小井土亨さんと、2

                          手間をかけない 頑張らない ファーストペンギンは否定しない XP祭りはアジャイルなイベントの実践 - Agile Journey
                        • Modular: A Fast, Scalable Gen AI Inference Platform

                          Free for most users, paid support for scaled enterprise deployments

                            Modular: A Fast, Scalable Gen AI Inference Platform
                          • if-then-else/if-then-else.md at master · e-n-f/if-then-else

                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                              if-then-else/if-then-else.md at master · e-n-f/if-then-else
                            • プログラミング言語「HSP 3.7」がリリース ~実に4年ぶりのメジャーバージョンアップ/エディター、デバッグ機能、ランタイムの拡充などを実施

                                プログラミング言語「HSP 3.7」がリリース ~実に4年ぶりのメジャーバージョンアップ/エディター、デバッグ機能、ランタイムの拡充などを実施
                              • Lua の代替スクリプト言語まとめ

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

                                  Lua の代替スクリプト言語まとめ
                                • [Rust] 自作言語での TUI デバッガのススメ

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

                                    [Rust] 自作言語での TUI デバッガのススメ
                                  • 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

                                    • Nelua

                                      Nelua Programming Language Minimal, simple, efficient, statically typed, compiled, metaprogrammable, safe, and extensible systems programming language with a Lua flavor. Overview Download What is Nelua? Nelua is a systems programming language for performance sensitive applications, like real-time applications and game engines. Its syntax and semantics are similar to Lua, but its garbage collection

                                      • https://future-architect.github.io/articles/20230324a/

                                          https://future-architect.github.io/articles/20230324a/
                                        • Go is still not good

                                          Previous posts Why Go is not my favourite language and Go programs are not portable have me critiquing Go for over a decade. These things about Go are bugging me more and more. Mostly because they’re so unnecessary. The world knew better, and yet Go was created the way it was. For readers of previous posts you’ll find some things repeated here. Sorry about that. Error variable scope is forced to b

                                          • GitHub - modular/modular: The Modular Platform (includes MAX & Mojo)

                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                              GitHub - modular/modular: The Modular Platform (includes MAX & Mojo)
                                            • 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

                                              • YJIT: CRuby向けの新しいJITコンパイラを構築する(翻訳)|TechRacho by BPS株式会社

                                                概要 Shopify Engineeringの許諾を得て翻訳・公開いたします。本記事は公開前にShopify Engineeringにレビューをいただいています。 英語記事: YJIT: Building a New JIT Compiler for CRuby — Development (2021) 原文公開日: 2021/10/14 原著者: Maxime Chevalier サイト: Shopify Engineering 画像は元記事のものです(追記2021/11/04: 冒頭イラストを削除いたしました)。 本記事はTwitterにて@shiroemonsshiromemonsさまからのリクエストを受けて翻訳いたしました。リクエストありがとうございます! なお、以下のissue #18229で、著者のMaxime Chevalierさんをコミッターに迎えるプロポーザルが出され、そ

                                                  YJIT: CRuby向けの新しいJITコンパイラを構築する(翻訳)|TechRacho by BPS株式会社
                                                • pldb.com

                                                  $210/month for the first 12 months$252/month for the next 12 months$294/month for the next 12 months$336/month for the next 12 months$378/month for the next 12 months5% annual increase onward

                                                    pldb.com
                                                  • Java と Kotlin で assertion の挙動が違った話 - ドワンゴ教育サービス開発者ブログ

                                                    assertion とは 起きた出来事 原因 Java Kotlin 対策 まとめ We are hiring! assertion とは assertion とはプログラムの中の様々な前提が満たされていることを確認するための仕組みで、日本語だと「表明」という訳が当てられることが多いです。 Java や Kotlin に限らず様々な言語で実装されており細かい仕様は言語ごとに異なりますが、多くの場合「前提が満たされていない場合は例外を発生させる」「本番環境では無効化できる」という点で共通しています。 例えば Kotlin の場合は以下の形で記述され、仮に条件が満たされなかった場合は AssertionError が指定されたエラーメッセージ付きで投げられます。 val result: Int = someFunction() assert(result > 0) { "result of s

                                                      Java と Kotlin で assertion の挙動が違った話 - ドワンゴ教育サービス開発者ブログ
                                                    • - 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
                                                      • Why Every Developer Should Start Programming With C

                                                        Photo by Liam Briese on UnsplashThere are about 700 programming languages in the world. However, developers use about 20 different programming languages to build enterprise software. In other words, there are only a few popular general-purpose programming languages, even if there are many programming languages. Developers usually start coding at school, university, or when they begin their career.

                                                          Why Every Developer Should Start Programming With C
                                                        • Overview - Hurl, the Exceptional language

                                                          Hurl, the Exceptional language Hurl is a language created for one purpose: to explore a language based around exception handling as the only control flow. It was sparked from conversations between Nicole Tietz-Sokolskaya and friends from Recurse Center whose identities will be withheld for their dignity. This site contains documentation around how to use Hurl. It also provides some examples and gu

                                                          • Moonbit: the fast, compact & user friendly language for WebAssembly

                                                              Moonbit: the fast, compact & user friendly language for WebAssembly
                                                            • 値の不変性と変数の不変性についての整理 - kubell Creator's Note

                                                              はじめに 先日「関数型まつり2025」にて「成立するElixirの再束縛(再代入)可という選択 - Speaker Deck」という内容で発表させていただいたのですが、関連して、今回、いろいろな言語における値の不変性と変数の不変性について整理したいと思います。 値の不変性と変数の不変性 まず、しばしば混同されがちな「値の不変性」と「変数の不変性」の違いについてです。 値の不変性 (Immutable Value) こちらは、一度作成された値(データ)そのものが変更できない性質を指します。不変な値を変更しようとすると、実際には元の値を変更するのではなく、変更内容を反映した新しい値が作成されます。 変数の不変性 (Immutable Variable) これは、一度値を代入された変数に、別の値を再代入できない性質を指します。多くの言語で const (JavaScript, C++) や fi

                                                                値の不変性と変数の不変性についての整理 - kubell Creator's Note
                                                              • Rustで有名アルゴリズムに挑戦(24) Rustで効率的なFisher–Yatesシャッフルを実装してみよう

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

                                                                  Rustで有名アルゴリズムに挑戦(24) Rustで効率的なFisher–Yatesシャッフルを実装してみよう
                                                                • 括弧で34087重に囲んだ関数を食わせるとg++が死ぬ

                                                                  TL;DR ((((printf("Hello World\n")))))みたいに関数をたくさんの括弧で囲むとコンパイラが死ぬので気をつけましょう。 はじめに 以前、printfに4285個アスタリスクをつけるとclang++が死ぬという記事や、GCCに27958段ネストした関数を食わせると死ぬという記事を書きました。 特に、printfにアスタリスクをたくさんつける記事では、clang++がわりとすぐ死んだのに対して、g++は5万個とかつけても大丈夫でした。一般に、コンパイラが死ぬ系のコンパイラいじめは、再帰でスタックを使い切るタイプのものが多く、LLVMよりもGCCの方が頑健という印象です。 さて、C++では、括弧を無駄につけることができます。例えば、

                                                                    括弧で34087重に囲んだ関数を食わせるとg++が死ぬ
                                                                  • 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

                                                                    • セキュリティ・キャンプで Rust 製 RISC-V ターゲットの C コンパイラを開発した

                                                                      セキュリティ・キャンプ 全国大会 2025 の L4 Cコンパイラゼミに参加しました。Cコンパイラゼミは一ヶ月ほどの事前学習期間と5日間の合宿 (内3日の開発期間) で小さなCコンパイラを作るという野心的なゼミです。 私は Rust で RISC-V をターゲットにした gakicc という C コンパイラを開発しました。Rust で開発する都合上、セルフホストはできないので、講師の hsjoihs さんの作った 1.5k 行程でセルフホストされている 2kmcc を自作のコンパイラでコンパイルし、生成されたバイナリを用いてもう一度 2kmcc をコンパイル、さらに生成されたバイナリを用いてもう一度 2kmcc をコンパイルし、2回目と3回目に生成されたアセンブリが一致することを目標としました。最終日の帰宅までになんとか目標が達成できて良かったです。 gakicc では、 低レイヤを知りた

                                                                        セキュリティ・キャンプで Rust 製 RISC-V ターゲットの C コンパイラを開発した
                                                                      • RuboCop Under a Microscope

                                                                        Lint Night #1 https://lintnight.connpass.com/event/263931/

                                                                          RuboCop Under a Microscope
                                                                        • The Niche Programmer - REPL

                                                                          For the vast majority of my programming career, I've been a mainstream developer. By mainstream, I mean writing in a language and using the tools that most of the category of software development I have been in (mostly web development) has used, such as PHP, JavaScript, and the most popular tools of those ecosystems. But then one day in 2018 I got a job where I had to learn Clojure. I had never he

                                                                          • Notes by djb on using Fil-C (2025)

                                                                            Notes by djb on using Fil-C (2025) I'm impressed with the level of compatibility of the new memory-safe C/C++ compiler Fil-C (filcc, fil++). Many libraries and applications that I've tried work under Fil-C without changes, and the exceptions haven't been hard to get working. I've started accumulating miscellaneous notes on this page regarding usage of Fil-C. My selfish objective here is to protect

                                                                            • Cassette

                                                                              Cassette is a small functional programming language. It looks like this: import IO, Net, String ; keeps reading from a connection while there's any data def read_resp(conn) do ; define an iterative loop def loop(received) do let chunk = IO.read_chunk(conn, 1024) ; get the next chunk if #chunk == 0, received ; no more data else loop(received <> chunk) ; concatenate chunk onto received data end ; st

                                                                              • Onyx Programming Language

                                                                                An efficient, procedural, and pragmatic programming language Efficient The Onyx compiler is fast. Turnaround time is non-existent using Onyx's custom WebAssembly code generator. Procedural Onyx uses a simple programming and memory model. It is familiar to anyone with any programming experience.

                                                                                • Onyx, a new programming language powered by WebAssembly · Blog · Wasmer

                                                                                  Onyx, a new programming language powered by WebAssemblyLearn about Onyx, a new imperative programming language that leverages WebAssembly and Wasmer for seamless cross-platform support What is Onyx? Onyx is a new programming language featuring a modern, expressive syntax, strict type safety, blazingly-fast build times, and out-of-the-box cross platform support thanks to WebAssembly. Over the past

                                                                                    Onyx, a new programming language powered by WebAssembly · Blog · Wasmer

                                                                                  新着記事