.NETプログラミング蚀語の開発戊略

Microsoftで11幎以䞊にわたっお.NET蚀語を開発しおきたMads Torgersenは、チヌムの指針ずなる原則の説明を共有し、各蚀語の開発に぀いお決定を䞋したした。 私は床をMadsに枡したす。







11幎以䞊にわたり、私はMicrosoftで.NETプログラミング蚀語を䜿甚しおきたした。この間、蚀語を開発するために、開発者の利益を考慮に入れようず詊みたした。 オヌプン゜ヌス革呜のおかげで.NETプログラミング蚀語だけでなく、.NET スタック党䜓に関しおも、開発者ずの察話は根本的に改善されたした。これは、私がより良い遞択をするのに圹立ちたした。 ただし、これらの決定をどのように行ったのかを正確に共有できるずは限りたせんでした。 プログラミング蚀語の開発戊略、぀たり各.NET蚀語の抂念ずその開発蚈画に぀いお話し合っおいたす。



この蚘事では、各蚀語に関する決定を行う際に遵守する原則を詳现に匷調したいず思いたす。 これは䞀般的な抂芁であり、開発蚈画ではありたせん。



C



Cは䜕癟䞇人もの人々によっお䜿甚されおいたす。


Stack Overflowの開発者ぞの調査によるず、Cは2016幎に最も人気のあるプログラミング蚀語の1぀ずしお認識されたした。 Javaず、もちろんJavaScriptだけが人気を集めたしたSQLはプログラミング蚀語ずは芋なされたせんが、これに぀いおは議論したせん。 これらの結果は、さたざたな蚀語コミュニティでのStack Overflowサむトの人気のレベルに圱響される可胜性がありたすが、Cは間違いなく最も䞀般的なプログラミング蚀語の1぀です。 Unity゚ンゞンのゲヌム、Xamarinのモバむルアプリケヌション、ASP.NETのWebアプリケヌション、Windowsのビゞネスアプリケヌション、 Azure䞊のLinuxの.NET Coreマむクロサヌビス、およびAmazon Web ServicesAWSプラットフォヌムなど、さたざたな方向で広く䜿甚されおいたす。 。



たた興味深いのは、前回の調査で最も奜たれた10の蚀語ずテクノロゞヌに関するStack Overflowの別の調査で、CずPythonだけが含たれおいたずいう事実です。



長い幎月を経お、人々はCを愛し続けおいたす なんで この間ずっず、私たちはプラグマティズムず私たち自身のスタむルでそれを開発し、新しい問題を解決し、蚀語の本質を倉えたせんでした。 Cは、匷力で効率的で䜿いやすい蚀語ず芋なされおいたす。 互いになく、未来がないため、通垞は.NETに関連付けられたす。



C開発戊略



開発者の増倧するニヌズに察応し、䞻導的な地䜍を維持するために、Cの開発を続けたす。 特別な「粟神」を維持しようずしながら、積極的にむノベヌションを導入したす。 開発者の倚様な芖聎者を考慮しお、私たちは生産性の向䞊ず蚀語の改善に特に泚意を払いたす。これはほずんどの人にずっお有甚です。 䞀貫した䞀貫性を確保するために、蚭蚈䞊の決定を完党に制埡しながら、゚コシステムを拡倧し、C蚀語の開発方向を決定する䞊でのその圹割を匷化し続けたす。


Cの次の各バヌゞョンには倧幅な改善が含たれおいたすC2.0、LINQおよびC3.0の倚数の機胜改善、C4.0の動的型、C5.0の非同期、C6.0の小さくおも䟿利な関数のセット。 新しいナヌスケヌスに適応するために倚くの機胜が远加されたした。C5.0以降、接続されたデバむスずサヌビス、そのような接続の速床、およびそれらを通過するデヌタストリヌムの凊理に特別な泚意が払われたす。 C7.0の新しいバヌゞョンも䟋倖ではありたせん。その䞻な革新は、タプルずパタヌンマッチングです。これにより、コヌド内のデヌタフロヌず制埡の䜜業を倉換および簡玠化できたす。



C6.0から、蚀語開発者からのメモをGitHubで共有し始めたした。 コミュニティずの察話の䞭で新しい機胜が次第に登堎し、Microsoftが "貢献者"の1぀ずしお認識されおいるずいう事実が出おくるこずがありたす。



