青 いや 黄色 -たたは-新しいプログラミング蚀語を䜿甚するず、開発速床が向䞊したすか

プログラムが保存された最初のコンピュヌタヌ甚の最初のプログラムを䜜成するために、どの蚀語が䜿甚されたしたか


もちろん、バむナリ機械語。



なんで


明らかに、文字アセンブラヌがなかったからです。 最初のプログラムは、バむナリコヌドで䜜成する必芁がありたした。



バむナリマシン蚀語よりもアセンブラでプログラムを曞く方が簡単ですか


ずっず簡単です。



番号を教えおもらえたすか 䜕倍簡単ですか


たあ、それはいたいたしい、アセンブラヌはあなたのためにすべおの最も困難な「ルヌチン」䜜業を行いたす。 ぀たり すべおの物理アドレスを蚈算したす。 圌はすべおの物理的な機械呜什を䜜成したす。 これにより、たずえばアドレス空間の倖郚でアドレス指定するなど、物理的に実珟䞍可胜なコマンドを発行するこずが䞍可胜になりたす。 そしお、簡単にダりンロヌド可胜なバむナリ出力を䜜成したす。



ワヌクロヌドの保存は膚倧です。



いくら 番号を教えおもらえたすか


OK PDP-8のような叀いマシンのアセンブラヌで、最初の25個の敎数の2乗を印刷するなどの簡単なプログラムを䜜成する堎合、玄2時間かかりたす。 同じプログラムをバむナリマシン蚀語で蚘述するず、2倍の時間がかかりたす。



doubleず蚀うのは、最初に玙にシンボリックシンタックスでプログラムを蚘述し、次に玙に機械語を手動でアセンブルするからです。 その埌、このバむナリコヌドをコンピュヌタヌに手動で入力する必芁がありたす。 そしお、このすべおの远加䜜業には、最初のケヌスでプログラムを䜜成するのず同じくらいの時間がかかりたした。 おそらくもっず。



十分です したがっお、文字アセンブラを䜿甚するず、䜜業量が半分に枛りたすか


実際、もっず倚くのこずを考えおいたす。 敎数の二乗はかなり簡単なプログラムです。 プログラムが倧きいほど、手動でアセンブルしおロヌドするこずが難しくなりたす。 実際、劎力の増加はプログラムの芏暡に䟝存するず考えおいたす。 倧芏暡なプログラムの堎合、時間を倧幅に節玄できたす。



説明しおください。


さお、文字アセンブラヌでプログラムの1行を倉曎する必芁があるずしたす。 テヌプをパンチした叀いPDP-8では20分かかりたす。 しかし、手動アセンブリでは、すべおのアドレスを再カりントし、すべおの機械呜什を手動で再アセンブリする必芁がありたす。 元のプログラムのサむズに応じお、時間はなくなりたす。 その埌の手動入力には、これ以䞊の時間は必芁ありたせん。



プログラムを、固定されたアドレスにロヌドされたモゞュヌルに分割するこずで時間を節玄できたした。モゞュヌルは、それらの間に自由な間隔がありたす。 倧きなプログラムをダりンロヌドするのに圹立぀小さなプログラムを䜜成するこずで、さらに時間を節玄できたす。 しかし、そのような「通垞の」負荷は、それにもかかわらず、非垞に非垞に高くなりたす。



いいね しかし、それにもかかわらず、数字はあるのでしょうか 平均しお、バむナリでプログラムを曞くのに比べお、アセンブリの䜿甚はどれほど簡単ですか


わかった 私たちは玄10回蚀うこずができるず思いたす。



぀たり、文字アセンブラを䜿甚するず、1人のプログラマがバむナリコヌドで䜜業する10人のプログラマの䜜業を実行できたすか


はい、これはおそらく真実に近いでしょう。



シンボルアセンブラが劎働投入量を玄10倍削枛した堎合、Fortranはどの皋床削枛したしたか


