「アセンブリ言語」を含む日記 RSS

はてなキーワード: アセンブリ言語とは

2017-07-14

anond:20170714111723

その昔「アセンブラというのはニーモニックをオペコードに変換する手段ことなので言語ではない」と

習った記憶があるのだが、今ではアセンブリ言語とか普通に言われてるよな。なんだったんだろう。

2016-07-01

http://anond.hatelabo.jp/20160701171425

CPUは数値の機械語しか実行できんのだからインタプリタだろうがJITだろうが最終的には全部機械語だろ。

そのインタプリタJITを書くのも人間なんだから腕がよければ実行される機械語は早いし駄目なら遅いだけだろ。

エキスパートアセンブリ言語で書く場合はCより速くなることはママあります

って、科学技術計算用なんかの一部処理をゴリゴリやるならまあそうだろうけど、どっちが早いか比べるとか中二か。

2015-01-16

http://anond.hatelabo.jp/20150116031439

viemacs新規言語作ったわけじゃない。

viqededexviと元々存在した別のエディタから派生している。

emacs採用したlisp世界で2番目に古い高級言語。(1番目はFortran。それ以前はマシン語アセンブリ言語だけ)

ちなみに昔はlisp計算機工学を学ぶ上での必須教養だった(つまり使い手が多かった)からマクロ言語として選ばれたのは必然

あとlisp以外の言語を使えるemacs亜流もあった(過去形)はず。

2014-12-25

[]ヒッグス粒子発見をなぜ研究者は喜んだのか?

これは 物理学 Advent Calendar 2014記事です。

僕は blog を持っていないので はてな匿名ダイアリー をお借りします。

この記事について

床屋ヒッグス粒子について質問されたのがきっかけです。

しばらく話すうちにおじさんが知りたいのは『ヒッグス粒子のもの』ではなく

『なぜ研究者ヒッグス粒子発見に大騒ぎしたのか?』なのではないかと気が付きました。

発見当時いろいろな記事が出たけれど、

ヒッグス機構ワインバーグ・サラム理論解説はあっても

研究者ヒッグス発見に大騒ぎした理由はあまり説明されてなかった気がします。(僕が見逃しただけかもしれません)

なのでちょっと書いてみようというのがこの記事です。今更な話ですみません

床屋での世間話的ないいかげんな話です。あまり中身はありません。

普段はてなを見ている人なら全部知っている内容かもしれません。あまり期待しないで読んでください。

