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

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

2022-01-04

女と話すのもコンパイラと話すのも苦痛

女とコンパイラは意外と似ているのではないだろうか

おめー、セミコロンが文末にないやろ、とか言いがかりをつけられても、

文法はどこも間違っていなくて、

よくわからんが、MSコンパイラUTF-8ソースコード勝手Shift-JIS解釈するらしくて、

Visual Studioは「ビジュアル」なはずなのに、

わざわざプロパティダイアログ開いて、コマンドラインに書くオプションをそのまま書かされて、

なんか不満をもらしたり、言いがかりをつけてきても、

女も客とか上司とかも、本音の部分はどこか別のところにあって、

わざと本音を隠してるのなら人として?まだ分かるのだけど、

意外と多いのは、本人自身も不満の原因の場所ちゃん理解しておらず、

頓珍漢な場所について文句をたれるので、そういう人はほんとに困る

でも、意外と多い

ヤンキーとかDQN系にも顕著にその傾向がある

わざとはぐらかすにしろ自分自分自身理解できてないにしろ

まあ、わざとだろうが不愉快だが、わざとの方はまだ頭がいい

2021-12-18

シス創知能社会システムコース

分野横断的な人材を育成するということだが、マネジメントコンサルティング立場が近い。

制御工学最適化と言った工学の基礎分野は抑えているが、演習もなく、定着しづらいと思う。数理的な面での基礎を学びたいのであれば計数工学の方が適している。

プログラミングプログラミング言語演習の他、アルゴリズム計算理論などの基礎は教えるが、OSコンパイラネットワークを深く掘り下げることはしていない。演習の難易度は低い。

エンジニアとして技術を学びたい人よりは、プロジェクトマネージャーITコンサルタントになりたい人向きだろう。

巨大なシステムを扱うため、数理的に扱いづらいのか、テストではなく、小論文レポート講義が多い。

理念をそのまま実現できているかというとできていないと思う。

社会人になると、技術以外の立場から問題を捉える重要性は理解できるが、大学講義の中でそれを習得できるようにすることは難しい。

私も工学製造業以外の分野に広げていく必要がある、経営学マーケティング知識エンジニアが持つべであると考えているが、エンジニア技術習得との両立が難しい。

新しい社会に立ち向かおうとする熱意ある人材が集まってくると思うが、方向性が違っていたりすると悩むことになると思うので注意して学科選択した方がよい。

カリキュラムもっと情報学数学統計講義を増やすべきだと思う。データ処理の重要性は今後増々伸びていくだろうから、これらの知識もより重要になるだろう。

計数工学科と似てくるという問題はあるが、それらをツールとして扱う立場から学ぶということで差別化していくのがよいとだろう。

2021-11-30

anond:20211130223224

そう書くとコンパイラが「このif文は常にfalseになります」っていう警告を出してくれる

2021-11-26

anond:20211126110607

フロントエンド実質的に React と Next勝利で結末して、今は Babel やらツールチェーンの殲滅期に入ったからね。ウェブパックも importmap と HTTP2 で消えてくれるだろうし、トランスコンパイラもねえ?

2021-11-25

anond:20211124171000

どんな風にプログラミング生活に取り入れて自分生活を豊かにしてるの?

別に生活を豊かにしてないよ

そもそもプログラミング自体が楽しくてやってるのでその質問は愚問だね

しろ昔はプログラミングするために食費削ってコンパイラ買ってたくらいだ

2021-11-23

東大進振りのしくじり

私が進振りでしくじった時の経緯と反省を残しておく。

いろいろしくじってきたが、その後のことも考えると、人生で一番大きなしくじりだったと思う。

未来東大生進振りで悩んだ時に役に立ってくれると嬉しい。

進振り選択まで

東大では2年前期に、所属学科を決める進振りがある。

当初情報系での進学を考えていた。候補として、

検討していた。

コンピュータ人工知能に関心があったということが候補を選んだ理由だった。

当時、LinuxFirefoxなどのオープンソース活動に興味を持っていた。

また、脳科学認知科学人工知能など人間の知能に関する分野にも興味を持っていた。

進学先検討

理学部情報学科についてガイダンスを受けた際、

研究分野としてはOSコンパイラなどのコンピュータの基礎研究という印象を受け、

工学の方が自分の嗜好に近いと考えて工学部学科検討することにした。

工学部機械情報学科はロボティクスを中心とした情報を扱っていて、

ロボットハードウェアへの興味が低かったこから優先順位を下げた。

