苦Cの内容の転載などは自由ですが、苦Cからの引用であることを明記してください。 (どこかに「苦Cより」と書かれていればOKです。) 学校や会社などで生徒(新入社員)へのテキストとして使用することも自由です。 その際、内容を修正したり、印刷して配布するのも自由です。
「Why I hate C」という記事がありました。 私は個人的にはC言語が好きですが、C言語が嫌だという視点も面白いので要約してみました。 かなり削っているので詳細は原文をご覧下さい。 C言語は組み込みに使うには良い言語ですが、その他の99.9%のアプリケーションを作るには最適とは言えません。 現在、アセンブラが一般的なアプリケーションを書くための良い解では無いことは自明です。 ここでは、もはやC言語もそうでは無い理由を述べたいと思います。 C言語の最も大きな問題はプログラマが間違いを犯しやすい事です。 私も良く間違えます。 どんなプログラマであっても数千行のコードを書いてバグが一つも無いということはありません。 コード量が少ないということは間違いの数も少ないということになります。 C言語は、言語のデザイン上、より多くのコードを書く事を要求します。 また、新しく開発されたプログラミング言
2015年7月(46歳)から始めた、「C言語でのゲームプログラミングの学習」。当初の目標をほぼ達成することができました。「メガドライブ版ダライアス」完成です。C言語の勉強を始めてから約3年かかりました。ゲームバランス調整、動作確認、バグ修正などまだまだ改善の余地がありそうなので念のためβ版としています。 中学生の頃に一度挫折したゲームプログラミングですが、最近は沢山の書籍や、ネットでも多くの情報を得ることができます。またゲームプログラミングに必要なソフトも充実しています。 *ドットエディタ(EDGE, Photoshop)や、音楽作成ツール (DefleMask, VGM Maker)、秀逸なメガドライブ開発ツールであるSGDKなど。 またブログやツイッターでの皆様からの暖かいアドバイスや応援のメッセージのお陰で、モチベーションを3年間も維持することができました。自分だけの力では途中で挫折
2017年現在、もっとも人気のあるプログラミング言語は「Python」。2位は「C」、3位は「Java」だと、電気通信分野の標準化団体であるIEEE(アイトリプルイー)が発行するオンラインマガジン「IEEE Spectrum」が、記事「The 2017 Top Programming Languages」で発表しました。 Pythonは昨年から2つランクアップで1位へ 1位となったPythonは昨年3位だったのが2つランクをあげて1位に飛び込みました。ただし、2位のCとの差は0.3ポイント、3位のJavaとの差も0.5ポイントと、1位、2位、3位の差はほんのわずかなものでした。 ちなみに4位のC++は約3ポイント離れた97.1ポイント、5位のC#は10ポイント以上離れた87.7ポイントですので、いかに上位3位の人気が堅いものかが分ります。 ただ、Pythonはたしかに統計処理などの分野を得
お名前:松本紹圭(しょうけい)さん経歴:東京大学文学部哲学科卒業進路:卒業後、神谷町光明寺に入門。一般社団法人お寺の未来理事。インターネット寺院 彼岸寺・お寺カフェなど革新的なプロジェクトを立ち上げ、現在は未来の住職塾の塾長を務める。 祖父が住職で、死を身近に感じる機会が多かったという松本さん。死への不安を解決したいという思いで、幼い時から仏教書や哲学書を読んでいたそうです。 その一方、小学3年生の頃にはすでにプログラミングを始め、C言語で遊んでいたといいます。機械を作る会社の経営者だった父の影響だったそう。一番得意な科目は数学。考え方もかなり理系的だと自覚されていたとか。 — とんでもない小学生ですね。なぜ理系に進学しなかったのでしょう? 数学も好きでしたが、真理そのものに関心がありました。数学への興味も、真理のひとつの表現形式として適しているのでは、というものでしたが、思考のフレーム自
あらすじ ソフトウェアの中の依存関係について 正規表現で抽出できることとその限界 コードの依存関係を抽出するツール rexdep を作りました ソフトウェアの構造を概観するには あなたは、大きなソフトウェアを目にした時、何をしますか? ファイルが何十、何百もある時、どこから読みますか? ソフトウェアが巨大になると、そのコードの構造を把握するのは難しくなります。 特にプロジェクトに入りたての人にとって巨大なコードベースを一目で理解することは難しく、細かなタスクをこなしていく中で徐々に「どこに何が書いてあるか」を理解していくしかありません。 ソフトウェアによってはモデルとコントローラ、データベースとビューと言った具合にコードが分かれており、これくらいの分類はディレクトリ名を見れば理解できるかもしれません。 しかしそのようなざっくりとしたコードの分類が分かったところで、ソフトウェアの構造を理解し
子どもの頃は、ゲームボーイのゲーム(たいがい、かなりひどいもの)で遊ぶのにたっぷり時間を費やしました。 これまでは「標準の」一般的な目的に使われるコンピュータ以外のためにコードを書いたことはなかったのですが、最近考えるようになりました。 「ゲームボーイ(アドバンス)のゲームは簡単に書けるだろうか?」 ゲーム機には詳しくない方のために説明すると、ゲームボーイアドバンス(GBA)は、任天堂が発売した人気携帯型ゲーム機でした(写真下)。 240 x 160 (3:2) 15ビット カラーLCDディスプレイ、6種類のボタンと十字キーが付いています。 ゲームボーイアドバンス 内部を見ると、GBAのCPUは32-bit ARM7TDMI RISCコア(16.78MHz)です。 標準の32-bit ARMのインストラクションのほかに、 このチップは16ビットThumb のインストラクションも実行できます
ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし本気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板 で
カーネル/VM Advent Calendar の40日目です。ごめんなさい1日遅れ。他の方のも面白いですよ!左のリンクからどうぞ。 私、JavaScriptでVM(仮装機械)を色々作ってきましたが、いつも、言語処理系のVMばかりで、VMwareのような、マシン自体のVMはやったことがなかったので、トライしてみました。 選んだテーマは、川合秀実さんの5年前の名著、「30日でできる! OS自作入門」。これ、凄くいい本ですね!読んでみてびっくりしました。かなりお勧めです。英訳は出ていないと思いますが、英訳を出すに値する本だと思います。でも、川合さんのOSASKは終了(中断?)しちゃっているみたいですね。 30日でできる! OS自作入門 作者: 川合秀実出版社/メーカー: 毎日コミュニケーションズ発売日: 2006/03/01メディア: 単行本購入: 36人 クリック: 735回この商品を含むブ
プログラマにとって IPv6 対応といえば、C言語のような低レベルな言語の話であって、ホスト名を文字列で扱うスクリプト言語には関係ないと考えがちです。ですが、実際には、文字列の取り扱いにおいても対応が必要になるところがあります。 その代表例が URL のパーサです。多くのエンジニアがイメージする URL の書式は「protocol://host:port/path#fragment」です。この書式を見れば、「:」と「/」を用いてトークンを分割するのが自然であり、RFC を参照せずに記述された URL パーサは、host の中に「:」が含まれないことを前提としていることがあります。あるいは、/[0-9A-Za-z_-\.]+/ のような正規表現を使って、ホスト名または IPv4 アドレスをチェックしている場合も多いのではないでしょうか。 ところが、IPv6 アドレスの文字列表現には「:」が含
プログラミング言語は世の中にたくさんありますし、用途や好みによって自由に使えることが多いのですが、一部どうしても置き換えができない言語というものがあります。ブラウザやFlashマクロやPhotoshopマクロのJavaScript、Action Script、GPUのシェーダ言語、Visual Basic for Application、SQLなどなどです。それでもaltJSやORMなど、直接書かないという選択肢もあったりもしますが、どうしても直接書くほうが実行効率が良かったりチューニングが効いたりします。 JavaScriptを使ったコーディングを何年かやっていると、C言語で書かれたアルゴリズムをJavaScriptに移植しないといけない事態に遭遇する機会も増えてくると思いますので、それについて説明します。 整数型としてデータを扱う JavaScriptの言語仕様ではJavaScript
Cコンパイラといえばとてつもなく複雑なプログラムというイメージがあります。ところが、このCコンパイラを(サブセットとはいえ)わずか500行ほどのCのソースコードで実現した「CC500」名付けられたプログラムが公開されています。 ソースコードは可読性を維持するためにつけられた空行やコメントを含めると、実際は750行ほどになるそうですが、それでもこれだけコンパクトなソースコードで実行可能なELFバイナリ(Linux用のバイナリ)を生成できるのは興味深いのではないでしょうか。 以下実際にLinuxでコンパイルしてみました。 自己コンパイルできる このコンパイラはC言語のサブセットで、自分自身のソースコードをコンパイルできるところがおもしろいところです。まず「cc500_1」という実行ファイルを生成します。 gcc cc500.c -o cc500_1 生成された実行ファイル「cc500_1」を使
約16年間に渡るフリーソフト/オープンソース開発で培った愛されるソフトに育てるノウハウを実体験を交えながら紹介させていただきます。 めとべや東京 #6 における発表資料です。Read less
IT系ベンチャー企業への投資が活況の昨今、先日上場したリクルート社を始め、大手企業でも IT領域の強化が頻繁にニュースとなっています。 (参考:「リクルートはエンジニアの楽園になれるか?」http://goo.gl/eFwQI8) 最近のITエンジニアの求人が非常に活況な中、今回は 「求人マーケット分析ツール 3Chart」を 利用して、「プログラム言語別 求人給与ランキングTOP10」を作成してみました! 今回の調査は、IT職種の求人に強い正社員系媒体の中から、下記の8媒体が対象です。 対象媒体:type、doda、FindJob!、Green、イーキャリア、エン転職、マイナビ転職、リクナビNEXT(50音順) 調査日:2014年10月20日 調査対象求人件数:31,743件(全職種) 調査方法:「応募条件」「仕事内容」に各言語が含まれる求人掲載件数(のべ件数/掲載件数50件以上の言語
C言語は使うべきではない言葉なので修正してくださいのクロスプラットフォーム言語だと思っていて、 iOSもObjective-Cの中でC言語が使えるし、 AndroidもNDKでC言語が使えるので、 UI以外のロジックはすべてC言語で書けば、それはすべてのプラットフォームで使えるのではないかと思っていました。 しかし、FireFoxOSでは、それができなくて、基本JavaScriptのAPIを呼び出すという形になってC言語が使えませんでした。 失意のどん底に陥っていたのですが、 そこの打開策に、Emscriptenがあったのです! !!! Emscriptenとは EmscriptenはC/C++言語からLLVMを生成し、それをJavaScriptに変換するコンパイラのことです。 C言語の標準ライブラリやPOSIXの一部もサポートし、OpenGL ES2.0も使えるそうです。 Emscrip
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く