(あと間違いがあったらすみません

なんでヒッグス粒子発見を喜んだの?

これから物理の基礎理論が大発展する(かもしれない)からです。

理論ってなんだろう?

誤解を招きやすいのでちょっと説明します。

場の理論を聞いたことはあるでしょうか? 量子力学相対論+多粒子系 に拡張したものです。

古典力学量子力学場の理論

これらは例えるならばプログラム言語です。

古典力学量子力学の、量子力学場の理論の、近似的な理論といえます

RubyC言語記述されているように、量子力学は(原理的には)場の理論記述できるべきものです。

C言語が正しくて Ruby が「間違っている」という訳ではないように

場の理論が正しくて量子力学が「間違っている」訳ではありません。ただ、適用できる範囲が違うのです。

さて、量子力学場の理論プログラム言語だとしたら、コードは何でしょうか?

実は「ラグランジアン」と呼ばれているものがそれに相当します。

ややこしいのですが「ラグランジアン」も理論と呼ばれています

素粒子理論研究者が「理論を作る/改良する」と言ったら、それは大体ラグランジアンの改良を指しています。 (注[1])

世界の全てを記述するコード

素粒子理論研究者は、世界のあらゆるもの記述できるラグランジアンをつくろうとしています

[これ]が場の理論で書かれたラグランジアン標準理論と呼ばれているものです。(ごめんね。良い画像が見つからなかった。)

僕たちの世界現在わかっている ”ほとんど” 全てを説明することができます

世界の全てを記述するコードがこんなにシンプルなんて結構びっくりでしょう? そんなことない?

(まぁちょっと省略してかいたみたいなんだけど・・)

ちなみに一番下の項がヒッグスです。

なんでヒッグス粒子発見を喜んだの?

ちょっと歴史的な話をしなければなりません。

これまで研究者達は理論の予想と実験結果の違いをヒントに理論修正してきました。

(この辺はコードバグ取りと似ているでしょうか?)

ところが困った事が起こりました。

標準理論は「実験結果と合いすぎる」のです。

実験結果と全部合うなら標準理論完璧理論なのか? ・・というとそうではありません。

多くの研究者現在標準理論はまだ不完全であると考えています

まず重力がうまく扱えません。それどころか様々な理由から場の理論のものが、より基礎的な理論有効理論(近似的な理論)ではないかと今では考えられています

理論は不完全なことが分かっているのに、修正するヒントがなくなってしまったという訳です。

そんなわけで標準理論はここ40年ほどあまり変わっていません。

(全くということはないですが。ニュートリノ振動とか)

こんな中、標準理論で唯一まだ発見されていないのがヒッグス粒子だったのです。

ヒッグス粒子発見されてその質量が決まるだけでも大きなヒントになるというわけです。

なぜ研究者ヒッグス粒子発見に歓喜したか

それはようやく標準理論バグ取りが可能になるから。実に40年ぶりに。

まりヒッグス粒子研究者にとって最後希望とかそういう・・いや、最後でもないか。

まだLHC発見してほしいもはいろいろあります。(超対称性粒子とか・・。)

注釈

[1] 場の理論量子力学修正ではなく、ラグランジアン修正です。 

  皆さんも自分のつくったプログラムバグがあったら C言語バグではなく、まずは自分の書いたコードバグを疑いますよね? つまりそういうことです。

最後

物理学 Advent Calendar 2014 を立ち上げ管理してくださった id:tanaka733 さん、 id:aetos382 さんに感謝します。

皆さんの記事を楽しませていただきました。飛び入り参加すみません

また、増田の皆様。場所勝手に借りてすみません

お目汚しすみませんでした。

メリークリスマス。良い夢を。

追記

id:allthereiznika わかりやすかった。出来れば参考ページ・書籍も示してくれるともっと良かった。

一般向けの解説書は僕はよく知らないのですが

ヒッグスを超えて | 日経サイエンス

こんなのが出るみたいですね。目次を読む限り良さそうです。

Chapter1 がヒッグス粒子解説

Chapter2 が標準理論の破れの話ですが、どうも最近話題が入っているようなのでちょっと差し引いて読んでください。

Chapter3 が標準理論の改良の話(超対称性理論etc) 。 それから上でちょっとでてきましたが、

    「場の理論自体がより基本的理論有効理論であると思われています。(より基本的言語・・アセンブリ言語とでも例えるべきでしょうか?)

     その候補のひとつが「弦理論」です。その辺りの解説もされているようです。(余剰次元超弦理論etc

2012-12-09

http://anond.hatelabo.jp/20121208153402

元増田はCだけでよかったって言ってるけど、「プログラミング言語なんてアセンブリ言語だけで良かった」って意見には反論できる?

もし反論できるなら、なんで世の中にはC言語以外のプログラミング言語が今も生まれ続けて、使われ続けているのかっていうのも分かると思う。

もし反論できないなら、あるいは反論しないなら、君は筋が悪いから一生プログラミングの話題には首突っ込まないほうがいいと思うよ。

2012-05-06

http://anond.hatelabo.jp/20120322025117

外資系蹴って未来検索ブラジル行けよ

全文検索エンジンgroongaの開発、またはgroongaを用いたアプリケーションの開発を行っていただきます

以下の条件を満たしている必要があります

以下の技術分野に関する知識・経験があるとなお良いです。

http://razil.jp/recruit.html

英語論文が読めて、アルゴリズムについて知識がある人材求めているぞ

2011-08-24

http://anond.hatelabo.jp/20110823201509

これからHTML5投資するか、このままFlash投資し続けるか、だよ問題は。

なぜ両方使うという選択肢がない。真の技術者ウェブ標準だろうがFlashだろうがネイティブだろうが、その場その場でユーザーの体験を最善にし、クライアントの要求を最高に満たすベスト技術を使う。JavaScriptFlashかなんて動きさえすればユーザーには関係ないんだから。実際、HTML5スゲEEEEE!!!ってページにFlashタグブクマが間違ってつけられたりしてるよ?(笑) ウェブ標準の崇高さなんてパンピーにはわからんです

そもそも分からないんだけど、HTML5が「投資」するほどたいしたもの? 誰もが基礎教養として身につけているはずの、これまでのHTMLCSSJavaScriptの延長線上の技術でしょ。今まで普通にやってきたウェブ開発者ならすぐにキャッチアップできるはずだよ。

どうせHTML5の実装の普及には当分かかるし、その時点のブラウザ環境で使用可能なものゆっくりまったりと導入していけばいいだけ。その意味はいわゆる遅延評価学習で十分。あわてることはないです。どうせ皆使うことになるんだから

一応言っておくと、いいものだと思いますよ、HTML5は。現段階で頑張って凝ったものを動かしておられるイノベーターの方々もたいしたものだと思います。敬意を。マリオやらグラディウスやらは著作権的にどーなのかと突っ込みたいが。

Appleスマホ市場で落ちぶれることを祈らないとね。

それはシナリオひとつですよね。Google甲斐性次第では十分にあり得る。それと、ジョブズが翻意するというシナリオもありますよ。今までに散々あったことですが。どこかでそれをネタにしている記事があったと思いますが。

AdobeですFlashに見切りをつけ始めてるけどね。

もしEdgeを見てそう思ったのなら、Flash CSを使って制作したことがありますか? Edgeを実際に使ってみましたか? と問いたい。

他にも、最低でも、

これらにきちんと答えられない人間HTML5 vs Flashなど語る資格はないです。そもそも対立させる時点でわかってないなー ┐(´д`)┌ って感じなのだけど。

あとFlashへの投資無駄になると思ってるようですが、俺はFlash投資判断「Buy」継続だと見てますよ。たとえこのままiOSで動かずともね。AIRもあるし、ブラウザプラグインとしてのFlashだけ見ていると考えを誤るよ。ブラウザのほうにしても、GPUアクセラレーションつきの3Dが真っ先に使用可能になるのはFlashプレイヤーの普及が速いから、WebGLと異なり、今後1~2年内に実案件で使用可能になるでしょう。そういった面ではなおカッティングエッジ技術だよ。

まあ、プラットフォーム言語の選択は投機から、どの銘柄が買いか売りかで紛糾するのはわかる。ただ、それなら分散投資だとか、インデックス投資という考え方もあるのでね。HTML5に惚れ込んで一点買いなんて若いエンジニアがいたら、それはもう相当危なっかしいなと、視野も相当狭くなるだろうなと危惧するよ。

というか、JavaだろうがC++だろうがObjective-CだろうがLLだろうがアセンブリ言語だろうが関数型言語だろうが、一度全部触ってみなよ。いいから。HTML5で手一杯なんてのでは話にならんですよ。

あと言いたいんだけど、Flashエンジニアも皆もうちょっと落ちつけ。

2011-03-17

http://anond.hatelabo.jp/20110316215714

どうなんだろ。教育現場での人気と切り離した序列ってのがソフトウェア工学存在するかな?

そんな歴史伝統のある分野じゃないだろう。これが数学なら分かるんだが

で、実際、アセンブリ言語やらフリップフロップがどうやらってそんなに権威あるのか?

2010-02-24

プログラミング常識」著者コメント(DQN向け翻訳)

世の中には、どうしても「賢い人」と「あまり賢くない人達」人たちがいて、「あまり賢くない人達」は「賢い人」の足を引っ張るモノです。

「あまり賢くない人達」が自らの愚かさゆえ、人生を無為に過ごすのはある意味しかたがないことだと思いますが、問題なのはこれから賢くあろうとする未来ある若者達が、このような「あまり賢くない人達」に惑わされ、不幸に見舞われることであります。

日向さんはこのような未来ある若者のために、わざわざ時間を割いて素晴らしいエッセイを書きおこしてくれました。

http://www5.ocn.ne.jp/~seablue/res/ckp.html

けれども日向さんの文章は、あまりのレベル差故か、極力平易に書こうとはしているものの、それでも文章が高度すぎて、対象である「あまり賢くない人達」には今一歩言わんとしていることが伝わらないのでは、と感じました。

そこで私は、日向さんの文章の意味を極力損ねないまま、このエッセイを対象である「あまり賢くない人達」向けの言葉翻訳することを試みました。

もちろん、訳者が至らないために、間違いや勘違い、あるいは校正の際の見落としなども あるかと思います。そのようなことがないように努力はいたしますが、 お気づきの点があれば冷静にご指摘いただければ幸いです。




この書籍については、さまざまなご意見がさまざまなところに書き込まれているようです。

まったく話題にもならないたくさんの本があり、また批評もされない多数の著者たちがいるなかで、 拙著または著者に関心を持っていただいたことにまずお礼を申し上げます。

いやぁ、人気者はつらいね。いつだって妬まれる。

本書については、書籍のはじめに「本書では、初歩のプログラミング学習を終えて、 プログラマが実践的なプログラミングに臨む時に知っておかなければならない重要な事項をわかりやすく解説します。」 と明示してあるように、プログラミング初心者を対象にしています。

具体的には、はじめてのプログラミング言語勉強したか、これから何か言語を学ぼうとしている人、 ふたつめの言語を選ぼうとしているひと、あるいは、 「どうしてデータ型などというものがあるのだろう?」とか、「オブジェクトって、いったい何?」という 素朴な疑問を抱いている人を対象とした書籍です。

また、筆者の「常識」を読者に押しつけようとするものではなく、プログラミング常識とは何かという ことについて考えるヒントにする本です(このことは書籍の中でも重ねて説明しています)。

この本は エキスパート俺様が、初心者のために書いた本だ。初心者向けって所が重要な。ついでに世の中常識のないやつが多いから、プログラミングだけじゃなく常識まで教えてやる、そういう本でもあるな。そうそう、断っておくが俺がこの本で言っていることは「世の中の常識」な。だから、異論挟むヤツはそのまま「常識」のないやつってことになる。ここも重要だ。

プログラミングに限らず、対象によって説明の仕方、取り上げる範囲、そして「何が正しいか」は異なります。 身近な学校教育という場を考えてみても、小学生には「人はみな平等です」と教えます。 しかし、それは理想であって、実際に差別は存在し、したがって、教えている対象を考慮しなければ、 小学校で教えていることは嘘ばかりである、ということになります。 実際、大学生ならば、「実際には人は平等ではない」という前提にたって、社会問題などを考える必要があることは 誰にも異論のないことでしょう。

同様に、プログラミングでも、初歩のプログラミング学習を終えた人と、 より高度なプログラミングをマスターした人を対象にするときでは、解説の範囲も表現もすべて異なります。

ところで、みんな平等というけどさ、愚民がいるのが現実なのよ。愚民がいるなら愚民向けに方便をつかわなくちゃいけない。大人ならわかるな。

本書について、文章の真意を理解しないで書き込みをされていることも多々あるようです。 たとえば、「プログラミング言語はどれがよいか?」というトピックの主眼は、本文で 「多人数を運ぶならバス、荷物をたくさん運ぶならトラック、少人数でドライブするなら小型セダンと、 目的に応じて最も良い自動車の種類が違う」と例をあげて説明していますが、プログラミング言語においても 用途やプログラマ経験あるいは環境等々によって適する言語は異なり、 特定の具体的な条件を示したうえでなければ「プログラミング言語はどれがよいか?」という質問自体がナンセンスである、 というのがこのトピックの主眼です。

したがって、それに関連する説明は、それぞれのプログラミング言語がおおよそどのように異なるかわかればよい という立場で書いており、具体的な解説についてはたとえば環境(近くにすぐに質問できる先輩がいる、 特定の言語学習環境が際立って整っている、特定の種類の言語をすぐに使う必要がある、など)に よって異なるという前提で書かれています。

また、このトピックは、これから最初のプログラミング言語を選ぼうとしているか、 ふたつ目のプログラミング言語を選ぼうとしているような初心者で、 車にバスから軽自動車までいろいろな種類があるように、プログラミング言語にもまた さまざまな用途の言語があるということを認識していない読者を想定して解説しているものです。 すでに複数のプログラミング言語をマスターしている読者を対象としたときには、 自ずと表現記述するレベルや範囲も変わってきます。

で、だ。俺の書いた本にケチつけるガキ共がいるんだけどさ、ヤツラ何? 技術的なことを書くと低能なヤツラじゃ理解できないから、車の話に喩えてやる。(略)つまりヤツラは、車にもいろいろ車種ってものがあることすら、わかんないバカってことだ。

そのほか、本書について間違いであるかのように指摘されているところの多くも、本書の意図を理解できれば、 指摘したことが逆に誤っていることに気づくでしょう。 (もちろん、筆者が至らないために、間違いや勘違い、あるいは校正の際の見落としなども あるかと思います。そのようなことがないように努力はいたしますが、 お気づきの点があれば冷静にご指摘いただければ幸いです。)

また、本書の批判の多くは、本書が初心者プログラマ向けに書かれていることをまったく無視した、 きわめて無責任意見が多く、そのような書き込みが何の批判もなく行われていることは残念でなりません。 良識のある人たちは、想定読者レベルを無視した無責任意見は無価値であると考え 頭から相手にしていないのでしょうが、初心者はそのような判断ができないので惑わされる可能性があるからです。

ようするに、愚民向けの本を読んでも「方便」を「方便」だって読み取れないバカ?ww 指摘(笑)を通して 自分馬鹿さ加減を世界に発信しているってことに気づかないって超ウケるじゃん? この内容は間違ってます(キリッ みたいな?wwww ま、少しでも知性があれば、恥ずかしくてで出来ねえことだよな。

わかっているヤツは わざわざ DQN の相手をしたりせず鼻で笑うだけだ。しかしお前らひよっこは、こういう低レベルな扇動に惑わされるかもしれないな。気をつけろよ。

書籍批評ということについて、ひとつ例を示して筆者の考えを明らかにしましょう。

B.W.カーニハン/D.M.リッチーが書いた「プログラミング言語C」という本があります。現在は第2版となり訂正版として出されていますが、 日本語翻訳初版から現在まで、プログラミング言語の本として名著のひとつとみなされてきました。

実際、私もC言語についてまだほとんど何も知らない日本語初版が出たときにこの本を一読して、 「Hello, world」の出力のしかたから始まり、徐々に高度な内容に導いてゆく書き方に自然となじんで、 まるで読み物を読むように一気に読了し、同時に、C言語とはどういうもので、何ができて、何ができないのかを理解しました。 日本語初版は間違いも多く、記述の仕方もプログラミング言語書籍としては最良とはいえないものでしたが、 C言語についてまだほとんど何も知らない私にとって、まさに「プログラミング言語C」はとても良い本でした。 また、プログラミング言語仕様という概念が今ほど確立していなかった当時、C言語コンパイラを実装する(開発する) ようなレベルの人にも、「プログラミング言語C」はバイブルといってよいほど重要な本でした。

ところで、今、誰かが「プログラミング言語C」と同じようなスタイルC++Javaの本を きわめて丁寧に間違いもほとんどなく書きあげて私に献本してくれて私個人の率直な意見を求められたら、 それを読んできっと「冗長で退屈である」と答えるでしょう。 なぜなら、私はC++Javaについて講義(授業や講演)をする程度にすでに知っているから、 「プログラミング言語C」のような書き方の本を改めて最初から読むのは苦痛にさえなりかねないからです。

しかし、その本について公開するレビューを書いてくれと頼まれたら、 「これからC++(またはJava)を学習する人にとってはとても良い本である」と推奨するでしょう。 なぜなら、まだ何も知らない人が、まるで読み物を読むように一気に読んでその言語を理解できれば、 それはとても素晴らしいことだからです。

読む人のレベル、その本の主眼とすることとその表現のしかた、本が出版されたときの状況などによって本の価値というものは異なり、 それが本というものです。

ヤツラにも解るように具体例を示すけれどさ、ストラウストラップ?ってヤツの 「プログラミング言語 C++」って本、冗長で退屈でダセェよな。内容のレベル低すぎるしさ。けど、どうしてもオレにレビューしてくれっていわれたら、まぁ「俺には必要ないけど良い本だぜ」って紹介してやるよ。だってバカどもにはちょうど良いじゃん。バカ向けの本はバカ向けってことを考慮して評価する。それが大人ってもんだ。

インターネットが普及して誰でも自由に発言できるようになったのは良いことですが 一部のお暇をもてあましている方々が、拙著に限らず、 さまざまな著作や著者に対して誹謗中傷に近い書き込みを匿名で行っているのが見受けられます。 このような状態が続けば、 誤解を受けることを承知の上で初心者向けにあえてやさしく解説するような著者は書く気をなくし、 どのようにでも解釈できる(あるいはすでに理解している人しか理解できないような)難解な 文章を書く一部のいわゆる権威だけが著者として残る結果となり、 出版文化書店を含む出版界はますます疲弊し、いずれ現在のように多種多様書籍出版できなくります。

インターネットが出来てから、そんな大人の対応も出来ないウゼえガキが増えたよな。マジ ウゼェ。ったく、「間違っている」「正しくない」とか、ウゼェウゼェウゼェ!偉大なるオレ様のやる気が無くなったらどうしてくれるのか。これでオレが本を書かなくなったら人類の損失になるって事実、わかんねぇのかコイツらは。ほんっとカスだな。

どうか、初心者の方々は無責任な批判や的外れレビューなどに惑わされずに、 まずは本を読んでみて(買わずに図書館で借りてでもかまいません)、自分自身で判断してくださるようお願いいたします。

まぁ、カスのことはほっといて、お前らは黙って俺の本を買っておけ(貧乏だったら図書館でもいいぜ。自治体に買わせろ)。普通に考えれば有象無象匿名ブロガーより、本まで出してるエリートのオレの本の方が信頼できるってのは、ひよっこのお前らにだってわかるだろ。つべこべ言わず買えば幸せになれるってモンさ。

さて、無責任な批判や的外れレビューを書き続けている人には、次のように申し上げておきます。

批判する人間にもし本当に能力があるのであれば、匿名無責任な批判をする前に、 C++Javaアセンブリ言語JavaScriptのようなスクリプト言語XMLXAMLのような記述言語を 含めて、5種類上の言語で実際に動作するプログラムを作成してそのソースコードを広く一般に公開し、 他人の批判を受けてみてから、 自分完璧な本を書いて出版社に持ち込んで出版してみてください。

そうすれば、著作、あるいは出版というものがどういうものか、少しはわかるでしょう。

あー、それと、バカどもに言っておく。オレ様は C++Javaアセンブリ言語JavaScriptのようなスクリプト言語XMLXAML のよな記述言語 を含めた5種類以上の言語精通した超絶スーパーエンジニアだ。ハッカーと言ってもいい。しかもコードを公開して完璧な本まで書いている、マジ パねぇ男だ。 マチュアーしてるんだよ。おめぇらなんて足元におよばねぇ。身の程を知れ。(関数型言語マイナでどうでもいいから勉強しなくてもいいぜ。あ、でもオレの Scala の本は買えよな。)

もし、自らは何も創造しないで、単に無責任な批判や的外れレビューを続けるなら、 そういう人は、いずれ何年かのちに(そのときまでボケずに、人間社会というものを学んで人間として少しは成長したとしたら) 自分がしてきたことが無意味であり、そのようなことだけに時間を費やした自分自身の人生そのものが 無価値であったことに必ず気づくはずです。しかし、その時になって謝罪していただく必要はまったくありません。

まー、オレ様は心が広いからバカがバカであることは責めないでやる。人間生まれついてのものはどうしようもねぇ。俺はどうしようもないことは責めない主義だ。でも、お前らが無価値ゴミクズであるってことだけは理解しとけよな。ゴミゴミなりの人生がまってるさ。身の程を知って生きればオレは哀れみくらいはかけてやるぜ?

なお、著者はあらゆる書き込みに対していちいち反論することはできません。 また、一部の低俗掲示板のようなものを読んだり書き込んだりするのは 時間無駄なので、私に限らずほとんどの著者は、そのようなものに書き込むことはもちろん、 目を通すこともありませんのであしからず

最後に言っておく。お前ら如きがオレ様に意見するなんて間違っている。なぜならオレ様はいつだって正しいからだ。そして、間違った意見などに反論を書くなんて無駄時間はオレ様にはない。お前らはせいぜい便所で落書きに勤しむんだな。あばよ。

要点のまとめ

長い文章が読めない方のために、要点のまとめを作りました。

  • 本を書く人間エリートで、それを批判するネットイナゴ愚民
  • 愚民的外れなことを言っても、自分が恥をかいていると気がつけないから厄介だ
  • 誤解するな、俺の技術力はパねぇ。そこん所くれぐれも勘違いするな
  • 間違えているように見えるところはワザとだ。もしくは指摘自体が間違えてる
  • とにかく俺の本を買え

補足

日向さんは、本当に素晴らしい技術力をお持ちで、その著書リストをご覧になれば皆様もその高い技術力をご納得いただけるかと思います。

http://www.amazon.co.jp/exec/obidos/search-handle-url?_encoding=UTF8&search-type=ss&index=books-jp&field-author=%E6%97%A5%E5%90%91%20%E4%BF%8A%E4%BA%8C

これだけの内容の濃い本を、こんなにも沢山発行していらっしゃるので、日向さんが新たに本を書い時、気がつけば参考文献リソース 一覧が 過去の自著ばかりになった――というエピソードだけでも、日向さんの凄さの一端が伝わるかと思います。

ですので皆様も

のような「匿名の愚か者」の世迷い言に惑わされないように、ご注意願います。解っている人から見れば、日向さんの著書は総じて評価が高い という事実は、「記名の賢者」であるdankogai氏のレビュー

をご覧になっていただければ、一目瞭然かと思います。(dankogai氏は同レビュー中で日向さんを「真に初心者向けに本を書ける希有の存在」と評しています)

なお、訳者はあらゆる書き込みに対していちいち反論することはできません。 また、一部の低俗掲示板のような増田を読んだり書き込んだりするのは 時間無駄なので、私に限らずほとんどの著者は、そのようなものに書き込むことはもちろん、 目を通すこともありませんのであしからず

2010-01-16

大阪大学基礎工学部情報科学科について

大学教育について話題になっているようですので、私が卒業した、大阪大学基礎工学部情報科学科について書いてみたいと思います。

大阪大学基礎工学部情報科学科は、昭和45年に最初に国立大学に設立された情報工学関連学科のうちの一つで、コンピュータサイエンスの分野では日本で最も古い歴史を持っている学科、ということになります。

情報科学科の特徴は、そのプログラミング実習の充実ぶりです。入学すると、まずPascalというプログラミング言語構造プログラミング勉強することになります。次にアセンブリ言語であるCASL勉強し、Pascalアセンブリ言語を応用してC言語勉強します。またその後、スクリプト言語であるPerl関数型言語MLオブジェクト指向言語としてJava学習します。

また、言語だけではなく、コンピュータサイエンスの基本であるアルゴリズムデータ構造についても幅広く学ぶことができます。

全ての実習は課題が出され、実際にコードを書かなければいけません。例えばC言語の授業の最終的な課題は、「shのようなシェルプログラムを作成すること」でした。最終的には、「Pascal風の言語CASLに変換するコンパイラを作成する」という課題に取り組むことになります。

大阪大学は全体的に単位の取得が厳しいことで知られていますが、情報科学科も例外ではありません。もしプログラミングをあまりしたことがないのであれば、遅くまで実習室にこもることになると思います。だけど、それは情報工学世界で生きていくためには必要な知識なのです。

実習で勉強する言語は、Javaを除くとあまり現在使われている主流の言語とは言えないのですが、様々な言語を学ぶのは「プログラミング言語はそれぞれに違いがあり、それぞれに適した用途がある」ことを理解することに繋がります。また大学卒業してから、新しい言語を学ぶ必要が出てきたとき、それに対応する能力を磨くことができます。

日本大学で、ここまで実戦的なコンピュータに関する教育を行っている場所はあまりないのではないか、と思います。コンピュータがどのように動いているのか、内部原理までしっかり教えてくれます。卒業生の進路は、研究者というよりは、エンジニアとして開発の現場で働くことが多いようです。

大阪大学入試問題は、東大京大と違って特殊な問題はそれほど出ません。努力でなんとかなるレベルだと思います。

情報工学は新しい分野なので、大学院研究するために必要な知識は他の分野ほど多くありません。このため情報工学科では、3年生の夏に大学院試験を受けて合格すれば、学部を卒業しなくても4年目から大学院に進むことができます。この仕組みを活用すれば、5年で大学院卒業できます。実際、学部生の1/4くらいはこの仕組みを活用しています。

もちろん、ここに書いたのは情報科学科の全てではありません。ネットにも他に情報がありますし、もし興味があったら、大学オープンキャンパスに行ってみるのもよいと思います。

コンピュータ世界は変化が激しくて、エンジニアとして生きていくのはとても大変ですが、それでもいい、プログラマとして将来何かを作りたいんだという人であれば、ここはそのための力を与えてくれるはずです。進学先として検討してもらえたら幸いです。

2009-07-22

http://anond.hatelabo.jp/20090720033635

別にいいんだけどさ、細かいところで突っ込む。


なんで、Cなん?w

いや俺もガチでやるならアセンブリ言語とか、Cをやる必要はあると思うよ。

だから工学部のおにーちゃんとかがはじめに習うのは分かるよ。

ハード意識して書かれたものだし、いろんな意味教育効果も高い。


でもさ、とりあえず食っていきたいって感じで学んだんだろ?

ベンチャーも含めて色々求人とか見てからその言語に決めたのか?

きょうび刺身タンポポ載せる程度の底辺プログラマだったら、

PerlPHPJavaが圧倒的に多いってその時に気付かなかったか?


いや、Cが悪いとは言わないんだ。

ただ、お前が「なんとなくC」を選んだ気がして、ならないんだ。

身体を壊したのはお気の毒だと思うけれども、ちょっとお前計画性なさすぎじゃね?ってオモッタ

2008-12-17

アセンブラ

アセンブリ言語ってメモリレジスタ間でひたすら読み書きするだけなので全然難しいことないと思うんだけどな。自分で書くぶんには。確かに面倒臭いし可読性は低いかもしれないけど。C言語ウルトラスーパーデラックスマクロアセンブラなのでちょうどいい感じ。

むしろ高級言語でいろんな人が各人の美学に基づいて設計したオレオレ概念を理解するほうが骨が折れる。アセンブラ脳に染まってると、ローレベルで何をどうしたらいいかは想像できてても、その言語ルール上でどう記述したらいいかが分からなかったりする。

JavaはややっこしいけどJavaバイトコードは素直なスタックマシンでわかりやすいよね、とか思ったりもする。

2008-09-04

GPGPU 開発環境

いろいろ間違ってるかもしれないが、力尽きた

分類開発環境開発言語メーカーGPUOSAPI備考URL
シェーダ言語_CgNVIDIAGeForceLinux
Windows
Mac OS X
XBOX
OpenGL
DirectX 8/9
C言語ライクな言語
グラフィック用途向け
シェーダプログラム最適化
http://developer.nvidia.com/page/cg_main.html
シェーダ言語_HLSLMicrosoftGeForce
RADEON
WindowsDirectXグラフィック用途向け
シェーダプログラム最適化
シェーダ言語_GLSLOpenGL ARB__OpenGLC言語ライクな言語
グラフィック用途向け
シェーダプログラム最適化
GPGPU言語CUDAC言語NVIDIAGeForce
GeForce 8100 mGPU以上
Linux
Windows XP/Vista
Mac OS X
_標準C言語http://www.nvidia.com/object/cuda_home.html
GPGPU言語Stream SDKBrook+AMDRADEON
R600世代以降
(=RADEON HD2400以降)
Linux
Windows
OpenCL(対応予定)
DirectX 11(対応予定)
C言語ライクな言語http://ati.amd.com/technology/streamcomputing/index.html
GPGPU言語Brook for GPUBrookスタンフォード大学GeForce
RADEON
Linux
Windows
OpenGL
DirectX 9
C++ライクな言語
GPGPU言語Close to Metal(CTM)アセンブリ言語AMDRADEON_Stream SDKのCALに移行
GPGPU言語_Sh____C++ライクな言語
GPGPU言語RapidMindC++_GPU
マルチコアCPU
Cell
__Shの商用化版

参考文献

CUDAを使う:tech.ckme.co.jp

http://tech.ckme.co.jp/cuda.shtml

【特集】超並列プロセサ - GeForceアーキテクチャとCUDAプログラミング

http://journal.mycom.co.jp/special/2008/cuda/menu.html

Windows環境は、Visual Studioを用いてmakeを行うようになっている

CUDA SDKでは、通常実行用のGPUバイナリを生成する以外に、(中略)

GPUのない環境CPUで実行するエミュレーションバイナリを生成したりする機能があり

2008-07-02

http://anond.hatelabo.jp/20080701213733

アセンブリ言語は構文が単純な(1行1命令)為、m4 のようなマクロプロセッサがあればとりあえずアセンブルの真似事はできるという点が重要な気がします。

(じっさいそういう本があったはず、SPARC Architecture, Assembly Language Programming, and C ISBN:9780130255969)

他のもっと高機能な言語は brace / begin-end で文脈自由言語になってたり、BASIC でさえ変数定義/抹消を管理しなければならないので。

追記:いやもちろんバイナリは吐けないよ、とか、ELFローダ作るのは大変だよ、とか(Linkers & Loaders ISBN:4274064379 でも

実用的なローダを作るようにはなってなかった)そういう話は沢山あるのですが

2008-07-01

Re:Re: 本日情報の授業:アセンブリ言語の処理あれこれ

アセンブラやる前ってまず論理回路やって半加算機やって…って順序をたどってからやるだろ。普通

なんのことかわからんのでぐぐってみた…あ、やっぱり普通はこういう話もしてくれるのね。

まだ一年次なのでこれからに期待する。

Re: 本日の情報の授業:アセンブリ言語の処理あれこれ

ええー

アセンブラやる前ってまず論理回路やって半加算機やって…って順序をたどってからやるだろ。普通

単に授業の提供側がへったくそなだけなんじゃん?

http://anond.hatelabo.jp/20080701213733

プログラミングの楽しさや便利さはその別の言語を通じて学ぶことになるのだし、じゃあアセンブリ言語を学ぶ意義ってなによ。

昔は、必要に迫られて使ってたんですよ。

CPUも遅かったし、メモリも少なかったしね(遠い目)。

まあ、古典だと思ってくだされ。

本日情報の授業:アセンブリ言語の処理あれこれ

プログラムを学ぶ上での一番根源的なものとしてアセンブリ言語が扱われることってわりと多いように思う。

便利なプログラムコンピューター内ではこう処理されてます、とか。

だけど、その説明ってあんまり意味が無いよなとか思ったり。

add D1 D2 D3(アセンブリの命令でD1D2の値を足してD3へ代入を意味)なんてもはや単なるプログラミング言語に過ぎない訳で、それCでも出来るよ、としか思わない。

はいはいアセンブリ不便ですね、ってなって結局主軸は別の言語に移す。

プログラミングの楽しさや便利さはその別の言語を通じて学ぶことになるのだし、じゃあアセンブリ言語を学ぶ意義ってなによ。

c=a+bって書けばコンピューターが計算してくれますっていうのと、add D1 D2 D3ってやればCPUが計算してくれますっていうのは感覚としては同じ。

本当に根源的なものまで突き詰めるのなら電気信号をどう解釈してどういう仕組みで演算して数を格納してっていうことをやってほしい。

アセンブリを根源扱いして崇めることにはなにか抵抗を感じる。

2008-04-02

ポインタ理解を妨げる諸悪の根源はその宣言方法ではないか

アセンブリ言語を先にやったはずなのに、C言語ポインタでつまづいた。

あれは宣言方法が悪い。例えば(インテル構文の)アセンブリ言語なら、どんな変数だって、[変数名]とするだけで変数が指す番号をアドレスにしてメモリを参照できる。

それに対して、C言語の場合、はじめに

int *c;

などと定義した挙げ句に、これがポインタ変数だと説明する。

*cはポインタなのか?

cがポインタなのか?

ここで俺はものすっごく混乱した。

ちなみに現在の俺のポインタ理解は、cにアドレスを入れて、*をつけて参照するというもの。

http://anond.hatelabo.jp/20080402020816

2008-02-28

http://anond.hatelabo.jp/20080228152620

「私、プログラミング好きだよ」と言うプログラマに、好きな言語や開発ツールを聞いて「C/C++/C#」の名前があがってくるとげんなりする。心底がっかりする。C/C++/C#は俺も大好きだし、素晴らしい開発環境だと思うけども、臆面も無く低レベルプログラミング言語を挙げる人のほとんどが、それ以外の低レベルプログラミング言語を知らないんだもの。それどころか、IA-32仕様書があることすら知らないし、興味が無い。せめて4004の基本構造くらい理解してから言ってもらえませんかね。

要するに「プログラミングを理解する知識の深い私」を演出するために、いちばんてっとり早くて優等生な回答なんですよね。C/C++/C#は。あと、アセンブリ言語や、機械語もこのカテゴリに入る。

確かにUnixを記述したC言語として鉄板なことは間違いないけど、本当にプログラミングが好きならもっとたくさんの名前が挙がってもいいと思う。もっと書けよ!インテル系以外も!最近のも!「C」「アセンブラ」「MMX」「SSE」「3DNow!」のコンボはもう飽きました。

1度だけ悲しきAdaという回答が返ってきて、土下座せんばかりに感動したことがあります。あ…この方、本当にプログラミング趣味でやってるんだ…と思ったよ。


ごめんなさい、僕、嘘をつきました。

ログイン ユーザー登録
ようこそ ゲスト さん