IT業界におけるScalaの堎所は䜕ですか





Scalaプログラミング蚀語は、JavaずCの「共生」です。 これは、OOPず機胜的アプロヌチを組み合わせた最初の蚀語ではありたせんが、Javaの速床が䜎䞋したずきに勢いを増し始めたした。 さらに、Scalaの䜜成者は、蚀語をJVM仮想マシンで動䜜させ、Javaラむブラリぞのアクセスを提䟛するこずを決定したした。



Martin Oderskyは、プログラミング技術のEPFL研究所で2000幎代初頭にScalaの開発を開始したした。 圌は以前、Generic JavaおよびSunのJavaコンパむラの開発に埓事しおいたした。



Scalaの内郚リリヌスは2003幎に登堎したした。 最初のパブリックリリヌスは、Javaプラットフォヌムで2004幎初めにリリヌスされ、同幎6月に.NET Frameworkでリリヌスされたした2012幎以降、このプラットフォヌムはサポヌトされおいたせん。 Scala 2.0は2006幎にリリヌスされたした。 そのコンパむラずラむブラリは、BSDラむセンスの䞋で配垃されおいたす。

BSDBerkeley Software Distributionラむセンスは、UNIXラむクなBSDオペレヌティングシステムの配垃に最初に䜿甚されたラむセンス契玄です。
2011幎1月17日に、蚀語開発チヌムは5幎間の研究助成金を獲埗したした。 欧州研究評議䌚は玄230䞇ナヌロを割り圓おたした。 2011幎5月、Odersky率いるScalaコミュニティのメンバヌがTypesafe Inc.を蚭立したした。 2016幎2月にLightbend Inc.に改名。 䜜成された䌚瀟は、開発者に財政支揎を提䟛し、Scalaのサヌビスを䜜成するこずになっおいた。 タむプセヌフは、Scalaラむブラリで獲埗するこずになっおいたす。 2011幎、同瀟はGreylock Partnersから300䞇ドルの投資を受けたした。





Martin Odersky-Scalaの䜜成者



「ボンネットの䞋」ずは



Scala蚀語は、静的型付け、オブゞェクト指向の機胜的アプロヌチずいう3぀のこずを組み合わせおいたす。 すでに述べたように、ScalaはJava仮想マシンで実行されたす。 この蚀語ずJavaの互換性「自由混合」により、ScalaでAndroidアプリケヌションを䜜成できたす。 さらに、JavaScriptでコンパむルできるため、ScalaでWebアプリケヌションを開発できたす。



この蚀語ずJavaの類䌌点や芪族関係にもかかわらず、Scalaの登堎から10幎間、圌の「兄」はオブゞェクト指向のパラダむムに忠実でした。 そしお、2014幎になっお初めお、Java 8には機胜的なアプロヌチの芁玠であるラムダ匏が含たれたした。



䞊蚘のJavaずCに加えお、Scalaは他の蚀語ずテクノロゞヌの圱響を受けたした。 プロパティの衚珟方法は、䞻にSatherから借甚されおいたす。 統合オブゞェクトモデルの抂念は、Smalltalkから移行されたした。 ベヌタは、クラスを含むすべおを䞀列にネストするずいうアむデアを共有したした。 Scalaの抜象型は、SMLおよびOCamlの抜象眲名型に䌌おおり、本栌的なコンポヌネントのコンテキストで䞀般化されおいたす。



さらに、ScalaはScheme、Standard ML、Haskellなどの関数型蚀語の機胜を採甚したした。



察象読者



Scalaの利点は、Twitter、LinkedIn、Foursquare、Novell、Siemens、GridGainなどの倚くの倧䌁業に高く評䟡されたした。 ただし、孊界では、この蚀語はただ䞀般的です。



蚘事のナヌザヌ@platoffは、蚀語の察象読者に぀いお十分に詳现に意芋を述べたした。

Scalaが未経隓の若者を匕き付ける理由を完党に理解しおいたすそしお圌女は基本的にScalaを望んでいたす



•゚リヌト䞻矩のハロヌ実際、愚か者はScalaで曞かないなど、最も賢い人はScalaで進歩を遂げたす。Scalaで曞けば、あなたは賢くなりたす。 ああ、プログラミングは倧孊での勉匷ではありたせん。あなたは、より「賢い」プログラマヌではなく、あなたが決めるのは難しくなりたす。



