並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 144件

新着順 人気順

"programming language"の検索結果41 - 80 件 / 144件

  • 関数型プログラミングはまずは純粋関数型言語を用いて、考え方から理解しよう

    この記事は、関数型プログラミングはまず考え方から理解しよう の記事を純粋関数型言語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

          はじめに わたしがHaskellを使い始めてもうそろそろ10年目になります。(タイトルは多少サバを読んでいますね) これまで使ってきた感想をまとめます。 Haskellのつらいところ まずは愚痴らせてください。 コンパイルが遅い 依存モジュールはすべてソースコードからビルドする必要があります。(バイナリ形式のモジュールはありません) 最初のビルドに20分くらい待つのはザラです。 複雑な型システムをつかうと型推論や型レベル計算に時間がかかります。 高速なHaskellプログラムを書くためには多くの関数をインライン化する必要があります。最適化ビルドではインライン展開によってコードサイズが大きくなるので時間がかかります。 デバッグが難しい 公式のGHCiデバッガはありますが、今のところIDEから簡単に利用できるわけではないですし、コンパイル済みのライブラリはデバッグできないです。 近年スタックト

            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の紹介
              • ボレロ村上(村上原野)さんと 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)

                  Fast and works with C++ Performance matching C++ using LLVM, with low-level access to bits and addresses Interoperate with your existing C++ code, from inheritance to templates Fast and scalable builds that work with your existing C++ build systems Modern and evolving Solid language foundations that are easy to learn, especially if you have used C++ Easy, tool-based upgrades between Carbon version

                    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歳で死去。スマホ時代を拓いた言語の数奇な運命 « ハーバー・ビジネス・オンライン
                            • 「Rubyは落ちるか、伸びるかの岐路に立っている」 まつもとゆきひろ氏が語る、30年後に向けた生存戦略

                              プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。4回目は、Rubyコミュニティが生存するために必要なことについて。前回はこちら。 Rubyコミュニティが生存するためには何が必要か まつもとゆきひろ氏(以下、まつもと):さて、これらの教訓をもとに、Rubyの未来はどうなるかについて考えてみましょう。 教訓をもう1回まとめておきますね。アイデアだけでは、価値がない。単純さは、いつもいいこととは限らない。仕様が大きいことは、いつもい

                                「Rubyは落ちるか、伸びるかの岐路に立っている」 まつもとゆきひろ氏が語る、30年後に向けた生存戦略
                              • 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
                                  • Haskellの型と直観論理 - 朝日ネット 技術者ブログ

                                    開発部のxgotoです。Haskellの初級・中級者向けのトピックを取り上げたいと思います。 今回は型(Type)についてです。型はHaskellの入門書でも必ず最初のほうに説明されるもので、手元の本によれば、 型とは、互いに関連する値の集合である。 ---- 『プログラミングHaskell』 Graham Hutton 著 / 山本和彦 訳 だとか、 値の世界は型と呼ばれる系統的な集まりへと分割される。 ---- 『関数プログラミング入門 Haskellで学ぶ原理と技法』 Richard Bird 著 / 山下伸夫 訳 などのように書かれています。たとえば Bool は True と False の2つの値からなる集合だし、Intは整数の集合というように、型は値の集合というふうにみることができます。それならば型などと呼ばずに集合と呼べばいいと思いますが、「異なるものには異なる名前をつけろ

                                      Haskellの型と直観論理 - 朝日ネット 技術者ブログ
                                    • 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で型レベルプログラミング
                                            • 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億回ループさせた場合の処理時間の比を書いています。数が大きいほうが遅いです。

                                                • あなたは「自然言語にwell definedを求めるな」の意味を誠実に解釈できているか? - Amosapientiam

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

                                                    あなたは「自然言語にwell definedを求めるな」の意味を誠実に解釈できているか? - Amosapientiam
                                                  • Haskellの子供たち

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

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

                                                        • 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

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

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

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

                                                                    Why Every Developer Should Start Programming With C
                                                                  • RuboCop Under a Microscope

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

                                                                      RuboCop Under a Microscope
                                                                    • 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

                                                                      • Cassette

                                                                        Cassette is a small, Lisp-like programming language. It looks like this: import List import Math import Canvas import System let width = 800, height = 480, canvas = Canvas.new(width, height) canvas.text("Lines!", {200, 2}) System.seed(System.time()) def rand-line(i) do let x0 = Math.floor(i * width / 100), y0 = Math.rand-int(20, height / 10), x1 = Math.rand-int(0, width), y1 = Math.rand-int(20, he

                                                                        • kyju.org - Piccolo - A Stackless Lua Interpreter

                                                                          Piccolo - A Stackless Lua Interpreter 2024-05-01 History of piccolo A "Stackless" Interpreter Design Benefits of Stackless Cancellation Pre-emptive Concurrency Fuel, Pacing, and Custom Scheduling "Symmetric" Coroutines and coroutine.yieldto The "Big Lie" Rust Coroutines, Lua Coroutines, and Snarfing Zooming Out piccolo is an interpreter for the Lua language written in pure, mostly safe Rust with a

                                                                          • Rubyの型アノテーションの現状についていくつか思うこと(翻訳)|TechRacho by BPS株式会社

                                                                            概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: A few words on Ruby's type annotations state 原文公開日: 2023/05/05 原著者: zverok 参考: 週刊Railsウォッチ20230531: Rubyの型アノテーションの現状についていくつか思うこと ...を軍の訓練施設で書いているうちに、ついつい5,000ワードになってしまった。 今これをスマホで書いている、それもウクライナ軍の訓練施設にある、200人を越える戦友たちと過ごしている兵舎で。もっぱら訓練と訓練の合間の短い時間(たいてい夜と日曜だが)をこの作業に当てている。 率直に言うと、軍に入隊して以来、まさかRubyについて何か書く時間やインスピレーションを得られるとは思ってもみなかったが、今ここでこうして書いている。 最近、Redditの/r/rubyで興味深い長大な議

                                                                              Rubyの型アノテーションの現状についていくつか思うこと(翻訳)|TechRacho by BPS株式会社
                                                                            • https://vale.dev/

                                                                              • GitHub - richardanaya/tour_of_rust: A tour of rust's language features

                                                                                This project is meant to give an experienced programmer a swift introduction to Rust as an alternative to reading lengthy book style documentation. Chapter 1 - The Basics Chapter 2 - Basic Control Flow Chapter 3 - Basic Data Structure Types Chapter 4 - Generic Types Chapter 5 - Ownership & Borrowing Data Chapter 6 - Text Chapter 7 - Object Oriented Programming Chapter 8 - Smart Pointers Chapter 9

                                                                                  GitHub - richardanaya/tour_of_rust: A tour of rust's language features
                                                                                • Gleam

                                                                                  Gleam is a friendly language for building type-safe systems that scale! The power of a type system, the expressiveness of functional programming, and the reliability of the highly concurrent, fault tolerant Erlang runtime, with a familiar and modern syntax. Reliable and scalable Running on the battle-tested Erlang virtual machine that powers planet-scale systems such as WhatsApp and Ericsson, Glea

                                                                                    Gleam

                                                                                  新着記事