そして、

候補として考えた。

この2つの学科ではシステム工学を扱っていた。

当時、システム創成学科現在の精密工学科が合併しており、

機械系のカリキュラム研究も含まれていて、2つの学科が扱っている分野が共通していた。

違いとしては、システム情報工学では応用物理系の内容を中心に扱い、

知能社会システムでは機械から社会工学経済工学まで扱っているという違いがあった。

定理

そして、次の理由から知能社会システムコース候補として考えた。

私は教養学部での講義からゲーム理論シェリングの分居モデルなどの話題に触れ、

また、当時行動経済学経済への物理学の応用などの書籍を読み社会科学系にも興味を持っていた。

人工知能マルチエージェント進化計算などの複雑系にも興味を持っていた。

また、自分の関心がある講義が他学科にも分散していたこから

講義を取りやすいことも良いと考え、自立して科目を選択できると考えた。

また、製造業や電器メーカーの不調から従来の工学学科に進んでよいのかと悩んでいた。

できて数年の学科だということで新しいことができるのではないかと無根拠に考えていた。

そうして工学部システム創成学科知能社会システムコースに進むことにした。

進学先での失敗

そうして、システム創成学科知能社会システムコース(PSI)に進学したが、

思うようにはいかなかった。

講義

幅広い分野を扱いつつ、講義数が少ないということで全体的に内容が薄く、未消化気味だった。

また、講義間の関連性が薄く、体系的に学べることが少なかった。

などの工学の基礎となりうることは扱うのだが、基礎に留まっていた。

また、講義を受けてのレポートが中心で理工学の演習は少なかった。

工学部から機械電気ではなくても理数系を基礎として扱うのだろうと考えていたが、

予想とは違い少なかった。

統計理工系でも社会系でも重要ものからもっと力を入れて欲しいと思う。

実習

いわゆる工学部での実験のようなものではなく、

プロジェクトを進めるという形で行うものであった。

そのため、ディスカッションプレゼンテーションなどの機会があったが、

工学部での実験を求めている人には合わなかったと思う。

上記で述べた工学的な内容を実践する機会は少なかった。

同級生

幅広い分野を扱っているということもあり、学生層が広かった。

その分、興味が合いそうな同級生を見つけにくかった。

カリキュラムが少ない分、就職活動を頑張って学部外資などに就職しようという

学生も多かった。

全員が全員そうだということはなく、修士も進むことを考えている学生もいた。

学科聴講

学科聴講は思ったよりもできなかった。

受けたいと思った講義時間が被っていたり、前提知識が不足していたりして、受講が難しい場合があった。

学科での講義に関心が持てず、モチベーションが下がっていたということもあった。

進振り時点では自分モチベーション過大評価していた。

研究

研究室には学部3年後期に配属される。カリキュラムの少ない分をそこで補う想定らしい。

しかし、私が所属していた研究室では、学部就職する学生が多く、

大学から院生ポスドクが中心であまり教育が受けられなかった。

大学

システム創成は機械情報学科計数工学科と違い、情報理工学研究科ではない。

進振り時点ではそこまで差を考えていなかったが、講義の内容やPCなどの設備が違っていた。

大学院でより専門性を高めたいと考えて情報理工学研究科に進んだが、

実力の不足から、大した実績を上げることができなかった。

学部では幅広い内容を身に着けて、大学院で専門性を高めるということを考えていたが、

学部での専門性を補うことは十分に準備しないと難しかった。

他の研究室に進学するならば、その研究室と密に連絡を取って、院進学前から

必要勉強研究計画作成をしないと、講義就活研究必要時間が取れなくなる。

このようなことから大学院では成果を出せず、就職活動もあまりうまくいかなかった。

反省

初めての意思決定での失敗

振り返ると、それまでの人生で初めて大きな意思決定をする機会だったが、そのことを十分に認識できていなかった。

取捨選択するということができず、幅広いカリキュラムがあるということから選択肢がありそうな道を選んでしまった。

安易に考えず、具体的にメリットデメリットを書き出して、検討すべきだった。

それまでどれかができるということではなく、どれもできるようになろうとしてきたことがあり、

専門性を持つことから逃げてしまっていた。

立花隆さんの影響を受けていて、文理ともに学ぶことに憧れていたが、

その難しさを分かっていなかった。

意思決定をするために必要情報を集めて、裏を取るということができていなかった。

同級生サークルの先輩ともっと相談するべきだった。

