䞖界で最高のプログラミング蚀語を芋぀けた方法。 パヌト2

最初の郚分はこちらです。 継続



ク゜7幎間、私は少なくずも䜕らかの圢で私の欲求の䞀郚に答える蚀語を埅っおいたした。 この間、そしおバックグラりンドで、私はすべおを詊したした。 すべお-すべおの汎甚ガベヌゞを意味し、すべおのガベヌゞはたったく汎甚ではありたせん。 蚀語に぀いお䜕かを読んでHello Worldを曞くだけでは、蚀語を感じるこずはできたせん。 理解するには-少なくずも少しプログラミングする必芁がありたす-どのスレッドのものを曞くか。 そしお、この間ずっず、絶望の瞬間に、「玠晎らしい蚀語」ずいうスレッドをダりンロヌドし、䜕かを曞き蟌もうずしたした。 いく぀かのこずはただオフィスで回転しおいたすたたは回転しおいたす。



クロヌゞュア





圌は、ClojureのラむセンスのRESTサヌバヌのようにささいなこずをすべお行いたしたが、埌に延期したした。 評決Clojure-機胜的なPHP。 プログラミング時の感情感情は、PHPでプログラミングするずきず同じです。 ホップホップずプロダクションの倚くの蚀語のように、特に最初はポゞティブである堎合もありたすホップホップずプロダクション、すべおが矎しく動䜜し、括匧を認識するように目を蚓緎するずコヌドは非垞に゚レガントです 䞀般に、私が圢成した態床はPHPの堎合ず同じです。サヌバヌ䞊のペヌゞがデヌタベヌスの同僚に䜕かを衚瀺するスレッドを衚瀺する必芁がある堎合は、PHPを䜿甚したす。このような問題を迅速か぀確実に解決する方法はありたせん。 もっず耇雑なのはクラントです。 倧きな頭、ある皮の生産文化、ツヌル/プロセスなどが必芁です。 そしお、それはたすたす悪化したす。



Clojureが悪いずは決しお蚀いたせん。 Rich HickeyClojureの䜜成者-ClojurePDS、STMの頭、抂念は問題ありたせんが、蚀語ずはほずんど関係がなく、どこでも実装できたす。 たあ、コンセプトを萜ずすのはLispであり、幞運なこずに、2015幎にLispで曞くためのひげはありたせん。 Clojureの䞀郚ずPHPの䞀郚は、本圓に倧きく、耇雑で、Clojureず驚くべきこずを曞いおいたす1぀のDatomicに倀したすが、再び、動的型付けには興味がありたせん。 これは、頭に倧きなメモリモゞュヌルがある人向けです。 芁するに、新しいモデルのフォルクスワヌゲンビヌトル-あなたはクラブに行くこずができたすが、キャメルトロフィヌのために圹に立たない。



スカラ





Scala-䜕床か圌女に戻っお、䜕床か投げたした。 Scalaが未経隓の若者を匕き付ける方法を完党に理解しおいたす基本的にScalaを望んでいたす。 いく぀かのこずを匕き付けたす





これたでのずころ、私が1週間前にScalaに最埌に戻ったずきです。 「昚日」ずいう蚀語を遞択する必芁があり、悔い改めお、Scalaは最小限の悪であるず刀断したした。 ScalaJSの存圚ず比范的豊富なメタプログラミング機胜マクロの読み取りにより、タクシヌに乗るこずができたす。 さらに、EPFLのある皮のヒップスタヌが、蚘事の最初の郚分で述べたオフヒヌプデヌタ構造に関するいく぀かの問題を解決し始めたした。



䞀般的に、私は深呌吞をしお同僚に次のように語った。 「芁するに、私たちはキャンペヌンのためにScalaでNext Big Thingを曞きたす。 ここでみんながそれをキャッチしたす-私はここで䜕幎もScalaで運転したしたが、今ではそのようなクリヌプ抂念が倉わりたした... ポゞティブな気分で、私は䜕かをプログラムしようずし始めたした。 Scalaの知識ず経隓はれロに近いずすぐに蚀わなければなりたせんが、それは人生の知識ず経隓で補いたす。 タむプクラスが必芁なこずはすぐに明らかになりたした。では、むンタヌネットを芋おみたしょう。 すぐに私はあるものに出くわし 、Miles SabinのScalaファン圢がわからないを蚱しおください。



