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

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

2020-05-06

役所ワークフロー効率化ってITでできるものなのか?

ハンコを無くすといったわかりやすいのは実施したらいいと思うが。

役所効率が悪いとよく言われるが、それは受付側から見た場合の話であり、ワークフローを知っていて改善フロー提案できる人は限られていると思うのだがどうだろうか?

民間でもIT効率化とよく言われるが、よくあるのが他の人にタスクを割り振っただけでというものだ。

またRPA流行ったが導入できる場所は限られている。(過程プロセス改善はあっただろうが)


役所場合、多くが書類作成なわけだが、コンパイラエラーを吐いてくれたり、IDE修正方法サジェストしてくれるわけでもない。

2020-05-04

anond:20200504114915

アセンブラ最近コンパイラがクソ賢くなったって聞いてもういいやって

C++Python体感無限倍くらい遅い

2020-04-05

リアル都市経済シミュレーションゲーム必要では

現実データを定期的にデプロイで反映。

新しい政策を考えたり、実装したりして、少し先の未来がどうなるか把握できるようにする。


国が統計取っているけど、数値データ実装先がそのままコンピュータ上にない。

いから、ガバメントデータとして公開されているが、スクレイピングで取ってくると前処理が必要か、新しいデータが出てくるたびにしなくちゃいけない。

役所の人もコンパイラエラーエラー吐いてくれるようになればチェックできるが、今は目でのチェッカーだろうし)


SNSで色んなことを言う人が出てきて、賛否を論争するが、意思決定必要データ開示方法となっていない。

海外比較してこうすればいいと提言を受けても、日本国内事情が違うことを現場の人しかからないので出来ないというのも解決できるのではないか

2020-03-17

anond:20200317154313

あんまり開発に興味ない。

swiftコンパイラもクソ遅い、出来が悪いって評判だったし。

2020-03-16

anond:20200315225230






















ほぼ毎日使っている一部を挙げたけれども、出勤準備の時間が近付いてきたのでココまで。
気分が向けば追記するかも知れない。

2020-03-15

anond:20200315122517

コンパイラコンパイルできればお金になる時代だった

そういうひとをたくさんつかってお仕事するきっついしごとだからプログラムできると

あるいみ損する

2020-03-14

anond:20200314172554

linuxでいうと

コンパイルコンパイラ

リンクリン

処理はバッチ

定期実装はクロンなど役割を分けていて各場所が違うだけなんだが

なにができないんだ?C言語だと

2020-02-02

anond:20200202194246

そうだね、そんで客が気まぐれで言ってきた仕様の整理もロクにせず安請け合いし、コードスパゲッティ化して、止む無くコンパイラの警告を無視するのが常態化し、挙げ句客に怒られ、大慌てで治したつもりでデグレすんだよな。

まさしく低レベル仕事尊敬するわ。

2020-02-01

秋葉原でパーツ買ってくるのが精一杯。

コンパイラMS製品

ふつうの子じゃない?

Javascriptがやっと組めた程度

2020-01-20

[] まもってくれてるよ。ありがとう。やくにたつから大丈夫

初心者が陥りやすポイント

 

for(int i=0;i<1000000:i++) ;

などのコードデバッグ時には有効だが

再液化をすると、意味がないとしてそもそもfor(int i=0FALSE;i++)に解釈するコンパイラが多い

コード速度優先、なら、速度を遅くするから

コードサイズ優先だと コードを大きくするから

ただしい

いやなひとは最適化無効にすればよい

速度に対しても、サイズに対しても最適化されなくなる

無料コンパイラや安いコンパイラだとたぶんこの2つが有名だとおもう。

高級なコンパイラはよくしらないけど、

うわさではほかの最適化があるらしい

2020-01-16

★まとめ

ソートアルゴリズムの N=1,Bigなど一般に言われている理論と違うことは計算上でもおきているのだから現場でも起きる

コンパイラ最適化がかかるとN=1のときは更なる特殊解になる

N=BigときはN次記憶装置という計算方法も大切

プログラマー休み方も大事 クールダウン

2020-01-14

ソートがまさにそうだけど、バブルソートの特異領域N=1,Bigがそうだけど(例示)

教科書どおりにならないことがあるから

ソートアルゴリズムも1つじゃなくて、テキストでもあれだけ教えている。

現場ではどうするか?といえば

何種類も書いて、データを取って、比較検討して

採択されたものソースコードに書かれる。それいがいはブランチに合ったりする。

いくつかは、排他的だったり選択的だったりして

コンパイルオプションソースコードに残る

