はてなキーワード: アーキテクチャとは
数学科ではなく、工業で使える数学と統計を多くの技術者が使いこなせていないのを、AIブームで感じる。
流行っていたWebプログラミングに比重を置くと、そもそも勉強しなくてもプログラミングはできる状況があり、優先度が低いと捉えられていたのではないか。
もちろん全く使えないことはないが、大学の教科書で数式の変形はできるが、現実の問題とリンクしていない。
既に知れ渡っている手法については数式も含め理解できるが、現実問題を解くときに対処しきれない。
数式でモデルを作れたとして、プログラミングに落とし込む所にハードルがある。
各プログラミング言語として、速度の遅くならないベストプラクティスは多くの人が興味を持つが、
bfloat16といったのが自分達で作れない。
政府は、欧州、中国の科学政策は収集、論文数などの統計は取っているが、内容までは踏み込めていない。
中国の科学力が伸びてきているといったときに、大学でどこまでの教育水準なのか、といった情報はない。
アメリカの大学院で使う洋書は、日本の大学院でも使うが、中国については情報はない。
中国語が最先端の部分が出てきているのに危機感も、学ぶ姿勢もない。
議論するとしても、論文数、研究費、人口のグラフを眺める所から深くはならない。
英語サイトは外国人雇用用ページなので、自動翻訳を使いながらでも見てみることをお勧めする。
製造業はJISがあるが、ソフトウェアについても開発手法など標準化を進めたほうが良かったのではないか。
アメリカの組織力に勝てないのに、国内企業間の過当競争でつぶれてしまう。
〇〇ペイは競争によって技術力が向上しただろうか。広告合戦で終わった。
消費税対応としても、増税による消費減を打ち消すだけの効果はなかった。支払い方法が増えても、集客は増えない。
結局、支払いプロセスが複雑になり、事業主の負担が増え、一時的に対応端末で売り上げは伸びるが将来の更新費を賄えない。
マニュアル人間が悪いと言われているが、知識を多くの人に広めるためにはマニュアル化が必要だ。
Matlabのマニュアルのように、複数の機能を使う時、どのように組み合わせれば目的が達せられるかといったのは重要だ。
よく「プログラマは勉強し続けなければいけない」といいますが、嘘です。
それは、レベルの低いプログラマの話です。そういう人たちが想定しているのは、たとえば流行りのフレームワークが出てきたらそれを勉強するとか、仕事で特定のプラットフォームの知識が必要になったのでそれを勉強するとかです。
こういうことを一所懸命勉強している内は、プログラマとしての実質的な成長は見込めません。それらを勉強しても、特定のフレームワークなどの使い方が分かる人になるだけです。ほとんどの場合、5年も経てばその知識は役に立たなくなります。
実は、ソフトウェアの技術などは、コンピュータの黎明期から本質的な進歩はほとんどありません。だから、本質部分が分かっている人は、流行り廃りのある技術の習得に余計な労力を割く必要がありません。
プログラマが勉強すべきはこの本質部分、つまりコンピュータサイエンスの基礎です。フレームワークの使い方は知らなくてもリファレンスを見れば良いのに対し、コンピュータサイエンスの基礎はググっても決して身に付きません。
プログラマが身につけるべきコンピュータサイエンスの基礎は、多くの大学の計算機科学・情報工学の2〜3年生で学ぶような内容、
などです。逆に、こういう素養がないのにプログラミングスクールでRailsとかCakePHPみたいなのを触って、プログラミングできる気になっている人に5年後10年後の市場価値はありません。
インテル、AMD、NVIDIA、クアルコム、ARM、Appleなど、日本語でも半導体が話題になることが多いが、
韓国は国家を上げて半導体で勝負しているし、サムスンの投資金額は巨額だ。
EUもソフトバンクがARMを買収したことによって、European Processor Initiative Research Project でEUとしての半導体を持とうとしている。
富岳で富士通が関わっていたが、どちらかというとARMアーキが使われたことと1位になったこと、TSMCで製造したことが話題で終始しているし、
これからはハードではなくソフトウェアで差別化だと言っている間に、AndroidやiOSに見られるようにパクりパクられを繰り返して多少の使い勝手はあるものの差別化要因になっていない。
Androidスマホなんてカメラ性能とCPU性能とディスプレイ性能を比べてのハードウェアによる差別化しか残ってない。
iPhoneなんてApple siliconを独自SoCを作ることで差別化しようとしているし、GoogleはTPUv4で差別化しようとしている。
GoogleがBERTを学習できるのは大量のサーバーがあるからだし、OpenAIがGPT-3を学習できるのはマイクロソフトに大量のサーバーを構築してもらったからだ。
ソフトウェアは不要ということはないが、ハードウェアの性能以上のことができないし、より抽象度を上げて処理が重くなる方向に向かってるので、ハードが進化するしかない。
それ以前にソフトウェアとサービスで国内市場しか取れず、Appleには手数料を30%から40%に上げようかと言われる始末だ。
今からなら量子コンピュータだろうという意見もあるだろうが、下記の慶応の量子コンピュータアーキテクチャの図1を見ればわかるように今のコンピュータがなくなるわけじゃない。
どちらかというとGPUのようなアクセラレータとしての域をまだ出ていない。
https://www.futurelearn.com/courses/intro-to-quantum-computing/0/steps/31566
RISC-Vが、という意見もあるだろうが、性能が突出してるわけでもなく、開発環境が整っているわけでもなく、無料という以外のメリットがない。
最後に謎の半導体会社を紹介しておく。プロセッサー業界情報が知りたければThe Linley Groupのサイトのニュースをお勧めする。
追記:ありまぁす
手動で直接プラグインファイルをincludeなりrequire なりしろってことだよ
Smarty使ってるようなやつはどうせ、requireとかですでにコードがぐちゃぐちゃになってるだろうし、問題ないだろう。
例えばゴミみたいなプロジェクトのコード環境だと(2020年にSmarty使って時点でお察し) 出力するHTMLの全体ではなく一部(記事領域)だけがSmartyのテンプレート機能で出力されていて
それ以外の部分はPHPで出力される。などといった狂った設計実装はよくあることです。ほんとに狂ってるけど実在するんだよな〜。
しかもなぜかページ全体に影響する超重要な機能(アカウント情報)がSmartyのプラグインとしてしか実装されていなかったりします。ゴミですね。
そのSmartyプラグイン(アカウント情報)に応じて記事以外の部分を書き換える必要(サイトのタイトル表示切り替え)があるんだけど。
SEOの処理だからJS使わないでってさ。SEOのこと考えるんだったら最初からもっと軽くて単純な実装のまともなサイト作ることをおすすめするけど、作っちゃったものは仕方がないんすかね。お客さん可愛そうですね。
とまぁ、SmartyのプラグインをPHP側から呼び出したことってあるんだけど、Smartyに登録したプラグインをPHPから実行する方法はこの世に存在しないっぽいので、本当にこのテンプレートエンジンは腐ってるなあという沈んだ気持ちです。
x86の改良をインテルがめちゃくちゃ頑張ってもARM系デバイスのキレのある動きができないのはなんでやろ。
以前のワイはそれをCPUアーキテクチャのせいじゃなくて、「WindowsやMacは本当のマルチタスクOSだから、もろもろの割り込み処理に常に備えていて遅い」、「スマホやタブレットやゲーム機は実質的にシングルタスクだからキレがあるように見える」せいやろなあ、と思っていたんだけど、最近のMacのARM化ニュース見てると違う気がしてきた。
一応 Android / iOS 両方できるんですけど、この仕事ぶっちゃけつまらないです。
Redux やら CleanArchitecture などのアーキテクチャをベースに開発とかもやってて技術的なレベルは一定水準あるかなとは思っているんですけど(別に強強ではない)、なんだか同じようなことをする割にはクライアントは面倒臭い注文ばっかりする(矛盾)
最近特に思うのは技術を持っているのは大前提だけど、ドメイン知識を強く求められること。
このドメイン知識がスゴぶる面倒臭い。わざわざ業界や他人の事業に関して詳しくなりたいと思わないし、興味なんて沸かない。そんなことに時間は使いたくない。
でも、どいつもこいつも知ってる前提で仕事降ってくるんだよなぁ...。これが本当に鬱陶しい。
テメェのことなんて知らねえよ、こっちは!!って言いたくなるw
それと Google も Apple も OS のバージョンが上がるたびに SDK に機能追加したり言語の記法を変えたりするからそれ覚え直すのも面倒臭い。
でも、他の人はこの辺りの理解が自分と比較するとめちゃ早いから尚更面倒臭いんだよな。
そもそも私は子供の頃から要領が良い方ではないし、かといって効率化にそこまで興味があるわけでもないのでプログラマにそんなに向いてないのかもしれないと思うこともある。
一応、独学でプログラミングを勉強し始めて今までは好きだから出来たと思っていたけど、今思うと他人と比較して他人との学習ペースを意識するのが嫌だから独学でやっていたのかもしれない。
(まあ、ここは流石に好きな部分もあると思うけど)
人間的にも別に良い人ではないからマネージャーとかも多分無理だしなー。この先どうやって生きて行こう...
40歳、50歳になると生きてられるのか、私
数学のできないプログラマはある程度以上難しい問題には全く歯が立たないか全く見当外れの解決策を提示してくるというのは経験上確かにある。
ただそんな難しい問題がしょっちゅう起きるかと言われると経験上そんなことはない。
昔に比べるとフレームワークやインフラがよしなに解いてくれるようになったので数学が苦手でも厄介な問題に直面することなくある程度のものは作れるようになっていると思う。
まあでもユーザ数が増えすぎたのでアーキテクチャを改良したいとか
新しいリコメンデーションエンジンでサービスの成果を改善したい、程度にはありふれたニーズ。
自分の経験でいうと、10%-20%の人間が数学できればなんとかなるのでは?という感じ。一人もいないと相当厳しくなる時がきっと来る。
なくてかわりにこういうハードがあるからBアルゴリズムのように
ハードウェア構成に応じて、アルゴリズムを買えるのもC言語の特徴の1つなので、なんとも難しい ハードがわからないとソフトのアーキテクチャーも違い
1チップなのか2チップなのかなどなど 色々変わってくるのでわかりません。よく移植とよばれますが
ハードの機能に応じてこういうソフト部品を変えるので高額に成ることもあります
汎用型にすることで移植費用は抑えられますが、当然トップスピードが下がるのでこれまたCPUしだいです。
十分なCPUの余裕があるならこんなこと考えずに汎用アルゴリズムで多少ロスはあるけど というふうにお作りしています というかだからオーダーメイドという考え方があるんだよ