「コンパイラ」を含む日記 RSS

はてなキーワード: コンパイラとは

2021-06-02

C言語を学ぶというのは

プログラマーがその書き方をするとコンパイラ

どういうアセンブラ最適化してくれるか

というのを期待しながら書いていくまさに

while(true){

}

アセンブラレベルではIF(cmp)ではなく 常にGOTOを吐き出せ

というのまで理解しながら書くということだし

下手すりゃ半導体工学とかまでやるんだが

わかっているか不安

 

で、実際にならなきゃ場合によっては、インラインアセンブラアセンブラでそこだけ書き下すんだが

2021-05-31

jurina

cat filename.jurina

print "Hello world";

という命令ファイルから受け取ったら

public class filename{

public static void main(String[] args){

System.out.println("Hello world");

}

}

と出力するプログラムをjurinaと名付けるとする

cat filename.jurina

int i=1;

print i;

public class filename{

public static void main(String[] args){

int i=1;

System.out.println(i);

}

}

ものすごく単純なPythonっぽい独自言語

Javaに置き換えて出力するだけのJava プリプロセッサである

さて、このJurina言語JAVA VMで動くと思うか?

   

言いたいことVMを解析して、OPコードを吐くコンパイラを作ろうとしていたが

そもそもコンパイラが作れるならJavaソースコードを吐いてしまえば良いことに気がついた

2021-05-28

anond:20210527175503

初期のパソコンにはコンパイラなんて無かった。あるのはBASICインタープリタばかり。で、苦労してコンパイラを手に入れたりした。(または、苦労してコンパイラを作った)

2021-03-19

anond:20210319174937

でも、SQLを事前にコンパイルしてストアするかどうか、とか、今どきのトレンドわからんしな

なにがいいかもわからない

しかにそうだな、下手なSQLコンパイラコンパイルされるより、直接SQLの方がまだしもいいかもな

2021-02-08

anond:20210208203137

しかもいまどきは

D=A&B&C;の場合Aが0ならDも0だからBとCは計算しなくても良いという基本概念

SIMD展開する場合

BとCも計算したほうが速い

という理屈に覆されているから、コンパイラがどっちを吐くかによって

D=A&B++&++Cみたいな式の展開こそ間違えないものめんどくせぇ

anond:20210208202842

まり初心者はGOTOを使わずにIFで書け、間違いやす

というのが、なぜか、C言語のGOTOは間違いだから、使うなに進化した

間違いなら言語採用されえいるわけネーだろ

だがJNZがわからないのならGOTOを使うとだいたい、間違っているから、IFつかっとけ、コンパイラがやってくれるというのが正しい

2021-02-07

anond:20210207213231

ならば AndroidAPI実装者の責任ということになろう。

当該技術を採択した責任ももちろんあるが、他の選択肢は取り得たのか…?

コンパイラをはじめとするあらゆるモジュールの正しさを保証する責任は末端のアプリ開発者にはない。

実機テストは上手くいくことを保証する役には立たない。バグシステムへの誤解から発生するため、本質的ランダム所在する。典型的な利用パターンで上手く動くように見えても、ほんの少し条件を変えただけでアプリ状態は壊れうる。

実機テストは正しさの保証ではなくバグ発見するために行う。そしてバグ発見する方法もっと効率的ものもある。ユーザーバグレポートを拾うとか。アグレッシブバグ潰しにコストを避けないほどスケジュールが逼迫していたのなら、問題はカネを出す側にあるということになる。

2021-01-27

営業さんから見ると、プログラマーっていらない人材NO1

コンパイラフリーがあるし

みーんなフリーがある

もういらない。

人手不足も解消

いらないだろうなぁっていう

2021-01-25

いいけどさ PHPなり、Pythonなり、ちょっと使うだけなら学生でもできる。

企業が欲しがるサービスが、その程度なら

マックでいいなら、ファストフードでいい

きちんと、面倒を見る人はいらない。

逆もそう、無駄ものを除いてpyrhonだけのほうが、実は効率的

使ってない機能を別サーバうつして、重い処理だけをPythonにのこして

調整

なんにも内容に見えるけど、使うものだけはサクッ

いらない。10倍かね払えばできるから わざわざエンジニアをやとって、臭くてキモいおっさんオフィスにいれるくらいなら

10倍サーバに払って、若い子女の子を並べたほうが良い

せやなって思った

 

それ専門ではないけれど、コンパイラでもPHPでもみえおっさんは、キモくて臭いし、話をしたがらない。

どうして40超えて業界にいるの?

せやな

てつだってあげようか?

せやな

やり方を定型化して、できるようにするから、もうあんたでもできるで

仕事が減っていく

anond:20210125104512

アセンブリレベルではgotoなのだから

