Kotlin

Java jest niekwestionowanym „królem” rozwoju oprogramowania dla przedsiębiorstw. Mimo to, w ostatnim czasie Java stała się celem wielu krytyków: jest rozwlekła, wymaga mnóstwa kodowania, ma skłonność do „przypadkowej złożoności”. Jednak istnieje niewiele podobnych argumentów na temat wirtualnej maszyny Java (JVM). JVM jest arcydziełem inżynierii oprogramowania i oferuje środowisko wykonawcze, które przeszło próbę czasu.

Z biegiem lat języki JVM, takie jak Scala, próbowały zaradzić niedociągnięciom Javy i chciały stać się „lepszą” Javą, ale niestety zawiodły. Wreszcie wygląda na to, że dzięki Kotlinowi poszukiwanie „lepszej Javy” się skończyło. Jet Brains (firma stojąca za popularnym IDE IntelliJ) opracował Kotlin, który działa na JVM i odpowiada na niedociągnięcia Javy, jak i oferuje wiele nowoczesnych funkcji. Najlepsze jest to, że w przeciwieństwie do Scali, Kotlin jest znacznie prostszy niż Java i oferuje produktywność programistyczną w JVM podobną do tej w Go czy Pythonie.

Google ogłosił, że Kotlin jest językiem najwyższej jakości w obszarze rozwoju Androida i zwiększył akceptację Kotlina w społeczności. Również popularna platforma Java Enterprise Spring zaczęła wspierać Kotlin w ekosystemie Spring od 2017 roku.

Najważniejsze cechy:

  • Unikalną cechą Kotlina jest jego projekt języka. Produkuje zwięzły kod, dzięki czemu jest bardzo produktywny.
  • Podobnie jak wiele innych współczesnych języków, Kotlin oferuje takie funkcje, jak bezpieczeństwo wskaźnika zerowego, czy interferencja typów.
  • Ponieważ Kotlin działa również w JVM, możesz korzystać z istniejącego ogromnego ekosystemu bibliotek Java.
  • Kotlin to najwyższej klasy język do tworzenia aplikacji na Androida i już wyprzedził Javę w tym zakresie.
  • Kotlin jest wspierany przez JetBrains i Open Source, więc ma bardzo dobre wsparcie narzędziowe.
  • Istnieją dwa ciekawe projekty: Kotlin Native (do kompilacji Kotlin w natywny kod) i kotlin.js (Kotlin do JavaScript). Jeśli odniesie sukces, Kotlin może być używany poza JVM.
  • Kotlin oferuje również prosty sposób pisania DSL (język specyficzny dla domeny).

Popularność:

Od czasu pierwszego wydania w 2015 roku popularność Kotlin rośnie. Według Stack Overflow, Kotlin jest czwartym najbardziej lubianym językiem programowania w 2019 roku:

Źródło: Stackoverflow


Kotlin jest również jednym z najszybciej rozwijających się języków programowania i zajmuje 4 miejsce:

Źródło: Github Octoverse

Popularna strona rankingowa języków programowania PyPl umieściła Kotlin na 12. najpopularniejszym języku programowania z wysokim trendem wzrostowym:

Źródło: Pypl

Ponieważ Google ogłosiło Kotlin jako język pierwszej klasy do tworzenia aplikacji na Androida, Kotlin odnotował ogromny pozytywny wzrost trendów, jak pokazano poniżej:

Źródło: Google Trends

Główne obszary wykorzystania:

  • Wykorzystywane jako oprogramowanie dla przedsiębiorstw
  • Rozwój aplikacji na Androida

Konkurencyjne języki:

  • Java
  • Scala
  • Python
  • Go

TypeScript