まあ、サークル工学部の先輩がほぼいないという事情もあった。(普通工学部は忙しいからな。)

進振り後の2年後期の学生相談するのがよかっただろう。

もう少し聞けていれば、進学先を再検討していたと思う。

進むべきだった学科

自分が目指すような幅広い分野を学ぶということを行うのであれば、基礎を幅広く身に着けることを

念頭において進学先を選ぶべきであった。

そう考えると、情報学科計数工学科に進むことを考えるべきだったと思う。

理学部情報学科については小中高からプログラミングを扱っている人が多いと聞いていて気遅れしていた面もあった。

独学で学ぶようにはしていたが、学科に進学した方が教育同級生など成長できる機会は多かった。

学部情報系の基礎を身に着けて、大学院で応用に広げることも十分考えられたが、当時はその想定ができなかった。

あと、当時情報学科電子情報学科進振りの最低点(底点)が非常に低く、避けた方がよいかなと思っていたところもあった。

進振りで高い点のところを目指していたわけではないが、つい点数に左右されてしまった。

やりたかたこ

今の機械学習やディープラーニング自分が当初やりたかたことに非常に近かった。

大学院でそちらに進もうとしたが、実力不足から挫折してしまった。

情報学科計数工学科に進学していれば、その分野に進むチャンスが大きかったと思う。

教養学部時代自分がやりたいことについて、教授相談したり、一般書籍ではなく学会誌を読むなどしていれば、

進路を明確に決めて、進振りでの失敗も避けられたのではないかと思う。

進振りでは点が足りなくて進学できなくて失敗したという話を良く聞くが、

これは進学先の選択を誤ったという話である。その分、あの時選んでいればという後悔が大きい。

最期

システム創成について

システム創成について、自分の失敗から悪い面ばかり記載してしまった。

この文章システム創成の悪い面を書くことが目的ではなく、

私の進振りのしくじりを具体的に書くことで何か参考になればということで書いたものである

自由度が高い分、自分計画を立てて行動できる人にとっては良い面もあると思う。

私自身は進路・キャリアを良く決めないまま進学してしまったため、うまくいかなかった。

など学科の色がはっきりしてきて、その方面に目指す人にとっては良い学科と思う。

(カリキュラムはあまり変わっていないらしいという話も聞くが。)

進振りに失敗したと思っている学生

若い大学生がこれから失敗しないようにということで書いたが、

進振り失敗しても、人生の失敗だと思わず頑張って欲しい。

転科や降年して他学科に進む手段もある。

失敗したと思っても、将来どうなるかは分からない。

現に情報学科過去は非常に底点が低かったが、今は高騰している。

システム創成ではないが、大学院で他分野に進んで研究者として業績を上げている知り合いもいるので、

まり後悔せず、前を向いて進んで欲しい。

2021-11-20

anond:20211120125947

メモリリーク起こしまくり、バッファオーバーフローも防げない

今時のコンパイラならどっちもエラーになるやで

え?ウソでしょ?

getsとかの危ない関数を使うくらいなら警告してくれるけど、

ユーザーが作りこんだ動的なメモリ周りのバグコンパイル時にエラー検知しようがないのでは?

2021-11-16

anond:20211116144546

最近一年半くらいぶりに見たよ

なんかすごいニッチユースケースTypeScriptコンパイラ作ったとか言ってたな

2021-11-01

括弧を閉じない人

補足の意味で文中に出てくる()発言作品タイトルを表す「」、引用の“”が閉じられていないと、俺の日本語コンパイラ永久に閉じ括弧を探し続けるのでちゃんと閉じてほしい。

2021-10-06

anond:20211006191149

じゃあ1ヶ月でウェブアプリOSコンパイラから完全自作してみてよ

もちろんバグ200件以下に抑えてね

2021-08-18

anond:20210818211557

これは言語仕様レベルできっちり定義されていて

無駄だけど一応右辺も評価しとくか」っていうコンパイラがあったら明確に仕様違反だよ

2021-08-08

プログラミング言語関数型言語ってOOPを含めた命令言語に劣る理由

Scala や Elm と Lisp やら HaskellOCamlSML関数型のプログラミング言語勉強したけど、これらが命令言語に劣る理由解説しよう。

解釈自由関数言語アセンブリレベル最適化ができない

これは、SQL も同じ問題を持っているが、関数言語は「こういうふうに動いてね」という解釈インタープリターやコンパイラが「推測する」必要があるのだ。つまり、書いているときパフォーマンスプログラマー想像できない。