これらがあるので、いわゆるバイナリリバースからソースコードの複雑さは推し量れないし

こういう膨大なテストがあったりするので(俺の場合は少ないが)

ソースコード価値はなかりしれなかったりする。

 

リバースだけから学ぼうとするな、ソースコードアセンブリ結果から学べ

というのはそういうこと

 

いくつかいったけど、コンパイラ最適化を期待したりしてソースを書いたりするので

そういう書き回しをまなんでいくことも重要

ソースだけになw

anond:20200114041018

ソートプログラム 太田式(名前適当)一考察

 

バケツソートバブルソートを含むとする)のような単純なソートプログラムを例にとっても

N=1,Bigとき例外となる。プログラム教育ではこういう例外は良くおきるので準正常系のようなものだが、慣例的に例外と呼ぶ

どうように1,1,1,1、のような偏りの大きいデータにたいしてもソートプログラムは特異な処理時間必要とする。

 

ソートは、そのデータの量や質、大きすぎる、小さすぎる、偏りが大きすぎる、小さすぎる

などによって、一般的に言われている特性とはことな特性を示す。

これがもっと標準的ソート例外であり

データや偏りが小さいときコンパイラなどの最適化により、さらに異なる特性を示すことがある。

一般的にはコンパイラ最適化は気にする必要がないが、こういう例外にはなりやすいので、納品などがある場合は1度確認しておいたほうがよい(アセンブラレベルコード確認など方法任意

 

入力の量の偏り、質の偏り、装置特性★ これはどのプログラムでもそうだが、ソート説明やすい。

2020-01-12

永遠に書きあがりそうもないやつ

何かの参考とかにしたらダメです。書き始めて半年つんだけどこっからどう直したらいいんだか(何をゴールにしたらいいのか)わからない。。

追記:合流性とか強正規化可能性とか停止性とか、全部チューリング不完全で、事前の静的解析で使うメモリの最大量が確定できる、とかそういう風に読み替えられる人を増やしたいのです、数式の添え字とΣと∫にびびらない人を増やしたいようなもの

理論理学の一分野である証明から成長した、数理論理学理論計算機科学境界領域研究領域である型理論(type theory)は、大規模なプログラムの内的な整合性のチェックを行うための方法論を必要とする情報処理技術の分野で関心を集めている。

 そもそも「型」(type)とは何か。プログラミング言語一般的にはレコード関数といったプログラム構成する「値」(value)の定義をする道具である(*1)。その言語コンパイラ作成者はこれらレコード関数などの値、もしくは第一級の対象(first-class object)の種類を区別する型システム(type system)を必要とする。抽象代数学観点からすると、「型」とはこれらの値もしくは第一級の対象が属する高階の対象(higher order object)としての空間(space)ないし代数系(algebraic system)で、型システムはそれら「型」とそれら相互関係(relation)つまり型のなす順序構造(order structure)ないし束構造(lattice structrure)であるといえる。

 プログラム構成する値すべてに型が付くためには、曖昧でない(*2)こと、自己矛盾していないこと、悪循環を含まないこと、それぞれの値の内容をチェックするために無限時間を要しない(*3)ことなどが必要で、これらを満たすなら、プログラムは有限時間で実行を終え、停止する。手続き型言語では無限ループ、型無しラムダ計算では無限再帰によって型付け不能プログラムを書くことができるが、型理論はこれらのチューリング完全な計算機意図しない停止しないプログラムから守る装甲でもあり、再帰メモリ確保で好き勝手をさせないための拘束具でもある。型が付くプログラムには単に停止するというだけでなく、可能な実行経路(訂正:経路→方法)のすべてで同じ結果を出すなど種々の良い性質がある。

1)この定義現実に使われているプログラミング言語の特徴を覆い切れていない、狭い不満足な定義だが本稿では都合上この定義立脚して限定的議論する。例えば変数(variable)というものを持つプログラミング言語もあり広く使われているが、これについてはレコード関数と同じように性質の良いものとして扱うことが難しい。難しさの原因は次の注の内容と関連する。近年は変数を扱うかわりに値の不変のコピー(immutable copy)やその参照に名前を付ける機能を持つプログラミング言語が増えている。

2) 現実情報システムでは、COBOL言語レコード定義C言語の共用体、一般的関数ポインタVisual Basic言語のvariant型変数のように、同一領域に異なる型の値が共存する共用型(union type)の値がしばしば必要となる。共用型の値はgoto文を排除した構造化/オブジェクト指向プログラミングにおいて条件キャストクラス分岐などによる実行経路の複雑さの主要な原因になるが、これは和型(sum type)すなわち相異なる型の非交和(disjoint sum)として定義することで曖昧さな定義できる。

