The V Programming Language 0.4 beta Simple, fast, safe, compiled. For developing maintainable software.
The V Programming Language 0.4 beta Simple, fast, safe, compiled. For developing maintainable software.
2月に出版された「モブプログラミング・ベストプラクティス」をさっそく読んだ.僕はモブプログラミングの経験があり,例えばインフラ構築など,プログラミング以外の場面でも「モブ」のエッセンスを取り入れてタスクを進めることも多いけど,本書の目次を見て興味を持った部分もあり,読むことにした.本書の読者層は非常に多岐にわたると思う.モブプログラミング未経験者は是非読むべきだと思うし,モブプログラミング経験者でも新たな気付きが得られると思う.日本語で読める貴重な1冊! モブプログラミング・ベストプラクティス ソフトウェアの品質と生産性をチームで高める 作者:マーク・パール発売日: 2019/02/23メディア: 単行本 目次 第1章 : なぜモブプログラミングなのか 第2章 : モビングの始め方 第3章 : モビングと人 第4章 : モビングの軌道修正 第5章 : 定期的なモビングのための仕事場の改造
この記事は、ブログ記事を色々した版です(提案文書読んでブログに書き終えてからドラフトに入ってることに気付いた)。 基本的に、以下の文献に基づきます。 N4800 - Working Draft, Standard for Programming Language C++ P0542R3: Support for contract based programming in C++ by G. Dos Reis, J. D. Garcia, J. Lakos, A. Meredith, N. Myers, B. Stroustrup この機能はC++23に延期になりました、ご注意ください Contract programming 或は Design by Contract (DbC) とは Wikipedia - 契約プログラミング D4Cではない。 三行で Contract Programm
はじめに この記事は、僕が配属当初に先輩からよく言われた「ソースコードはしゃべるように書け」について、それが具体的に何を意味するのかを、配属から6年経った今改めて考えてみる記事です。 その先輩はすでに辞め新しいステップへ進まれてしまったためにその真意を直接聞き直して確認することはできないのですが、今の僕なりの解釈、ということで書いてみます。 とは言え、「ソースコードはしゃべるように書け」は「ソースコードの読みやすさ」という意味では役に立つ考え方ですが、それがどんな場面でも正しいかというとそうではないと思っています。おそらく、自然言語に近づけた書き方よりも、より機械の仕組みに近づけた書き方をした方がはるかに効率がよかったり、安全な言語や場面もあると思います。 また、仕様自体が複雑だったり、既存のソースがすでに汚いなどの理由で、この記事に書いたようなことがすんなり実行できる環境というもの自体が
参考:Qiita では印刷がうまくできません。プリントしたい人や PDF 化したい人は http://gurakura.sakura.ne.jp/culture/vi-like_text_editor_by_120_lines/ の方を見て下さい(同じ内容です)。 IOCCC 91 Best Utility 実を言うと 120 行も必要なく、28 行で書けちゃったりするのですが("Best Utility IOCCC 91" https://github.com/SirWumpus/ioccc-ae/tree/master/91)、それはさておき、本文書では現代風にこのプログラムを書き直してみます。古文の現代語訳みたいなものだと思っていただければ幸いです。 ちなみに IOCCC 91 で Best Utility 部門を受賞した全 28 行のプログラムは、このようなソースコードだったそうで
Size / ↑ ↓ Theme Language // Type some code -> console.log "oO08 iIlL1 g9qCGQ ~-+=>"; function updateGutters(cm) { var gutters = cm.display.gutters, __specs = cm.options.gutters; removeChildren(gutters); for (var i = 0; i < specs.length; ++i) { var gutterClass = __specs[i]; var gElt = gutters.appendChild( elt( "div", null, "CodeMirror-gutter " + gutterClass ) ); if (gutterClass == "CodeMirror-line
最近 Clojure にハマっています。JVM 上で動くバイトコードにコンパイル可能な Lisp 族で、 なんか書いてて楽しい です。とりあえず作者である Rich Hickey のアツい一言をご覧ください(参考1・参考2)。 ※元記事がリンク切れになってしまったので、意訳文章を削除しました。 というわけで、そんな Clojure を使って以前 Python で書いたチャットボット sandmark/unmo を再実装してみました。 勉強用なので間違った説明がある危険があります。ツッコミ歓迎です。 完全なソースコードは sandmark/unmo-clojure にあります。 目次 Clojure 入門者による【チャットボットづくり】 Part1 準備 respond 関数を作る リファクタリング: スレッドマクロ リファクタリング: 分配束縛 (destructuring-bind) 次
(編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) オブジェクト指向プログラミングが、ソフトウェア開発に新しい設計を持ち込みました。 その結果、開発者は単一の目的を処理するために、全体のアプリケーションに関係なく、1つのクラスの中で、同じ目的や機能を持つデータを結び付けることができるようになりました。 しかし、このオブジェクト指向プログラミングで、分かりにくいプログラムやメンテナンスができないプログラムを防ぐことはできません。 そこで、5つのガイドラインがRobert C. Martinによって作り出されました。これら5つのガイドラインすなわち原則により、開発者にとって読みやすく、メンテナンスが可能なプログラムを作成しやすくなりました。 5つの原則は、S.O.L.I.Dの原則と呼ばれています(頭字語はMichael Feathereによって名付けられま
N4792 C++20のドラフトが更新された。今回も強めの変更が入っている。 まずconstexprが大幅に強化された。 p1002r1.pdf Allowing dynamic_cast, polymorphic typeid in Constant Expressions C++20での最終的な目標は、std::vectorやstd::stringをconstexpr対応させることだ。そのために従来ならば実行時処理であった様々な機能がconstexprに対応している。今回の変更では、try/catchブロックやdynamic_cast/typeidがconstexprに対応した。また、unionの有効なメンバーの変更もconstexprに対応した。 try/catchブロックはコンパイル時評価される場合、単に無視される。 dyanmic_cast/typeidは本当にconstexpr
今回は、Raspbianのプリインストールソフト「Sonic Pi」で遊びます! アイコンがかわいいなぁと、ラズベリーパイを使い始めた当初から気になっていたソフトのひとつです。英語のソフトなのでなかなか手が出せずにいたところ、なんと上司が教えてくれることに! 前半は自力で予習した基本編、後半は上司に教えてもらいながら応用編の、二部構成でお送りします。 ちなみに、音楽の知識が無くても十分楽しめます。学生時代のリコーダーレベルのわたしでもしっかり遊べましたのでご安心を! Sonic Piとは? Sonic Pi公式サイト Sonic Piは、「音」を扱うオープンソースのプログラミング環境です。Raspbianにプリインストールされています。ラズベリーパイ用の他に、Mac OS版とWindows版も公開されており、どちらも無料でダウンロードできます。 ラズベリーパイ公式サイトにもチュートリアルが
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? For a couple years now, web developers have been actively discussing a new programming language called Elixir and its most popular Phoenix framework. Elixir vs. Ruby and Phoenix vs. Rails are among the favorite topics because Elixir has sparked the greatest interest in t
[レポート] Amazon ElastiCache Deep Dive: インメモリデータストアのデザインパターン #reinvent はじめに 福岡のyoshihitohです。re:Invent 2018のセッション「[REPEAT 1] ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores」についてレポートします。 セッション情報 セッション名 DAT302 - [REPEAT 1] ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores スピーカー Michael Labib - Principal Solutions Architect, AWS 概要 原文の引用です。 In this session, we provide a be
AWS News Blog New for AWS Lambda – Use Any Programming Language and Share Common Components I remember the excitement when AWS Lambda was announced in 2014! Four years on, customers are using Lambda functions for many different use cases. For example, iRobot is using AWS Lambda to provide compute services for their Roomba robotic vacuum cleaners, Fannie Mae to run Monte Carlo simulations for milli
ブログやってます。更新などはこちら。地方エンジニアの学習日記 七行プログラミングとは プログラミングの言語を問わず、 「7行 × 79文字 」という文字数制限のもとにコードを書くといったこと ショートコーディングと呼ばれるらしいです。 1kbに満たないソースでテトリスが出来るのには感動しました(当時中学生ぐらい) Unix哲学の「スモール イズ ビューティフル」もびっくりです()。 ちなみにスーパーマリオブラザーズは40kb程っていうのも驚き ショートコーダー(Short Coder)とは、プログラムのソースコードを極限まで短縮する技術を持ったプログラマのことである。「ソースコードの短縮」は、一見無意味に感じられるかもしれない。しかし最短コードを達成するには、省メモリ・高速プログラム・処理系の知識に加えて、並外れた集中力と熱いショートコーディング魂が必要なのである。 以下に見つけたソースを
Googleの2億行のソースコードを解析した結果、関数に渡す引数の順番を間違える系のバグは、引数の個数が6個以上になったときに著しく増えるので、引数の個数は5個以下が望ましいことがわかったという話。 https://t.co/R5yy31pDyu
Rust で平衡二分木を書くのは何となく難しいイメージがありました。 unsafe を使わずに実装できるものなのか気になったので、試しに実装してみました。 結論から言うと、unsafe を使わなくても平衡二分木は実装できました。また、unsafe だけでなく、Rc や R…
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く