JavaScript jest doskonałym językiem, ale przed 2015 rokiem miał wiele niedociągnięć. Zauważył to inżynier oprogramowania Douglas Crockford i w swojej książce „JavaScript – mocne strony”  zasugerował, że JavaScript ma swoje „złe strony, i swoje brzydkie strony”. Google opracowało nawet platformę do konwersji kodu Java na kod JavaScript (GWT). Wiele firm próbowało opracować lepszy JavaScript, np. CoffeeScript, Flow, ClojureScript. Ale TypeScript od Microsoft prawdopodobnie trafił w dziesiątkę. TypeScript stworzyła grupa inżynierów Microsoft, kierowana przez słynnego Andersa Hejlsberga (twórca Delphi, Turbo Pascal, C #).

Wydany po raz pierwszy w 2014 roku, szybko przyciągnął uwagę społeczności. W tamtym czasie Google planowało także opracowanie systemu typów plików JavaScript. Google był tak pod wrażeniem TypeScript, że zamiast opracować nowy język, weszli w współpracę z Microsoftem w celu ulepszenia TypeScript. Google użył TypeScript jako głównego języka programowania dla swojej struktury SPA Angular2 +. Również popularny framework SPA React oferuje obsługę TypeScript. Inne popularne środowisko JavaScript Vue.js zadeklarowało, że użyje TypeScript do opracowania nowego Vue.js 3:

Źródło: Vue.js Roadmap

Twórca node.js, Ryan Dahl, postanowił użyć TypeScript do opracowania bezpiecznej alternatywy dla Node.js, Deno.

Najważniejsze cechy:

  • Podobnie jak Go lub Kotlin, podstawową cechą TypeScript jest design języka. Dzięki wyraźnemu i przejrzystemu kodowi jest to jeden z najbardziej eleganckich języków programowania. Pod względem produktywności jest na równi z Kotlinem w JVM lub Go / Python. TypeScript jest najbardziej produktywnym nadzbiorem JavaScript.
  • TypeScript jest silnym nadzbiorem JavaScript. Jest szczególnie odpowiedni dla dużych projektów i słusznie nazywany „JavaScript, który skaluje”.
  • Największa „trójca” frameworków SPA (Angular, React, Vue.js) oferuje doskonałą obsługę TypeScript. W Angular preferowanym językiem programowania jest TypeScript. W React i Vue.js TypeScript staje się coraz bardziej popularny.
  • Dwoje największych tech gigantów: Microsoft i Google współpracują w celu opracowania TypeScript obsługiwanego przez dynamiczną społeczność open source. W rezultacie obsługa narzędzi dla TypeScript jest jedną z najlepszych.
  • Ponieważ TypeScript jest nadzbiorem JavaScript, może on działać tam, gdzie działa JavaScript, czyli wszędzie. TypeScript może działać w przeglądarce, serwerze, urządzeniach mobilnych, urządzeniach IoT i chmurze.

Popularność:

Programiści uwielbiają TypeScript za elegancki wygląd języka. W ankiecie Stackoverflow Developer uplasował się na drugim miejscu wśród Pythona w najbardziej ukochanej kategorii językowej:

Źródło: Stackoverflow

TypeScript to jeden z najszybciej rozwijających się języków programowania WWW, który według GitHub Octoverse zajął piąte miejsce:

Źródło: Octoverse


Według GitHub, TypeScript wszedł również na listę Top 10 języków (7 miejsce).

 Źródło: Octoverse

TypeScript ma coraz więcej widoczności, co odzwierciedlają Trendy Google:

 Źródło: Google Trends

Główne obszary wykorzystania:

  • Programowanie interfejsu WWW
  • Rozwój operacji wykonywanych po stronie serwera

Konkurencyjne języki:

  • JavaScript
  • Dart

Źródło: https://towardsdatascience.com/top-7-modern-programming-language-to-learn-now-156863bd1eec

Md Kamaruzzaman, posiada licencjat z inżynierii elektronicznej z Bangladesh University of Engineering and Technology oraz stopień magistra na kierunku Komunikacja w Technical University of Munich. Ma ponad 15 lat doświadczenia w ramach inżynierii i architektury oprogramowania w branżach takich jak telekomunikacja, nauki przyrodnicze, cyfrowy marketing i bankowość. Obecnie interesuje się obszarem Cloud Computing i architekturą Microservice. Obecnie mieszka z rodziną we Frankfurcie w Niemczech.