3) ゲームプログラムネットワークサービスにおいてしばしばみられるように、入力として無限リスト任意に深い木のようなものを想定する場合には明らかに(条件を満たさない限り)停止しないことが正しい動作となり、この場合は最外周のループを(←どうする?)メモリリークを起こさないなど別の考慮必要となる。

2020-01-11

anond:20200111100112

int i=3+4;

こんな命令

コンパイル時にi=7

最適化されることがある。是非はある。良い場合と悪い場合があるからなんともいえないけれど、

コンパイラ最適化することがある、または、最適化してしまうことがある(バグの原因になる)というのは覚えておく必要がある。

普段はある一定範囲コンパイラ最適化してくれるということに頼って、・・・まぁ、マニュアル自動車オートマ自動車みたいな感じで

シフトチェンジオートマに任せる感覚最適化されることを前提にCのコードを書くこともある。

忘れるから

ソートはN=1,N=Big Dataが特殊解 のこり1ネタ

N=1のときコンパイラ最適化によってコードが大きく変わる。

Big Dataが昔は教えていたが、いまは時代の流れで教えなくなった主記憶装置から零れ落ちた場合特殊解になる(メモリは増やしてもT じゃぁ100Tあったら?200Tあったら?)

試験リーダーに任せる(リーダーマエストロ

これぐらいかな。

ただよ、こんな簡単なことでも、大変だったんだよ。ほかの問題がおおよそこれを説明すれば解決するという共通解までまとめあげて取捨選択するの。

失われた技術をもってるって高く売れるはずなんだけど、事故に巻き込まれ悲惨な目にあうから教えたほうがいい。うまくいったひとのコピペのほうがはるかにもうかる。(もう取り返しがつかないレベルで)

バブルソートのNが1の場合特殊回答となるのは

計算時間がN~2の単純解というのは2LogN+2Nよりも高速になりえるという驚愕理屈だけではなく

for(int i=0;kess(i,N-1);i++)が

for(int i=0;less(i,1-1);i++)となるために

実質初回が偽 i<0 0<0となるため1度も成立しない、となり

コンパイラ最適化されるため、そもそもforループが0バイトアセンブリコードになるという驚愕理屈による

当然0バイトなのだからなこれほど高速なコードはない 実行時間が真に0

2020-01-03

できなくはないという結論になった場合は、お前の腕が悪かったといわざるをえなくなるからいやだ。

アーキテクチャーが違う。

あとは細かい設定の出しなおしだろうな。コンパイラが違うとみなおさなきゃいかん。

2019-11-15

OpenCLが良く分からないんだけど普通コンパイラ最適化みたいにループを展開できるところは展開して並列処理してくれるって理解でいいのかな?

2019-11-09

Go conference 2019 autumnに行ってきた感想

10/28 に行われたGo言語カンファレンスに参加してきました。

いつからGo conferenceが行われているのかはよくわかりませんが、例年春と秋に開催されるのが通例のようです。

今回私は、Wantedlyが行う「学生応援支援プログラム」という枠組みの中で参加することになりました。学生応援支援プログラムというのは、学生に対してカンファレンスへの参加に伴うチケット代や、会場までの交通費を全て負担してくれる制度です。詳しくは https://boards.greenhouse.io/wantedlygoscholarship/jobs/4459011002 を参考にしてください。

Go conference 2019 autumnに限った話だと、Wantedlyの他にも同じようなプログラム実施している企業がいくつかありました。

今後もそのようなプログラム実施されることがあると思うので、学生に限った話ではありますが、興味がある人は応募してみるといいと思います

ここからは私が今回のカンファレンスに参加しての感想を書いていきます

私は、大してプログラミング経験があるわけでもなく、技術力も高いわけではありません。Go言語に関しても今回のカンファレンスに参加する半年ほど前から触り始めたというレベルでした。それでも、そのくらいの経験値の人が特定プログラミング言語テーマとするカンファレンスに参加して何か得るものは有ったのか、みたいな視点で書いていきます

今回参加して良かったと思えたことの1つは、Go言語のものに限らず、幅広い知見が得られたことです。カンファレンスの各セッションで触れられる話題というのは、コンパイラアセンブラなどの低レイヤな話からテスト設計に関する普遍的原則、また比較的新しい技術スタック使用したプロダクトを開発・運用していく中で得られた発見など、かなり多岐に渡ります。そのため、Go言語テーマ主題としつつも、普段であれば自分から能動的に掘り下げない分野・領域についての話を聞くことができます

これは、私にとっては特に嬉しいものでした。私は、Go言語を使ってAPIサーババックエンド実装したり、簡単CLIツールを作ったりしたことがあるのですが、その時に自分で調べることは、あくまでも目の前で分からないことがあって、それをどうすれば解決できるか、という狭い範囲についてでした。

そのような狭い範囲の探求を繰り返すことも開発を進めていくためには重要ですが、自分経験したことの無い領域、また自分が詳しくは知らない領域について学習することも大切だと考えていますしかし、そのような領域についての学習自分の中での優先順位が低く、かつ調べるためのキーワードすら分からないので何をすればいいかもよく分かっていない、という状態でした。

そのような一種の停滞状態を打開するものとして、今回のGo conferenceは絶好の機会でした。

これは、今回のGo conferenceに限った話ではなく、他のconferenceや技術イベントについても言えることだと思いますが、自分の知らないor詳しくはない領域についての学習を続けることで、技術に対する新陳代謝(?)のようなものを常に保っていくための機会は大事ものだと思います

そのような機会を提供していただいたWantedlyにはとても感謝していますありがとうございました。

2019-11-07

TypeScriptは滅びる。確実に

TypeScriptTS)がJavaScriptの代わりになるだと?確かに型を使えるのは良い。意味不明オブジェクト操作しまくって意味不明な動的型付けするJSに型が追加されたら、そりゃバグも減るだろうよ。でもそれは意味不明オブジェクト操作し、再代入を繰り返すレベルの低いJSerの責任だ。コーダー責任なんだよ。Python意味不明オブジェクト操作しまくるが、JSほどはひどくならない。Pythonも型ヒントなんてものが導入されたが、誰が使うんだこんなの。果てしなく冗長になって糞だ糞。DocStringを充実させるのと型ヒントを充実させるの、どちらがどれだけメリットが有るっていうんだ。DocStringで十分だろ。全員アホだ。話をTSに戻そう。