ハイパフォーマンスを出す関数言語コンパイラを作れば良いじゃん?

それが、現実的に厳しいのだよ。マジでコンパイラ関連は金にならない領域になってきたので、関数言語のための独自コンパイラを作る持続可能組織が無い。確かにLLVM を使えば x64arm といった最新のアーキテクチャ対応できるかもしれないけど、フロントエンドレベルすら応対が辛い。よって、関数言語C言語にてチューリング完全な同等なコードだと「いくら最速に書いても」遅いのである

人間は「命令するほうが楽」なので、関数言語は負けます

例えば if と書いたら、関数言語は else が必須ですが、命令言語は else 無しでも動いちゃうのですね。文系の連中が数学的な背景を加味して要件定義できると思うか?違うだろ。毎回、上に else のことについて聞いたら、プログラマー生産性は下がるだろ。関数言語は、上が文系だとますますだが、分岐もきっちりとおさえる必要があるから生産性命令言語に劣るよ。

2021-08-01

素直に『わかりません』と言ってくれるプログラミングスクール出身エンジニア

最近案件自分メインで担当することが増えた。

自分仕事としては案件進めているうちに出てくる課題とか機能追加とかバグ修正とかを設計してIssueとして作って他の人に振ったり自分作業に当たったりと色々なんだけど、

最近とあるプログラミングスクール出身の同僚エンジニア(最近同じ部署になった)が自分案件アサインされた。



先日その同僚エンジニアとあるIssueを初めて振った。

内容としてはとあるテーブル特定カラムバリデーション処理が漏れいるから追加してもらって、なおかつユニットテスト修正する、というもの。まあ簡単な奴。

Issueを振ってからしばらくすると同僚エンジニアから質問が来た。

ユニットテスト実装方法がわかりません。」

「ん?」と思った。いや別に特殊ことなんて何もないIssueだし似たようなテストケースリポジトリ上に山程あるしどうにでもなるじゃんって。

まあ特に考えず1個のテストケースを例として自分で作ってみて、「残りは○○の場合とXXの場合と△△の場合テストケース網羅してください」みたいな返信をした。

しばらくするとまた質問が来た。「△△の場合テストケース実装方法がわかりません。」

いやいや、そんなん頭使ってどうにかこうにか考えろよって。案件特有ビジネスロジックのことを聞かれるならわかるけどこんなレベル対応どの企業のどの案件で振られても同じことやるだけやん。

この質問してるのが未経験入社1ヶ月目の新入社員なら自分笑顔で答えるけどこのエンジニアは俺よりキャリアが長いらしい。

その同僚エンジニアはわからないことがあるととにかく素直に「わかりません」と言ってくれる人だった。

成果物についても指摘事項があまりにも多く、自分(というかその人以外)がやったら10分くらいで終わる対応に数時間以上かけて説明して修正してもらうという感じになった。何のための仕事をしているのかよくわからくなっていた。


自分ITエンジニアが「わかりません」という言葉を使うのは例えばどうしても再現性がなくてログにも何も残ってない謎の不具合とか、コンパイラインタプリタレベル不具合で現時点で解消方法がどこにも載ってない奴とか、そういうマジで「参りました」的な状況だけかと思ってた。

こんな公式ドキュメントデバッグツールだけでどうにでもなる状況で「わかりません」を使う人に遭遇するのは初めてだった。



その人はとにかく「わかりません」が多い。

レビューの指摘の意味がわからない、指摘内容はわかっても修正方法がわからない、影響反映を洗い出してほしいと言ったら影響範囲の洗い出し方がわからないと言われる。何ならわかるのか教えてほしいくらいだった。

うっすら評判悪いのは知ってたけど実際に仕事してみると尋常じゃないほど酷かった。

こっちもいろいろ対策を考えた。

Issue振るときソース上に「↓ここの○○をXXになるよう修正してください」とコメントを書いてから仕事を振るようにする、「わかりません」が来そうな部分は先手で予想して回答を載せる。

でもダメだ。こちらの対策なんてものともしないように全てを掻い潜ってくる。

もはやその人に仕事を振るのは「この作業担当してくれたら助かる」ではなく「この作業であれば流石に”わかる”だろう、そして単純作業の量が多いからしばらくは邪魔されないだろう」という感じにできる限り疑問点が少なく時間がかかる作業で”遠ざける”のが目的になっていた。