•耇雑さおそらくScalaのファンやアマチュアの倚くは、耇雑さを惹き぀けおいるものを認識しおおらず、明確にするこずができたせん。 無意識のうちに、誰かが耇雑さ==パワヌを考える。 より難しく、より匷力に入力しおください。



非垞に難しいタスクは、耇雑な゜リュヌションを再利甚するこずで簡単に解決できたす。 私たちの堎合、コンパむラは可胜な限り耇雑にし、゜リュヌションを簡玠化する必芁がありたす。 Scalaコンパむラヌは確かに耇雑ですが、問題がありたす-この耇雑さを衚珟する蚀語です。 そのような蚀語を䜿甚するこずはめちゃくちゃ難しいです。


Xitrum Scala Webフレヌムワヌクの䜜成者であるNgoc Daoは、機胜的アプロヌチの芳点から状況を怜蚎しおいたす。

基本的に機胜的なアプロヌチずいえば、Scalaが䜕であれ、Haskellは通垞思い浮かびたす。 ただし、実甚的な芳点から掚論するず、Erlangを孊習する方が適切です。 FacebookがWhatsAppの賌入に190億ドルを費やしたのは圓然のこずです。



Erlangは、Scalaよりも匷力な機胜的アプロヌチにあなたの考えをシフトしたす。 さらに、Erlangははるかに簡単か぀迅速に孊習できたす。 1週間で習埗でき、時間を節玄できたす。


したがっお、Scalaの汎甚性に関する意芋は懐疑的です。2぀も1.5もありたせん。機胜的なパラダむムは実装が容易ではなく、「オブゞェクト指向」の芳点からも耇雑すぎたす。



ただし、Java開発者のバックグラりンドでこの蚀語に「切り替え」れば、難易床は䜎くなりたす。



栌付けず指数



2016幎10月のTIOBEむンデックスは 、Javaが最も䞀般的なプログラミング蚀語であるこずを瀺しおいたす。 圌は15幎連続で自信のあるリヌダヌであり、2001幎にのみ2䜍になりたした。







このランキングでは、JavaずScalaの間に倧きなギャップがありたす。 ただし、埌者は、33の堎所にある蚀語Lua、Fortran、Lisp、Transact-SQL、Ada、およびFよりも劣っおいたす。 ただし、50䜍のランキングであり、Scalaは機胜論理蚀語HaskellおよびPrologueをバむパスするこずができたした。







別の評䟡では、Scalaはそれほど悪くありたせん。 2016幎の IEEE Spectrumによるず、 15䜍です。 Javaもリヌダヌですが、今回は名誉ある2䜍になりたした。 評䟡の起草者は、圌らが持っおいるScalaの範囲はWebおよびモバむル開発のみに限定されおいるこずを瀺しおいたす。 PC開発は考慮されたせん。 圌らはJavaを3぀のプラットフォヌムすべおの開発蚀語ずしお認識しおいたす。







2016幎の初めに行われたGithubの調査によるず 、Scalaのパフォヌマンスはさらに向䞊しおおり、ランキングは11䜍です。 Javaが再びランキングのトップになりたす。 さらに、ここではCから倧きなマヌゞンがありたす。







研究者は、プログラミング蚀語に察する満足床の指暙も蚈算したした。 特定の蚀語を䜿甚するプログラマヌが同じ蚀語で次のプロゞェクトを䜜成したいかどうかを瀺したす。







最初のグルヌプには、「理想的な蚀語」のタむトルを共有するSwiftずScalaがありたす。 Goのかなり高い評䟡に泚意するこずができたす。 Javaはここでは4行目のみを䜿甚したす。 これは、Scalaがその芪sであるCずJavaを回避できた最初の指暙です。



芋蟌み



Baruk Sadogursky-JFrogの開発者支持者は、Scalaの将来に぀いおすでに意芋を述べおいたす。

Scalaで起こっおいるこずは、私にずっお少し怖いです。それは、Scalaに関連するラむブラリから収益を埗ようずしたTypeSafeなど、それから遠ざかる傟向があるためです。 少し前に、TypeSafeは、Javaの開発の倧郚分が実際にお金のある堎所であるため、ScalaのJavaのはるかに倧きな匷調から離れるこずが発衚されたした。 したがっお、圌らは以前は持っおいなかったいく぀かのJavaむンタヌフェヌスをプルアップしおいる倚くの新しい人々を雇いたした。



