タグ

languageに関するkirakkingのブックマーク (27)

  • Amber The Programming Language

    Write your scripts in a modern type-safe and runtime-safe programming language that handles many bugs and mistakes during the compilation process.

    Amber The Programming Language
    kirakking
    kirakking 2024/05/17
    「let result = $cat file.txt | grep "READY"$」でコマンド呼び出しの結果を格納できるのか。お手軽。failed ブロックで$?>0もキャッチできると。今後に期待。
  • この10年のプログラミング言語の変化 - 西尾泰和のScrapbox

    @nishio: あ、そうか、10年前からあったけど10年間の間に勢力を拡大したケースがあるからあんまり厳しく切らない方がいいのか(TypeScriptの登場が2012年、Rustの登場が2010年だった)

    この10年のプログラミング言語の変化 - 西尾泰和のScrapbox
    kirakking
    kirakking 2023/01/14
    関数型が来る来ると言われていたけど、宣言型スタイルや副作用、パターンマッチング、型推論ばどやっぱり影響が大きい感じ。
  • 君はkiloを知っているか - Qiita

    Advent calendar初参加でした(// //) 期日少し遅れてごめんなさい💦 kiloとは kiloとは1000行前後のC言語ファイル1つで構築されるテキストエディターである。 それを作成してみるハンズオン(「Build Your Own Text Editor」)が公開されており、今回それをしてみたので、報告する。 きっかけ Vimがどのように文字列を表示しているのかが不思議であったので、いつか調べたいと思いつつ、C言語をしっかりと使ったことはないし、ソースを読んでもなんとなく以上のことはわからなかった。 (特に、どこで画面上の文字(の位置)が制御されているのか全然分からなかった!) そんな中、C言語でエディタを作るというチュートリアルが公開されていたことに気付いたので、練習として取り組んでみることにした。 チュートリアルの章立て Setup(セットアップ) Entering

    君はkiloを知っているか - Qiita
    kirakking
    kirakking 2022/12/15
    へー知らなかった。
  • シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita

    はじめに bash などのシェルには [ ... ] と [[ ... ]] の二種類の比較方法があります。一つはコマンド、もう一つはシェルの文法なのですが、具体的にはこの二つは一体何が違うのでしょうか? そもそもなぜ似ている機能が二つもあるのでしょうか? この記事は言語設計者の気持ちになって考えることで、その理由を解き明かそうという記事です。 なお、違いについての簡単な説明については「test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 」の記事がよくまとめられていますので紹介します。一通りの違いを素早く知りたい方はこちらを参照してください。 参考 シェルの歴史や種類については「シェルの歴史 総まとめ(種類と系統図)と POSIX の役割」に詳しくまとめています(系統図とか頑張って書いたので見

    シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita
  • Zig で簡単な JSON パーサを書いてみた。

    #include <stdio.h> int main(int argc, char* argv[]) { int i; for (i = 1; i <= 100; i++) { if (i % 15 == 0) puts("FizzBuzz"); else if (i % 15 == 0) puts("FizzBuzz"); else if (i % 3 == 0) puts("Fizz"); else if (i % 5 == 0) puts("Buzz"); else printf("%d\n", i); } return 0; } fn main() { let mut x = 1; while x <= 100 { if x % 15 == 0 { println!("FizzBuzz"); } else if x % 3 == 0 { println!("Fizz"); } e

    Zig で簡単な JSON パーサを書いてみた。
  • 関数型プログラミング言語における関数適用構文の歴史的経緯についてのメモ - Arantium Maestum

    先日こういうツイートがあった: Haskellとかの関数型言語を使用しているプログラマの皆様にお聞きしたいんですけど、「関数名 引数 引数 ...」みたいな関数呼び出し構文って見にくくは無いですか?「関数名(引数, 引数, ...)」に慣れたこちらからすると、丸括弧が無いからコード中のどこが関数呼び出しなのかパット見で把握しにくい。— sounisi5011/プログラム (@sounisi5011Prog) February 22, 2022 「見にくくは無いですか?」と聞かれると、個人的には「全然大丈夫です」と答えざるを得ないのだが、次のツイートに関しては考えさせられた: 数式でも函数には丸括弧を使ってるのに、どこのタイミングで丸括弧が消失したのかわからないし、その選択をした理由も思いつかない。— sounisi5011/プログラム (@sounisi5011Prog) February

    関数型プログラミング言語における関数適用構文の歴史的経緯についてのメモ - Arantium Maestum
    kirakking
    kirakking 2022/02/25
    面白ーい。某界隈だと括弧を外した書き方と括弧をつける書き方は applicative style と functional style という風に構文論/意味論レベルで区別されているけど、言語の仕様と記法のどっちの概念が先に生まれたんだろう。
  • The International Conference on Functional Programming

    The ACM SIGPLAN International Conference on Functional Programming The ICFP Programming Contest Each year, ICFP sponsors a fun and challenging three-day programming competition a few months before the conference. The winners of the contest are announced at ICFP. Past contests 2024, organized by Jeroen Bransen 2023, organized by Aymeric Fromherz 2022, organized by Alperen Keles 2021, organized by J

  • コーディングに対する考え方を変える6つのプログラミングパラダイム | POSTD

    私は時折、コーディングに対する考え方を変えさせられるような、従来と非常に異なるプログラミング言語に出会います。記事では、その中でも特に気に入っている発見をいくつかご紹介したいと思います。 これは、先賢による「関数型プログラミングは世界を変える!」的な投稿ではありません。記事で挙げるのは、もっと「知る人ぞ知る」的なリストです。多くの読者の方にとって、以下の言語やパラダイムは聞いたことのないものが大半だと思いますので、私が経験したように、これらの新しい概念を学ぶ楽しさを感じていただければ幸いです。 注:私は以下の言語の多くに関して最低限の経験しかありません。その発想に引き込まれたのであって、専門的知識は持ち合わせていないため、訂正すべき点や誤りがあればどうぞご指摘ください。また、記事で取り上げていない新しいパラダイムや概念に出会った方は、ぜひお知らせください。 最新情報:記事が r/p

    コーディングに対する考え方を変える6つのプログラミングパラダイム | POSTD
  • P言語の素晴らしさについて - kuenishi's blog

    先週Microsoft社がP言語に関するブログ記事を公開し一部界隈で話題となった。 P言語くん pic.twitter.com/uULzxIO4ct— Kuntaro Ishiyama (@_iamkuntao) 2017年3月26日 「いまさら一文字言語かよ…」「何個目だ?」といった批判的諦念的なものから、「RustGoとErlangの間の子みたいなのだなあ」「なんか読みにくい」といった反応が多くこの言語の重要性やインパクトに対して正しく理解しているものがあまりなかった。尊敬しているTD勢ですらあまり重要性が伝わってないようだ 1 2 。上記のブログ記事を読んだり、マニュアルを読んだらすぐ分かるようなことではあるが、日語で解説しておこうと思う。なおいわゆる言語入門とかそういった類のものではないことをご理解いただきたい。 TL;DR 並行処理や分散システムの形式証明や形式検証はそれ自体

    P言語の素晴らしさについて - kuenishi's blog
    kirakking
    kirakking 2017/05/25
    Microsoftって確かZ3っていうTheorem Prover作ってたよな。いろいろやってるなあ。
  • Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研

    Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿

  • プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita

    記事が切っ掛けとなってお声がけを頂き、記事の増補リファイン版となる記事をSoftwareDesign 2018年1月号のシェルスクリプト特集第2章として執筆しました。リファイン版には、この記事で触れていない文法面での分かりにくさについての解説が含まれています。その文法面での分かりにくさの解説の一部に相当する記事もありますので、ぜひそちらも併せてご覧下さい。 Shell Script Advent Calendarをご覧の皆様、図々しくも5日目に続く2度目のエントリーのPiroです。 前回は自作のBashスクリプト製Twitterクライアントをネタに実装を解説しましたが、今日は他の言語で多少のプログラミング経験はあるんだけど、どうにもシェルスクリプトは苦手だ……という人のための、シェルスクリプトによるプログラミングの勘所を解説してみようと思います。多分、プログラミング入門レベルの人や上級

    プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita
    kirakking
    kirakking 2016/12/08
    高階関数を知ると、mapとかfun x->eとかfilterとか使いたくなってきてオレオレコマンド作るんだけど、結局xargsに努力が吸収される。シェルスクリプトは行指向テキスト処理言語。
  • Frege: JVMのためのHaskellのような言語

    ドイツ数学者、Gottlob Frege氏から名付けられたFregeは、JVMのための純粋関数型の強力な型付き言語だ。FregeはHaskellと似ていて、「もっともHaskellらしいコードを修正せずに、または、見て分かる最小限の調整だけで動かせる。」 Fregeの開発者たちによると、Fregeは「パワー、単純さ、表現力の豊かさの組み合わせにおいて、類を見ないもの」である型システムをJVMに持ち込んだ。これにより、非正格 評価と型推論をサポートし、純粋性とデフォルトの不変性を可能にする。そのため、副作用は宣言された時のみ使うことができる。Fregeは、以下のようなHaskellの機能をほぼサポートしている。 ADTとパラメトリックポリモフィズムを用いた型クラス より高いランクの型 パターンマッチング リストの包含 do表記 ポイントフリースタイル モジュール functor、monoi

    Frege: JVMのためのHaskellのような言語
  • CafeOBJ

    kirakking
    kirakking 2015/02/08
    CafeOBJ のページが新しくなってる。エラー情報も詳しくなっている。 Maude に近づいたか。
  • Esolang, the esoteric programming languages wiki

    Welcome to Esolang, the esoteric programming languages wiki! This wiki is dedicated to the fostering and documentation of programming languages designed to be unique, difficult to program in, or just plain weird. You'll probably want to find out what on earth an esoteric programming language is in the first place. Then, you might want to explore the complete list of languages, or find something mo

  • 最凶言語 Malbolge - ロベールの小部屋

    プログラムの話題はあまり書かないと言う舌の根も乾かぬうちにプログラムの話題です。 この世には様々なプログラミング言語がありますが、そんな中にはいくつもの変わった言語があります。チューリング完全な最小の処理系を作る事を目指した Brainf*ck とか、見えない文字のみを使った Whitespace(空白)とか、レシピ風に書く Chef(シェフ)とか、台風に書く Shakespeare(シェークスピア)とか、実用性とか関係なく、興味深いからとか、面白いからと作られた言語です。これらは難解なので、esoteric programming language(難解なプログラミング言語)と呼ばれています。 それでは、most esoteric(最も難解)な言語を決めるとしたら何になるでしょうか? 上に書かれたものも分かり辛くはありますが、世の中には「この世で一番分かり辛くする事」を目標とした言語が

    最凶言語 Malbolge - ロベールの小部屋
  • 最もタメになる「初心者用言語」は Brainf*ck! - TAKESAKOのはてな出張所

    まず、世界中のプログラマが誰でも一番最初に作るであろう「Hello, world!」を標準出力に表示するプログラムを書いてみましょう。 C言語 2006-12-19 char main[]= "QVWUZ%@@@@% P^JJJJJJJJJJJJJJJJJJJJJJJJ3B PVXH, PTXHHHH!0Z_18R_)8)8)8)8" ")8)8)8)8WV_38WX_)8)8)8@)8@@@@)8)8)8T_VXOOOOOOOOOOOOOOOOOOOOOOOOWYVX!75Hel" "lVP^17^GGGGVX!75o, wVP^17^GGGGVX!75orldVP^17^GGGGVX!75aJ@@5@@@@VP^17^VXP[" "PZBBBBBBBBBBBBBBC@@@@AHI@AHI@AHI@AHI@AHI@AHI@j__^Y`"; このプログラムを hello.c という名前で保

    最もタメになる「初心者用言語」は Brainf*ck! - TAKESAKOのはてな出張所
  • 世界で一番ピュアな論理型プログラミング言語Hilbert(ヒルベルト)をRubyで作った. - Qiita

    あいさつ こんにちは. 皆さん如何お過ごしでしょうか. 日の日付を確認致しましたらもう2014年も残り一月半と改めて認識させられ驚いています. こうも時間の流れが早いと死ぬのもすぐですね. 懸命に生きようと思います. さて今回はHilbertという論理型プログラミング言語を作りました. (カジュアルに作ってるように見えますが、割と気です.) まだまだやるべき事は当に多くて、飴ちゃんあげるのでコミッター大募集です. (今ならカントリーマームもつけるのでお願いします.) HP: http://hilbert-lang.org/ja/ Github: https://github.com/gogotanaka/Hilbert 前座 世界で一番ピュアで豊かなプログラミング言語 この言語で仮定されているのは恒真(トートロジー)のみです. (厳密に言うと自然演繹も仮定されていますが.) 当初、自

    世界で一番ピュアな論理型プログラミング言語Hilbert(ヒルベルト)をRubyで作った. - Qiita
    kirakking
    kirakking 2014/11/19
    決定不能性とどう戦っているのか気になる。
  • Hilbert<ヒルベルト> - 世界で一番ピュアなプログラミング言語 -

    Hilbertは数学における普遍妥当な論理式を機械的に導出可能とする公理系と推論法則を言語内部に構築し、実数学の諸概念を離散世界の抽象物に飛ばす機構を目指した言語です.

    kirakking
    kirakking 2014/11/18
    式の簡約はどんな評価戦略と理論を用いているのだろう。へたしたら止まらない&計算結果の一意性が破壊されるけど、裏で SMT Solver とかかしら。あと 公理系がユーザー定義可能なら associative & commutative で遊んでみたいかも
  • bitbucketの使い方

    With best-in-class Jira integration, and built-in CI/CD, Bitbucket Cloud is the native Git tool in Atlassian’s Open DevOps solution. Join millions of developers who choose to build on Bitbucket.

    bitbucketの使い方
    kirakking
    kirakking 2014/11/18
    ほほー TR か。 Mathematica や Haskell とどこが違うのだろう。
  • プログラミング言語がソフトウェアの品質に与える影響 | スラド デベロッパー

    あるプログラミング言語がその仕事に適したものであるかといった議論は論争に発展しがちだ。時には宗教戦争の様相を呈することがあるものの、プログラミング言語がコーディングプロセスだけでなく完成した製品の特性にも影響することは多くの方が同意するところだろう。これについてカリフォルニア大学デイビス校のコンピューターサイエンス研究者らが、プログラミング言語のソフトウェア品質に与える影響(PDF)に関する調査結果を発表した。研究ではGitHubの729プロジェクト(17言語、29,000人が書いた8,000万行のソースコード、150万コミット)を分析。大きなサンプルサイズを利して混合研究法のアプローチをとり、複数の回帰的モデリングやテキスト解析を組み合わせて静的型付けと動的型付け、型付けの強弱といったプログラミング言語の特徴がソフトウェアの品質に与える影響を調べた。異なる手法による調査結果を組み合わせ、

    プログラミング言語がソフトウェアの品質に与える影響 | スラド デベロッパー