簡単に埌退したすが、最初ず最埌のミヌティングの瞬間からこのタむプのマむルは奜きではありたせん。 EclipseCon 2009かそこらでした。 私はスタンドでビヌルに酔っお立ち、このコショりがここに来たす、私はここのマむルズセヌビンのようです、私はScalaのEclipseベヌスのIDEを曞きたす、私はパットの事のためにDLTKプログラマヌず䞀緒にグラむンドしたいですごみが出おきお、圌はIDEを持っおいたした-たわごず。私が理解するように、TypeSafeは埌で圌自身を曞きたした-しかし、私はそれを芋たせんでした。 さお、このマむルはプログラマヌがどこにいるのか教えおくれたすか 私は圌がプログラマヌです、あなたは私に話すこずができたす。 圓時の私は、プログラマヌのように芋えず、補助劎働者のように芋えたせんでした。 たあ、マむルズは、私があなたを必芁ずしないように、プログラマヌに来お蚀う。 Bitch :)しかし、私は圌に私がDLTKプロゞェクトリヌダヌのようだず説明したせんでした。さらに、圌はそこに着かなかったので、圌はIDEを普通にやらないこずを知っおいたす。 圌はそれをレハ・パンチェンコに送り、少幎たちず䞀緒に匷打したした...䞀般に、䞖界は小さいです。





たあ、私はグヌグル、そしおこの圢のないそしお型クラスが必芁です。 ゚リヌトが想定されおいるように、圌らには文曞がなく、最初の段萜ではすぐに4぀の科孊論文にリンクしおいたす。 さらに、圌らを助ける方法、貢献する堎所、コンパむルする方法が曞かれおいたす。 そしおピペット。 さお、さらにグヌグルで怜玢しおみたしょう-圌の奇跡に぀いお語るこのマむルのビデオがありたす。 40〜45分間、圢のないこずがHListず呌ばれる圌の魔法の発明に基づいおいるずいう事実に぀いお。 そしお、これは圌が近幎苊しんでいるメむンチップのようなもので、ほずんど機胜し、マクロがScalaに远加され、圌はチップHListを䜜り盎したした。そしお、このHListは叀いHListよりも話題になりたした。 圌は非垞に長い間、基本的に次のようなコヌドの倧芏暡なクラりドでそれを汚したした



オブゞェクトIsHCons1 {

  タむプAux [L [_]、FH [_ [_]]、FT [_ [_]]、H0 [_]、T0 [_] <HList] = IsHCons1 [L、FH、FT] {type H [ t] = H0 [t]; タむプT [t] = T0 [t]}

   def apply [L [_]、FH [_ [_]]、FT [_ [_]]]暗黙のtcIsHCons1 [L、FH、FT]Aux [L、FH、FT、tc.H、 tc.T] = tc

  暗黙的なdef mkIsHCons1 [L [_]、FH [_ [_]]、FT [_ [_]]]IsHCons1 [L、FH、FT] =マクロIsHCons1Macros.mkIsHCons1Impl [L、FH、FT]

 }




チョヌですか これは誰のためですか それは人々のためですか あなたは私がそのようなこずを毎日䜕癟行も曞いお、私の心にずどたるこずを提案したせんか、それずもむリタのためですか、そしお私たち、平凡な開業医はそれをあなたのものに䜿うでしょうか




次に䜕をすべきか、リスナヌがHListを知った埌、圌は3回すべおを話す時間がないので、自分のワヌクショップ、ビデオ、およびコヌスを参照しおください。 お金のために知識を習埗しおも構いたせんが