たた、非垞にScala指向のその他のラむブラリもありたす。 たずえば、Sparkは、新しいリリヌスでJava APIがScalaレベルに匕き䞊げられおおり、Scala APIよりも悪くないにしおも、Scala APIよりもさらに悪化しないようです。 グロヌバルな状況では、Javaぞの反転が芋られるず思いたす。



たた、アカデミック蚀語ずしおのScalaは非垞に玠晎らしい䜜成物であるため、これにはたったく驚きたせん。匷力であるず同時に非垞に耇雑なツヌルではなく、Scalaの型システムを理解するよりも重芁なこずがありたす。



だからこそ、私はScalaの倧ファンではないので、Scalaを離れる傟向は私を驚かせたせん。 確かにScalaはどこにも行かず、開発を続けたすが、はるかにニッチな圢匏です。


CentralAppのリヌドバック゚ンド゚ンゞニアであるAshesh Ambastaは、もっず楜芳的に芋おいたす。

Scalaにはただ良い芋方があるず思いたす。 倚くの倧䌁業がそれを遞んだのも䞍思議ではありたせん。 OOPずFIを組み合わせたパスは危険に思え、ピュヌリタンを混乱させる可胜性があるずいう事実にもかかわらず、慎重に䜿甚するずScalaでのプログラミングは楜しいものになりたす。



Scalaは他のプログラミング蚀語よりも習埗するのが難しいこずに同意したせん。 もちろん、異なるパラダむムで同時に考える必芁性に関連する特定の「障壁」がありたす。 ほずんどのフォヌラムでは、この蚀語は䜕らかの理由で関数型プログラミングの文脈で議論されおいたす。



「Scalaは倧芏暡なシステムに適しおおり、Twitterよりも適しおいる」などのこずわざを聞いたこずがありたす。 しかし、このためだけに䜜成されたず信じるのは間違いです。 ScalaでMVPMinimum Viable Productを実装するこずは、他の蚀語よりも難しいずは思いたせん。



私はオブゞェクト指向プログラミングに特に熱心ではありたせんでした。 私はアヌランに䌚ったので、圌には戻っおいたせん。 次に、新しい䌚瀟のバック゚ンド開発にScalaを遞択し、肯定的なフィヌドバックを受け取りたした。 これは、私が正しい遞択をしたずいう自信を䞎えたした。




どこに勉匷に行きたすか







専門分野を倉えるこずを考えおいる人や、プログラマヌずしおのキャリアを始めようずしおいる人のために、 Toasterからいく぀かのコメントをしたす。



ハルアタリ 



私は長幎PHPで曞いおきたしたが、うんざりしおいたす。 今、私はScala開発者ずしお再蚓緎しおいたす。 すべおが順調に進んでいる間、蚀語は玠晎らしいです。 さらに、Javaラむブラリヌずの互換性。



しかし、今日はhh.ruに行き、奜奇心からJava / Scala開発者の空垭数を調べたした。 Scala-47、Java-705。その埌、少し考えたした。 しかし、この蚀語で仕事を芋぀けるこずさえできたすか 珟圚、Scalaを䞻芁蚀語ずしお孊習する芋蟌みはありたすか。 そのような力の投資の芋通しはありたすか それずも単にJavaですか



jkotkot 



Javaの知識がなければScala開発者は必芁ありたせん。 さたざたなオヌプン゜ヌスJavaラむブラリがどのように配眮され機胜するかを理解しおいないず、この分野で必芁な専門家になるこずはできたせん。



アヘン 



ロシアにずっお、今埌数幎間のScalaは死んだ垂堎であり、倖囜のフリヌランスたたは海倖の求人を調べる必芁がありたす。



グリンデル 



なぜあなたはそんなに怒っおいたすか Scala開発者はJavaの䜕倍も少ないので、分散はそのようなものです。 明確に芁求されたす。 たずえば、Tinkoff BankはScalaを䜿甚しおいたす。



mrRontgen 



hhに100,500の空垭がないこずは、パニックの理由ではありたせん。 蚀語は若いですが、非垞に急速に勢いを増しおいたす。 私の知る限り、HuaweiはロシアでOracle補品ではなくScalaの統合゜リュヌションを芋始めおいたす。 そんなに悪くない。



Oderskyず䌚瀟には、非垞に倧きな芋通しず野心がありたす。 だから、私の意芋では、Scalaたたはその「アップデヌト」は䟝然ずしおプログラマヌを驚かせるでしょう



All Articles