Tips for writing clear, performant, and idiomatic Go code
以下の文章は、Peter Norvig による Teach Yourself Programming in Ten Years の日本語訳である。 本翻訳文書については、以下の方々にご教示を頂きました。ありがとうございました。 Shiro Kawai さん:誤訳の訂正 三好博之さん:誤訳の訂正 竹中明夫さん:2001年7月改版分の訳、誤訳の訂正(共訳者にクレジット) Toshihiko Ono さん:誤訳の訂正 アクビさん:訳注3に関する情報 どうしてみんなそんなに急ぐの? どの本屋に足を運んでも、『7日で学ぶ Java』といったハウツー本を見かけるし、そのそばには Visual Basic や Windows やインターネットなどについて、同じように数日や数時間で学べると売りこむ本が無限のバリエーションで並んでいる。Amazon.com で以下の条件で検索してみたところ、 pubdate
Let op! Internet Explorer wordt niet meer ondersteund. Hierdoor kan de website mogelijk niet goed functioneren, gebruik een alternatieve browser om optimaal gebruik te maken van deze website. Klik hier om een alternatieve browser te downloaden. Home » TIOBE Index TIOBE Index for April 2024 April Headline: Is PHP losing its mojo? PHP hit its lowest position ever in the TIOBE index this month. When
読み終わった。たった100Pにプログラム言語を作るための基礎(字句解析、構文解析、ランタイム、インタプリタ、仮想マシン、ネイティブコンパイルまで!)が一通り学べ、さらに本書で作った実際に動くプログラミング言語がついてくる。 $39.99 とちょっと高いがプログラム言語を作る勉強代だと考えれば最も安くそして早く(ドラゴンブックは1090P)学べるのではないだろうか。洋書なのが難点だが半分くらいはソースコードなので苦労しながらなんとかなりました。(日本語訳出てほしいなぁ) 書籍内で作る言語は2種類で Awesome Rubyの構文にPythonのインデントブロックを混ぜ合わせたようなオブジェクト型 Mio Ioを参考にしたメッセージ型 言語自体はどちらもRubyで書かれているが紹介される概念は特に言語の制約を受けないものが多い。 よかったところ yaccやbison, JVM系の構文解析ツール
サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。
ICSE 2016勉強会に参加するために論文リストを確認していたら、40年間のC言語のプラクティスの変遷を追った論文がおもしろかったので紹介する。 対象の論文 論文: The Evolution of C Programming Practices: A Study of the Unix Operating System 1973–2015 論文中で使われれたデータ: https://github.com/dspinellis/unix-history-repo 要約 過去40年間のUnixのソースコードを分析し、コーディングスタイルの変化を調査した。その結果、以下のことが分かった。 新しい言語機能は価値のあるものならば採用される レジスタ割り当てをコンパイラに任せるようになる スペースをどこにいれるかなどのコードの書き方が統一されていく 分析対象 1972年以降にリリースされた計66個
コンニチハ! 変態アドベントカレンダーです。 http://atnd.org/events/22020 ※ アドベントカレンダーとは、クリスマスまでに毎日日替わりで窓を開けていくカレンダーのこと。 それにちなんで、日替わりでblogエントリを書くのがアドベントカレンダーです。 オブジェクト指向 ってよく聞きますし、実際のところ何がすごいの?? って思ったりしてる人も多いでしょう。 抽象クラスって何よ!? インタフェースとかどうやって使う? とか そういう初心者向けアーンドもう一度学びたい人達に変態を例に説明してみましょう。 うだうだですけど、最後まで読んでいただければ幸いです。。。 まず、オブジェクト指向は何が嬉しいのか?ってところですけど、 処理を共通化し、生産性をあげる!! ということではありません。 もちろんそういう一面もありますが、これぐらいならオブジェクト指向を使わなくても十分で
Startupプログラマの為の新アジャイルマニュフェスト(Kent Beck: beyond agile programming)agilelean はじめに Kent Beck氏がスタートアップのイベントに登壇し、素晴らしい講演をしたビデオを友人のタイムラインから見つけました。Startup Lessons Learnd: Kent Beck talks beyond agile programming アジャイルマニュフェストは10年が経過して、誰かの為にソフトウェアを作っていた時代から、スタートアップの時代に移行し、内容が一部古くなっていました。ところがこの講演でKentBeck氏は、それに対する素晴らしい回答をしてくれています。この内容が2010に行われているとは驚きです。 今回、このビデオを未熟なりにディクテーションして、適当ですが、日本語訳を作ってみました。本人に承認を取るつも
From 2014 to 2021, Kite was a startup using AI to help developers write code. We have stopped working on Kite, and are no longer supporting the Kite software. Thank you to everyone who used our product, and thank you to our team members and investors who made this journey possible. Our journey at Kite While we built next-generation experiences for developers, our business failed in two important w
In Visual Studio 2022 17.10 Preview 2, we’ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection ...
# Python 3: Fibonacci series up to n >>> def fib(n): >>> a, b = 0, 1 >>> while a < n: >>> print(a, end=' ') >>> a, b = b, a+b >>> print() >>> fib(1000) 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 Functions Defined The core of extensible programming is defining functions. Python allows mandatory and optional arguments, keyword arguments, and even arbitrary argument lists. More about defining f
はじめに こんにちは、Go界のシャールト・コプリーです。気がついたら最後のエントリから3ヶ月も経ってました。 Goを始めると「なんでこういう書き方になってるんだろう」とか、「そもそもなんでこういう仕様になってるんだろう」とか思うことがちらほらあると思います。これは大いにGoの作者の一人であるRob Pike氏の思想に依るところがあるのが見受けられます。彼のプログラムに対する考え方が25年前に公開され「Pike Style」として知られていますが、いまもその考え方は大きくは変わっていないと思われます。せっかくなので翻訳しました。本文はC言語に関する文章ですがその本質は言語に依らないものだと思います。 Notes on Programming in C (追記)25年前なのでコンパイラの動作に依存する部分(includeに関する記述)などは古い部分もありますが、プログラミングスタイルに関する部
Simple language for building maintainable programs You can learn the entire language by going through the documentation over a weekend, and in most cases there's only one way to do something. This results in simple, readable, and maintainable code. Despite being simple, V gives a lot of power to the developer and can be used in pretty much every field, including systems programming, webdev, gamede
今回、中国出身の Designer 王雅さんと一緒に制作した 「寄席の箱」 を SNACKS Vol.2 で展示しました。 実は、王さんは私が学校の授業(IoT)で教えていた生徒なのですが、卒業デザインで発表した内容の世界観がとても良いなと思っていました。 せっかくなので卒業制作とは別に展示やコンテストに出せるものにしないかと声をかけたのでした。 // 一応補足しておくと学校の卒制の合否判定は私の担当では無く、また卒業制作提出後のやり取りです 彼女は、日本のデザインと漫才がとても好きで来日し、1年足らずで日本語のやり取りがほとんど出来るぐらいになっていました。 お笑いを知るには歴史から(?)ということで漫才について色々と調査し、その流れの中で寄席や漫才、お笑いにはテレビが非常に大きな関わりを持っており、欠かせないものであると感じ、その時代背景とともにお笑いの歴史をブラウン管に映し表現したい
val fruits = List("apple", "banana", "avocado", "papaya") val countsToFruits = // count how many 'a' in each fruit fruits.groupBy(fruit => fruit.count(_ == 'a')) for (count, fruits) <- countsToFruits do println(s"with 'a' × $count = $fruits") // prints: with 'a' × 1 = List(apple) // prints: with 'a' × 2 = List(avocado) // prints: with 'a' × 3 = List(banana, papaya)
Programming in Haskell ページへようこそ このサイトについて このサイトは、Haskell でプログラミングを楽しむためのサイトです。 現在のところ、WiLiKi というWiKiシステムで運用されています。WiLiKiの使い方は、 WiLiKi:WiLiKi:リファレンスマニュアルを参照してください。 メイリングリスト 「Haskellプログラミングを楽しむための」メーリングリストがあります. MailingListのページをご覧ください. チャット 「Haskellプログラミングを楽しむための」チャット・ルームがいくつか存在します. ChatRoomのページをご覧ください. サイトマップ Introduction Haskell とは Definition 仕様と標準ライブラリ Tutorial チュートリアル やさしいHaskell入門 モナドのすべて なぜ関数プ
結城浩(ゆうき・ひろし) 本を書く生活が30年、著書は60冊を越えました。 代表作は『数学ガール』『プログラマの数学』『暗号技術入門』『数学文章作法』『Java言語で学ぶデザインパターン入門』他。 2014年度日本数学会出版賞受賞。 文章書きとプログラミングが好きなクリスチャン。 いつも応援ありがとうございます。 主な活動については 結城浩の活動紹介 をご覧ください。 Hiroshi Yuki. Author of "Math Girls". 30 years into writing introductory math and programming books. LaTeX / Vim / Ruby / Math / Writing /
オンラインカジノゲームで遊んで時間を潰したいだけであれば、お気に入りのゲームがどんな手順で作られたのかなど、考えたこともないでしょう。しかし、どのゲームもすべてプログラミングから始まっており、プラットフォーム全体を動かすソフトウェアの作成から始まるのです。 プログラマーは、ユーザーが楽しく本格的なゲームをプレイできるよう、コードを設計し、グラフィックを制作しています。言ってみれば、プログラマーがいなければ、オンラインカジノゲームは存在しないのです!では、このプログラミングという作業がオンラインギャンブル業界にどんな影響を与えているのか見てみましょう。 ゲーミングソフトウェア パソコンの前に座ったり、スマホをいじったりしている時は、ゲームを作るためにどれだけの労力が注ぎ込まれているのかなど気にしないものです。しかし、家に居ながらにしてカジノゲームにアクセスすることができるのは、ゲーミングソフ
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
- + 最近の小学校では、「お父さん・お母さんの名前をグーグルで検索してみましょう」という、世にも恐ろしい授業があるらしい。・・・。 — 丹 洋介 (@yosuke_tan) January 25, 2015
A language empowering everyone to build reliable and efficient software. Performance Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages. Reliability Rust’s rich type system and ownership model guarantee memory-safety and thread-safety — enabling you to elim
Loading the data may take a while, please be patient... Graph Navigation You can zoom in and out the graph with the mouse wheel. You can move the graph by clicking and holding the left mouse button and moving the mouse. Language Information When you click on a language node in the graph a modal window with information about the language will be displayed. Language Search Search for a language name
_ [言語] The Go Programming Language もう知っている人は知っているGoogleからのシステムプログラミング新言語Go。 すっかり祭りには乗り遅れた感があるけど、少しだけコメントをつけておこう。 目次 言語仕様 言語実装 技術的でない話 まとめ 言語仕様 総合的に見て、非常にバランスを考えているように思える。 JavaやC++のような複雑さを排して、シンプルに徹する一方、 言語好きを刺激するような新しいアイディアをそこかしこに配置している。 特徴である「コンパイルが高速」というのも、 このシンプルな言語仕様が寄与していると思われる。 個人的に、注目したのはオブジェクト指向機能と、並列機能。 interfaceによる、継承のないオブジェクト指向(duck typing)は、かなり私好みである。 昔からこういう言語が欲しかった。interfaceのみ動的結合を許す
あと、やはりネットワーク周りなどI/Oの多いプログラムの書きにくさが課題になっている印象。関数的なI/OはFRPで解決できそうな気がするんだけど調べてない。そろそろFRPをちゃんと理解したいなー。 Parsec 3活用事例: Keepalived構文チェッカ - maoeのブログ なんて書いてから早1ヶ月半、ようやくFRPが掴めてきたのでわかったことをまとめてみます。 Reactive programmingって何? FRPの前に、一般的にwikipedia:en:Reactive programmingと呼ばれるパラダイムについて触れておきます。reactive programmingとは疑似言語を使ってかなーり大雑把に説明すると、 var a = 1 var b = a + 1 a = 10 // aを書き換える print b // => 11print bの出力は2ではなく11です
Pythonは近年AIや機械学習、データ分析の分野で注目を集めている言語ですので、Pythonをこれから学ぼうという人は少なくないのではないでしょうか。 Pythonを習得できれば、ITエンジニアとしてスキルアップできますし、Pythonを使ってルーティンワークを効率化できたりもします。 Pythonは今後より需要が増していくことが予想されるので、将来性があり、学習する価値がある言語です。 そこで本記事では、Pythonに興味がある人向けにPythonのおすすめ学習サイトを紹介していきます。 本章では、Pythonのおすすめ学習サイトをまとめて紹介していきます。 Progate Progateは、Pythonを実際にコーディングしながら学習できるサイトです。 Progateでは、Python1~5までのコースがあり、初学者でも段階的にステップアップしていくことができます。 加えて、Pyth
Dan Keen from Apple joined us today to talk about Bonjour and Streams. We had a successful experiment of distributing an app built with our class provisioning profile using a local wifi network. 17-BonjourAndStreams.pdf17-ZombieNav.zip
結城浩(ゆうき・ひろし) 本を書く生活が30年、著書は60冊を越えました。 代表作は『数学ガール』『プログラマの数学』『暗号技術入門』『数学文章作法』『Java言語で学ぶデザインパターン入門』他。 2014年度日本数学会出版賞受賞。 文章書きとプログラミングが好きなクリスチャン。 いつも応援ありがとうございます。 主な活動については 結城浩の活動紹介 をご覧ください。 Hiroshi Yuki. Author of "Math Girls". 30 years into writing introductory math and programming books. LaTeX / Vim / Ruby / Math / Writing /
This content has moved; redirecting to the new location.
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く