コンパむルの段階で䜕かをかき混ぜたい堎合コレクションのサむズを調べるなど、そのためにビッチがタむプを参照し、実行時に倀のタむプを理解するように、人々は週ず月を殺すように幎を殺したした、あなたはあなたの脳をずおもうたく䜜り、䞊で匕甚したようなコヌドを抂説する必芁がありたす。 もちろん、私は深く掘り䞋げたわけではありたせんが、おそらくこの圢のないものは、あなたが時間の雲を殺す必芁がありたすおそらく䞖界で最も掗緎されたScalaラむブラリではありたせん 、ワヌクショップ、 Demystifying Shapelessのような56ペヌゞのプリセット 。 そしお、なぜこれすべおですか コンパむル時に倀のタむプを遞択するには、仲間。



ファック、はい、デルピで95幎にプログラムしたしたが、すぐにそれを手に入れたした。 ポリモヌフィック型のλ蚈算に぀いおは䜕も知りたせんでしたが、今は䜕も知りたせんが、知識がないずむルカの孊生は10分でそのようなHListを䜜成し、実行時の型はそれを知っお参照したす。比范しお地獄は他に䜕を知っおいる。 そしお、これをすべお行う方法に぀いおも考えないでください。 デルフにマクロずゞェネリックがあれば、小孊生はこの゚リヌトがScalaで曞いたものずたったく同じように曞くず思いたすが、これらの叔父よりも桁違いに速く、それに぀いおさえ考えたせんでした。構造の改良タむプずその他のがらくたが必芁です本圓に必芁ですか。 人生は私にこれを確認したした。 はい、ずころで、生産のこの孊校のコヌドははるかに速く動䜜したす-ボヌランドの叀い孊校は物事を行う方法を知っおいたした。



䞀般的に、Scalaの抂芁はこれです。男はツヌルのタスクの耇雑さを隠し、ツヌルを䜿甚する耇雑さで眮き換えたした。 結果ずしおより困難であるこずが刀明したもの-ディックは圌を知っおいたす。私にずっお、Scalaでのプログラミングの耇雑さは、その䜿甚から埗られる利点よりもはるかに高いです。 車ずの類掚により、これはGoogleモバむルの最初のバヌゞョンです。 ワむダヌ、すべおのゎミ、カメラを吊るす必芁がありたす、そしお、時にはハンドルから手を攟すこずができたすが、デバむスから目を離さないでください。 そしお、もし䜕かが壊れおいたら、あなたがそれが続くこずを理解する日たで。 ええ、赀いボヌルが芋えるず倱速したす。 ファむアボックス内。



最愛のJVMの䞖界に別れを告げ、探しおいるものが芋぀かりたせんでした





手短に蚀えば、私はJVMベヌスのストヌリヌで倧隒ぎしたした。私のお気に入りのFantomは、いく぀かの理由で私には向いおいたせんでした 。定期的にCeylonずKotlinを芋たした。 たた、動的型付けを䜿甚しおすべおのストヌリヌを䞀掃したすcore.typedはお勧めしたせん。 繰り返したすが、倱望から、私はTeaVMを怜蚎したいず思いたした。これは、候補者のリストを拡匵したすが、到達したせんでした。候補者が芋えなかったからです。 芁するに、これらすべおのものは同じクラスです-枋滞でうたく運転するようなフォヌドフォヌカスプログラミング蚀語ですが、すごいです。



JVMの䞖界で䜕も芋぀からなかったので、私はすべお出かけたした。 雌犬は、少なくずも䜕らかの理由で聎聞䌚にあったものすべお、および聎聞䌚にたったくない䜕かにさえ觊れたした。 私が奜きなあたり知られおいないもの- クレむ 。 圌には可胜性がありたした、私には思えたす。 たずもな蚀語は、静的に型付けされたJuliaのバヌゞョンです。 䜜成者はこの蚀語を攟棄したした。私が珟圚Appleにいる著者の1人を理解し、Swiftず関係があるためです。



しかし、今日はそれに぀いお曞く時間がありたせん。 次のパヌトたで。



All Articles