はてなキーワード: コンパイラとは
直前に見ているのが変数なのか、フラグなのかはハードからはわからないから
とか
flag++;
コンパイラに指示できる
こういうのを、あなたが気が付きにくくする魅力という
だからBOOLの場合flagが偽の場合flag++をすると真になるが
真を++しても偽にはならない事が多い
他方boolの場合は
int i;
bool f = i &1;
にかなり近いから
f = f&1;
の場合 f++をすると偽にはなるが遅い そのためFlagを似せにするときはXORを使う
というのはプログラマーがやることであって 無理やりコンパイラーでやろうとするから 遅くなる
プログラマーなどいらない、おれたちはミスなど許さない俺たちは全知全能の完璧だとでもおもっていないと、そんな事は起きない
これはしょうがないからプログラマーさんにお願いしようとおもっていると そうはならない
だから相手が人だった場合 侮辱している おまえらはどうせサルなみの頭が悪いから こんなことお願いできないと相手を侮辱していないとそんなことにはならない
肺炎であるコロナに、なぜか手を洗えというような食堂関係の指示が出ても
だから肺炎だからマスクのほうがいいなぁとおもっても、手を洗う
飛沫が肺に入ったら大変だからな
この程度でも600万は稼げるという夢を持つか、こんなのでもちょっと何かが違うだけで600万稼げるか否かが分かれてしまう業界に闇を感じるか、600万程度で何ドヤってるの?と思うかはご自由にどうぞ(外資系ってもっと稼げるの?)。
歳は30台前半。学部卒。BtoB向けのパッケージ製品の開発プロジェクトで、設計、コーディング、テストあたりを担当している。仕様について発注元との折衝もやっている。
業務で使う技術のうち、自分自身がそれなりに習得しているものだけを書く。プライベートでしか習得・使用していない技術は別。
以上。
PythonもgitもDockerもkubernetesもAnsibleもCIツールもAWSもGCPもRuby on Railsも知らなくてもなんとかなってしまっている。業務でこれらのスキルを要求されることは(今のところは)ないから。
楽でいいと思う一方、このままだと将来ヤバいとも思っている。いざ転職となったときに詰みそう。
でもいざとなったらググっていくらでも独学できるだろうとたかをくくっているので焦ってはいない。
というか「その他」のところに書いた能力が高ければ世の中大体はなんとかなるんじゃないの。知らんけど。
ちなみに自分は構築できないというだけで、プロジェクトではJenkinsとかgradleとかbabelだかwebpackだかでビルド環境は整えられている。
あとプライベートで、単純な仕様の独自言語のコンパイラフロントエンドをC++とLLVMで作っている(これで金が稼げるとは微塵も思っておらず、完全にただの趣味)。
で正直なところ ロリポとか やろうと思えばできることはわかったし 下手すりゃPHP3に最新の8の関数を1個だけついか という要望も 受けられるっちゃぁ 受けられる
C言語のライブラリーを直接古いPHPと同じコンパイラでコンパイルしてから PHPの3についか というのは できなくはないし そこだけ技術移管してもいい
だから 本当にこまったのなら 銀座の魔法で 本当に ザオリクしてやる そこまではPHPエンジニアに伝えてもいいと思う ただ なんというか ミナデイン級の魔力は必要
ほんとうに 大切なものなら PHP3にPHP8の機能を追加することは可能 でも それが 何年もいきのこって という話になるから やりたくはない
今までの自分のスキル関係なく、今日からスクラッチでソフトウェア開発するとしたら、どんな環境がいいんだろう?という問いかけです。
ちなみに自分は以前組み込み系のエンジニアでWeb系は詳しくない&ここ1年ソフトウェアの仕事から離れてましたが、最近Webアプリ作りたいなと考えてます。
・組み込みソフト・・・基本C言語、最適化するとこはアセンブラ、マイコンのコンパイラが対応してたらC++
・Windowsアプリ・・・C#(.net framework)、nodejs(electron)
・スマートフォンアプリ・・・3DだとC#(Unity)、Dart(flutter)、javascript(React)、作り込むならネイティブ(iOSはswift、androidはKotlin)
・Webアプリ・・・nodejs、ruby(on rails)、Dart(flutter+firebase)、python(Django)
・社内アプリ・・・社内がマイクロソフト環境(outlookとかteams)ならPowerApps
・AI開発・・・python(TensorFlow、scikit-learn)
虎の威を借る狐のごとく他人に言われたことを鵜呑みにして自分の頭で解釈しようとしない愚図の三下には答えられるはずもないので、私が代わりに応えよう。
だったら「返り値と引数チェックにしか型チェックを使ってないC言語は問題は起きないはずたが現実はどうよ?」「Ruby と Python は動的言語だけど、強力な型付けのされた言語とは言えないのか?」という疑問に答えられるはず。
ひとつ前の人が言っていたのは、型チェックとテストの仕事のバランスの取り方だ。
でももっと悪い事態として、仕事を放棄する場合もあり得る。C言語の例はそれに当たる。
C言語の弱い型の中で提言に則りベストを尽くしても型チェックにできる仕事は少ない。
だからテストコードを書かざるを得ないが、テストコードを書くことをサボってしまえば問題は起きる。それが現実に起こっている。
Ruby と Python は強い型付けの言語だ。だが型システムは十分に整理されていない、と思う。
実質的に、型システムは言語側にビルトインされたテストコードだ。末端ユーザーが書いていたテストをリファクタリングして共通化し、上流に巻き上げてコンパイラに組み込んだのが型システムと言える。
貧弱な型システムの元では末端ユーザーが個々に努力して不足を補う必要があって、言語のユーザー全体のコード総量は大きくなる。洗練された型システムを使うユーザーはテストコードを保守する責任を持たないので末端ユーザー間のコードの冗長性は少なくなり、ラクになる。アプリケーションのバージョン毎に特殊化されたテストコードは少なければ少ないほうがよい。品質が保たれる限り、なくしていくべき。
GPT-3のような1回の学習が数億かかるようなのは無理でも、プログラミングは他の産業に比べると初期投資は少なくて済む。
政府が研究費を出さないから技術力がないという指摘は、プログラミングにも当てはまるものなのか?
プログラミングの開発環境なんて皆最新のが好きなので違いはないはずだ。
何か他の原因があるような気がしてならない。
CPUやGPUの汎用ハードがブラックボックス化していて使いこなせないというのであれば、
それこそArmを日本企業が購入してハードを生かすような奇跡でも起きない限り追いつけない。
(インテル製のコンパイラが速いみたいな話。pipでいれたNumpyよりcondaでいれたNumpyの方が速いとか。)