はじめに こんにちは、Go界のシャールト・コプリーです。気がついたら最後のエントリから3ヶ月も経ってました。 Goを始めると「なんでこういう書き方になってるんだろう」とか、「そもそもなんでこういう仕様になってるんだろう」とか思うことがちらほらあると思います。これは大いにGoの作者の一人であるRob Pike氏の思想に依るところがあるのが見受けられます。彼のプログラムに対する考え方が25年前に公開され「Pike Style」として知られていますが、いまもその考え方は大きくは変わっていないと思われます。せっかくなので翻訳しました。本文はC言語に関する文章ですがその本質は言語に依らないものだと思います。 Notes on Programming in C (追記)25年前なのでコンパイラの動作に依存する部分(includeに関する記述)などは古い部分もありますが、プログラミングスタイルに関する部
二十五日半狂乱、6日目(の分...orz)の記事 Cのエラーハンドリングを毎回やるのは面倒だ! 前回も言ったが、Cではエラーハンドリングに戻り値とerrnoを用いる. それはそうと例外設計において"無視"は大罪である. だから、関数を呼び出したら戻り値は漏らさずチェックすべきだ. ということで、例えば以下のように逐一戻り値をチェックする. if(send(sockfd, buf, len, 0) < 0){ ERROR("send"); exit(1); } あぁ、面倒だ. 一体コードのどの部分が正常系の処理なのか? ほとんどエラーハンドリング*1で埋め尽くされるじゃないか. そもそもエラーハンドリング部分に書くのは毎回同じコードだし、コードの繰り返しは防ぎたい. エラー処理部分をラッピングして楽をする unpv12eの中でラッパーを被せることによってこの面倒を回避する方法を知った. in
56: 以下、\(^o^)/でVIPがお送りします 2014/08/18(月) 18:51:34.94 ID:F4p3KOQu0.netソニックって男じゃなかったのかよ 73: 以下、\(^o^)/でVIPがお送りします 2014/08/18(月) 18:54:42.73 ID:rI5AETvR0.net>>56 オシャレでいい 38: 以下、\(^o^)/でVIPがお送りします 2014/08/18(月) 18:49:19.79 ID:YnAEtINm0.net 別れを切り出そうとすると刃物もって暴れそうな顔したやつばっかだよな 63: 以下、\(^o^)/でVIPがお送りします 2014/08/18(月) 18:53:27.56 ID:F4p3KOQu0.net だいたいソニックはオスだろ 414: 以下、\(^o^)/でVIPがお送りします 2014/08/18(月) 20:
Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日本人ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlやRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用
ABCLのソースを読んでるうちにスコープとエクステントについてだんだんわかってきたので、自分なりに少しまとめてみた。合ってるかどうかはわからないので、すべてに?がついていると考えてください。 スコープ アクセス可能な場所的範囲 エクステント アクセス可能な時間的範囲 言語 種別 スコープ エクステント コンパイラ・インタプリタでの検索方法(典型例) 実装上の領域(典型例) C ローカル(auto)変数 ブロック内 ブロックに入って時点から出た時点まで 関数の変数宣言リスト スタック C ブロック内のstatic変数 ブロック内 プログラムの開始から終了まで 関数の変数宣言リスト データ領域 C トップレベルのstatic変数 ファイル内 プログラムの開始から終了まで コンパイル単位の変数宣言リスト データ領域 C グローバル変数 ファイル内、extern宣言により別ファイルの変数を参照可
C と C++ のような違いはありますが、基本的に同じようなターゲットです。 NekoVM ではバイトコードを出力する点や Flash の生成コードなどでその特徴的がよくでていると思いますが、 Haxe の生成ファイルは人が読むことを想定していません。 それに対して Ć 言語では人が読みやすいコードを生成することが大きな違いです。 これは 2 つの思想的な違いから来ていると思います。 Haxe は Haxe さえ覚えておけば、生成言語を知らなくても、そのアプリを作れることを目的としており、 なるべく Haxe 内で完結させようとしています。 一方、 Ć 言語は特定のアルゴリズムの処理など部分的なライブラリーを作ることを目的としています。 そのためか、ファイル IO や GUI のモジュールもなく、Ć 言語だけで完結することは難しいでしょう。 Ć 言語は他の言語のラッパーであり、この辺は C
_ 今、Cで開発するためのスタンダードを知るための本 例によってアスキーの鈴木さんから、本をもらった。花井さんのモダンC言語プログラミングだ。なお、似たような題の洋書があって、しかも花井さんは翻訳もするので、その本の翻訳書と勘違いされる可能性もありそうだが、完全にオリジナルだ。 Cは、Unixと共に(というか少し遅れて)生まれたということは、すでに40年以上の歴史があり、それだけの年月がたてば、COBOLなどと同じく老害言語と言われてもこれっぽっちもおかしくはない。 ところが、COBOLと異なり開発者市場がどんどん先細り(あるいは固定化)されるということはなく、むしろ増えている。それどころか最近の調査では最も利用されている(TIOBE 2013)。 一方、C++が先鞭をつけたビジネスプログラミングへのオブジェクト指向プログラミングの適用は、Java、Objective-C、C#と種類を増や
15から17くらいまでに覚えたZ80と8086アセンブラとC言語は今でもなんら苦もなくコーディングできるのに、VisualBasicとかlinuxのシェルスクリプトとかPythonにrubyとかは、一ヶ月二ヶ月と時期開けると前に覚えた知識がほぼ飛んでいるのはなぜだ。理解に苦しむぞ俺。 ってか、便利とか使いやすいとか開発が現在でも進行中とかいろいろ理由づけしても、俺個人の心の根っこのところでは無意識的に『どうせ下まで降りてけばEAXにロードしてALUでポンしてストアだろwww』とか考えてるから、一生懸命やってるようで実はどうでもよく流してしまってるんだろうなぁ。どうしたら旧日産みたいに『変わらなきゃ!!』とかに心身ともに変革できるかわからん。ツイートする
ASCII Booksのサイトをご利用いただき、ありがとうございます。 2016年12月6日をもちまして、サイトを閉鎖させていただくことになりました。 今までサイトをご利用いただき、ありがとうございました。 アスキー・メディアワークスを引き続き、よろしくお願いいたします。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く