なんてことを言ってるのは30年くらい古い。

今どきの最適化コンパイラが処理すれば、ループ構造であることが構文上はっきりしてるforの方が、構造が分かりづらいgotoよりも速いオブジェクトコードを生成できるハズw

branch predictionとかspeculative executionとか色んな仕組みがあるでなw

anond:20210125122247

思うことはたくさんあるし

会社の言っていることが効率悪いなと思うこともあるけど

おっしゃるとおり

これが、職人

アホ実装みえても、それが、他のパーツとあわさって、驚くような高性能を出すこともある

ただ、コンパイラはあとで自分たちで変えてCPUも変えるけど

それを秘密にしたいかコードだけ書いて、とりあえずIntel

みたいに実機を渡さないのは

実機でスピード図りながらコーディングするプログラマーの大否定から

なんか、人格否定されているな、創造性がねーなっておもうよ。

anond:20210125121243

差がつかないということは、誰が使っても同じオートマみたいなもんだから

結果論、そこで差をつけて、お金をもらおうという、新人が減るから新人つぶし。

だれでもできるで、がんばるやつはいない。

プログラマーの層を薄くするコンパイラを、良質なコンパイラはいわないとおもう。アホナニーコンパイラ

ちょっとがんばると、ちょっとだけ差がつくコンパイラインタプリタがどんだけ研究がいるとおもってんねん

そこで、やる気を出してもらって、プログラマーもっとつかってもらおうとか、もっと勉強してもらおうとおもうことが、どんだけ重要かというと

今の時代は、いらないもの

anond:20210125121243

余程あほコード書くんでなければif()オペレーション最適化するコンパイラなんてそうそう無いだろ。ましてやgotoループ制御されてるんだからコード圧縮なんてできない前提じゃん。

anond:20210125121448

わいもそうおもう。ただ、新しいC++では他の言語のforeachをforで書けて、自動的コンパイラ判別した気もする 難しいな

anond:20210125111810

何を対象としたコンパイラかで話が違うんよね

まぁ、そういうの考えないとして

アセンブラ命令は、計算に何を使ったかで消費クロックが違う

その辺の最適化について、最近コンパイラは性能良いぞ

コンパイラがやってくれる分、forのが良い

特にマルチタスクが絡むようなOSを介する場合メーカーの人にアセンブラは書くなって言われる

高級言語コンパイラはその辺の素人が考えるより良く出来てるから差は出ないよ

anond:20210125110950

最近は、結果が同じなら、コードを変えてもいい for も whileもおんなじだという コンパイラは多いし

プログラマーは手動で最適化コードなんて書かない 

へたな最適化コードより、コンパイラーの作りてのほうがあたまがいいんだから

プログラマー最適化なんてするなよ、馬鹿プログラマーは、余計なことすんな。俺たちはコンパイラを作れる天才プログラマー様だぞ 頭が高い という表現をするコンパイラはおおい

プログラマーなんて、馬鹿なんだから、もしくは 天才だけ 練習中とか 成長とかを 考えない表現をするコンパイラは多い

 

こういうふうに書いておけば、使った人が工夫を色々して成長するという表現コンパイラは少ない

コンパイラを使うプログラマー人間だって思ってくれない

機械学習コードもそういうのが多い

anond:20210125110641

for i=0;i<3;i++ printf("*");

vs

printf("*");

printf("*");

printf("*");

同じだったら、コンパイラが、造り手に反逆している

なぜみて、速度がわからない。

あとで、なにかするためや ウェイトでforが入ってたらどうするコンパイラ

言われた範囲最適化しろ

増田脳内にはコンパイラーが入ってて実測しなくても早い遅いが判明できる

素晴らしい脳みそだ(白目)

perlでは~、に対して「コンパイラが」とか返してるのも怪しい

(perlってJITあったっけ?)

anond:20210125103259

バイナリに変換できるってことは書けるんだよ

能力が低ければForeachでいいだろうな

コンパイラ自動でやってくれるし

anond:20210125102550

コンパイラ次第ってことでしょ

基本的な奴と違ってインデントを毎回生成するようなバイナリに変換されることもあるからコンパイラ事情を予想してFor文と同じバイナリに変換されるように書ければ早い

最も単純なForeachならこのバイナリになるけどちょっと変なのを挟んだりするとすぐにインデント生成されるからパフォーマンスが落ちる

2021-01-24

anond:20210124102953

gccもそうなんだけど、Intelコンパイラすげーなーという

ただ、プログラマーとしてはまだまだ、フロントの方を向いていたくて、gccをあまり回析するのに時間をつかいたくなかったんだけど

失業したしちょうどいいからってgccコードあらっているけど難しいなABIをどうやって簡単gccインストールするかを今調べてる

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