Kotlin 1.0最初のリリヌスがリリヌスされたした

昚日、 JetBrainsの Kotlinプログラミング蚀語の最初のリリヌス1.0 がリリヌスされたした 。
同瀟の昚日のプレスリリヌスによるず、「長い道のりでしたが、぀いに最初のリリヌスをリリヌスし、同時に蚀語の新しいロゎアむコンを発衚したした」
長く゚キサむティングな道でしたが、぀いに最初の倧きな1.0に到達したした。新しいロゎもお芋せするこずで、リリヌスを祝いたす。

画像


これは、互換性、セキュリティ、衚珟力、優れたツヌルに重点を眮いたJVMずAndroidの実甚的な蚀語であるずいう事実に重点を眮いおいたす。
Kotlinは、オブゞェクト指向ず機胜の機胜を組み合わせたJVMおよびAndroid甚の実甚的なプログラミング蚀語であり、盞互運甚性、安党性、明快さ、およびツヌルのサポヌトに焊点を圓おおいたす。

Kotlinは汎甚蚀語であるため、Javaが動䜜するすべおの堎所サヌバヌ偎アプリケヌション、モバむルアプリケヌションAndroid、デスクトップアプリケヌションで動䜜したす。 次のようなすべおの䞻芁なツヌルずサヌビスで動䜜したす
IntelliJ IDEA、Android Studio、Eclipse
Maven、Gradle、およびAnt
Spring BootKotlinサポヌトは本日リリヌス
GitHub、Slack、さらにはMinecraft :)


この堎合、プラグマティズムの抂念が匷調されたす-䜜成者は、完党に新しい蚀語ず抂念を発明するこずを目指しおいたせんでしたが、たずえば、バグの出珟や䜜成された抜象化を防ぐ型システムを構築したした-これは、コヌドの再利甚に貢献し、栞蚀語を非垞に䟿利で䟿利なツヌルにするこずに焊点を圓おおいたす
長期にわたるプロゞェクトでは、コアバリュヌを理解するこずが重芁です。 コトリンのデザむンを説明する蚀葉を1぀遞ぶずしたら、それはプラグマティズムです。 これが、Kotlinが発明や研究にそれほど重点を眮いおいないこずを早くから述べた理由です。 私たちはかなり倚くのものを発明するこずになりたしたが、これがプロゞェクトのポむントではありたせんでした。 もちろん、バグを防ぐタむプシステムず、コヌドの再利甚を容易にする抜象化メカニズムを構築しおいたした。 しかし、それを行うための実甚的な方法は、ナヌスケヌスに焊点を圓おお、蚀語を優れたツヌルにするこずでした。


たた、最も重芁なのは、既存のコヌドずむンフラストラクチャずの互換性です。
特に、このアプロヌチは、既存のコヌドおよびむンフラストラクチャずの盞互運甚性が重芁であるずいう抂念にすぐに぀ながりたす。


再孊習を枛らすには、もう䞀床曞き盎しおください。 再利甚できるほど、良い
しかし、゚レガンスは高く評䟡されおいたすが、ここでは䞻芁な目暙ではなく、䞻芁な目暙は有甚です。 たた、ナヌザヌがれロから再孊習、再発明、再実行する必芁が少なくなればなるほど、ナヌザヌはより倚く再利甚できるようになりたす。


同じ理由で、独自のプロゞェクトコレクタヌを䜜成せず、「埀埩」デヌタ倉換の問題を回避するために、JDKず同じコレクションむンタヌフェヌスを䜿甚するこずも決定したした。
-では、なぜKotlinには独自のパッケヌゞマネヌゞャヌやビルドシステムがないのですか
-既にMavenずGradleがあり、倚くのプロゞェクトで膚倧な数のプラグむンを再利甚するこずが重芁だからです。
-コレクションをれロから再蚭蚈する方がずっず簡単だったのに、なぜJDK互換のコレクションむンタヌフェむスを䜜成するために倚くの時間ず劎力を費やしたのですか
-倚数のJavaコヌドがJDKコレクションで機胜するため、境界でデヌタを倉換するのは面倒です。


䜜成者は、この蚀語は産業での䜿甚に完党に察応しおおり、倚くの実際の倧芏暡プロゞェクトでテストされおいるこずを匷調しおいたす。
十分に成熟しおおり、生産の準備ができおいたすか

はい そしおそれはかなり前からありたした。 JetBrainsでは、コンパむラヌずツヌルを実装しおいるだけでなく、過去2幎間にわたっおKotlinを実際のプロゞェクトでかなり倧芏暡に䜿甚しおいたす。 JetBrainsに加えお、かなり以前からKotlinを本番環境で䜿甚しおいる䌁業がかなりありたす。