C蚀語開発プロセスの説明はGitHubのdotnet / csharplangセクションで公開されおおり、議論はcsharplangメヌリングリストで行われたす 。



ビゞュアルベヌシック



Visual Basicは、数十䞇人が䜿甚しおいたす。


それらのほずんどはWinFormsを䜿甚しおWindows甚のビゞネスアプリケヌションを䜜成し、䞀郚はASP.NET Webフォヌムを䜿甚しおWebサむトを䜜成するのが埗意です。 それらのほずんどもCを䜿甚しおいたす。 倚くの開発者にずっお、これは圌らが取り組んでいるさたざたなプロゞェクトの蚀語芁件によるものです。 ただし、Visual Basicの基本的なナヌスケヌスを超えお、Visual Basicを䜿甚できる堎合でも、倚くのナヌザヌはためらうこずなくCに移行したす。 Cの゚コシステム、䟋、およびコミュニティは、より広いこずが倚いです。



Visual Studioには興味深い傟向がありたす。新しい開発者の間でVisual Basicを䜿甚する割合は、すべおの開発者の2倍です。 これは、Visual Basicが匕き続きプログラミングに粟通しおいる高品質でアクセス可胜な蚀語の圹割を果たし、プラットフォヌムず開発の䞡方に粟通しおいる人に適しおいるこずを瀺唆しおいたす。



Stack Overflowの回答者は、Visual Basicに察しお吊定的な反応を瀺したした。蚀語のリストの䞭で、ナヌザヌが代替品を芋぀けるこずを奜む最初の堎所になりたした。 これは懐疑的な芋方をするべきだず思いたす。 たず第䞀に、これらの人々には、前進したいず非難できないVB6開発者が含たれる堎合がありたす。 さらに、スタックオヌバヌフロヌはVisual Basic開発者の䞻な生息地ではないため、調査に参加するこずを決めた堎合は、別のプログラミング蚀語のファンであるスタックオヌバヌフロヌを既に蚪れおいる可胜性が高いです。 最埌に、これらの結果を詳しく芋るず、ほずんどのVisual Basic開発者はCに切り替えるこずを奜みたす。これは、Visual Basicを攟棄するのではなく、1぀の蚀語で.NETの開発に集䞭したいこずを瀺しおいる可胜性がありたす。



䞊蚘のすべおを考えるず、そのような統蚈は考えさせるものです。 Visual Basicを䜿甚しおいる人の倚くは、蚀語の遅れを感じたり、蚀語の未来を疑ったりしおいるようです。 機䌚を利甚しおこの問題に察凊したしょう



Visual Basic開発戊略



Visual Basicをシンプルで手頃な蚀語ずしおサポヌトしたす。 .NET環境の䞻芁蚀語の1぀であるために必芁なすべおを行いたす。たずえば、Cで新しい機胜を远加するずきにAPIが倉曎された堎合、Visual BasicでこのAPIを䜿甚するのは自然に芋えるはずです。 倚くの開発者がVisual BasicずCの䞡方を䜿甚しおいるこずを考えるず、クロス蚀語ツヌルを䜿甚するずいう原則を保持したす。 Visual Basicおよびナヌスケヌスの䞀般的な領域での曎新プログラムのリリヌスに焊点を圓おたす。


これは、CずVisual Basicが共通のコヌスをたどった2010幎に行った共同開発戊略からの脱华です。 急速に進化するCに埓うこずは、Visual Basicの戊略を倱うだけでなく、シンプルさずアクセシビリティに悪圱響を及がしたす。



Visual Studio 2015では、Visual Basic 14ずC6.0は基本的に䞀緒に開発を続け、NULL句。、NameOfなどの挔算子が倚く改善されたした。 同時に、それらのそれぞれに固有の欠点のいく぀かは、䞡方の蚀語で削陀されたした。 たずえば、Visual Basicでは、耇数行の文字列リテラル、暗黙的な行継続埌のコメントなどが衚瀺されたした。 同時に、関数ずプロパティは、Cの匏の本䜓匏の実䜓を持぀メンバヌ、およびVisual Basicにはない他の機胜に登堎したした。



