はてなキーワード: コンパイルとは
俺にとってはビル・ゲイツよりもスティーブ・ウォズニアックよりもリーナス・トーパルズよりもケン・トンプソンよりもアラン・チューリングよりもティム・バーナーズ=リーよりもブライアン・カーニハンよりもビャーネ・ストロヴストルップよりもジョン・バッカスよりもグレース・ホッパーよりもデニス・リッチーよりも数々の功績を挙げた偉大なプログラマよりも本当に本当に偉大なプログラマだった
親父の職業がプログラマだと子供の頭で理解したとき本当に驚きだった
俺の親父はテレビテニスが作れると知ったとき、オリジナルのゲームウォッチを目の前で作りあげ誕生日プレゼントだと渡してくれたとき、俺の親父は何でも出来る人なんだと本当に憧れた
PC9801やX68000で疑似3Dやワイヤーフレーム3Dをレンダリングされた際の衝撃が理解できるだろうか?俺はまさに最先端のゲームを目にしていると子供ながら身を震わせてしまったことを今でも思い出せる
「小さなプログラムで大きな事を成せ」と教えてくれた親父はもう居ない
世間に注目されない俺の仕事を少年期のままに褒めてくれた親父はもう居ない
1970年代〜1980年代にかけて活躍した俺が最も尊敬する偉大なプログラマはもう居ない
なぜ俺はもっと話をしなかったのか
なぜ俺は日本の計算機界を支えた偉人の資料をまとめなかったのか
親父は亡くなる3日前に「パソコン持って来い」と俺に言った
親父はちょっとコードを変えてはコンパイルしちょっとコードを変えてはコンパイルしていた
親父はバイナリエディタでその中身を眺めては再びコードを変えてコンパイルしていた
親父は寝て起きてコーディングしコンパイルしてバイナリエディタで眺めるを繰り返しているうちに起きなくなって亡くなってしまった
お袋は親父のその姿をずっと横で見ていた
お袋は「まだパソコンできるって言いたかったんだよ」と教えてくれた
親父は最後の最後まで俺が小さな頃から憧れ続けた偉大なプログラマのままで逝ってしまった
ありがとう親父
親父が作った動かなくなってしまったオリジナルのゲームウォッチをどうにか修理して「爺ちゃんが昔作ってくれたゲームだ」と息子に自慢しようと思う
開発したのがOpenAI Inc.なので勘違いしているのだろう。
ChatGPTは文字通りGenerative Pre-trained Transformerでしかない。
OpenAI社は人工知能の完成を目指している会社ではあるのだが、ChatGPTは副産物というか、素材というか。
神経細胞、シナプスの挙動を貧弱なコンピューターでどう再現するか。
こういうアプローチだった。
これと袂を分けて、入出力が人間っぽかったら良くね?
商業的な利用もそっちのほうがよくね?
先々人工知能エンジンの脳再現精度が上がったとしても入出力は自然言語で行わなければならない。
そのためには言語モデルを先に構築しておくのは無駄にはならない。
コアの人工知能エンジンは中間言語で入出力を行うが、外側HMIの部分をChatGPTに担わすようなイメージではなかろうか。
人の指示→ChatoGPTで中間言語にコンパイル→コアAI→中間言語でChatGPT→人が認知できる出力
このようなモデルならばコアAIは本質的人工知能の開発に注力できる、分離できる。
従来のAI研究はここ一緒くたにやとうとしてたのも停滞の原因と見抜いたのだろう。
営利企業である以上は稼げるプロダクトでなければ資金調達はできない、利益にならない
言語モデルの段階でも中間処理がそこそこできてればそれっぽいプロダクトにはなる。
商業的な使い道もある。
今後AIエンジンの開発は続くだろうが、現時点では知能とは程遠い完成度でしかない。
入出力がそれっぽいので知能っぽく見えるが、古典的な人工知能の定義から言えばおおよそ別物。
俺も気に入って使ってる、プログラム食わせたらあっさりバグも見つけやがった。すげぇと思う。
が、これは知能ではない。
なんか世間では、すげぇ物ができちゃった、世界が変わる、大革新、みたいな熱狂と不安と禁忌があるけどさ。
いやいや、そんな大層なものではありませんw
まぁこの辺のOpenAI社のマーケティング、演出は秀逸ではある。
ChatGPTの指示かな?www
あなたはプログラミング言語Rubyの熱心なユーザーです。プログラミング言語Disりコンテストというものがあり、静的型付け言語を動的型付け言語でもあるRubyの視点からバカにすることになりました。ユーザーなら思わず納得するような視点も交えつつ、静的型付け言語のデメリットを200字程度で攻撃してください。
静的型付け言語の愛好家よ、それでも本当に静的型付け言語が優れていると思ってるのか?Rubyのような動的型付け言語の柔軟性と自由さを体験したら、君たちも考えを変えること間違いなしだ。
まず、静的型付け言語は、コンパイル時に型チェックを行うため、開発速度が著しく遅くなる。それに対してRubyは、型の宣言が不要で迅速にコードを書き進められる。煩雑な型宣言に時間を浪費するなんて、プログラミングの真髄から外れているだろう。
次に、静的型付け言語は、型の制約が厳格すぎて、柔軟な実装が難しくなることがある。それに対して、Rubyは動的型付けのおかげで、データ構造やアルゴリズムを自由自在に操れる。革新的なソフトウェアを生み出すのは、やはり柔軟性が重要だ。
最後に、静的型付け言語のユーザーは、型の間違いを恐れてコードのリファクタリングをためらうことがある。しかし、Rubyなら型に縛られず、思い切りリファクタリングができるので、保守性も抜群だ。
つまり、静的型付け言語は開発速度の低下、柔軟性の欠如、保守性の悪化を招く。Rubyのような動的型付け言語を使えば、これらの問題が解決され、プログラミングがもっと楽しくなるぞ!
Web見るくらいだと性能有り余るけど、他になにかしようとすると性能が足りない。
CPUはコア数増やしても、ソフトが使いこなせないのか余ってるわりに遅い。
PythonばかりになってCで書かれたのを叩かない限り遅い。
AIじゃなくてもRPAが速くなれば多くの人に恩恵があるはずなのに遅い。
GPUは普及しても結局使いこなしが難しい。
コンパイルは未だに大規模になると遅い。リンカーは速くなったみたいだが。
M.2 SSDで速くなったというが、フラッシュそのものの速度は上がっておらずキャッシュのRAMが効いてるだけ。
DDR5はベンチマークでしか効果がなく、DDR4と実アプリじゃ変わらない。
マイクロソフトのように、これからコードの資産を持っていて、かつ、自社のデータだけでモデルを構築出来る所は強いよな。
JavaScriptを難読化するプログラマーを批判するコメントとして、以下のようなものが考えられます。
以上のように、JavaScriptを難読化するプログラマーに対して批判的な立場をとります。
そうだな
・テストの設問に間違った答えを書く ⇒ 失敗(合否は関係ない、その設問にフォーカスすれば、一般的には失敗)
・料理の途中で味見をしたらまずかった ⇒ 失敗(提供される料理の味は関係ない、その味見にフォーカスすれば、一般的には失敗)
幾らでも言えるが、それぞれで
「失敗ですね、失敗したんですよ、認めて成長しましょうよ」
ここでまさか、途中の項目で異常をきたしていても、最終的に目標達成すれば、それは成功であるとか
「はい失敗ー」「私が勝手に決めた区切りで目標を達成してない、しっぱいですー」
ってな
人間の身体は三次元だが、動きは基本重力に縛られた二次元なので空間認識の基本が二次元なんだよな
三次元は怪しい挙動の拡張ライブラリがおまけでコンパイルされて脳みそにインストールされてるだけ
自動車はあれも二次元だからまだ認知症入ったジジイババアでもコントロールできるぐらい直感的だが
飛行機やヘリコプターみたいな三次元の乗り物になると無理だろうね
昔のアニメでドラえもんとか鉄腕アトムでは庶民の乗り物も空飛ぶ自家用飛行機になるみたいなイメージだったがあれ絶対無理ゲーだね、事故りまくる
レビューするのもレビューされるのもそれぞれ違った理由で苦手意識があります。
・どんなことを確認すればいいのかわかっていない
コードがコンパイルエラーになっていればそれは直すように言えばいいのはわかる。
あとはこういう機能を作りましたというレビューなのに該当する機能が無かったりすれば質問したりすればいい。
けどコードレビューなんだからコードを見るわけだけど、特に指摘するポイントが思いつかない。
変数名がaとかbとかデタラメなら指摘するけど別にそこまでデタラメというパターンはほとんど無いし、アルゴリズムだって他の実現方法はあるけどコードレビューに出されたコードで間違っていないときはそれでいいんじゃないかと思ってしまう。
(計算量が異常に多いとかメモリ使いすぎとかなら指摘するだろうけどそんなケースはほとんど無い)
だから特に指摘することが無くレビューを通すわけだけど自分の言語化が足りなくてレビューを素通りしているだけなんじゃないかと不安になる。
・指摘されるポイントが多い (気がする)
他の人はコードレビューされるときに多くて2~3つくらいの指摘があるけど、自分の場合は1回のレビューで4つとか5つとか平気で指摘される。
クラスAの中にあるメンバーBを使ったけどメンバーBが長い名前だったりスペルミスがあったりすると自分はひとまずそのまま使ってコードレビューに出す。
スペルミスなどを直すならそういう目的のプルリクエストを出すようにして、新規機能の実装とかならスペルミスを直すのがメインの目的ではないからという考えが自分にある。
ただ、実際はレビューを見てもらうときにそういうったスペルミスなどが指摘として出てくることもあるので苦手だなぁという気持ちになる。
・どうしたいの?
CSってそんな大仰なものじゃなくて、ちょっと時間を作れば誰にでも理解できる知識体系だよ。
計算量とかアルゴリズムとかの話だけじゃなくて、スレッドとプロセスとか、ヒープとスタックとか、そういう類の話だよ。
(通信路符号化とか圧縮符号化とかの情報理論はCSに含まないよ)
なので増田はすでにCSの素養はある程度身に着けていると思う。
高等数学のような、100人に1人しか理解できないような、難解な理論体系ではないのよ。
ただ、用語の響きが難しいように聞こえるだけ。
難しく聞こえるので「俺には絶対に理解できない」って思ってしまうけど、コンパイルのときにコードを置き換えているだけでしかない。
他にも、オブジェクト指向界隈の「継承より移譲」とかも、中身は拍子抜けするほどの簡単なアイデアである。
CSもそれと同じ。