並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 564件

新着順 人気順

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

  • 「BASIC」誕生60周年--コンピューター利用を容易にしたシンプルな言語の歴史

    Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 川村インターナショナル 2024-05-15 07:30 「Python」や「JavaScript」が学ばれるようになるずっと前、米国時間1964年5月1日の夜明け前の暗闇の中で、コンピューター史におけるささやかながら非常に重要な出来事がダートマス大学で幕を開けた。数学者のJohn G. Kemeny氏とThomas E. Kurtz氏がGeneral Electricの「GE-225」メインフレームを操作して、独自に考案した言語の最初のプログラムを実行した。その言語こそ、初心者向け汎用記号命令コード、すなわち「BASIC」だ。 BASICは最初に普及した言語ではない。その栄誉を得たのは、ビジネス分野では「COBOL」、エンジニアリング分野では「FORTRAN」だった。しかし、19

      「BASIC」誕生60周年--コンピューター利用を容易にしたシンプルな言語の歴史
    • WebAssembly所感

      WebAssemblyをちょっといじってみて思ったところをまとめてみます。 設計思想 WebAssembly/designに設計文書がまとまっています。特にHighLevelGoals.mdから読み取れるポイントは以下の4点です。 サンドボックス化された環境であること。 移植性があること。つまり、特定の実CPUアーキテクチャ等に依存しないこと。 少なくともC/C++の(十分に高速な)コンパイルターゲットとして機能すること。 安定した仕様を持つこと。 サンドボックスという観点からは、先行技術として以下のようなものが特筆に値します。 Webサンドボックス JavaScript および asm.js Javaアプレット Flash (ActionScript) NaCl, PNaCl Web以外のサンドボックス OSのユーザーランド、特にLinux userland これらのサンドボックスとの比

        WebAssembly所感
      • GitHub - travisdoor/bl: Simple imperative programming language created for fun.

        The Biscuit Language (BL) is a simple imperative programming language using LLVM backend and compiler implemented in C. Language syntax and all its features are still in development. Biscuit is designed to be simple, fast, and explicit. Project homepage: biscuitlang.org Contact email: biscuitlang@gmail.com Language design and some core principles are based on the hard work of Jonathan Blow, who, o

          GitHub - travisdoor/bl: Simple imperative programming language created for fun.
        • Biscuit Language

          Biscuit Language The Biscuit Language (BL) is simple imperative programming language using LLVM backend implemented in C. Language syntax and all it's features are still in development and not ready for 'real' use yet. Biscuit is designed to be simple, fast and explicit. Simple small language. Manual memory management. ABI compatibility with C libraries. Game development oriented. Compilation to n

          • GitHub - kyren/piccolo: An experimental stackless Lua VM implemented in pure Rust

            (After four years, now UN-paused!) Project Goals, in roughly descending priority: Be an arguably working, useful Lua interpreter. Be an easy way to confidently sandbox untrusted Lua scripts. Be resilient against DoS from untrusted scripts (scripts should not be able to cause the interpreter to panic or use an unbounded amount of memory and should be guaranteed to return control to the caller in so

              GitHub - kyren/piccolo: An experimental stackless Lua VM implemented in pure Rust
            • kyju.org

              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

              • Cognition

                Lisp programmers claim that their system of s-expression code in addition to its featureful macro system makes it a metaprogrammable and generalized system. This is of course true, but there's something very broken with lisp: metaprogramming and programming aren't the same thing, meaning there will always be rigid syntax within lisp (its parentheses or the fact that it needs to have characters tha

                • Borgo Programming Language

                  Borgo is a new programming language that compiles to Go. For a high-level overview of the features and instructions on running the compiler locally, check the README. This playground runs the compiler as a wasm binary and then sends the transpiled go output to the official Go playground for execution. use fmt enum NetworkState<T> { Loading, Failed(int), Success(T), } struct Response { title: strin

                  • GitHub - borgo-lang/borgo: Borgo is a statically typed language that compiles to Go.

                    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 - borgo-lang/borgo: Borgo is a statically typed language that compiles to Go.
                    • Javaはなぜかっこ悪いと思われているのか、ChatGPTと共に原因を探ってみた

                      プログラミング分野でよく話題になるのが「どのプログラミング言語が優れているか」というテーマだ。個人的には「どんな言語を使っていようとプログラミングの本質は変わらないので、不毛な議論ではないか」と感じることが多い。それぞれの案件に適した言語を使えばいいだけではないかと思ってしまう。 もっとも、これは日常的にプログラミングをしていない部外者の意見かもしれない。日々のソフトウエア開発業務では、プログラミング言語は最も重要なツールの1つだ。どんなツールを使うかが開発効率に直結することは大いにあり得る。 例えていえば、コード入力に使うキーボードのようなものだろうか。どんなキーボードでも気にしないエンジニアがいる一方で、キーボードのタッチに異様にこだわるエンジニアもいる。後者にとって、特定のキーボードを利用できるかどうかは開発効率を左右する死活問題だ。プログラミング言語にも、それに似た面があるのかもし

                        Javaはなぜかっこ悪いと思われているのか、ChatGPTと共に原因を探ってみた
                      • https://waxc.netlify.app/

                        • moonbit で json パーサーを書いてみた 感想

                          エアプにならないために、実際に moonbit を使ってコードを書いてみた感想を書く。 JSON Parser を書いた パッケージレジストリである https://mooncakes.io を見た限り、使いやすい json parser がなさそうなので、とりあえず自分用のをでっち上げた。 mooncakes.io に publish してあるので、 moon add mizchi/json で使える。品質が良くなくても ネームスペース付きで publish するので別に邪魔にならない気がした。 なんで作ったかというと、公式 example の cloudflare workers の example は単純なフィボナッチを計算するだけで、構造的なデータを返すことができない。 moonbit と js 間の文字列の受け渡しについては、あとで別の記事を書く。 使い方 fn main { l

                            moonbit で json パーサーを書いてみた 感想
                          • PHPの時代は終わった? プログラミング言語のランキングで、2001年以来の最低シェアを記録【やじうまWatch】

                              PHPの時代は終わった? プログラミング言語のランキングで、2001年以来の最低シェアを記録【やじうまWatch】
                            • MoonBit が WebAssembly 時代の理想(の原型)だった

                              最近 moonbit という言語を知ったのですが、これが調べれば調べるほど好きになる言語だったので、紹介させてください。 文法的には GC 付きの Rust で、 WebAssembly にコンパイルされます。とくに CDN Edge Worker 上での実行を想定しているようです。もう好き。 注意: まだ若い言語なので、これから言語仕様がガンガン変わっていくと思われます。あくまで現時点での情報です。 tl;dr Pros だいたい GC あり Rust と捉えていい 文法面のキャッチアップが容易 ライフタイムの難しさを考えなくていい すでに vscode 拡張やパッケージマネージャ等のエコシステムが整っている Cons まだ安定していない / しばらくはソースコードが公開されない 現時点では学習リソースやパッケージ数が足りず、書き手の腕力が求められる はじめに: JS/TS/Rust へ

                                MoonBit が WebAssembly 時代の理想(の原型)だった
                              • eC Programming Language

                                import "EDA" import "genericEditor" enum MediaType { unknown, tape, dvd, bluRay }; dbtable "Borrowers" Borrower { Borrower id "ID"; String name "Name"; String phoneNumber "Phone Number"; }; dbtable "Movies" Movie { Movie id "ID"; String name "Name"; MediaType mediaType "Media Type"; Date dateAdded "Date Added"; Borrower borrower "Borrower"; Date dateBorrowed "Date Borrowed"; }; DataSource ds; Data

                                • 「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由

                                  「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由 #17 動的型付け言語と大規模開発 テーマは「動的型付け言語と大規模開発」 まつもとゆきひろ氏:まつもとゆきひろです。Matzチャンネル17回目ということでお送りします。ちょっと前になりますが9月28日に私が技術顧問を始めたクラウドサーカスという会社さんがテックイベントを開催されて、その時のテーマが「動的型付け言語と大規模開発」というテーマでした。 その時に話したこととか、話そうとしたこと、話そうと思っていたんだけど時間の関係で話せなかったことなどを補足する意味も含めて今日はちょっと放送しようかと思います。というか、分量が多いので2回に分けて話そうかなと思っています。 このクラウドサーカスのイベントのテーマは別に私から指定したわけではなくて、先方が「こんなテーマで話したいんだ」とか「聞き

                                    「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由
                                  • Pythonが教育用途において十分だという話

                                    Pythonが教育用途において十分だという話 今話題のPythonを教えている現役の講師です。Pythonを教える際に重視すべきだと考えている機能等について書いておきます。 dataclass / Pydantic 自分は型ヒントよりもdataclassやPydanticを使った型付けを重視しています。いわゆるクラスベースな言語の書き方が大事だと考えています。 dataclass Pythonは動的型付け言語であり、interface相当の機能すらclassの構文で書く変わった言語です。近年Pythonの型ヒントは少しづつ充実してきていますが発展途上であることは否めないですし、何より実行時にその型であることは保証されないので、dataclass等を使った開発スタイルが依然強力だと考えています。 Python+TypeScriptというようなスタックを使う際には両言語の差に混乱するでしょう。

                                      Pythonが教育用途において十分だという話
                                    • AWK As A Major Systems Programming Language — Revisited

                                      AWK As A Major Systems Programming Language — Revisited Preface I started this paper in 2013, and in 2015 sent it out for review to the people listed later on. After incorporating comments, I sent it to Rik Farrow, the editor of the USENIX magazine ;login: to see if he would publish it. He declined to do so, for reasonably good reasons. The paper languished, forgotten, until early 2018 when I came

                                      • Python滅ぼす協会に入会したい

                                        なぜ令和にもなって動的型付け言語を使うのか シフトレフトという概念が生まれたのは二十年以上も前のはずだ。 それにもかかわらず動かしてみるまで答え合わせもできない言語で開発をするという発想自体がどうかしている。 同じ動的型付けといってもJavaScriptはブラウザという事情があるし、型の表現力に優れたTypeScriptがあるからまだよい。 しかし、Pythonはどうだ。他にいくらでも選択肢があるなかで、サーバーサイドにわざわざ選定する言語ではなかろう。 貧弱な型ヒント、しかも書いたところで大した効用もない。 使っている外部ライブラリにひとつでも型ヒントがクソなものがあれば即座に破綻する。 型というガードレールもシートベルトもなしで糞を撒き散らしながらする開発にはうんざりだ。 シンタックスもキモい 動的型付けもさることながら、シンタックスもキモい。とにかく思考を妨げる語順になっている。 m

                                          Python滅ぼす協会に入会したい
                                        • JavaScript Visualized - Promise Execution

                                          Promises in JavaScript can seem a bit daunting at first, but understanding what's happening under the hood can make them much more approachable. In this blog post, we'll dive deep into some of the inner workings of promises and explore how they enable non-blocking asynchronous tasks in JavaScript. I'm still working on making this blog better on mobile devices, mobile browsers don't always render t

                                            JavaScript Visualized - Promise Execution
                                          • GitHub - raygard/wak: wak -- an awk implementation for toybox and standalone

                                            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 - raygard/wak: wak -- an awk implementation for toybox and standalone
                                            • An awk implementation

                                              An awk implementation Rob Landley’s toybox project provides a variety of Linux command-line tools, similar to busybox. I have written a compact but fairly complete awk implementation intended to integrate with toybox, but it can also build standalone. This implementation is named wak, because all the good awk names are taken. But when used in toybox, it’s just awk, or toybox awk. wak is coded in C

                                              • ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP

                                                Object-Oriented Conference 2024で発表した資料です。 https://fortee.jp/oocon-2024/proposal/b31c9818-3cb8-4350-adfe-cbc839cdf829 ビジネスの専門知識(ドメイン)を中心に据えたドメイン駆動設計に代数的データ型などの関数型のパラダイムを加えたよりタイプセーフな関数型DDDを紹介します。 本セッションではドメインモデリングによって発見したモデルやビジネスロジックをソフトウェアに反映する際により型を重視した設計を加えます。 型で表現する範囲が広がることでビジネスロジックをより明確にコードで表現できるようになります。 さらには型で表現されているためコンパイルフェーズで気付けるミスが増え、ソフトウェアの品質向上にもつながります。 関数型の考えをいれるといってもただ単にHaskellなどに代表される関

                                                  ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP
                                                • GitHub - nanochess/bootLogo: Logo language in 508 bytes (x86 boot sector)

                                                  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 - nanochess/bootLogo: Logo language in 508 bytes (x86 boot sector)
                                                  • 「ソフトウェアはメモリ安全でなければならない」との声明を発表、米ホワイトハウス

                                                    米ホワイトハウス国家サイバー局長室(The White House Office of the National Cyber Director:ONCD)は、2024年2月26日(米国時間)、サイバー空間における攻撃対象領域(アタックサーフェス)を積極的に削減するよう技術コミュニティーに呼びかける報告書を発表した。 ONCDは、IT企業がメモリ安全なプログラミング言語を採用することで、あらゆる種類の脆弱(ぜいじゃく)性がデジタルエコシステムに侵入するのを防ぐことができると述べている。ONCDはまた、サイバーセキュリティの品質を測定するより優れた診断の開発を可能にするために、ソフトウェアの測定可能性の問題に取り組むことを奨励している。 関連記事 Google、「メモリ安全性」に関する見解と対策をまとめたホワイトペーパーを公開 Googleは、「セキュアバイデザイン:メモリ安全性に関するGoo

                                                      「ソフトウェアはメモリ安全でなければならない」との声明を発表、米ホワイトハウス
                                                    • Announcing TypeScript 5.4 - TypeScript

                                                      Today we’re excited to announce the release of TypeScript 5.4! If you’re not familiar with TypeScript, it’s a language that builds on top of JavaScript by making it possible to declare and describe types. Writing types in our code allows us to explain intent and have other tools check our code to catch mistakes like typos, issues with null and undefined, and more. Types also power TypeScript’s edi

                                                        Announcing TypeScript 5.4 - TypeScript
                                                      • Gleam version 1 – Gleam

                                                        Published 04 Mar, 2024 by Louis Pilfold Today Gleam v1.0.0 has been released! This is the first “stable” release of the language (more on what that means later) and a big milestone for the ecosystem. It has been a long journey and I’m proud of both the technology and the community that we’ve built here with Gleam. Thank you so much to everyone who has taken part in any way, you’ve all contributed

                                                          Gleam version 1 – Gleam
                                                        • GitHub - JasonSteving99/claro-lang: Claro Lang

                                                          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 - JasonSteving99/claro-lang: Claro Lang
                                                          • Welcome to Claro! - The Claro Programming Language (DRAFT)

                                                            Welcome to Claro! Claro is a statically typed JVM language that provides a well-lit path to building simple, highly concurrent, and scalable applications. Dependency Management Done Right Claro was designed with modern build tooling in mind: Swap any dependency without changing a single line of source code Runtime "Dependency Injection" frameworks are a thing of the past First class Module system

                                                            • Wrapping up `Practical SML#' :: Simon Zelazny's Blog

                                                              Review of chapters 9-11 & overall thoughts For Context: All the previous posts in this series Chapter 1: Setting Up an SML# Environment Chapter 2: The Essense of ML Programming Chapter 3: List Processing Chapter 4: Defining and Using Datatypes Chapter 5: Modules and Partial Compilation Chapter 6: Techniques of Designing and Developing ML-style Systems Chapter 7: Interoperability with the C Languag

                                                              • 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.
                                                                • Unification-free ("keyword") type checking

                                                                  From my perspective, one of the biggest open problems in implementing programming languages is how to add a type system to the language without significantly complicating the implementation. For example, in my tutorial Fall-from-Grace implementation the type checker logic accounts for over half of the code. In the following lines of code report I’ve highlighted the modules responsible for type-che

                                                                    Unification-free ("keyword") type checking
                                                                  • Planner programming blows my mind

                                                                    Picat is a research language intended to combine logic programming, imperative programming, and constraint solving. I originally learned it to help with vacation scheduling but soon discovered its planner module, which is one of the most fascinating programming models I’ve ever seen. First, a brief explanation of logic programming (LP). In imperative and functional programming, we take inputs and

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

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

                                                                        あなたは「自然言語にwell definedを求めるな」の意味を誠実に解釈できているか? - Amosapientiam
                                                                      • 世界のプログラミング言語(52) 設定ファイルに新潮流Appleの新言語「Pkl」

                                                                        先日、Appleが設定ファイルのためのプログラミング言語「Pkl」を公開して話題になっています。そもそも、設定ファイルにどのような形式を採用するかは、アプリの使い勝手を大きく左右するものです。今回は話題の「Pkl」について紹介します。 Appleがオープンソースで公開した「Pkl」を使えばいろいろなデータ形式に変換して出力できる 設定ファイルの重要さについて 地味にアプリの使い勝手を左右するのが「設定ファイル」です。もちろん、多くのユーザーが利用するようなアプリであれば、GUI画面を持つ親切な設定ツールも用意されていることでしょう。 しかし、多くのコマンドラインツールや、個人が開発したツールなどの設定を行うには、設定ファイルを直接書き換えることで、アプリの挙動を変えることができるのが一般的です。そのため、アプリの設定ファイルを開いてみて、そのファイル形式や設定の複雑さや幻滅することも多々あ

                                                                          世界のプログラミング言語(52) 設定ファイルに新潮流Appleの新言語「Pkl」
                                                                        • 継承はなんでダメ? - まめめも

                                                                          「オブジェクト指向の継承を使うな」という主張が広まっているようです。なんでダメになったんでしょうか。 インターネットで見かけた「継承はダメ」という主張をいくつか眺めて、友人と議論しつつ、考えてみました。 「コードが読みにくくなる」 継承があると、メソッド呼び出しが実際にどのメソッド定義を呼び出すのか字面でわからない。 デバッガを使って、親クラスのメソッドに飛んだり、子クラスに飛んだりするのを追いかけないと行けない。 つらい。という主張。 めっちゃわかる。わかるんですが、これは「高度に共通化されたコードは読みにくい」という一般的な側面がかなり大きいような。 たとえば継承の代わりに高階関数を使うと、関数呼び出しがどのクロージャに飛ぶか字面でわからなくなる。 ひどいとコールバック地獄になって何が何やらになります。 継承がことさらにまずい理由を想像すると、すべてのメソッド呼び出しがポリモーフィック

                                                                            継承はなんでダメ? - まめめも
                                                                          • Why Elixir Is the Best Language for Building a Bootstrapped, B2B SaaS in 2024 | SleepEasy Website Monitor

                                                                            Why Elixir Is the Best Language for Building a Bootstrapped, B2B SaaS in 2024 [This article is the companion to my presentation for CodeBEAM America 2024, Elixir is the One-Person Stack for Building a Software Startup. You can download the slides as a PDF or view them in Google Slides.] I’d like to share why I chose Elixir as the programming language (and really, as we’ll discuss, the full stack)

                                                                              Why Elixir Is the Best Language for Building a Bootstrapped, B2B SaaS in 2024 | SleepEasy Website Monitor
                                                                            • Learn Lambda Calculus in 10 minutes with OCaml

                                                                              I'm going to teach you the basics of Lambda Calculus really quickly. Lambda Calculus is deep. But I'm covering only the fundamentals here. What is Lambda Calculus? Lambda Calculus (LC) is a model to describe computations. LC describes the syntax and semantics. Syntax A lambda expression (also known as lambda term) can be one of the following three things: Variable Application Abstraction Variable

                                                                                Learn Lambda Calculus in 10 minutes with OCaml
                                                                              • Appleがシステム構成のためのプログラミング言語「Pkl」をオープンソースでリリース

                                                                                Appleがシステム構成を作成するためのプログラミング言語である「Pkl(ピックル)」をオープンソースとしてリリースしました。Pklで構成を記述することで、必要に応じてJSONやYAMLのほか、Kotlin、Ruby、JavaScriptなどの形式で自由に出力することが可能とのことです。 Pkl :: Pkl Docs https://pkl-lang.org/index.html apple/pkl: A configuration as code language with rich validation and tooling. https://github.com/apple/pkl システム構成を記述する際にはJSONやYAML、プロパティリスト(plist)などの静的言語を用いる場合が多いものの、表現力に限界があってコードが頻繁に繰り返されたり、独自の検証を提供しないために構文

                                                                                  Appleがシステム構成のためのプログラミング言語「Pkl」をオープンソースでリリース
                                                                                • アップル、新しいプログラミング言語「Pkl」をオープンソースで公開。コンフィグレーション生成用 | テクノエッジ TechnoEdge

                                                                                  ITジャーナリスト/Publickeyブロガー。IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。 アップルは、さまざまなコンフィグレーションファイルを生成するための静的型付言語「Pkl」(発音はPickle=ピックル)をオープンソースで公開しました。 ソフトウェアやクラウドサービスなどの設定に用いるコンフィグレーションファイルはどんどん複雑になってきており、利用者が望む詳細な設定を、一般的なコンフィグレーションファイルのフォーマットとして使われているJSONやYAML、XMLプロパティリストなどの形式で正確に記述することは難しくなってきています。 Pklはそうしたコンフィグレーションを正確かつ分かりやすく記述するために開発された、特定目的用のプログラミング言語だと説明されています。 Configuration-as-Codeを実現するた

                                                                                    アップル、新しいプログラミング言語「Pkl」をオープンソースで公開。コンフィグレーション生成用 | テクノエッジ TechnoEdge