はてなキーワード: コンパイルとは
そうだな
・テストの設問に間違った答えを書く ⇒ 失敗(合否は関係ない、その設問にフォーカスすれば、一般的には失敗)
・料理の途中で味見をしたらまずかった ⇒ 失敗(提供される料理の味は関係ない、その味見にフォーカスすれば、一般的には失敗)
幾らでも言えるが、それぞれで
「失敗ですね、失敗したんですよ、認めて成長しましょうよ」
ここでまさか、途中の項目で異常をきたしていても、最終的に目標達成すれば、それは成功であるとか
「はい失敗ー」「私が勝手に決めた区切りで目標を達成してない、しっぱいですー」
ってな
人間の身体は三次元だが、動きは基本重力に縛られた二次元なので空間認識の基本が二次元なんだよな
三次元は怪しい挙動の拡張ライブラリがおまけでコンパイルされて脳みそにインストールされてるだけ
自動車はあれも二次元だからまだ認知症入ったジジイババアでもコントロールできるぐらい直感的だが
飛行機やヘリコプターみたいな三次元の乗り物になると無理だろうね
昔のアニメでドラえもんとか鉄腕アトムでは庶民の乗り物も空飛ぶ自家用飛行機になるみたいなイメージだったがあれ絶対無理ゲーだね、事故りまくる
レビューするのもレビューされるのもそれぞれ違った理由で苦手意識があります。
・どんなことを確認すればいいのかわかっていない
コードがコンパイルエラーになっていればそれは直すように言えばいいのはわかる。
あとはこういう機能を作りましたというレビューなのに該当する機能が無かったりすれば質問したりすればいい。
けどコードレビューなんだからコードを見るわけだけど、特に指摘するポイントが思いつかない。
変数名がaとかbとかデタラメなら指摘するけど別にそこまでデタラメというパターンはほとんど無いし、アルゴリズムだって他の実現方法はあるけどコードレビューに出されたコードで間違っていないときはそれでいいんじゃないかと思ってしまう。
(計算量が異常に多いとかメモリ使いすぎとかなら指摘するだろうけどそんなケースはほとんど無い)
だから特に指摘することが無くレビューを通すわけだけど自分の言語化が足りなくてレビューを素通りしているだけなんじゃないかと不安になる。
・指摘されるポイントが多い (気がする)
他の人はコードレビューされるときに多くて2~3つくらいの指摘があるけど、自分の場合は1回のレビューで4つとか5つとか平気で指摘される。
クラスAの中にあるメンバーBを使ったけどメンバーBが長い名前だったりスペルミスがあったりすると自分はひとまずそのまま使ってコードレビューに出す。
スペルミスなどを直すならそういう目的のプルリクエストを出すようにして、新規機能の実装とかならスペルミスを直すのがメインの目的ではないからという考えが自分にある。
ただ、実際はレビューを見てもらうときにそういうったスペルミスなどが指摘として出てくることもあるので苦手だなぁという気持ちになる。
・どうしたいの?
CSってそんな大仰なものじゃなくて、ちょっと時間を作れば誰にでも理解できる知識体系だよ。
計算量とかアルゴリズムとかの話だけじゃなくて、スレッドとプロセスとか、ヒープとスタックとか、そういう類の話だよ。
(通信路符号化とか圧縮符号化とかの情報理論はCSに含まないよ)
なので増田はすでにCSの素養はある程度身に着けていると思う。
高等数学のような、100人に1人しか理解できないような、難解な理論体系ではないのよ。
ただ、用語の響きが難しいように聞こえるだけ。
難しく聞こえるので「俺には絶対に理解できない」って思ってしまうけど、コンパイルのときにコードを置き換えているだけでしかない。
他にも、オブジェクト指向界隈の「継承より移譲」とかも、中身は拍子抜けするほどの簡単なアイデアである。
CSもそれと同じ。
ロシアが大手企業を接収した場合には販売されるPCのOSがTRON-OSに置き換わるというシナリオが考えられます
TRON-OSはかつてアメリカに嫌われていてB-TRONなどは失敗に終わっているが、TRON-OSの中で唯一生き残ったI-TRONだけでもWindowsに勝っていて先進的であり、使用料は基本的に無料であるため、ロシアが大手企業を接収してWindowsなどが開発されなくなった場合、TRON-OS入りのPCが世界中に販売されることが起こりうると考えられます
そうなると、TRON-OSプロジェクトチームが動き出し、日本を中心に西側諸国などでTRON-OSが共同で開発されるということになりそうです
TRON-OSは異なるアーキテクチャで同一のコードを実行できると言われているので、IntelやAMDのCPUが無くなってもTRON-OSならTRONチップや別のCPUで開発を続けられるそうです
PCのOSがTRON-OSに置き換わるとWindowsよりもセキュリティーと安定性が向上し、非常に軽量になると考えられます
ロシアが大手企業を接収するなどしてTRON-OS入りのPCが世界中に販売されれば、TRON-OSのシェアは90%以上(残りの10%以下はサーバーやスパコンなどでLinux、一部のシステムでUnixなど)まで増えるということになりそうです
ロシアが大手企業を接収するなどしてTRON-OS入りのPCが世界中に販売されれば、QEMU、LibreOffice、Inkscapeなどのオープンソースソフトウェアは開発は続行し、TRON-OS向けにコンパイルしたものが公開され、TRON-OS向けの商用ソフトウェアも出てくると考えられます
もしくはコマンド打ってCtrl+CでExcelにコピペして比較、もいっかいPowershellでレジストリ抽出して~と実装せず手作業でやるってことでしょうか?
んなめんどくさいことはしたくなくて、ダウンロードしてきてZip解凍するなりインストールするなりで利用できることを想定してます。
レジストリの抽出だけならあるかも&テキストの差分比較(Diff)ならあります。
それぞれを一緒にやろうとすると厳しそう。
自分ならPowerShellでタイムスタンプつきで抽出して、それをDiffしますかね~。
DIffで思い出したけどPowershellにもDiffありましたね。Excelいらないや。
Linuxでも似たようなことはできるかと。
タイトルにある通り、”ツール”が欲しいんですね。えぇ、タイトルの通り。
プログラム作るなり、スクリプト組むなりすれば実現できる、ということは認識してます。これは”実装”ですよね。
もしくはコマンド打ってCtrl+CでExcelにコピペして比較、もいっかいPowershellでレジストリ抽出して~と実装せず手作業でやるってことでしょうか?
んなめんどくさいことはしたくなくて、ダウンロードしてきてZip解凍するなりインストールするなりで利用できることを想定してます。
CUIではなくGUIで、ボタンポチポチでレジストリの変化を絞り込めるツールです。
メモリエディタはそういった機能があるので、使っていただけると理解しやすいかと。
もしPowershellとかExcelの(ワンライナーですらない)1コマンド(コマンドレット?)でできるならとてもありがたいですが、
そんな機能は私は存じ上げません。
もしあるのであれば教えてほしいです。
↑を書いた元増田ですが、VBの話から派生した話で、やたらコマンドライン(以下CLI)を使った開発に否定的な人間がいて閉口した件。
そりゃ一口に開発と言っても色々なので、本当に統合開発環境(以下IDE)だけで開発するケースもあるのは、こっちも知ってるんだよ。
だから学習者の中で「何をやりたいか」が既に決まっているなら、CLIを全く触らずプログラミングを学ぶケースもアリということなのだろう。
1つ目は、そもそも「プログラムって何?」というレベルの人が「何をやりたいか」なんて決まっているわけがないので、最初から「何をやるか」を決めてかかるのはナンセンスという話。
むしろどういう開発に進んでもいいように、「等号は代入を意味する」辺りから始まって、どんなプログラミングでも基礎の基礎になる、データ構造とアルゴリズムを意識させることに集中させたい。
そのためには難易度低めで比較的潰しが効く言語を、できるだけシンプルな手順で作業できる開発環境で学べる方がいい。
そしたらPythonの実行環境とそこそこ以上の機能を持つテキストエディタを入れて、コマンドプロンプトとかPowerShellとかのCLIから"Helllo, world"が取っ掛かりだと思うわけ。
もしLinuxの環境が用意できるなら同じことをLinuxでも試してもらって、プラットフォームに依存しない開発の入り口くらいを知っておければベター。
いずれにせよ何かを実行する方法が1つではないという重要な知見は、できれば基礎のうちに知ってもらいたいことの1つだし、それはWindowsとLinuxとかCLIとIDEという対比がうってつけかなーと。
ちなみにIDEは、Pythonによる手続き型プログラミングに慣れた後のタイミングで学べばいいと思う。
そこまで行ったら変数の型や、クラスとオブジェクトとかの難しい話をGo言語で学んでおくことで、現場で使われているJava、C#、swiftへの移行もスムーズになりそうだし。
ちなみに「初心者コース」の最後、もし可能ならRustでポインタとメモリの話の触りくらいを体験してもらえると、組み込みに進む際のハードルが少しは下がるんじゃないかな。
もう1つは、いくら現場によってはIDEだけで開発する現実があっても、CLIを使った開発がどういうものかくらい、プログラマにとっては知ってて当たり前じゃねーの?という話。
もちろん「プログラマが何を知ってて当たり前なのか」は、時代の移り変わりとともにどんどん変わる。
大昔ならおそらく機械語とかが必須だっただろうけど、今なら機械語よりはHTMLを読めるほうが遥かに重要なわけで。
あと、UNIX系OSをパーティションごとに主要なディレクトリを分割してインストールしていた時代であれば、edエディタの使い方は必須だったと聞く。
(/binに入るエディタがedのみだったため、もし使えないとシステムクラッシュして/以外マウントできなくなったときに詰む)
でも今やそんなの完全に過去の話どころか、viとemacsの論争ですら多分古い方の問題になるだろう。
そういう過去の諸々も踏まえるとCLIが未来永劫、プログラマにとって常識的なナレッジだとは自分も思っていない。
でも今はまだ、プログラマを名乗るならCLIからコンパイルだ実行だくらいの基礎は知ってて当然だと思うんだが。
IDEを使う上で覚えることは決して少なくないし、CLIだったら実行するためのコマンドとエラーメッセージの読み方だけに絞れる。
そしたら「自分のプログラムがなぜ動かないか」という本質的な問題に直面しやすいだろ。
たった1文字書き誤っても動かない、だから書く時は注意の仕方にコツがいる(≒単純なコピペであってもすぐ動くとは限らない)とか、実地に学べるじゃん。
一方で、スペルミスとかもいちいち丁寧に教えてくれる、IDEの親切な機能に最初からおんぶにだっこみたいなプログラミングがいいとは思えない。
あと、こっちはIDEの便利さは否定しないどころか、効率的に開発するなら必須だと思っているけど、最初からセットで覚えるものじゃないと言っているだけなんだが。
なんで最初からIDEでプログラミングを覚えるべきなのかが理解できない。