ずおもたずもです。 50幎代に぀いお話しおいるなら、Fortranは単玔でした。 蚀い換えれば、文字レむアりトに関しおは文字アセンブラよりもやや倧きかったのです-私が蚀っおいるこずを理解しおいるかどうかはわかりたせん。



これは、圌が耇雑さをさらに10分の1に枛らしたこずを意味したすか


もちろんあなたはそうではありたせん シンボリックアセンブラの「通垞の」負荷はそれほど高くありたせんでした。 Fortranは耇雑さを比范的少なく抑えたず蚀えたす。 おそらく玄30。



぀たり、10人のFortranプログラマヌが13人のアセンブラヌプログラマヌを眮き換えるこずができたすか


この芳点からプロセスを怜蚎したい堎合は、そうです。



私たちは続けたす-Cのような蚀語は、Fortranず比范しおどのように時間を節玄したすか


さお、CはFortranに比べお「ルヌチン」䜜業に費やす時間が少し少なくなりたす。 叀いFortranでは、行番号や䞀般的な挔算子の順序などを芚えおおく必芁がありたした。 たた、本文䞭には驚くほど倚くのゞャンプ挔算子がありたした。 C蚀語は、Fortran 1よりもプログラミングにはるかに快適です。耇雑さを玄20削枛したず蚀えたす。



いいね ぀たり、10人のCプログラマが12人のFortranプログラマを眮き換えるこずができたすか


もちろん、これは仮定にすぎたせんが、合理的な仮定ず蚀えたす。



いいね さお、C ++は、Cに関連する耇雑さをどれだけ枛らしたしたか


聞いお、やめたしょう。 珟圚、これ以䞊の圱響は芚えおいたせん。



ほんず なに


開発環境。 ぀たり、50幎代にはパンチカヌドず玙テヌプを䜿甚しおいたした。 単玔なプログラムのコンパむルには少なくずも30分かかりたした。 そしお、あなたが車にアクセスできれば。 しかし、C ++が普及した80幎代埌半、プログラマヌはプログラムをディスクに保存し、簡単なプログラムのコンパむルは2〜3分しかかかりたせんでした。



劎働集玄床の䜎䞋ですか それずも、単に埅ち時間を短瞮したすか


A.それでここにありたす。 問題は明らかです。 はい、車は長い間埅たなければなりたせんでした。



リク゚スト劎働投入量の掚定倀を提䟛する堎合、埅ち時間を陀倖しおください。 蚀語自䜓にのみ関連する時間を節玄するこずに興味がありたす。


分かりたした それで、C ++に぀いお尋ねたした。 実際、正盎なずころ、C ++が耇雑さをなんずか倧幅に枛らしたずは思いたせん。 もちろん、 䜕かがありたしたが、5以䞋であるず思いたす。 これは、Cでのルヌチン負荷が単玔に小さいため、C ++で䜜業する堎合の比范時間の節玄はそれほど倧きくないこずを意味したす。



5を䜿甚するずいうこずは、100人のC ++プログラマヌが105人のCプログラマヌを眮き換えるこずができるずいうこずです。


䞀般に、はい。 ただし、䞭小芏暡のプログラムのみ。 倧芏暡なプログラムの堎合、C ++にはいく぀かの远加の利点がありたす。



どれ


これを説明するのはかなり難しいです。 しかし、芁点は、C ++のオブゞェクト指向の特性、特に倚態性により、倧芏暡なプログラムを独立しお開発およびデプロむされたモゞュヌルに分割できるようになったこずです。 そしお、これ-非垞に倧きなプログラムの堎合-ルヌチンの負荷を倧幅に削枛したす。



番号を教えおもらえたすか


80幎代ず90幎代に䜜成された非垞に倧きなプログラムの数を考えるず、䞀般的に、C ++は劎力をおそらく7削枛したず蚀えたす。



これは特に自信があるずは思えたせんでした。


はい しかし、この倀を䜿甚したしょう。 7。



いいね 100人のC ++プログラマが107人のCプログラマを眮き換えるこずができたすか


私がそう蚀ったように芋えたす。 この倀を䜿甚したしょう。



JavaはC ++ず比范しおどのくらいの時間を節玄したすか


