タグ

プログラミングに関するmitsugusakamotoのブックマーク (452)

  • 自分の書きたいコードを書け - 脱職業プログラマのすすめ - ひがやすを技術ブログ

    良く仕事以外のプログラムをしたことない人っているじゃないですか。ここでいう職業プログラマとは、仕事以外では、プログラムをしない人のことを指しています。 仕事以外でもプログラミングをしている・勉強している人、は、職業Onlyプログラマではなく、職業でもプログラムをしているけど、それ以外にも努力をしている人です。 それは、もちろん何の問題もないんだけど、それだけでは実力はつきません。たぶん、コードを書きながら自分が成長している気がしてないでしょう。あなたの直感は正しい。 何らかのフレームワークを使えば、それなりにできることが増える、それももちろん成長です。ただし、知識のね。プログラミングの力はそれほど変わっていないはず。 自分の経験で言えば、多くの人に読んでもらえないコードは、いくら書いても、実力につながりにくい。人に見せようとするコードは、書いているだけで、いろんなことを考えるし、それが、力

    自分の書きたいコードを書け - 脱職業プログラマのすすめ - ひがやすを技術ブログ
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • アルゴリズム - 同じ文字列のn回繰り返しをlog n回で作る方法 : 404 Blog Not Found

    2009年01月31日01:00 カテゴリLightweight LanguagesMath アルゴリズム - 同じ文字列のn回繰り返しをlog n回で作る方法 これなのですが.... 同じ文字列のn回繰り返しを作る最速の方法を探求してみた - muddy brown thang ちょっとした事情により、ある文字列のn回繰り返しを作る関数 (PHPでいうところのarray_repeat(), Perlで言うところの「"..." x n」、RubyPythonで言うところの「"..." * n」) を高速に実装しなければならない状況に遭遇したのでベンチマークをとってみたところ、その結果がとても新鮮で驚いたので、これを共有しつつもダメ出ししてもらえないかなーと思って晒してみることに。 なぜかもっとシンプルな奴がなかったので。 以下、比較。初期値はIEにあわせてあります。Firefox/Saf

    アルゴリズム - 同じ文字列のn回繰り返しをlog n回で作る方法 : 404 Blog Not Found
  • Wataru's memo(2009-01-31)

    ● ORがわからない 情報処理の教科書において、最初に登場する論理回路。中でも NOT, AND, OR は基ゲート回路として当たり前のように、さらりと解説されていきます。さらりと。 「わからない=恥」とされる日社会では、生徒の誰もが疑問の声を上げないままに授業は進みますが、なかにはエジソン少年やアインシュタイン少年のように勇気ある生徒もいることでしょう。 先生、OR 回路がよくわかりません。 日語で「晴れ または 曇り」といえば、「晴れ」もしくは「曇り」、どちらかが真でしょう。 でも、この教科書に書いてある OR 回路では「晴れ かつ 曇り」も真となってしまいます。 これって論理的におかしいんじゃないですか? この論理表を OR と呼ぶのは間違っていると思います。 「晴れ または 曇り」という論理命題にピッタリ合うのは、むしろ次に出てくる XOR だと思うんですが? この生徒さん(

  • オーディオプログラミング言語 ChucK - Radium Software

    オーディオプログラミング言語 ChucK を使って組んでみたサンプルプログラムの映像。 最初のプログラムは,1度,短3度,5度,短7度の音(つまりマイナーセブンスコードの構成音)からなるランダムなシーケンスを延々と鳴らし続けるもの。 二番目のプログラムは,構成音は最初のプログラムと同じだけど,ただランダムに鳴らし続けるのではなく,簡単な繰り返し構造を持たせるようにしたもの。最初のプログラムよりも,いくぶん音楽的な要素が加えられていると思う。 ChucK は,こういった類の実験を行うには非常に適した言語だと思う。上の二番目の例では,プログラムを動かしている最中に変更を加え(繰り返しの構成を変えてみている),それを「オン・ザ・フライ」で再実行している。同様のことは SuperCollider などでもできるけれど, ChucK は仕様の簡潔さと,統合環境 (miniAudicle) の手軽さが

    オーディオプログラミング言語 ChucK - Radium Software
  • AddinBox(祝日マクロ-1)

    自由に各自のマクロに組み込んで利用して下さい。なお、フリー/シェアソフト 開発での利用も可(フリー/シェアでの利用の場合、事後で結構ですので一言 お知らせください)です。ただし、引用に当たっては、マクロの先頭に記述してある コメント(CopyRight )を必ず一緒に引用する事 を条件とします。 なお、 他サイト上でマクロを直接引用(マクロ全体を丸々貼り付ける等) する事は、ご遠慮願います。ページへのリンクによる紹介で対応して下さい。 [ktHolidayName]という関数名そのものは、各自の環境における命名規則に沿って 変更しても構いません。 VBA(VB含む)で利用する場合はマクロのコード構成を一切変更しないでください。 VBAというレスポンス的に不利な言語でも出来る限りレスポンスを良くする事を前提に 設計してある為、コード内容を変更するとレスポンスが低下

  • My Name is 1 - 配列

  • Cyanを設計した高校生、5カ月で5つの言語を習得

    読者の皆さんは、「Cyan」(サイアン)という言語をご存じないかもしれない。Cyanは、Lispのマクロを持ち、Python風のインデントによってブロックを表すプログラミング言語。2008年の春、林拓人という1人の高校生によって設計された。 連載第1回の竹内郁雄氏が「開発」の天才、第2回の五十嵐悠紀氏が「発想」の天才とするならば、今回の林氏は「プログラミング言語」の天才だ。 林氏がプログラミング言語に初めて触れたのは中学3年の夏休み。そこから冬休みまでの5カ月間に、5つのプログラミング言語を習得した。その後もいくつかのプログラミング言語を学ぶ中、林氏の興味はWebサービスなどのものづくりには行かず、ひたすら言語自体へと向かっていった。 高校2年の春、自身でプログラミング言語Cyanを作り上げた。Cyanを設計した林氏は、「U-20プログラミング・コンテスト」(以下、U-20プロコン)で経済

    Cyanを設計した高校生、5カ月で5つの言語を習得
  • ヒビノアワ: 変数についてどう説明するのがいいのだろうか

    プログラミングの入門書を読むのが好きです。 プログラミングをまったく知らない人に、どうやって説明するのかというプロセスに興味があるのですね。 で、読んでいるとたいていので変数の説明として「箱」というメタファを出してくるのです。 変数は箱のようなもので、Aという箱に数値を入れてうんぬん......。 たしかに、分かりやすいことは分かりやすいんだけど、C言語のポインタでつまづく人が多いのって、この「箱」の例えが良くないんじゃないかなーと思った。 箱から、メモリのアドレスへと飛躍するのはなかなか難しいのではないでしょうか。 で、そんなことをつらつら考えていて、思いついたのが、変数ってのは「巻物のある場所に名前を書いた付箋を貼る」ことっていう説明の方法。 巻物があると思ってくださいよ。 結構長い巻物。 その頭から、10センチのところに「100」って数字を書いてみる。 で、そこに「A」って名前を書

  • http://hmdt.jp/safari/myfirst/index.html

  • Cはワンマン向け - 神様なんて信じない僕らのために

    だと考えるようになった。 いや、あくまで自分の中ではです。 今、Cで作られたものを参考にしてC++に移す作業をしていたりするんだけれども、 至る所に出現する、 void* コールバック 謎フラグ hoge->foo->bar->ptr ううーん。 これだけをして、ダメというのは何かもしれないけれど、 void*は至る所で何かに化ける。 根底にあるのは汎用ワークだからして、 その場その場で姿が変わる。 メモリマッピングとしてはそれが当然だからして当然なのだが、 型安全性とは真逆。 コールバック、 StateやStrategy風なことをしようとしてコールバックの嵐になるんだけれども、 あっちやそっちやこっちに飛んだりして遷移が読みづらい。 何でもかんでもコールバックで指定すりゃ良いってもんでもない。 謎フラグ、 至るところにあるhoge_flag & HOGE_FOO_BAR、 フラグの名前だ

    Cはワンマン向け - 神様なんて信じない僕らのために
  • はてなブログ | 無料ブログを作成しよう

    セメントドリンク、ブラウン管、吊るされた収納、OMORIカフェ、くり抜き、どや顔の初音ミク パチミラ福岡に出演する縁で博多に行きました。 楽しかったのでその時の写真をアップロードします。 博多駅のハートポスト 手描きのグリッチ カニの丸揚げ(おいしかった) フレッシュセメント という名前の飲み物(おいしかった)ごま+バナナスムージーっぽかった? 泡系…

    はてなブログ | 無料ブログを作成しよう
  • 実践的な Haskell の本 - あどけない話

    Perl6 は何年経っても正式にリリースされません。そんな Perl6 を Audrey Tang さんは、たったの数ヶ月で作りました。その実装は Pugs と呼ばれています。短期間の開発を可能にした秘密兵器は Haskell です。 その Audrey さんが、2006年に日で Haskell について説明してくれました(資料)。残念ながら、そのころの僕は Haskell に興味がなかったのでチュートリアルは受けていませんが、その概要にはこう書かれています。 コーナーケースを探すのにユニットテストを書くのに疲れた? QuickCheck を使ってコンピュータに書かせちゃいましょう。正規表現ベースのパーサはメンテナンスしにくいのに気づいた? Parsec を使って 15分で Perl6 の完全なパーサを書く方法を勉強しましょう。デッドロックやレースコンディションはもううんざり? STM

    実践的な Haskell の本 - あどけない話
  • 子ども向けのオープンソース・プログラミング言語

    この2年間で、子どもを対象とするオープンソースのプログラミング言語とユーティリティの数は爆発的に増えた。こういった活動の根底にあるのは、BASICの時代と比べてプログラミング環境があまりに複雑になり、専門知識のない若年層にはハードルが高すぎるという考えだ。あるツールキットは若年層にアピールするゲームやアニメーションなどのプロジェクトを構想、作成するまったく新しい方法の考案を目指し、またあるツールキットはBASICの“ベーシック”性をモダンな言語と環境に再現しようと取り組んでいる。 Scratch MITのLifelong Kindergartenグループが開発したScratchは、Squeakに実装されたグラフィカルなプログラミング環境で、その操作方法はLEGOの遊び方によく似ている。基的に、カラフルなコードのブロックを組み立てることでプログラムを作成する。独自のインタフェースを利用し、

    子ども向けのオープンソース・プログラミング言語
  • プログラミング学習に求められるのは夢と想像力かも:Geekなぺーじ

    「初心者はプログラミングをどうやって学ぶと良いのだろうか?」という記事を書いたのですが、その記事に対して、 まなめさんが「304 Not Modified: プログラミング初心者はギークから学べるのか」という記事を書き、 それに対して小飼弾さんが「いきなりCの方がよっぽど難しい」という記事を書いています。 私が記事を書いた発端は恐らく「そもそも今の人にCを教えるのは正しいのだろうか?自分はCが好きだけど」というようなモヤモヤとした想いがあったのだろうと思います。 ただ、まなめさんと小飼弾さんの記事を読んで自分が間違っていたと思い始めました。 重要なのは夢と想像力なのではないかと思いはじめました。 何がしたいか 何をしなければならないか 何が楽しいと思うか 何をカッコイイと思うか 何を覚えないとその組織で困るか 要はやりたい事や夢は環境によって違うんですよね。 楽しいと思うものも人によって違

  • 初心者はプログラミングをどうやって学ぶと良いのだろうか?:Geekなぺーじ

    最近、初心者がプログラミングを学ぶ(もしくは、初心者にプログラミングを教える)にはどうすれば良いのかが良くわからなくなってきました。 ここで言う「学ぶ」や「教える」というのは、授業などではなくゆるいつながりで知人に教える事を想定しています。 (まあ、学校の授業でもいいのかも知れませんが。) 色々ある Ruby,PHP,Perl,Java,JavaScriptあたりがWeb界隈で最近良く見るプログラミング言語だと思われます。 初心者にとっては、生でHTMLCSSを書くことも「それ既にプログラミングでしょ」という感覚もあるようです。 さて、「全くの初心者だけど何でもいいからプログラミングを学びたい」という人は何から手をつければいいのでしょうか? 個人的にはC言語の方が入門者向けだと思う 個人的には、オブジェクト指向的な「難しい」ものを最初から理解できるのだろうか?というのがいつも疑問に思えま

  • 酔っぱらったので5分でBrainf*ck処理系を作ってみた - I am Cruby!

    Ruby休みだったのでビールを飲みました.その勢いを借りて5分程でBrainf*ck処理系を作ってみるなどしました.ビールとRubyを一緒にキメたので非常に良い気分です.動画あわせて読みたいとても面白いので是非買いましょう.作った処理系 # Five minutes for cooking language by Ruby. class Brainf_ck def self.run(src) b=check_bracket(src) pc=0 p=0 t=Array.new(1000, 0) while pc case src[pc] when ?> then p+=1 when ? then p-=1 when ?+ then t[p]>255 ? t[p]=0 : t[p]+=1 when ?- then t[p]0 ? t[p]=255 : t[p]-=1 when ?. then

  • GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)

    GCアルゴリズム詳細解説 日語の資料がすくないGCアルゴリズムについて詳細に解説します トップページページ一覧メンバー編集 GC 最終更新: author_nari 2010年03月14日(日) 20:47:11履歴 Tweet このWikiが目指す所 GCとは? GCを学ぶ前に知っておく事 実行時メモリ構造 基アルゴリズム編 Reference Counter Mark&Sweep Copying 応用アルゴリズム編 IncrementalGC 世代別GC スナップショット型GC LazySweep TwoFinger Lisp2 Partial Mark and Sweep -Cycle Collection- Mostly Parallel GC train gc MostlyCopyingGC(Bartlett 1989) TreadmillGC(Barker 1992) 補足

    GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)
  • プログラムを読み書きできるようになるために必要なエッセンス - 探神

    教育, progそういう経験がゼロの人でもやる気があればいつかできる。できない人は気でないか、真面目でないだけだ。「プログラムなんてたいしたことない」と思い続けること「プログラムはすごい。雑技団の曲芸みたいだ。こんなことを解釈するなんて自分には一生無理だ」と思っている人。そうです、あなたには一生無理です。コンピュータはただ与えられた0と1を判定して命ぜられた通りに処理しているだけで、まったく何も考えてはいないという認識コンピュータにとっては肌色成分が多量に含まれる画像もアメリカ国歌の音声もケーブルを流れる通信パケットも何もかもただの0と1でしかない。それに意味を与えるのは人間の命令。そこに書かれているのは「どうやってそれをするか」であり、「お前にはやり方なんて教えてやんねー!暗号化しといたぜHAHAHA」ではない。だから書いてある通りに動くし、動きは書いてある通りなので、読めばわかる。あ

  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm