並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 225件

新着順 人気順

"Programming Language"の検索結果41 - 80 件 / 225件

  • プログラミング言語の歴史を誕生した順に徹底解説 - WEBCAMP MEDIA

    コンピュータとプログラミング言語の誕生 プログラミング言語の登場に欠かせないのが、まずはコンピュータの誕生です。 コンピュータの誕生とプログラミング言語が誕生した時期について、解説していきます。 1940年以前 正確な日時はわかっていませんが、1940年以前にチャールズ・バベッジが機械式コンピュータを開発した事が始まりです。 1940年頃には機械言語でコンピュータを動かすことが出来るようになっています。この機械言語が初のプログラミング言語と呼ばれています。 チャールズ・バベッジについて詳しく知りたいという方は以下のページをご覧ください。 かつて存在しなかった最高のコンピュータ (TED Talks) 1940年代 1940年代は機械語からアセンブリ言語でプログラムを実行することが出来る様になっており、機械語だけでなくアセンブリ言語により単純な処理をコンピュータで実行する事が出来る様になって

      プログラミング言語の歴史を誕生した順に徹底解説 - WEBCAMP MEDIA
    • 関数型プログラミングはまずは純粋関数型言語を用いて、考え方から理解しよう

      この記事は、関数型プログラミングはまず考え方から理解しよう の記事を純粋関数型言語Elmで書き換え、一部の文章について批判的に言及させていただいた記事になります。この記事を書こうと思ったきっかけとしては、今回参考にさせていただきた記事が過去に書かれたものにも関わらず、今に渡っても見られていそうなこと。未だにパラダイムの理解に関する誤解が多く散見されること。改めて純粋関数型言語の実用性・有用性について、見直されるべきだと思い、この記事を執筆させていただきました。 次のステップアップ記事は、[超入門] FizzBuzzで考える関数型プログラミング学習を純粋関数型言語でやる理由です。 はじめに、この記事の主張を結論としてまとめておきます。 対比すべきは、関数型プログラミングとオブジェクト指向プログラミングではなく、関数型プログラミングと手続き型プログラミングである 関数型プログラミングの考えを学

        関数型プログラミングはまずは純粋関数型言語を用いて、考え方から理解しよう
      • 例外を初めて実装した言語 - from scratch

        リクルートアドベントカレンダーの20日目の記事です。 adventar.org 最初にこの疑問を思ったのは、今も忘れない R-ISUCON 2021 というリクルートの社内ISUCONの運営で炎上していた時の話です。 ちなみに R-ISUCON 2021 は劇的な結果で終わっているので、興味のある方は見てみてください。 blog.recruit.co.jp R-ISUCON 2021 では、 Node.js (TypeScript), Go, Java の3パターンの実装が出てくることが通例になっていまして、今回は Java の実装から Node.js, Go に適用していた時に一緒に実装していたメンバーからの疑問が『例外には色々な議論があるけれど、「例外を初めて実装した言語」ってどういう気持ちで実装したんだろう』という話が挙げられたので、そのネタを持ってきました。 ちなみにここで指してい

          例外を初めて実装した言語 - from scratch
        • 世界のプログラミング言語(44) シンプルで現代的なZig言語、RustやC++が複雑すぎると嘆く人の福音となるか

          Zigは2015年に登場した新しいオープンソースのプログラミング言語です。Go言語やRust言語のように、C言語の置き換えを目標にしたコンパイラ言語です。その最大の特徴はシンプルであることです。確かに、マクロもプリプロセッサもありませんが、現代的な言語に仕上がっています。最近話題になることが増えてきたので試してみましょう。 ZigのWebサイト Zigとは Zigはアンドリュー・ケリー氏によって2015年に登場した新しいプログラミング言語です。コンパイラ基盤のLLVMを利用しており、幅広いOSに対応した実行ファイルを生成することができます。 Zigはシンプルをモットーとしています。Zigのマニュアルでは、C++やRust、D言語など多くの機能を持つ言語を挙げて、それらとは異なりシンプルであることを名言しています。 そして、その構文は、C言語と似ているのですが、遅延処理のdefer構文や型推

            世界のプログラミング言語(44) シンプルで現代的なZig言語、RustやC++が複雑すぎると嘆く人の福音となるか
          • 10年間使ってみて見えたHaskellの闇と光 - Qiita

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに わたしがHaskellを使い始めてもうそろそろ10年目になります。(タイトルは多少サバを読んでいますね) これまで使ってきた感想をまとめます。 Haskellのつらいところ まずは愚痴らせてください。 コンパイルが遅い 依存モジュールはすべてソースコードからビルドする必要があります。(バイナリ形式のモジュールはありません) 最初のビルドに20分くらい待つのはザラです。 複雑な型システムをつかうと型推論や型レベル計算に時間がかかります。 高速なHaskellプログラムを書くためには多くの関数をインライン化する必要があります。最適

              10年間使ってみて見えたHaskellの闇と光 - Qiita
            • 「Dart 3」が来年登場。完全Nullセーフな言語となり、Nullセーフティなしの実行はサポート外に

              「Dart 3」が来年登場。完全Nullセーフな言語となり、Nullセーフティなしの実行はサポート外に アプリケーションフレームワーク「Flutter」で使われているプログラミング言語「Dart」の開発チームは、来年(2023年)半ばにメジャーバージョンアップとなる「Dart 3」のリリースを予定していると発表しました。 The road to Dart 3 Dart 3, expected by mid 2023, will only support sound null safety. Learn more about how Dart's sound safety compares to other languages, and how we're preparing for this major release in the blog by @MiSvTh → https://t.

                「Dart 3」が来年登場。完全Nullセーフな言語となり、Nullセーフティなしの実行はサポート外に
              • ざっくりとしたZigの紹介

                BunのおかげでZigに注目する人が増えたように感じます。 個人的にZigを使ってる人間として紹介がてら自分のZigに対する印象を書いていきます。 どんな言語か(公式) 「堅牢で最適で再利用可能なソフトウェアを維持するための汎用プログラミング言語」 公式のより詳しい紹介はこちら Cをベースに現代的な機能を追加している Raylibのサンプルコード // raylib.comから引用(いくつかのコメントを削除) #include "raylib.h" int main(void) { const int screenWidth = 800; const int screenHeight = 450; InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window"); SetTargetFPS(60);

                  ざっくりとしたZigの紹介
                • あなたは「自然言語にwell definedを求めるな」の意味を誠実に解釈できているか? - Amosapientiam

                  問題提起 そこそこ有名な「自然言語にwell-definedを求めるな。」という文がある。 X (ex-Twitter) ではこの文に様々な意見がついている。 この文の形式(=つまり文そのもの)について議論することは一定程度可能だと思う。 しかしこの文の意味する主張の妥当性についてあなたが議論しようとするとき、私はあなたが正しくこの文を解釈できているのか問いたい。 文の中には文脈(context)、違う言い方をすればその文を取り巻く環境(environment)への明示的・暗黙的な参照(reference)が散りばめられており、文章を解釈するためにはこれを正しく参照解決(dereference)してやらねばならない。 あなたはこの文が発せられた当初のコンテキストを、あるいはその出来事を記憶している人々が発するこの言葉のコンテキストを調べずにこの文の意味を断定しようとはしていないか?その状態

                    あなたは「自然言語にwell definedを求めるな」の意味を誠実に解釈できているか? - Amosapientiam
                  • ボレロ村上(村上原野)さんと constexpr のこと - d.y.d.

                    22:22 21/11/20 ボレロ村上(村上原野)さんと constexpr のこと 去る2020年2月、縄文陶芸家にしてC++プログラマという希有な二つの顔を持つ人物がこの世を去りました。 ボレロ村上 (村上原野) 氏です。 正直なところ、陶芸家としての彼の側面については私はほとんど何も知らないに等しいです。 残された作品を見て何かを語れるほど芸術に通じているわけでもありません。 いつか機会があれば見に行こうと思っていた村上さんの作品を目にする最初の機会も、 昨年訪れた追悼展になってしまいました。 ただ、それでも私は、彼自身の登壇発表の資料 であったり、 そして何よりも縄文・陶芸に造詣の深い方々の記された幾つかの文章によって、 彼が一体何を成し遂げたのか、成し遂げようとしていたのかに触れることができています。 この夏にはクラウドファンディングで 作品集 も出版され、誰でも手にとって縄文

                    • GitHub - carbon-language/carbon-lang: Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)

                      C++ remains the dominant programming language for performance-critical software, with massive and growing codebases and investments. However, it is struggling to improve and meet developers' needs, as outlined above, in no small part due to accumulating decades of technical debt. Incrementally improving C++ is extremely difficult, both due to the technical debt itself and challenges with its evolu

                        GitHub - carbon-language/carbon-lang: Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)
                      • decimal型があるからCOBOLもう要らんやろ、という件について(あるいは十進演算の話) - Qiita

                        この記事はFUJITSU Advent Calendar 2021の17日目です。 みんな大好きCOBOLの強みに十進演算があります。しかし、最近の言語には十進演算のための型(.NETのdecimalやJavaのjava.math.BigDecimalやその他)があるので、COBOL要らないんじゃない?みたいな話を聞いたりするわけです。それについて、COBOL処理系に関わっている身として思うところを述べたいと思います。「まあ、decimalやBigDecimalとかでできるっちゃできるんだけど…」の「だけど…」の部分を説明してみたい。 内容はざっと以下の通り。 二進浮動小数点で金計算をすると何がまずいかのおさらい。 十進浮動小数点の説明。 decimalやBigDecimalとCOBOL十進型の違い(BCDの説明)。 で? きっかけは、今年9月にとある記事のおかげでCOBOLがtwitte

                          decimal型があるからCOBOLもう要らんやろ、という件について(あるいは十進演算の話) - Qiita
                        • 新しくプログラミング言語を作る際に数値型をどうするべきか

                          この記事は、新しくプログラミング言語を設計する際に数値型をどうするべきかについて、私の持論をまとめたものです。 数の体系 JavaScript(BigInt以前)やLua(〜5.2)などは唯一の数値型が浮動小数点数型で、整数も実数も同じ「number」型で表現します。ミニマルな言語を作るのならそういう設計もアリかもしれませんが、ネイティブコンパイルも視野に入る実用的な言語を作るなら整数と実数を一緒くたにする設計はやめた方が良いと思います。 特に、JavaScriptにコンパイルする言語を作るからと言って、数値型の設計まで真似る必要はありません。 整数を浮動小数点数で表現すると、思わぬ性能低下の要因になったりします。最近(2023年2月)、次のツイートが話題になりました: これは正のゼロと負のゼロが値として区別され、正のゼロは内部的に整数扱いされるのに対し負のゼロはそうではないことによるもの

                            新しくプログラミング言語を作る際に数値型をどうするべきか
                          • なぜElmは0.19のままか、変化すること/しないこと - Runner in the High

                            discourse.elm-lang.org つい先日、数か月ぶりにElmのupdate話がでてきた。 Elmは0.19からほとんどメジャーバージョンアップしていない。最後のリリースは約9か月前にもなる。 この事実だけを知ると「Elmはもう終わったのか」「Evan*1は開発のモチベーションを失ったのか」と思われることがある。実際そういう話はネットでチラホラ見かける。確かに、フロントエンド開発言語のAltJSとして近しいTypeScriptやFlutterと比較すると、あまりにも機能追加され無さすぎるようにも見える。究極的には「何と比較するか?」という話だとは思うが、たしかにフロントエンド界隈的な観点ではElmは亀の歩みなのは間違いない。 変化するのはいいことだ... なんとなく肌で感じる人も多い事実として、世の中には"最先端を目指して変化するのはいいことだ"という暗黙的な統一見解が存在して

                              なぜElmは0.19のままか、変化すること/しないこと - Runner in the High
                            • 米国家安全保障局、CやC++からメモリー安全性の高いJavaなどへの移行を推奨

                              印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 米国家安全保障局(NSA)は米国時間11月10日、ソフトウェアのメモリー安全性強化に向けたガイダンスを公開した。同機関はその中で開発者らに対して、ハッカーらによるリモートコード実行(RCE)をはじめとするさまざまな攻撃からコードを保護するために、C#やGo、Java、Ruby、Swift、Rustといったメモリー安全性の高い言語に移行するよう推奨している。 これらの言語の中では、Javaが企業向けアプリや「Android」アプリの開発で最も幅広く使用されている一方、Swiftは「iOS」アプリの開発環境に取り込まれている点もあって人気プログラミング言語の上位に入っている。また、RustはシステムプログラミングにおいてCやC++の代替とし

                                米国家安全保障局、CやC++からメモリー安全性の高いJavaなどへの移行を推奨
                              • iPhone開発言語「Objective-C」作成者が76歳で死去。スマホ時代を拓いた言語の数奇な運命 « ハーバー・ビジネス・オンライン

                                Objective-C というプログラミング言語を開発した1人である Brad Cox 氏が、2021年の1月に76歳で亡くなっていた(SCNow)。 IT業界にいる人なら、Objective-C という名前を聞いて、すぐにそれが何か分かるだろう。しかし、そうでない人たちにとっては、プログラミング言語の種類と、その特徴や背景を思い浮かべるのは難しいはずだ。 Objective-C は、初期の iPhone 向けアプリケーションの開発に利用されていたプログラミング言語だ。ある時期まで、iPhone のアプリケーションは、ほぼ全て Objective-C というプログラミング言語によって開発されていた。 Apple という会社と、切っても切り離せないプログラミング言語。いや、スティーブ・ジョブズと切っても切り離せないプログラミング言語と言った方が適切だ。 Brad Cox 氏の死を切っ掛けに、

                                  iPhone開発言語「Objective-C」作成者が76歳で死去。スマホ時代を拓いた言語の数奇な運命 « ハーバー・ビジネス・オンライン
                                • GPT-4 Designed a Programming Language

                                  Edit: TenetLang now has a github repo, which I'll be updating as I continue to work on it with GPT-4. Open a PR or submit a feature request! GPT-4GPT-4 was released on Tuesday, and on my sector of Twitter, many of the smartest people I know were losing their brilliant minds. And for good reason; many wonderful things have been made with GPT-3 class of LLMs, keeping a frenetic pace that has continu

                                    GPT-4 Designed a Programming Language
                                  • 機械語手書きから言語処理系をブートストラップする - Qiita

                                    この記事は言語実装のカレンダー | Advent Calendar 2021 - Qiita https://qiita.com/advent-calendar/2021/lang_dev の4日目の記事です。 はじめに 昔、アセンブリ言語のみから出発し、GC・継続・オブジェクトシステムなどを持つ比較的高級な言語までブートストラップするということをやりました。いつか再挑戦してみたいと思っていて、正月休みにやりましたら思いのほか動くものになりましたが、死蔵させたまま1年経ってしまいました。勿体無いのでこの機会に紹介して供養します。 前回作ったAmberという処理系はこちら - リポジトリ: https://github.com/nineties/amber 今回はアセンブリ言語じゃなく ELFファイルの手書き から出発してみたいと思います。ただのお遊びで、そんなことしても役には立ちません。が

                                      機械語手書きから言語処理系をブートストラップする - Qiita
                                    • Rust + LLVMでプログラミング言語を自作してセルフホスティングした話

                                      llrlは自作のプログラミング言語です。大きな特徴が2つあります。 Hindley-Milnerベースの型推論による静的型付け (+型クラス) Lisp-likeなS式によるシンタックスとLLVM JITによるマクロ この言語の処理系をRustとLLVMを用いて実装し、それをllrl上に移植してセルフホスティングを試みました。無事セルフホスティングを達成したので、取り組んだことやモチベーションなどを順に振り返りたいと思います。 LLVMについては、フロントエンド側・バックエンド側ともに既にいくらかの解説記事が見られるため、概要は省略します。今回は新たなプログラミング言語のバックエンドとしてLLVMを用いるので、LLVMのフロントエンド側の実装がメインとなります。 事の発端: LLVM Kaleidoscopeチュートリアル Kaleidoscopeは、LLVMのチュートリアルにおいて実装す

                                        Rust + LLVMでプログラミング言語を自作してセルフホスティングした話
                                      • 関数の再帰的な定義に名前付けは必要か - 貳佰伍拾陸夜日記

                                        結論から言うと, 名前を付けることなく再帰的な関数を定義することは可能. 特定のプログラミング言語でどうかというよりは抽象概念としての関数の再帰を名前なしに実現可能かどうかという話(名前なしに実現できるプログラミング言語は存在するかという話). 発端 id:naoyaさんがこういうツイートをしていた. 再帰を書くときに何気なく関数に名前つけたり let で束縛したりしてたけど「再帰には三項関係が必要でありその実現には記号が本質的に関わる」とあり、名前づけの行為が必然だったことが分かった。プログラミングするときの視点が変わるな— naoya (@naoya_ito) 2022年8月12日 たとえば以下のように書いたときのlet fact =みたいな話. let fact = n => n <= 1 ? 1 : n * fact(n-1) ちなみに, 話は一見逸れるけど, こう書けると必然的に

                                          関数の再帰的な定義に名前付けは必要か - 貳佰伍拾陸夜日記
                                        • Pythonの構造的パターンマッチングのさらに便利なパターン紹介 | gihyo.jp

                                          鈴木たかのり(@takanory)です。今月の「Python Monthly Topics」では、第1回で紹介したPython 3.10の新機能「構造的パターンマッチング(Structural Pattern Matching⁠)⁠」の続きをお届けします。 前回は構造的パターンマッチング全体の説明、いくつかのパターンをコード例を交えて紹介しました。今回はその続きとして、前回紹介できなかった他のパターンについても紹介します。 Python 3.10の新機能:構造化パターンマッチング | gihyo.jp 構造的パターンマッチングとは 前回の繰り返しになりますが、この記事で初めて構造的パターンマッチングを知った人に向けて、簡単に紹介します。詳細は上記の記事を参照してください。 構造的パターンマッチングはPython 3.10で新しく導入された文法です。Python 3.10は2021年10月に

                                            Pythonの構造的パターンマッチングのさらに便利なパターン紹介 | gihyo.jp
                                          • Rustで型レベルプログラミング

                                            はじめに 通常のプログラムは実行時(ランタイム)に1 + 1など様々な計算を行う。一方でコンパイラーを持つ言語では、コンパイラーの型検査やジェネリクスなどの機構を利用して、コンパイル時にも計算を行うことができる。このようなプログラミングを、コンパイル時に検査・推論される“型”[1]に注目して型レベルプログラミングと呼ばれる。 ランタイムの計算の中にはたとえばwhile(1);のような簡単な計算で無限ループといった停止しない状況に陥いることがある。コンパイル時にできる計算でこのように無限ループに陥いってコンパイルが停止しなくなってしまったら、プログラムを実行することなく自明なエラー(型があってないとか、Rustであればfreeするタイミングが自明でないなど)を検出しようというモチベーションが崩壊してしまう。したがってコンパイル時にできる計算とはランタイムに比べて非常に限定された計算しか許可さ

                                              Rustで型レベルプログラミング
                                            • NESFab

                                              NESFab is a new programming language for creating NES games. Designed with 8-bit limitations in mind, the language is more ergonomic to use than C, while also producing faster assembly code. It's easy to get started with, and has a useful set of libraries for making your first — or hundredth — NES game. // This small program plays a sound effect. // Variables: vars /sound UU pitch = 1000 // Sends

                                              • Rustを通して見るオブジェクト指向|TechRacho by BPS株式会社

                                                こんにちは。yoshiです。夏のTechrachoフェア2022ということで、夏とは何の関係もない記事を書いていこうと思います。 業務ではC++をやっていながら前回、前々回にTechrachoで書いた記事に引き続きRustをやっていく訳ですが、定期的に炎上しがち(?)なオブジェクト指向の話です。みなさん、オブジェクト指向は好きですか? オブジェクト指向って何だろう? A. なんもわからん なんて言ってしまったら話が終わってしまうのですが。 歴史的な話をするとオブジェクトという用語はSimulaが初出で、オブジェクト指向はアラン・ケイがSmalltalkで導入したもの、という話になりますが、一方でビャーネ・ストロヴストルップがC++に導入した「カプセル化・継承・ポリモーフィズム」の組み合わせのことを指すことが多く、SmalltalkのそれとC++のそれにも違いがあるので定義が定まらない概念で

                                                  Rustを通して見るオブジェクト指向|TechRacho by BPS株式会社
                                                • a21_txt01 - essen-wiki

                                                  (註)「.exeの大きさ」はWindows向けにgcc(MinGW)でコンパイルした時の大きさです。 しかしここで扱う言語処理系は、Windows専用というわけではなく、他のOSでも問題なく動作するようになっています。 純粋に言語処理系の規模の目安を示すために書いてあります。 基本的には小さければ小さいほどシンプルで、教材として理解しやすいと思っています(可読性を下げてまでのコンパクト化をやらないとして)。 行数を書いているのも同じ意図です。行数だけだと、1行の文字数をうんと増やすことで、見かけ上の行数を減らすことができますが、そんなことをしても実行ファイルサイズは減らないので、 この二つを併記すれば、規模感の目安としては十分だと思っています。 「速度のめやす」は、C言語で10億回ループさせた場合と、この言語で10億回ループさせた場合の処理時間の比を書いています。数が大きいほうが遅いです。

                                                  • OCaml Programming: Correct + Efficient + Beautiful — OCaml Programming: Correct + Efficient + Beautiful

                                                    Preface About This Book Installing OCaml Introduction 1. Better Programming Through OCaml 1.1. The Past of OCaml 1.2. The Present of OCaml 1.3. Look to Your Future 1.4. A Brief History of CS 3110 1.5. Summary 2. The Basics of OCaml 2.1. The OCaml Toplevel 2.2. Compiling OCaml Programs 2.3. Expressions 2.4. Functions 2.5. Documentation 2.6. Printing 2.7. Debugging 2.8. Summary 2.9. Exercises OCaml

                                                    • Haskellの子供たち

                                                      Owenのブログより。 もし、私が4年前にタイムスリップして、昔の自分にHaskellが輝きを失い始めていると言ったら、私はそれを信じないでしょう。私はHaskellで育ち、カテゴリ理論への欲求はHaskellによって刺激され、私の最大のプログラミング・プロジェクトはHaskellであり、Haskellを使った会社で働くのが夢でした。 しかし今では、以前ほどHaskellに興奮していないことに気が付きました。何が変わったのでしょうか? いくつか要因があると思います。主な要因の1つは、Haskellが本当に得意としているプログラミングの種類だと思います。つまり、抽象的で正しいインタフェースを作ることは、私にとって興味のあるタイプのプログラミングではないと言うことです。キャリアとしてソフトウェアに携わりたいと思ったとき、自分を繰り返さないようにする素晴らしい機能を持った言語はとても役に立ちまし

                                                      • MoonBit

                                                        Language DesignExpressive multi-paradigm design, combining the best of dynamic and static, functional and practicalData-oriented language with a robust type systemMultiple backend support including WebAssembly, JavaScript and more.Check Docs AI Integrated PlatformAI-friendly language design, featuring safe-guard, easy testing, minimizing LLM hallucinations.Built-in AI assistant, automating testing

                                                        • GitHub - google/rune: Rune is a programming language developed to test ideas for improving security and efficiency.

                                                          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 - google/rune: Rune is a programming language developed to test ideas for improving security and efficiency.
                                                          • 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
                                                            • GitHub - candy-lang/candy: 🍭 A sweet, functional programming language that is robust, minimalistic, and expressive.

                                                              🚧 Work in Progress! Candy is still in its early stages. We are actively working on it, but it's not ready for production use yet. If you want to help, please join our Discord server. See also: The current state. A sweet, functional programming language that is robust, minimalistic, and expressive. Many programming languages have a strict separation between compile-time and runtime errors. Sometim

                                                                GitHub - candy-lang/candy: 🍭 A sweet, functional programming language that is robust, minimalistic, and expressive.
                                                              • 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

                                                                • if-then-else/if-then-else.md at master · e-n-f/if-then-else

                                                                  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

                                                                    if-then-else/if-then-else.md at master · e-n-f/if-then-else
                                                                  • Lua の代替スクリプト言語まとめ

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

                                                                      Lua の代替スクリプト言語まとめ
                                                                    • 手間をかけない 頑張らない ファーストペンギンは否定しない XP祭りはアジャイルなイベントの実践 - Agile Journey

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

                                                                        手間をかけない 頑張らない ファーストペンギンは否定しない XP祭りはアジャイルなイベントの実践 - Agile Journey
                                                                      • 型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語

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

                                                                          型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語
                                                                        • 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

                                                                            • 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
                                                                              • - 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
                                                                                • 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

                                                                                  新着記事