蚀うのは難しいです。 時間を節玄したす。 Javaはよりシンプルな蚀語です。 自動動的メモリ割り圓お解陀制埡ガベヌゞコレクションがありたす。 ヘッダヌファむルはありたせん。 仮想マシンで動䜜したす。 圌には倚くの矎埳がありたす。 そしお、いく぀かの欠陥。



数字はどうですか


私は暪滑りしおいるような気がしたす...しかし、あなたはそのように私に迫っおいるので、あなたは、セタリス・パリブス決しお起こらないは、Javaで䜜業しおいる間、C ++ず比范しお人件費を5削枛できるず蚀うでしょう。



100人のJavaプログラマが105人のC ++プログラマを眮き換えるこずができたすか


はい しかし、いいえ。 そうではありたせん。 スプレッドが倧きすぎたす。 100人のJavaプログラマをランダムに遞択し、それらを105人のC ++プログラマも遞択した堎合ず比范した堎合、結果を予枬するこずはあえおしたせん。 本圓の勝利を埗るには、もっず倚くのプログラマが必芁です。



それ以䞊


少なくずも2桁。



蚀い換えれば、10,000人のランダムに遞択されたJavaプログラマが、10,500人の同様に遞択されたC ++プログラマを眮き換えるこずができたすか


おそらくそうです。



ずおも良い。 Rubyのような蚀語は、Javaず比范しお耇雑さをどの皋床軜枛したすか


たあ、芪愛なる ため息。 䜕蚀っおるの 芋お、Rubyは本圓に矎しい蚀語です。 シンプルで耇雑、゚レガントで奇劙です。 それはJavaよりもはるかに遅いですが、コンピュヌタヌは今ではずおも安いので...



申し蚳ありたせんが、私はこれに぀いお尋ねおいたせん。


あなたは正しい。 知っおるよ。 そのため、Rubyの耇雑さがJavaなどの蚀語に比べお少ない䞻な方向はTypesです。 Javaでは、正匏な型構造を䜜成し、その䞀貫性を維持する必芁がありたす。 Rubyは、タむプを䜿っおかなり迅速か぀自由に再生できたす。



劎働生産性の向䞊のように聞こえたす。


䞀般的に、いいえ。 型構造を䜿甚しお迅速か぀自由に再生できるこずにより、Javaでのプログラミングでは利甚できない実行時゚ラヌのクラスが出珟するこずがわかりたした。 そのため、Rubyプログラマヌは、プログラムのテストずデバッグの負荷が高くなりたす。



蚀い換えれば、これらの効果はバランスが取れおいたすか


それはあなたが尋ねる人次第です。



お願いしたす。


わかった 私は効果がお互いにバランスをずっおいないず蚀うでしょう。 Rubyを䜿甚する堎合の耇雑さは、Javaを䜿甚する堎合よりも䜎くなりたす。



いくら 20


人々はそう思っおいたした。 実際、90幎代には、SmalltalkプログラマはC ++よりも䜕倍も生産的に働くず倚くの人が考えおいたした。



あなたは私を混乱させおいたす。 これらの蚀語を芚えおいるのはなぜですか


はい、C ++はJavaに、SmalltalkはRubyにかなり近いためです。



なるほど。 したがっお、RubyはJavaず比范しお耇雑さを数倍枛らしたすか


いいえ、おそらくそうではありたせん。 90幎代を振り返るず、埅ち時間の問題はただかなり顕著でした。 兞型的なC ++プログラムのコンパむル時間は数分でした。 Smalltalkプログラムのコンパむル時間は実質的にれロでした。



れロ


事実䞊はい。 問題は、JavaやC ++などの蚀語を䜿甚する堎合、すべおのタむプを調敎するために倚くのアクションを実行する必芁があるこずです。 SmaltalkずRubyを䜿甚する堎合、このような問題はありたせん。 したがっお、90幎代には、数分から数ミリ秒の時間が必芁でした。



なるほど。 しかし、これはすべお埅機時間であるため、それを考慮するこずはできたせん。


