Rustで"Hello World"を出力できる小さなWasm Runtimeをゼロから実装して、WasmとWASIの動作原理を理解する本です。
言語実装 Advent Calendar 2022の1日目の記事として書いた。 Lisp Advent Calendar 2022でも枠が空いていたのでダブル投稿。 プログラミング言語を実装してみたい!と思ったらまずは簡単なLispインタプリタから始めるというのは一つの王道だと思う。 複雑な構文解析は要らず最低限の再帰下降法パーサで手に入る構文木を、そのまま再帰的な関数で実行していくtree walking評価器。メモリ確保もヒープにそのまま置いていって、メモリ解放は実装言語のGCに任せるなりプログラムの終了時までやらなかったり。そんなインタプリタを作る経験から得られるものは非常に大きく、どんなプログラマでも一回は試してみてもいいのではないか?と思っている。(個人的な感想です) そんな簡易Lispを実装してみて沼にハマってしまい、より精緻な言語処理系を作りたいと思ったとする。その時点で:
今ではプログラミングできないわけではないけど、そういえばプログラミングは完全に独学と言っていい。 いや、大学では数学をやっていたので、FortranとかLispはちょっとやった。 なので「完全に独学」といったら嘘になる。 それでも、いま仕事で使っているコンピューターの知識は、基本的にすべて書籍を通して独学したものだ。 そこで、自分が何の本を読んでプログラミングを実務で使えるくらいにはなれたのか、アフィリエイトと宣伝を込めつつちょっと振り返ってみてもいいかなと思って走り書きしてみる。 テキストフィルターを書きまくるとこから始めるといいと思う プログラミングぜんぜんやったことない人が「プログラミング完全に理解した(ダニング・クルーガー的な意味で)」という実感の端緒を得るまでには、まず「テキストフィルタを書きまくる」のがわりと近道だと信じている。 コンピューターを使うことがインターネットを使うこ
すごく今更感がありますが、先週末出版しました。 私のプライベートがとても忙しくしばらく書けませんでした。書籍を書きましたのでご報告です。 実践Rustプログラミング入門 作者:初田 直也,山口 聖弘,吉川 哲史,豊田 優貴,松本 健太郎,原 将己,中村 謙弘発売日: 2020/08/22メディア: 単行本 ちなみに、著者、まだ現物を受け取っていません。書店で現物を触りたいなと思って見に行きましたが、今週末は在庫切れで本屋さんにありませんでした。 電子書籍は調整中です。 私の担当は1章、3章の一部、11章の一部です。 他の共著者のみなさんの記事 (2020/09/22 追記) 共著なのにこの記事のタイトルを「書きました」としてしまったので、私もだぞ、とみなさんがタイトルで煽ってきています(違 私も『実践Rustプログラミング入門』を書きました - matsu7874のブログ 私だって『実践R
最後に、17 章で PとNPに関する話題を解説し、世の中には「効率的に解くアルゴリズムを設計することができそうにない難問」が多数あることを見ます。18 章で、これらの難問に取り組むための方法論をまとめます。 競プロをやっている方向け 扱っている題材の難易度については、こんな感じのイメージです! チーター本 < 本書 = 螺旋本 < 蟻本 難易度が近い螺旋本は、スタンスが異なる部分もありますので、よい形で共存できたら、という想いです。 螺旋本と比べると、「動的計画法」「貪欲法」「二分探索法」などの設計技法に関する話題をより重視しています 螺旋本は「ライブラリを揃えていく」という思想なので、設計技法よりもライブラリになるものを重視する立場です 本書では、紙面の都合で「計算幾何学」と「整数論」には触れられませんでしたが、これらは螺旋本には載っています 2-2. 本書の対象読者 本書は、「アルゴリ
κeenです。実践Rust入門 言語仕様から開発手法まで(技術評論社)を書いた(3人で共著)のでどういう本なのか解説します。 5/8発売です。電子版もありますよ。Gihyo Digital PublishingだとPDFが手に入るので人気らしいです。 See Also 書籍『実践Rust入門』の詳細な目次です 目指したもの Rustの入門書といえば公式ドキュメントのThe Book、TRPLなどと呼ばれるThe Rust Programming Languageやその有志による和訳が一番に挙がるでしょう。 それ以外にもオライリーよりProgramming Rustやその和訳版も出ています。 どちらもRustについてよく書かれており、本書の購入を検討されている方は上記2冊との違いが気になるかと思います。 本書の大きな特徴は以下の2点です。 Rust 2018 Editionに対応している 実
2016-12-23更新: 電子書籍書籍版の情報を更新しました。電子書籍版も好評発売中です! Pythonを使ってクローリング・スクレイピングを行い、データを収集・活用する方法を解説した書籍です。 Pythonの基本から、サードパーティライブラリを使ったスクレイピング、様々なサイトからのデータ収集・活用、フレームワークScrapyの使い方、クローラーの運用までを扱っています。 Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド- 作者: 加藤耕太出版社/メーカー: 技術評論社発売日: 2016/12/16メディア: 大型本この商品を含むブログ (3件) を見る クローリング・スクレイピングとPython Pythonは言語自体の書きやすさ、ライブラリが充実していること、データ解析との親和性が高いことなどから、クローリング・スクレイピングに向いている言語です。
今まで読んできた技術書の中で良かったものを挙げていく。 そろそろ本棚が溢れるので捨てる前に書き留めておく。 私は独学でプログラミングを始めたので情報系専攻の人には何をそんなという本も混っているだろうが価値は人それぞれ違う。 一応私自身について語っておくと学生時代はプログラミングに興味を持ちつつも数学科に進んだ。 しかしそこでもプログラミングへの興味は薄れず、色々本を読んだり同学年の情報科学科の真似をしたりしていた。 今思えば日本の精鋭たる東大情報科学科の人達に勝てる筈もなかったのだが学生時代に我武者羅になれたのは悪い経験ではなかった。 私が興味があったのは主にプログラミング言語そのもの、特にLispとその周辺。 何故本か 挙げていく前に1つだけ。Webに大量に情報がある今、何故本かについて説明したい。簡潔に言うと 文章が推敲されていて読み易い 1つの情報ソースに多彩な内容が載っている 巨大
SICPは、よい内容について書かれた本であり、最良の本だった時期もあった。 けれども、今となっては、理解が難しく内容の割には時間がかかる、時間の無駄ともいえる本といってもいいかもしれない。 もちろん、Schemeの可能性、数値計算、プログラミング、コンピュータ教育の歴史、そしてSICP自体のすべてに興味があれば、効率がいい本かもしれない。 けれども、コンピュータ教育の歴史、SICP自体に興味がないのなら、あまり効率のいい本とはいえない。特に、Scheme、数値計算に当面の興味はなく、プログラミングについてだけを学びたいのであれば、時間の無駄でしかないと思えるし、今となっては足りない部分もある。 SICPの欠点として、まず、次の点が挙げられる。 日本語がよみにくい サンプルに数学の知識が必要 プログラムがよみにくい 日本語がよみにくいというのはよく指摘される。ただこれは翻訳だけが悪いのではな
是非手に取ってみて下さい.よろしくおねがいします. 関数プログラミング実践入門 ──簡潔で、正しいコードを書くために (WEB+DB PRESS plus) 作者: 大川徳之出版社/メーカー: 技術評論社発売日: 2014/11/14メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る AgdaとかHaskell Golfの本ではない.いいね? どのような本? これまで何らかの命令型言語に触れてきた人が「なにかと耳にするし,そろそろ関数プログラミングでも」と思いたったとき,その基本的な部分を押さえるための本です.関数型言語としてはHaskellをとりあげ,またHaskellを使っていくための説明を進めていきます.関数プログラミングからプログラミングに入る人はプログラミングに対する先入観が無いのでともかくとして,既に命令型言語の経験がある人の場合,関数プログラミングの考え
金井さん(@can_i_do_web)と吉田さん(@teyosh)との共著でAngularJSリファレンスという書籍を執筆しました。 AngularJSリファレンス 作者: 池添明宏,金井健一,吉田徹生,丸山弘詩出版社/メーカー: インプレス発売日: 2014/09/05メディア: 単行本(ソフトカバー)この商品を含むブログを見る どのような本か? この本はAngularJSの脱初心者〜中級者向けを目指して書きました。 公式ページのチュートリアルやドットインストールの入門講座をこなして、ある程度AngularJSを使えるようになった人が、その次に進みたいときに読むのに適していると思います。 また、AngularJSのソースコードを読まないと分からないような内容もいくつか書いているので、AngularJSを使い込んでいる人にも何かしらの新しい発見があるのではないかと思います。 本書はAngu
並列・並行プログラミングはプログラマの重要な関心事であり、常に注目を集めている話題です。これまで、関数型言語は並列・並行プログラミングに有利であると言われてきましたが、それを説明する書籍はありませんでした。本書では、純粋関数型言語Haskellが提供する並列・並行プログラミングの機能を俯瞰し、実践的な問題を解いていきます。その根底にある考え方は、関数プログラミングの核心であるモジュラリティです。また本書では、実際の問題を解決するときに陥りがちな落とし穴や、高い性能を出すためのtipsなどをまとめています。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認
コンピュータ勃興期の1989年9月に創刊しました『C Magazine』が電子書籍として帰ってきました! 1989年はNEC PC-98シリーズ全盛であり、東芝のダイナブックシリーズの初代が発売された年でもありました。 『C Magzine』は人気プログラミング雑誌として刊行を続け、2006年4月号を最後に休刊になりました。刊行冊数は199冊にもなり、日本のプログラマーに長く愛された雑誌であることは間違いありません。 人気連載を担当されていた方の多くは、現在も当社各種IT書籍の執筆陣として活躍しています。 今回は愛読者だった方からの熱い要望に答える形で電子書籍として復刻致します! ■配信フォーマット 電子書籍版はEPUB固定フォーマットか、PDF(準備中)での販売を行います。また、今回配信するのは創刊から100号までになります。 ■ご注意 1)この電子書籍は紙の印刷物をスキャンしたデータを
ここ数日はこちらの本を読んでいました。 コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus) 作者: 西尾泰和出版社/メーカー: 技術評論社発売日: 2013/04/24メディア: 単行本(ソフトカバー)この商品を含むブログ (28件) を見る その前には、こちらを。 Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus) 作者: 山本陽平出版社/メーカー: 技術評論社発売日: 2010/04/08メディア: 単行本(ソフトカバー)購入: 143人 クリック: 4,320回この商品を含むブログ (176件) を見る どちらも大変よく出来た本で(というと偉そうだけど)、「なるほど〜」とか「わからね〜」とか、でも後者にしても文章が壊れてるから、とかではなくて、わからない理由は明確になりながら(つ
2014年04月30日16:40 カテゴリ育成 新人エンジニアに薦める1冊 巷では「新人エンジニアに勧める一冊」が流行ったらしいのでVOYAGE GROUPでも聞いてみました。 ▼1つだけ選ぶなら! 書籍名薦めた人理由いいねした人 計算機プログラムの構造と解釈 @suzu_v 全人類が読むべき @ajiyoshi @makoga @brtriver @hagino3000 体系的に学ぶ 安全なWebアプリケーションの作り方 @ajiyoshi 体系的に安全なWebアプリケーションの作り方を学べるから @suzu_v @makoga @brtriver Webを支える技術 ── HTTP,URI,HTML,そしてREST @brtriver 基礎だけどとても大事なことが学べる @suzu_v @makoga 情熱プログラマー ソフトウェア開発者の幸せな生き方 @_zoo 研鑽の大切さがわかる
また1年振りの更新となりかけました。 Andres Raba氏により2011年から開発が続けられている、非公式PDF版SICPを全訳しました。 ファイル 恒例のgithubです。 https://github.com/minghai/sicp-pdf jsicp.pdfが日本語版の本体です。 ejsicp.pdfはデバッグ用の日本語・英語併記となります。 ライセンスはCC BY-NC-SA 3.0です。商業使用は認められないことにご注意下さい。 SICPとは何か? SICPとはMITが作成した何も知らない新入生向けのプログラミングの教科書です。 プログラミングと強調したことには理由があります。この本は良くあるプログラミング言語の教科書ではなく、あくまでもプログラミングを勉強するための教科書だからです。このことはこの本の中でも、最初の前書き、序文にて何度でも繰り返し強調されています。筆者達が
[ 目次, 前節, 次節, 索引 ] 目次 目次 序文 第二版への前文 第一版への前文 謝辞 1 手続きによる抽象の構築 1.1 プログラムの要素 1.1.1 式 1.1.2 名前と環境 1.1.3 組合せの評価 1.1.4 合成手続き 1.1.5 手続き作用の置換えモデル 1.1.6 条件式と述語 1.1.7 例: Newton法による平方根 1.1.8 ブラックボックス抽象としての手続き 1.2 手続きとその生成するプロセス 1.2.1 線形再帰と反復 1.2.2 木構造再帰 1.2.3 増加の程度 1.2.4 べき乗 1.2.5 最大公約数 1.2.6 例: 素数性のテスト 1.3 高階手続きによる抽象 1.3.1 引数としての手続き 1.3.2 lambdaを使う手続きの構築 1.3.3 一般的方法としての手続き 1.3.4 値として返される手続き 2 データ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く