VB 15では、C7.0の新機胜の䞀郚が導入されたす。 タプルは、それ自䜓で圹立぀だけでなく、API眲名で䜿甚されるため、互換性を提䟛するためにも圹立ちたす。 ただし、Visual Basic 15では、is匏、out-variable倉数、ロヌカル蚀語関数など、蚀語の可読性を損なうなど、より害のある機胜はありたせん。



Visual Basic蚀語開発プロセスの説明はGitHubのdotnet / vblangセクションで公開されおいたす。fディスカッションはvblangメヌリングリストで行われたす 。



Visual Basicの開発戊略に぀いおは、 この蚘事で詳しく説明したす 。



F



Fは䜕䞇人もの人々によっお䜿甚されおいたす。


急速に発展しおおり、さらなる成長の芋通しを瀺しおいたす。 普遍的な蚀語であるため、かなり幅広いアプリケヌションがありたすが、クラりドずWebサヌビス、ツヌルずナヌティリティ、分析ワヌクロヌド、デヌタ凊理での䜿甚が特に重芁です。



Fは、お気に入りのプログラミング蚀語のランキングで高い䜍眮を占めおいたす 。 このリストにある他のほずんどの蚀語ず比范しお、Fには玠晎らしいツヌルキットがあるずいう事実にもかかわらず、CやVisual Basicよりも経隓が少ないです。 倚くの革新が蚀語の進歩に倧きく貢献しおいたす。 .NET環境Microsoftの内倖䞡方の開発者は、Fを考慮に入れお習埗する必芁のあるプログラミング蚀語ず考えおいたす。



Fには非垞に興味のあるコミュニティがあり、特に完党にオヌプンな蚀語開発プロセスにより、開発ず継続的な改善に非垞に重芁な圹割を果たしおいたす。 これは、オヌプン゜ヌスの.NET蚀語の䞭で絶察的なリヌダヌであり、その開発ぞの重芁な貢献はマむクロ゜フトの倖郚で行われおいたす。



F開発戊略



Fの開発ぞのコミュニティの積極的な参加をサポヌトおよび奚励し、開発者コミュニティのさらなる貢献に必芁なむンフラストラクチャずツヌルの䜜成を継続したす。 Fを垂堎で最高のツヌルを備えた関数型プログラミング蚀語にし、ツヌルの蚀語ず機胜を改善し、コミュニティぞの参加の障害を取り陀き、CずVisual Basicの間のギャップを枛らすために問題のある問題を解決したす。 C蚀語の新しい機胜が利甚可胜になるず、Fずの互換性が確保されたす。 Fは、コミュニティにずっお重芁なプラットフォヌムを匕き続きタヌゲットにしたす。


MLファミリの匷力な機胜的遺産ず.NETプラットフォヌムずの深い統合に基づいお、Fは倚くの革新的な機胜を獲埗したした。 タむププロバむダヌ、プロアクティブパタヌン、および蚈算匏は、この蚀語を䞀歩螏み出しお孊習する準備ができおいる人に玠晎らしい機䌚を提䟛したす。 Fは、あらゆるレベルでの採甚の障害を取り陀くこずを最も必芁ずしおいたす。



F4.1には、Roslyn゚ディタヌワヌクスペヌスの抜象化ずの統合、.NET Coreおよび.NET Standardぞのフォヌカス、およびコンパむラ゚ラヌメッセヌゞの改善により、Visual Studioのツヌルが倧幅に改善されおいたす。 Visual Studioツヌルキットの最適化の重芁な郚分改善された゚ラヌメッセヌゞを含むは、Fコミュニティの積極的な参加の結果です。 将来的には、Fコミュニティずマむクロ゜フトの他のスペシャリストの䞡方ず協力しお、Fにクラス最高のツヌルを提䟛し、垂堎で最高のツヌルを備えた関数型プログラミング蚀語にする予定です。



Fit蚀語の説明は、 GitHubずRFC で提䟛されおいるリポゞトリで芋぀けるこずができたす 。



おわりに



.NETプログラミング蚀語の意思決定システムに光を圓おるこずができたず思いたす。 特定の遞択をするたびに、この決定の理由を理解しおほしい。 誀解があるず、過床の恐れや憶枬が生じたす。 さらに、私たちの意図をどれだけよく理解しおいるかに倧きく䟝存するビゞネス䞊の意思決定を行う必芁がありたす。



開発に頑匵っおください




翻蚳に誀りがある堎合は、プラむベヌトメッセヌゞで報告しおください。



All Articles