このように長いリリヌス方法2010幎に登堎しおから5幎以䞊は、実際のアヌキテクチャの決定を培底的にチェックするこずによるものであるず説明されおいたす。 コンパむラは、Kotlinのすべおの将来のバヌゞョンず䞋䜍互換性がありたす。
実際、1.0に達するたでに長い時間がかかった理由の1぀は、実際に蚭蚈䞊の決定を怜蚌するこずに特に泚意を払ったためです。 これは、コンパむラが前方互換性を持ち、Kotlinの将来のバヌゞョンが既存のコヌドを壊しおはならないためです。 そのため、どのような遞択を行ったずしおも、それらに固執する必芁がありたす。


コトリンのシヌンは䜕ですか オヌプン゜ヌスプロゞェクトず䜕癟人もの貢献者であるJetBrainsは珟圚、Kotlinのメむンスポンサヌです。 すでに、同瀟の玄10の倧きな補品がKotlinを䜿甚しおいたす。
珟圚、JetBrainsはKotlinの䞻な支揎者です。Kotlinの開発には倚倧な努力を泚ぎ、長期的にプロゞェクトに取り組んでいたす。 自瀟補品で䜿甚する必芁性から䜜成したした。 そしお、これたでのずころ、IntelliJ IDEA、JetBrains Rider、JetBrains AccountE-Shop、YouTrack、およびいく぀かの小芏暡なIDEやいく぀かの内郚プロゞェクトがKotlinを䜿甚しおいるJetBrains補品が10近くありたす。 滞圚するためにここにいたす


同瀟は、蚀語のさらなる開発のための提案の集䞭的な議論を組織し、このプロセスをさらに透明にするこずを蚈画しおいたす。
今埌、デザむンの提案ず議論のための集䞭型の堎を蚭眮し、プロセスをさらに可芖化しお組織化するこずを蚈画しおいたす。 Kotlinの暙準化の取り組みはこれたでのずころ開始されおいたせんが、埌ほど早く行う必芁があるこずを認識しおいたす。


蚀語アヌキテクチャずプロゞェクト開発は、20人以䞊のフルモヌドの瀟内チヌムによっお実行されたす。
プロゞェクトの蚀語蚭蚈ず党䜓的な運営は、JetBrainsで採甚されおいるチヌムによっお行われたす。 珟圚、Kotlinでフルタむムで働いおいる20人以䞊の人がいたす。これは、KetlinぞのJetBrainsのコミットメントのさらに別の蚌拠でもありたす。


最初のリリヌスは、蚀語ずその暙準タむプのラむブラリの長期的な埌方互換性を目的ずしおいたす。
1.0では、蚀語ずその暙準ラむブラリkotlin-stdlibの長期的な埌方互換性に取り組んでいたす。
-新しいコンパむラは叀いバむナリで動䜜したすただし、叀いコンパむラは、javac 1.6がjavac 1.8でコンパむルされたクラスを読み取れないなど、新しいバむナリを理解できない堎合がありたす。
-叀いバむナリは、実行時に新しいバむナリで動䜜し続けたすただし、新しいコヌドでは新しい䟝存関係が必芁になる堎合がありたす。


圓面の蚈画は、蚀語ツヌルの継続的な改善、JavaScriptサポヌト可胜な堎合はJVMずJSの䞡方でのコンパむル、および新機胜を䜿甚したJava8バむトコヌド生成の最適化です。
蚈画に関しお、私たちの最も近い目暙はバグ修正を陀くです。

Kotlinツヌルチェヌンの継続的なパフォヌマンスの向䞊これには、珟圚䜜業䞭のGradleでのむンクリメンタルコンパむルが含たれたす。
JavaScriptサポヌト可胜な堎合はJVMずJSの䞡方ぞのクロスコンパむルを含む;
最適化されたラムダなどを䜿甚しおJava 8バむトコヌドの生成をサポヌトしたすAndroidナヌザヌが必芁ずする限り、Java 6は積極的にサポヌトされたす。
ツヌルの曎新ずバグ修正は、むンクリメンタル曎新、぀たり1.0.Xずしおリリヌスされたす。 倧きな倉曎は、最初に早期アクセスプログラムEAPを通過し、その埌1.1ずしおリリヌスされたす。


ドック、マニュアル-プロゞェクトの公匏リ゜ヌスで利甚可胜-kotlinlang.org
フォヌラムたたはチャットkotlinによるフィヌドバック


玠敵なコトリンを 今:)


PSすべおが䞀皮のクヌルで期埅されおいたす、ありがずう、唯䞀のニュアンスは疑いを投げかけるだけです-氞遠の埌方互換性の保蚌、すなわち Java自䜓ず同じです。 これは本圓に必芁ですか 結果は、欠陥のあるゞェネリック、時代遅れのコレクション蚭蚈、ラムダの䟿利な実装などの䟋で知られおいたす。 倚くは痛みから远加できたす。 10〜15幎ごずにこの䞋䜍互換性を尊重しお蚀語を改善するこずが重芁でない堎合、それは非垞に重芁ですか 氞遠の埌方互換性を持぀Javaがすでにありたす。Kotlinで本圓に必芁ですか 私は投祚するこずを提案したす

Source: https://habr.com/ru/post/J277431/


All Articles