最低でもあと1年くらいは人事はこの状況らしい。。。

こういう状況ってどう扱うのがいいんだろうなぁ。

2021-07-30

anond:20210618001436

そこなんだよ。一時期暇だったから、Virtual DOMRuby実装するというチャレンジをしていたけど、ムズくてできなかった。RubyJSトランスコンパイラするのがムズくて、挫折した。

2021-06-29

基本情報技術者試験にたぶん受かったと思うので振り返り

1. はじめに

再現性はないに等しいと思うのでただのチラシの裏です。

2. バックグラウンド

令和二年度春季試験に向けて勉強していたら中止になる面倒になったのでしばらく存在を忘れていた。

そして先日メールボックスを整理していたら本年度の春季の申し込み期限と実施6月中だと書かれていたので、いい感じに知識も温まってるんじゃないかなという根拠のない自信を持って受験することにした。

あと非IT業でプログラミングスキルはPaizaランクでCぐらいです。メインはPHP

3. 午前試験対策・結果

キタミ式を一周してよくわからないところだけ暗記アプリで復習した。

試験三日前ぐらいか過去問道場計算以外を計算より割合多いだろうからって理由で復習した。

結果:70ぐらい。

4. 午後試験対策・結果

全く何も勉強していなかったので6月の頭に受験申し込みした後、選択問題おすすめをググってそれで受験することにした。

前半は午前が長文問題になっただけと見たので何もしていない。後半のアルゴリズムコンパイラ言語ちゃんと読めば簡単!とそのブログに書いてあった上に、コンパイラ言語マニュアル試験についているか命令とかを覚えていかなくも大丈夫!と書いてあったので結局何もしていない。

結果:80ぐらい。何もしてないけどどうにかなった。

5. まとめ

過去問道場過去問時間配分を気にしながら勉強すると雰囲気含めて試験対策になってよかったんじゃないかと思いました。

この反省は次回から活かしたいと思います

あとこれで午後の問題選択忘れていたらウケますね。

以上。

2021-06-24

音声って未だに制御方法が良くない

今更音声なんて、という感じがするが、いざ制御しようとすると調べても出てこない。

音を高くしようとすると、すぐに機械音になってしまう。

世の中に色んなプラグインが出ているが、自然修正をするのはない。出ているのは機械っぽくするのばかりだ。

論文に関しても探し方が悪いかサーベイが足りてないのか、出てこない。


そもそもどうして機械っぽい音声になるのか、原因を可視化出来ていない。


AIに関しても、誰かの声を再現するという方向ばかりで、誰でもない声にするというパラーメータ制御方法は出てない。

しかAIありがちなアーティファクトが気になって仕方ない。

画像だと回転させたり、縮小したり、切り出したりして学習データを水増しするが、

音声の場合、音を高く/低くするといった制御が不自然になってしまうため、学習データ水増しも用意ではない。


音声の面倒なところは、コンパイラのようにおかしな箇所を機械判別して可視化してくれないところだ。

2021-06-02

電子工学を最低限やっていて

加算器なりレジスタなりが、コアの中でどういうふうに動くのかを知っていて

その知識を前提にアセンブラを知っていて

アセンブラ知識を前提にC/C++を知っていて

コンパイラの基礎理論や、自分自身インタプリタを作ったことも当然あり

その知識を前提として

Javascriptデバッグチューニングをしていて

C++プロフイラブラウザに当ててながら、JavascriptHTML5チューニングをですね

実務経験として実際にやってHTML5アプリをですねまずは自分で作って売ってみて

その経験を元に部下や後輩の指導をしていくのですが

当然 後輩たちも 東大だったり慶応だったりを優秀な成績ででていたり

そいつらと、喧嘩できる実力の低学歴だったり

 

ちなみにバカ大学でも 情報工学となると この辺を基礎から習います

anond:20210602214104

あくまでもC++で考えているが

while(true)

goto最適化できないコンパイラって、まともに使われているやつであるの?

インタプリタならわかるけどコンパイラだよねぇ?

 

というか、一般的にはこの程度はコンパイラができることが常識から

ソースコードレベルで期待するPythonじゃないかC++ならな

というより ほぼ無意識レベルで そういうのを期待しながら書いている

当然 最適化なしなら おっしゃるとおり

 

というより

どういうふうに最適化されるかを読みながら書いていくのがC言語という言語だろと言う話

学術言語ではなく、実用のための言語から

学術的より現実界優先

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の方がまだしもいいかもな

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