タグ

ブックマーク / pg-kura.hatenablog.com (6)

  • C 言語にポインタがある理由は省メモリ化・高速化・開発作業の省力化です - 偏見プログラマの語り!

    前回の記事『プログラム初心者にC言語のポインタを不意ながら教える羽目になったなら、こう教えると良いよ』でポインタの教え方を書きました。ソレに対して「そもそもどうしてポインタっていう仕組みがあるの?」という質問をもらったので、つらつらと書こうと思います。稿は「ポインタがある理由の教え方」ではなく「ポインタがある理由」です。分かっている人には相当に退屈な文章ですのでそういう人は読まずにお帰りください。 で、えーと、結論だけ先に言うと省メモリ化のため、次に速度アップのため、そして生産性アップのためです。 1. メモリは有限である。 マシンに搭載されているメモリには限りがあります。メモリ空間は広大ですが、無限ではないのです。 好き放題にどんどんメモリを使ってデータを格納するわけにはいかないというわけです。しかしプログラムは計算のためにメモリ空間を占有します。仮に↓こんな感じに、わずかな有限メモ

  • プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!

    僕がプログラミングに触れた当時は、プログラミングといえば「まず C 言語」でした。それから 10 年以上が経ちました。学校の授業や企業の研修では未だに C 言語を教えているところがあるようです。関数型プログラミング言語という波が来ている 2012 年にもなって未だに C 言語をやっているというのはまるで進歩が無く残念な気もしますが、比較的多くのプログラマに浸透している共通言語を最初に教えるというのは、一方では喜ばしい事だと解釈する事もできるのかもしれません*1。まぁとにかく、意にせよ不意にせよ現場で プログラム初心者に C 言語を教える羽目になった 人がたくさんいて、プログラム初心者なのに C 言語を学ばざるを得なくなった 若者がたくさんいるということです。 C 言語を教えるときに避けて通れないのがポインタで、プログラム初心者が C 言語を学ぶときにやたらとつまずく人が多いのがポインタ

    プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!
  • テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!

    ここ数日 ruby をやってるんですけど、ruby といえばテストらしいので Test::Unit やら RSpec やらを調べてました。しかし僕はこれまでまともな TDD をやってこなかったので、先にテストとは何ぞや?TDD とは何ぞや?ってのを調べたりしていました。 この記事は、ずぶの TDD 素人がテストについて知り始めたまとめです。 1. きっかけは RSpec のドキュメント そもそも RSpec の↓紹介文の冒頭から意味不明に感じたんです。 FAQ:「RSpec って、要は Test::Unit でやっていることを別の書き方にしただけでは?」 この FAQ への短い答えはイエスです。 『スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)』 Rubyist Magazine えっ... じゃあ要らんやろソレ。いちいち手作業でチェック

    テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!
  • if 構文を葬りたいでござる。 - 偏見プログラマの語り!

    仕事でコード書いていて思うんですけども、「if 構文はもう新しいプログラミング言語には要らん」と思うんですよ。 (この記事では「if って言ったって言語によって文法が云々...」っていうツッコミをスルーするために Scala を例にして説明しますが、Scala の深い知識は不要です。) if というのは非常にシンプルな構文です。 def func( v: Int ) { if( v > 0 ) { println( v ); } } ■ if はプログラムを 2 つに分ける。 if 構文は、条件式の真偽に応じてフローを分けます。 def func( v: Int ) = { if( v == 0 ) { println( "zero" ); } else if( v > 0 ) { println( "plus" ); } else { println( "minus" ); } } フロ

    if 構文を葬りたいでござる。 - 偏見プログラマの語り!
  • C++er 達の post を集めてみました。 - 偏見プログラマの語り!

    僕の TL には C++er がたくさんいます。僕は脳ミソ沸いてるのでこんな感じですが。 @PG_kura C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++.. 2010-09-03 18:40:09 via ラーメン大陸 とかく、Twitter にはすごい人がたくさん居るので興味ある人はフォローしてみると良いと思います。*1 *2 @nagoya313 僕はC++を得たが代わりに青春を失ったことに気づいた。 2010-07-13 00:30:23 via web @fetus_hina 「// このコードが直感に反して正しく動く事に関して、私は真に驚くべき理由を見

  • コードの読みやすさからプログラミング言語を見つめる。 - 偏見プログラマの語り!

    ※ ずっと頭の中で妄想としてあって、そろそろ邪魔になってきたので一度ここに書いておいて僕はこの件はさっぱり忘れようと思う。 プログラミング言語は今日び星の数ほどあって、それらを比べる手軽な指標として可読性があるように思う。プログラムソースは人が読むので、読みにくいよりも読みやすいことが良しとされる。 しかしプログラムソースが連続した文字だけで表現されるので、文字ストリームが持つ表現能力以上の表現はできない。どだい可読性向上の欲求が満たされることなどありえないんである。だというのに、プログラマが可読性を求めて止まないから、多様な記述性を確保するために言語仕様をガッチガチに固めないといけなくなる。その結果、こういうことになる。 ・ちょっと記述を間違ったんだがそれに気づかず、 コンパイル通っちゃうが思うように動かない。 ・データへのアクセスルートを絞るようなコードを書いたつもりだったが、 実は未

    コードの読みやすさからプログラミング言語を見つめる。 - 偏見プログラマの語り!
  • 1