散々文句を言ってしまったが、型が使えるのにはこしたことはない。TSを始ようじゃないかTSインストールしよう。Node.jsをまずインストールして、TSインストールしたぞ。ついでにgulp、webpackもいるのか。おいまてよ、ts-loader、webpack-cli、webpack-dev-serverもいるのか。何が何のために必要なのかよくわからないが、node_modulesはすでにパンパンだぜ。tsconfig.jsonを設定してsrcとdistを決め、ECMAバージョンも決めたぜ。webpack.config.jsってファイルもあるじゃないか。これも設定が必要なのか?俺はいつになったらHello Worldを書けばいいんだ?なめてんじゃねえぞ!!!なんかに似てるんだよ!これはCだ。C言語プログラムを書こうってときに、コンパイラ必要インストールして、パスを通して、謎のおまじないを書いて、それでよくわからないままHello Worldを出力したあの頃の思い出がフラッシュバックしたぜ!いや、TSはそれ以上に糞だ。なにせ設定ファイルばっかいじってまだ一行もコードを書けてないくせに、ファイルサイズは70MBを超えてるんだからな。「TS コンパイル」で検索したら、なんで「次にgulpをインストールしましょう」なんて記事がヒットするんだよ!糞か?いや糞だお前は!

プロジェクト必要ツールインストールするのは当たり前だって?偉そうなこと言ってんじゃねーぞ!どうせお前なんか先達がすでに準備してくれたプロジェクト環境に後でアサインして、「これとこれが必要からインストールしてね」って言われてそのまんまインストールしたクチだろうが!どのツールがどのシチュエーションで最適なソリューションなんかわかってねえに決まってら!どのツールがどのシチュエーションで最適なんか誰もわかってねぇんだよ!インターネット情報適当に転がってて、お前の先達もDevelopers.IOの記事を読んでなんとなく良さそうだからインストールしてんだよ!全てを正しく把握してるやつなんか日本で3%いたら多いほうだろ。少なくともお前も俺も理解してねぇよ!PHPRuby駆逐するって言われて何年たった?今でもPHPは現役で、RubyPHPの後ろを歩いてるじゃねえか。jQueryが消えるって?同じ理由で消えねえよ!一生やってろばーーか。JavaScriptも消えねぇよ。ECMAアップデートに従って生で書けば十分だろ。こんなコード書くまでにうんこ行きたくなるような設定ファイルばっかいじらせる言語にとって代わるわけねぇだろ。消えるのはお前だばーか

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