はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム この本には一冊の本に盛り込むにはやや欲張りな内容を詰め込みました。本書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発します。当面の目標はセルフホスト、すなわち自作コンパイラでそれ自身のソースコードをコンパイルできるようにすることです。 この本では、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを本書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。 コンパイラは、構文解析、中間パス、コード生成といった複数のステージに概念的に分割することができます。よくある教科書的アプローチでは、それぞれのトピックについて章を立てて解説を行うことになりますが、そのよう
大学の情報教育には様々な課題があるけれど、ひとつに学部レベルからカリキュラムに対して教授自治が強すぎることがある。スキルの積み上げで講義内容を高度化するには、米国並みに基礎講座の標準化を進めなきゃ駄目だ。それができない理由は諸々あるが、大学によっては教員の質が論外。専門で行き詰まったり大学改革で食いっぱぐれた教員を、ポストの増えた情報系に無理に当てがい、学生より分かっていない教員が教えているところもある。レベルの高い学校でも教授の嗜好を強く反映しがちな上、その講義の前に積み上がるべきスキルが標準化されていないせいで、高いスキルを前提とした講義を行いにくい現状がある。 なんせ、情報工学出だろうが、情報系の専門学校出だろうが、文系大学出だろうが、新人で採るならひとしく無能だと思わなければならない。そんな出身校よりも、ホビーでプログラムするかどうかを問う方が当りの人材を引き当てれるということは、
上野で飲みながら小耳に挟んだだけなので確かめた訳じゃないけど、いまどき本郷でさえCのポインタを理解できない学生がいたり、やれRubyだAJAXだと騒いでいるらしい。いやRubyは素晴らしい言語だし、ちゃらけた文系学生にプログラミングのイロハを教えるには最高だけどさ。 僕も断乎、教育にはJavaやC#よりPythonやRubyを推す。しかし本郷で騒ぐことじゃないだろ。Rubyを覚えたってRubyのように革新的な何かをつくれるようになる訳じゃなし。別にRailsやAJAXを齧るのは勝手だけど、きっと5年後には誰も話題にしなくなってる。空気のように普及してPHPのように時給数百円までコモディティ化するか、もっとクールなフレームワークが登場しているか、どっちにしても専門学校や職業訓練校で教えれば済むことだ。少なくとも本郷が血眼になって取り組むことじゃなくて、藤沢あたりに今も棲息している起業家予備軍
C/C++は永久に不滅です! (IT Pro) 突っ込みどころ満載なのでちょっと茶々入れしてみようと思う。 Part1 C/C++は永久に不滅です! その一つに,C言語は非常に自由度の高いコーディングができることが挙げられます。例えば,if-elseの処理を1行で記述できるC/C++の三項演算子は便利な機能ですが,よく見ないと処理内容がよくわかりません(リスト1)。 三項演算子って、C ではよく悪者にされるよね。おいらは値を代入するシーンや値を return で返すシーンではそれなりに有用だと思っているし、演算順序が左→右であることから複合的な条件分岐も割と整理して記述できるという利点もあったりするんだけれども。 でも、確かに示されているコード例は、酷いね。せめて、 (msg[i] >= 'a' && msg[i] <= 'z') ? msg[i] += 'A' - 'a' : msg[i
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く