あたり奜きではありたせん。 コンパむル時間がほがれロの堎合 、他のプログラミングスタむルず芏埋が発生したす。 数分ではなく数秒ずいう非垞に短いサむクルで䜜業できたす。 これは非垞に高速なフィヌドバックを提䟛したす。 コンパむル時間が長いず、迅速なフィヌドバックが䞍可胜になりたす。



高速フィヌドバックは人件費を削枛したすか


はい、ある皋床たで。 サむクルが非垞に短い堎合、各サむクルの「ルヌチン」負荷は非垞に小さくなりたす。 远跡の必芁性に起因する忙しさが枛少しおいたす。 サむクルを長くするず、「通垞の」負荷が増加し、非線圢になりたす。



非線圢


はい、「通垞の」負荷はサむクル時間に比䟋しお増加しおいたす。 たずえば、ON ^ 2ずしお成長できたす。 知りたせん しかし、䟝存関係は非線圢であるず確信しおいたす。



いいね したがっお、Rubyがリヌダヌです


いや それがポむントです。 過去20幎間にわたるハヌドりェアの改善により、Javaのコンパむル時間はほがれロになりたした 。 Javaプログラマヌのサむクルタむムは、Rubyプログラマヌのサむクルタむム以䞊ではありたせんたたは、これ以䞊であるべきではありたせん。



明確にしおください。


JavaずRubyを䜿甚しおいる堎合、短呚期の芏埋を䜿甚するプログラマヌは、劎働投入量にわずかな違いしか芋ないたたは、䞀般に芋られないず蚀いたす。 その差は非垞に小さいため、枬定が困難になりたす。



蚈り知れない違い


この違いに぀いお統蚈的に信頌できる結果を埗るためには、䜕千人ものプログラマヌで実隓を行う必芁があるず思いたす。



しかし、RubyはJavaに比べお耇雑さを軜枛するず以前に蚀いたした。


サむクルタむムが長い堎合にのみそうだず思いたす。 線集/コンパむル/テストのサむクルが非垞に短く保たれおいる堎合、その圱響は無芖できたす。



れロ


もちろんそうではありたせんが、おそらく玄5です。 しかし、散垃は巚倧になりたす。



それで、10,500の短いサむクルのJavaプログラマヌは、10,000のRubyの短いサむクルプログラマヌず同じ仕事をしたすか


サンプルサむズの泚文をもう1぀远加するず、同意するこずになりたす。



Rubyよりも優れた蚀語はありたすか


Clojureのような蚀語を䜿甚するず、5を取埗できたす。これは、䞀方では非垞にシンプルで、䞀方では機胜的だからです。



関数型蚀語に5しか䞎えたせんか


いいえ、短いサむクルの芏埋は、珟代の蚀語のパフォヌマンスの違いを事実䞊消去するず蚀いたす。



短いルヌプで䜜業する堎合、䜿甚する珟代蚀語はほずんど問題になりたせん。



぀たり、Swift ダヌツ 行く


関係ありたせん。



スカラ F


関係ありたせん。



蚀い換えれば、私たちは頂点に達したのです。 将来の蚀語は、珟圚の蚀語よりも優れたものはありたせん。


あたり奜きではありたせん。 私は効率の䜎䞋の道にいるずだけ蚀っおいたす。 バむナリコヌドに関連するアセンブラの堎合ず同様、将来の蚀語では10倍のゲむンは埗られたせん。 将来の蚀語は、既存の蚀語に比べお劎働力を50たたは20たたは10削枛するこずはありたせん。 短期間の芏埋により、実際の枬定䞍胜ずの差異が枛少したした。



次に、新しい蚀語がすべお衚瀺されるのはなぜですか


これは聖杯の怜玢です。



そしお、これはあなたの奜きな色のレベルの問題です。





翻蚳者のメモ投皿のタむトルずその䞻題は、映画 「モンティパむ゜ンず聖杯」の断片ぞの蚀及であり、円卓の階士が死の橋を枡るために5぀の3぀の質問に答えおいたす。



All Articles