どの言語でも生きる 関数型 のエッセンスを 「プログラミングの基礎」 から学ぼう 2026/01/30 (Fri) 集合知の夜 みんなで創る最高のブックリスト | SHARE LOUNGE x KIKKAKE ITREND Yusuke Tanaka 「プログラミングの基礎」 浅井健一 著 (サイエンス社) ● ハードカバーだし、無機質な表紙 ● 大学の教科書っぽい(実際そう) ● 関数型プログラミング言語OCaml ● バグらせにくいプログラムの書き方 ● 関数型以外の言語でも活かせる!
どの言語でも生きる 関数型 のエッセンスを 「プログラミングの基礎」 から学ぼう 2026/01/30 (Fri) 集合知の夜 みんなで創る最高のブックリスト | SHARE LOUNGE x KIKKAKE ITREND Yusuke Tanaka 「プログラミングの基礎」 浅井健一 著 (サイエンス社) ● ハードカバーだし、無機質な表紙 ● 大学の教科書っぽい(実際そう) ● 関数型プログラミング言語OCaml ● バグらせにくいプログラムの書き方 ● 関数型以外の言語でも活かせる!
I meant to write about this when I started my blog in 2009. Eventually Lush kind of faded out of my consciousness, as it was a lot easier to get work doing stuff in R or Matlab or whatever. The guy who was maintaining the code moved on to other things. The guys who wrote most of the code were getting famous because of the German Traffic Sign results. I moved on to other things. I had a thought bu
⚠️ Beta Version Notice KernelScript is currently in beta development. The language syntax, APIs, and features are subject to change at any time without backward compatibility guarantees. This software is intended for experimental use and early feedback. Production use is not recommended at this time. A Domain-Specific Programming Language for eBPF-Centric Development KernelScript is a modern, type
数年前に読んだ書籍「Writing A Compiler In Go」がとても勉強になったので、どういう内容かを解説します。 Writing A Compiler In Go https://compilerbook.com/ 「Writing A Compiler In Go」とは 今回紹介するのは「Writing A Compiler In Go」になりますが、その前作にあたる「Writing An Interpreter In Go」の日本語訳が「Go言語でつくるインタプリタ」としてオライリーから出版されているため、ご存じの方も多いかと思います。 私は数年前に「Go言語でつくるインタプリタ」を読んでいて、続編の日本語訳が出るのを待っていましたが、なかなか発売されなかったので英語版を購入しました。 「Writing A Compiler In Go」を簡単に説明すると、「写経しながら軽
技術評論社から恵贈いただいた「OSのしくみ」の読書感想文です。 amzn.to 以前に読書感想文を書いた「[作って学ぶ] ブラウザのしくみ」の姉妹書です。 satoru-takeuchi.hatenablog.com 本書を一言でいうなら「RustでOSを書く方法を隣の席にいる先輩(筆者)に教えてもらうような本」です。本書を読み終えたとき手元にはRustについてのある程度の知識と、デバイスをいくつか操作できるOSが得られます。Rustの知識は他の本でもある程度得られますが、RustでOSを書く知識は私が知る限り日本語ではこの本でしか得られません。ここに魅力を感じる人にとっては読む価値は大いにあると思います。 想定読者 想定読者は本書冒頭に次のように書かれています。 プログラミングは少しかじったことがある 少なくとも1つのプログラミング言語をある程度使える Rustというプログラミング言語の
組込みRustや自作OSなどにおいて、従来言語より高い安全性があるとされているRustは注目される一方、Rustでも低レイヤー分野で頻発するメモリアクセスやインラインアセンブラなどでunsafeブロックが存在が多くなりがちです。 このunsafeブロックが多くなるので、結局Rustでこのような低レイヤー分野を触っても意味がないのでは?安全ではないのでは?という疑問が投げかけられることがしばしばあります。 筆者はTwitterや過去のブログで、組込みRustにおいてのunsafeとの付き合い方について触れていきましたが、内容としては分散していたので今一度この疑問に対するアンサーをまとめることにし、この論争に終止符を打とうと思います。 Rustにおけるunsafeとは そもそもunsafeとは何かというのはThe Rust Programming Languageのドキュメントにも詳しく書かれ
手続き型に慣れた人にもやさしい、こわくないHaskell入門記事です。 「なぜHaskellを学ぶと良いか」も参考にしていただければ幸いです。 まえがき Haskellと聞いて、何を思い浮かべますか? モナド 関数型 遅延評価 第4世代Intel Coreプロセッサ アライグマ いろいろ思い浮かべるかもしれませんが、Haskellがすばらしいのはモナドを利用しているからでも、遅延評価型の純粋関数型言語だからでもありません。 いろいろな「Haskellらしさ」が集まって、その結果Haskellにしかないすばらしい魅力を提供してくれます。 それは、決していままでのパラダイムと対立するものではなく、 手続き型 構造化プログラミング オブジェクト指向 のようなこれまでの便利な道具をうまく抽象化しながら統合して作り上げられたものです。 PHP javascript C++ Java などにあなたが費
はじめに 昨今、Rustの登場によりプログラミング言語は複雑化しつつあります。(彼にRustを貶す意図はありません) この現状を打破するため、私は最高にシンプルで完璧な言語作りに取り組みました。(彼は冗談を言っています) 最終的に当初の目論見とはかけ離れた言語になりましたが、その過程で苦労したことなどを綴っていこうと思います。 完成品はこちらになります 一応GCCでコンパイルして実行すれば乱数生成器が動くようになっています。 https://github.com/sxclij/sxcscript 特徴 C言語かつ500行以内のソースコード。(C言語を触ったことのある人なら無茶振り度合いがわかってくれるはず...) 動的メモリ確保なし(多分)固定長配列最高! 3種類の記号で記述可能。(なんというシンプル! 使用ライブラリはfcntl.h,stdint.h,unistd.hのみ 500行で収め
1000行でOSを作ってみよう 本書では、小さなOSをゼロから少しずつ作っていきます。 OSと聞くと腰が引けるかもしれませんが、OS (特にカーネル) の基本機能は案外単純です。巨大なオープンソースソフトウェアとしてよく挙げられるLinuxでさえ、バージョン0.01はたった8413行でした。様々な要求に応えるために次第に肥大化していっただけで、当初は大変素朴な実装になっていました。 本書ではコンテキストスイッチ、ページング、ユーザーモード、コマンドラインシェル、ディスクデバイスドライバ、ファイルの読み書きをC言語で実装します。これだけ様々な機能が詰め込まれているのに、コードは合計でたった1000行未満です。 「1000行なら1日でできそう」と思うかもしれませんが、初学者には少なくとも3日はかかるでしょう。OS自作のハマりポイントは「デバッグ」です。アプリケーション開発とは違うデバッグ手法
「C言語であった問題をとにかく解決する」を目標に掲げるZig言語小林哲之氏(以下、小林):それでは、始めます。tetsu_kobaと申します。今日はZigの話をしたいと思います。 Zig言語は、けっこう新しい言語なので、初めて聞く方も多いかと思います。「5分でざっと理解するZig言語」というページを作っておいたので、こちらをご覧になってください。 ところでみなさん、解決まで何時間もかかったバグの原因が、実は数秒で直せるような、しょうもないうっかりコーディングミスだったという経験はありませんか? 私は何度もあります。 バグの原因が、しょうもないうっかりコーディングミスだったということを嫁に話しました。途端に泣き崩れる嫁。「俺はうっかりコーディングミスを絶対に許さない! 絶対にだ!」 というふうにZigの作者は思ったのかどうかわかりませんが、Zig言語は、「Cであったいろいろな問題をとにかく解
プログラミング言語「Dart」の“null安全(null Safety)”版が、6月11日(米国時間)にテクニカルプレビューとして公開された。現在、「Dart」の開発チャネルで入手できる。 アプリケーションが実行時にクラッシュする理由は様々だが、ユーザーがよく目にするのは“割り当てられていない参照にアクセスしてしまう”というエラーだろう。Javaアプリで“NullPointerException”(俗にいう“ぬるぽ”)というエラーが起こる場合などがそれに相当する。これを避けるために変数が“null”でないかどうかチェックする処理も、積もり積もればパフォーマンスに悪影響を及ぼす。 そこで、「Swift」や「Kotlin」といった最近のプログラミング言語では変数が“null”でないこと(null安全)を保証する仕組みを採用しているものが多い。null参照エラーにつながりかねない処理はコンパイル
Tython とはhttps://github.com/gongo/Tython/tree/development 肉体言語 Tython は、Kinect センサーを用いて、体の動きを利用してプログラムを入力する言語、というかインターフェースというかフレームワークというか。 図にするとこんな感じです。 Kinect を介して動きを検知 (Detector) 検知した動きによって、入力するソースコードを決定 (InputMethod) ソースコードを入力し終わったら、コンパイル (Compile) コンパイルしてできた命令列を実行 (VM) デモ 「Hello, World!」Tython を使って Hello, World! を出力してみました。 Hello, World! 出力まで 4分強 一回で成功しなかった 最終的に成功するまでの時間は 90分 一度でも文字入力失敗すると最初から
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
まず、世界中のプログラマが誰でも一番最初に作るであろう「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 という名前で保
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く