はてなキーワード: アセンブラとは
Intelさんが1
万個に対応してくれるといいな
エイプリルフールは ことしどう? Sonyはね なんか 学生?っていう。
ことしはインターンにつくらせたのかもな
いちおうれいの、学生も手伝ったけど プロの犯行 どこの プログラマーが おもいつきで メイド呼べてテレビとタイアップしてるんdな。
どう考えたら ニュースリリースにドラゴンって書いてないのか わからない。
そういうのがあるからな。俺も気をつけないとよ。
ペアプログラミングっていうのは、おんなのことちゅっちゅすることじゃないですよって
いわれるから
さすが 西海岸っていう 即日反応くれるのいいよな
いちおう とかげ感ぐらいはあったとおもうんだけど 予算は学生級でがんばったからな。いちおう。
ちょっと コラ感がな
おっと・・
心得てる感がある。
おぉっと っておちゃのまでいうあれは。
最近目が疲れてて
10かぁっておもって
寝てすっきりすると
0.98ぐらいになってて
1.0と10みまちがえたか。しょうがないなぁおれ って疲れを感じているから みんなたのむね。
プログラミング言語を印象批評している記事に触発されて、自分も印象批評してみようと思う。
JavaScript以外にもブラウザ上でぐりぐりするのにはJava AppletとかFlashとかSilverlightとかいろいろあったけれど、結局標準化を成し遂げたHTML5に淘汰されちゃった感じがする。LiveScriptからJavaScriptに改名されたり、規格を話すときはECMA Scriptだったりといろんな別名を持つ。一応、プロトタイプベースのオブジェクト指向言語なんだけれど、それを意識してコードを書く人がどれくらいいるかは謎。
Pythonは小さいコードを書くのには楽だけど、これで大きなコードを書くと思わぬ変更で思わぬことが起きるのでつらい。しばらく使うとPythonイヤイヤ病にり患し、goを使うようになるらしいとか、ならないとか。pythonで大規模なコードを万一書こうと思うなら、カバレッジが高いテストを書いてくれと思う。
Javaは初期のころオートボクシング / アンボクシングもなく、ストイックなオブジェクト指向言語だった記憶がある。ただ、staticを多用してオブジェクト指向とは程遠いコードも簡単に書けるので、Javaで書いているからと言ってオブジェクト指向だと思うのは禁物である。
PHPはWebネイティブな言語で、初期のころHTTP POST/GETなどで渡された変数がそのままプログラム中に出てくる機能や初期化していない変数を最初に使うと空文字列あるいは0で初期化するという機能があった。また、文字列と数字を臨機応変に切り替える機能もあり(今もそうかは知らん)、数字と文字の比較を比較演算子(==)でシームレスにできる。パスワードチェックみたいなコードで===ではなく、==を使っているとPHPを知らないバカ扱いされる。
C#はHello Worldくらいしか書いたことないから知らん。monoのような互換環境があるのは知っているけれど、わざわざPC Unix上でmonoを使う気分にはなれなかった。
C++は黎明期に使った感じと、C++11以降に使った感じが驚くほど違う言語。今はかゆいところには大抵STLで手が届くし、autoを使えばイテレーションで腱鞘炎になることもない。PC Unixにも最初から環境がインストールされているか、簡単にインストールできるので毛嫌いせず使うとよいと思う。
Rubyはぎょっとする変更をよくやるというイメージ。これで書かれたプログラムを長年愛用してきたが、ぎょっとした変更を入れられて動かなくなったのでgoで書き直した。その点ではpythonも3でおいていかれたので嫌い。
TypeScriptは書いたことないから知らない。JavaScriptだと大規模コードを書くとつらいのでTypeScriptを使おうという人がいるのは知っている。大規模なコードを書くとしたら、インタフェースに合った呼び出しかコンパイル時にチェックしてくれるような強く片付けされた言語のほうがよくなってくるというのはわかる。
Cは片付けし、構造化したプログラムを書きやすくしたアセンブラ...というイメージだったんだけど、C99くらいから便利機能がいろいろ入ってそうでもない感じになった印象。昔はCのコードを見たら最適化した後のx86アセンブリが見えていたんだけれど、最近は見えなくなってしまった。子供のころ、本屋で秘伝C言語問答 ポインタ編に出会ったのがこの業界に入るきっかけだったのかもしれない。ほかの言語でいろいろ楽に書けるから、カーネルをいじるか、システムコールをたたくかするときくらいしか自分の中では出番がなくなってしまった。
これ以下のランキングのもその気になったら書こうかな。
CPUをVHDL,Verilog,System-Verilogで書いたりした時もあった。
USB,HDMI,電池の充電制御,WiFi,自動車など色々やったが、コンピュータが遠くなっていく感じがある。
FPGAでCPUを書いてOSを起動させたとして、自分の普段の仕事環境が良くなるわけではない。
ソフトウェアでは次々と開発環境が良くなっていくし、自分で使いやすいようにカスタマイズもできる。
でもハードはそうではない。MS Officeは動くがメモリが4GBでカクカク。
作ったハードも自分達が使うわけじゃない。例えば100Gイーサ開発してもその恩恵は得られず1Gbpsが関の山だったりする。
Python,Go,R,C++,Rubyくらいになると書けるがどう動いてるかわからなくなってブラックボックス化する。
社会的には正しいのだが、自分が関わったハードと自分が書いたC/C++のコードを上位から呼び出すのはわかるが、
ハードが変わったらブラックボックスになる。ロジアナやオシロで見てわかるレベルであればいいが。
PandasのTime seriesが時間を扱えるのかと思っていると、ピコ秒が扱えない。
これは1例に過ぎないが、Amazonや本屋で新刊が出ると買って勉強し、ライブラリの公式ドキュメントも読んでいくが、仕事に直結しない。
クラウド使ってディープラーニングのやり方は沢山情報はあるが、CPU内蔵GPUでメモリ4GB+FPGAでやる情報なんてない。
https://en.wikipedia.org/wiki/X86_assembly_language#Execution_modes
Real mode (16-bit)
Protected mode (16-bit and 32-bit)
Long mode (64-bit)
Virtual 8086 mode (16-bit)
System Management Mode (16-bit)
https://software.intel.com/en-us/articles/introduction-to-x64-assembly
General Architecture
Since the 64-bit registers allow access for many sizes and locations, we define a byte as 8 bits, a word as 16 bits, a double word as 32 bits, a quadword as 64 bits, and a double quadword as 128 bits. Intel stores bytes "little endian," meaning lower significant bytes are stored in lower memory addresses.