タグ

プログラミング言語に関するs_hiiragiのブックマーク (18)

  • 静的型付きスクリプト言語 Cotowali

    この記事は未踏2021採択者アドカレ! の 23 日目の記事です。 Cotowali について Cotowali は、2021年度未踏に「シェルスクリプトへのコンパイルを行う静的型付けスクリプト言語の開発」のテーマで採択され、現在開発中のスクリプト言語です[1] Cotowali コンパイラは V言語で記述されています。Vコミュニティ公式ではないプロジェクトとしては規模が大きく、V言語コンパイラのバグ発見にも貢献しています[2]。 コンセプト POSIX 準拠シェルスクリプトへのトランスパイル シェルスクリプトの機能を取り入れながらも、一般的な言語に近く理解しやすい文法 シンプルな静的型付け ちなみに、Cotowali はあくまでシェルスクリプトをバックエンドに使う新規のスクリプト言語であり、シェルスクリプトに型をつけるものではありません。 静的型付けではありますが、型システムはごく簡易な

    静的型付きスクリプト言語 Cotowali
  • 最近見つけたおもしろ自作言語の紹介 - Qiita

    GoTypeScriptなど、大企業がつよつよマンパワーで作ってるプログラミング言語が日の目を当たる一方で、個人が盆栽を愛でるがごとくひっそりコツコツと作っているプログラミング言語もあります。ここではGitHubprogramming-languageトピックで見つけた自作言語の処理系から、スター数が少なくユニークな言語仕様を持った言語処理系をいくつか紹介します。 ちなみに、programming-languageトピック検索はこのようなAdvent Calendarを見る人にとって宝の山なので定期的に見ておくと幸せになれます。ただ、誰でも知ってるようなメジャー言語処理系が邪魔なので、スター数などで制限をかけておくと良いかと思います。 私は普段スター数50未満のprogramming-languageトピックが付いているリポジトリをRecently updatedで検索しています。 h

    最近見つけたおもしろ自作言語の紹介 - Qiita
  • シャドイングの嬉しさ | κeenのHappy Hacκing Blog

    κeenです。 Rustに限った話ではないのですが、よくRustを触ってみた人がシャドイングが気持ち悪いという反応をしているのを見かけるのでシャドイングがどういう機能かを解説します。 Rustのシャドイング まずは「気持ち悪い」と言われることもあるRustのシャドイングについて。 Rustでは以下のコードが合法です。 let input = "42"; let input = input.parse::<i32>().unwrap(); // 以後、i32 型のinputが見える let result = input * 2; input という名前の変数を2回導入しています。 最初の input は &str 型で、2つ目の input は i32 型です。 このコード以降では後に定義した i32 型の方の input が有効になっています。 後から導入した変数が先にあった変数を覆い隠す

    シャドイングの嬉しさ | κeenのHappy Hacκing Blog
  • ウワサのBlawnを触ってみた - Qiita

    program = block block = lines lines = line | lines line line = line_content EOF | line_content END | definition | import import = "import" STRING_LITERAL EOL line_content = expression definition = function_definition | class_definition | c_type_definition | global_definition | c_function_declaration function_definition = "function" identifier arguments EOL block return_value EOL | "function" ident

    ウワサのBlawnを触ってみた - Qiita
  • スーパー中学生誕生、プログラミング言語わずか数週間で開発、U-22プログラミング・コンテスト2019 - BCN+R

    「もっと人間にとって扱いやすい、自分の言語をつくってみたかった」。10月20日に東京の秋葉原コンベンションホールで開催された第40回「U-22プログラミング・コンテスト2019」の最終審査会で、見事、経済産業大臣賞(総合)を受賞した開成中学校3年の上原直人さん(15歳)は、独自プログラミング言語「Blawn」を発表した。IT業界の経営者など、並みいる審査員を驚かせたのは、完成度の高さはもちろんのこと、今年8月からわずか数週間で完成させたスピードだった。一次審査の応募期間7月1日~9月2日に着想から開発、完成まで一人で仕上げたという。 C言語を使ったのは今年7月 それまでPythonを使っていたという上原さんは発表の中で、「今年の7月か8月にC++を始めたが、扱いにくかった。もっと可読性の高い構文とメモリの安全性や速度を高めたいと思った」と、開発のきっかけについて語った。 質疑応答で審査員か

    スーパー中学生誕生、プログラミング言語わずか数週間で開発、U-22プログラミング・コンテスト2019 - BCN+R
  • プロデルで始める日本語プログラミング言語入門 - プロデルブログ

    今回は、プロデルで作ったプログラムを他の人が利用できるようにする方法をご紹介します。 自分が作ったプログラムを、他の人に使ってもらおう 自分が便利だ、と思って作ったプログラムは、きっと他の人にも役立つものであるはずです。プロデルで便利なソフトが出来上がったら、インターネットに公開しましょう。 プロデルで作ったプログラムを動かすには、作ったプログラムとプロデル体が必要ですが、他の人のPCにプロデルがインストールされているとは限りません。プロデルがないPCでも、作ったプログラムが動くようにするには「実行可能ファイル」というファイル形式を作って、それを配布すれば動きます。 なお、プロデルは商用利用も可能です。開発したアプリは、AS-ISの条件のもとライセンスフリーで利用・公開できます。

  • Null 非許容な参照型 - Qiita

    この記事について この記事は2017年 C# Advent Calendar 12月9日の記事です。 C# 8.0に向けて検討中で、11/15にプレビュー版が公開された C# の新機能「nullable reference types」について説明するものです。 "nullable reference types" を直訳するなら「Null 許容参照型」になるかと思いますが、この機能の実態を一言で言うと、参照型がnullを 可能な限り受け入れない ようにするもの、と考えたほうがいいでしょう。そのあたりのことを説明していきます。 Disclaimer: この記事は11/15のプレビュー版を前提にしたものです。これはあくまで現時点での 仕様に関する議論 を形にしたプロトタイプでしかなく、今後の議論によって仕様も実装も大きく変わる可能性があると思っていたほうがいいでしょう。CTP (Commun

    Null 非許容な参照型 - Qiita
  • 2004-10-02

    最近C++を使う時間が長いのでががーっと C++批判文章を書き上げてみる…。 (注:以下の文章において、C言語とはC/C++をさすものとお考えください) gotoは今から30年以上も前のダイクストラ先生による撲滅運動の 甲斐もあってかどうなのか、今日では良くないものの代名詞のように なっている。良くないということの主な理由はプログラムの流れが 見えにくくなる、等のようなのだが、実際のところどの程度のものかは よく分からない。C言語において、例えばループ構文を使わずにすべてを gotoでまかなおうとするとこれはほとんど自明に、確かに大変である。 例えばfor文なら、 for (A;B;C) body というものは、これを形式的に A _continue_for: if (B) goto _break_for; C goto _continue_for; _break_for:; このように変

    2004-10-02
  • setjmp/longjump

  • break文の使い方

    break 文は for 文や while 文などの繰り返し処理の他に switch 文で使用されるもので、 break 文が実行されると繰り返し処理を強制的に終了し次の処理へ移ります。ここでは break 文、およびラベル付き break 文の使い方について解説します。 ※ ここでは繰り返し処理で使用する break 文について解説しています。 switch 文での利用については「switch文を使った条件分岐」を参照されてください。

    break文の使い方
  • なぜ僕らはJuliaを作ったか(翻訳) - 丸井綜研

    僕は言語を作るきっかけとか思想とかに興味があるので、日頃から新言語を見つけてはニヤニヤしてるんですが、つい昨日Juliaという新言語のリリース記事を読んで、面白そうだったので、紹介がてら粗く翻訳してみました。 なぜ僕らはJuliaを作ったか(原文:Why We Created Julia) 2012年2月14日(火) | Viral Shah, Jeff Bezanson, Stefan Karpinski, Alan Edelman 端的に言えば、僕らは欲張りだからだ。 僕らはMatlabのパワーユーザーだ。LispハッカーPython使いやRuby使いもPerlハッカーもいる。髭が生える前からMathematicaを使っていたのもいるし、未だに髭が生えてない仲間もいる。常識的な人にはオススメしないくらい多くのグラフをR言語で描いてきた。そしてC言語は僕らのユートピアだ。 いま挙げた言

    なぜ僕らはJuliaを作ったか(翻訳) - 丸井綜研
  • 楽譜でプログラミングする言語Scorlang - ならば

    はじめに 楽譜はソースコードというエントリを書いて以来、楽譜を使ったプログラミング言語という漠然とした考えが頭の片隅にあった。ModanShogiを見ていたら頭の片隅から開放したくなったので具体化した。 楽譜プログラミング言語Scorlang(Score language)。ジャンルとしてはビジュアル難解プログラミング言語*1になる。 Scorlangのプログラムは、楽譜のように見える図形で表現される。例えば、下の図は「Hello, world!」を出力するプログラムである。 言語仕様 最初に強調しておくが、Scorlangは音響プログラミング言語ではないので、音響信号を扱ったり音を入出力するための仕様は一切ない。扱えるデータは整数のみ、出力形式はテキストのみである。 ひとつのプログラムをシートと呼ぶ。シートは原則的に、音楽の楽譜と同じく左から右、上から下に向かって処理が描かれており、実行

    楽譜でプログラミングする言語Scorlang - ならば
  • 変数に型がないということの利点について考える - Perl入門ゼミ

    Perl › 読み物 PHPPerlRubyPythonなどのスクリプト言語に対して、変数に型がないということを否定的にとらえる人もいるかと思います。特にC言語やJavaなどの静的言語を使ってきた人にとっては、型がないということが不安材料として目に映ることが多いのではないかと思います。 けれども、型がないということは、当に素晴らしいことです。型がないことによって、たくさんの面倒から解放されるからです。 どのような型の値でも代入できる まず基的なこととして変数に型がなければどのような型の値でも代入できるということです。つまり、受け取るときに、どのような型の値を受け取るのかを意識する必要がありません。 my $str = 'Hello'; my $num = 1; my $nums = [1, 2, 3]; my $person = {age => 2, name => 'taro'

    変数に型がないということの利点について考える - Perl入門ゼミ
  • 言語 = 文法 + 語彙 : 404 Blog Not Found

    2009年07月09日22:00 カテゴリLightweight Languages 言語 = 文法 + 語彙 そのライブラリーに力を決めるのはなにか。 プログラミング言語の力における限界生産力逓減の法則とライブラリと - プログラミング言語を作る日記 書籍プログラミング言語を作るにも書きましたけど、言語の力ってのは結局のところほとんどライブラリの力で決まってしまうところがあります。 それが、文法ではないのか。 「何が言えるのか」を決めるのが、語彙(vocabulary)。 「どう言えるのか」を決めるのが、文法(syntax)。 言語は、この二つで出来ている。 ところが、この二つには、相反する要求がある。 語彙は、なるべく多い方がいい。多ければ多いほど、言えることは多くなるからだ。 しかし文法は、なるべく少ない方がいい。少ない方が覚えることが少なくなるからだ。 この矛盾を、言語はどう解決し

    言語 = 文法 + 語彙 : 404 Blog Not Found
  • PHPを叩く人にガツンと申し上げたい - ひがやすを技術ブログ

    よって、PHPを「学ぼう」とするのは、時間の無駄だと弾言する。学ぼうとするから報われない。ただ必要な時、必要な呪文を、必要なだけ唱えればいいのだ。それ以上をPHPに期待するのは間違いだ。「なぜ」を問うてはならない。 PHP叩きって毎年必ず起こるじゃないですか。で、だいたいの結論が、PHPは「動くWebを作るには最適」でそれ以外はだめなんだということになってる。 俺からみると、PHPでさくっとできることは、たいていのLLで、同じようにさくっとできる気がする。デフォルトで用意されている呪文を一発唱えればいいという話も、そんな呪文を移植すればいいだけの話。移植もそんなに難しくはないでしょう。 デプロイや環境を用意するのが簡単だというのは、簡単にまねできない気もするけど。 だから、不思議なんですよ。PHPが「動くWebを作るには最適」いうなら、同じようなことは他の言語でもできるだろうと。 PHP

    PHPを叩く人にガツンと申し上げたい - ひがやすを技術ブログ
  • Matzにっき(2004-09-27)

    << 2004/09/ 1 1. [映画]ハリーポッターとアズカバンの囚人 2. [PC]断末魔? 3. [OSS]GNU信者たち 2 1. [morq]返信機能 3 1. Google adsense 2. IBM ThinkPad X31 3. [morq]Mail Organizer 4 1. なぞなぞ 2. Thinkpad X31 5 1. [教会]松江 2. [X31]情報収集 6 1. [morq]アドレスコンプリーション 2. なぞなぞ(続き) 3. [X31]インストール 4. [OSS]オープンソースカンファレンス2004 5. [Ruby]講習会 7 1. 台風接近 2. [X31]Thinkpadセットアップ 3. 雨漏り 8 1. リコール 2. 息子の日記 3. [X31]セットアップ最終段階 9 1. [家族]参観日 2. [X31]Speedstepとサスペ

  • プログラミング言語の力における限界生産力逓減の法則とライブラリと - K.Maebashi's はてなブログ

    ひがやすをさんのブログより。 俺からみると、PHPでさくっとできることは、たいていのLLで、同じようにさくっとできる気がする。デフォルトで用意されている呪文を一発唱えればいいという話も、そんな呪文を移植すればいいだけの話。移植もそんなに難しくはないでしょう。 PHPを叩く人にガツンと申し上げたい - yvsu pron. yas いやあ、その、「移植もそんなに難しくはない」呪文が最初からお仕着せで備わっているのがPHPのよいところなのではないでしょうか。たとえそれが 山のような、しかし相互に関連しない関数。そして一貫性のない関数名。後のことを考えない、つぎはぎだらけの仕様 404 Blog Not Found:教科書はいらない - 書評 - PHP逆引きレシピ だったとしても。 書籍プログラミング言語を作るにも書きましたけど、言語の力ってのは結局のところほとんどライブラリの力で決まってしま

    プログラミング言語の力における限界生産力逓減の法則とライブラリと - K.Maebashi's はてなブログ
  • a = a + 1; /* って違和感あるはずなのに */ : 404 Blog Not Found

    2009年07月10日15:00 カテゴリLightweight Languages a = a + 1; /* って違和感あるはずなのに */ ここまでは、いい。 だれでもわかるプログラミングの教え方もある……といいな - 狐の王国 じゃあ「c = a + b」はどうなるのか。 これはcという新しいバケツを用意し、aとbを足した数字を入れろという意味だ。ところが、 a = a + 1; でまともに数学を習った人ならつっかかるはずだし、実際つっかかるなのに、ほとんどの言語が代入演算子として=を採用しているのはなぜなのだろう? いや、私だってこれがFORTRAN由来だってことは知っている。私が知りたいのは、これが数学から見ても自然言語から見ても不自然なのに、ことプログラミングに関しては、なぜこれが自然になってしまったか、ということ。 代入に、=を使う必然性が全くないことは、それを使わぬ言語も

    a = a + 1; /* って違和感あるはずなのに */ : 404 Blog Not Found
  • 1