Joe Monster
Szukaj Pokaż menu
Witaj nieznajomy(a) zaloguj się lub dołącz do nas
…NIECODZIENNIK SATYRYCZNO-PROWOKUJĄCY

Google, Jetbrains & Kotlin - czyli jak dobry docenił lepszego

43 670  
160   41  
W świecie IT normalną rzeczą są momenty, gdy jedna firma docenia drugą i zaczyna otwarcie mówić o wykorzystywaniu ich oprogramowania. Jednak dość rzadko słyszy się o tym, jeśli chodzi o tych największych gigantów. Z reguły wolą sami stworzyć potrzebne rozwiązanie lub przejąć drugą firmę. Jednak są pewne wyjątki od tej reguły.


W 2000 roku kilku Czechów miało dosyć pisania w języku Java w dość prymitywnych edytorach. Chcieli narzędzia, które samo będzie za nich pisać, przynajmniej podstawowe rzeczy. Ciężko im się dziwić, w końcu programiści z reguły są dosyć leniwymi ludźmi. Jak ta leniwość działa, to temat na osobny artykuł, jednak w skrócie: wielu programistów potrafi nadłożyć sporo pracy, by później móc coś dużo łatwiej i szybciej zrobić i zaoszczędzić czas. Czy rzeczywiście go zaoszczędzą, to już różnie bywa. W ten sposób rok później na rynek wychodzi IntelliJ IDEA - pierwsze zaawansowane IDE do Javy. Pewnie zastanawiacie się, co to znaczy IDE. IDE, czyli Integrated Development Environment, to po prostu zaawansowany edytor do pisania kodu, który wspiera programistę w jego pracy. Jak by nie patrzeć, udało im się osiągnąć swój cel - stworzyli narzędzie, które w sprawnych rękach potrafi zdziałać cuda.


W międzyczasie mało znana firma zaczęła tworzyć system operacyjny dla aparatów cyfrowych. Niedługo później zostali wykupieni przez inną nieznaną firmę, która przypadkiem miała wolnych jakieś kilkadziesiąt milionów. Nowy system nosił nazwę taką samą jak owa nieznana wykupiona firma, a na rezultaty nie trzeba było bardzo długo czekać. W 2008 na rynku pojawia się pierwszy telefon z Androidem.
HTC Dream, pierwszy telefon z Andkiem
Oczywiście, by platforma sama się rozrastała, Google dał możliwość tworzenia aplikacji na nowy system. Językiem, w którym trzeba było je tworzyć była... Java. Jako oficjalnie wspierane narzędzie dali wtedy najpopularniejszy edytor do tego języka ze specjalnym pluginem. Jednak lepsze jest wrogiem dobrego i w 2015 zmienili narzędzie na coś bardziej zaawansowanego. Po swoich modyfikacjach opublikowali Android Studio, które jest... wspomnianym na początku artykułu edytorem od firmy JetBrains z pluginem do pisania aplikacji na Androida.


Było Google, był JetBrains, ale pewnie zastanawiacie się, co to ten Kotlin. Kotlin to... wyspa niedaleko Petersburga. Akurat przypadkiem złożyło się tak, że JetBrains posiada biuro developerskie w tym pięknym mieście. Tak samo, jak ci wspomniani w pierwszym paragrafie, ludzie tam pracujący też są leniwi. Mając do dyspozycji ówczesną Javę w wersji 1.6 oraz parę innych języków programowania, uznali, że nic nie spełnia ich wysokich wymagań oraz że potrzebują czegoś lepszego, wygodniejszego w tworzeniu. W ten sposób rozpoczęli tworzenie nowego języka, który wziął swoją nazwę od tej wysepki (aczkolwiek polscy programiści twierdzą, że nazwa pochodzi od marki ketchupu...).

Rosyjscy programiści postawili sobie parę punktów do spełnienia:
  1. ma być w pełni kompatybilny z Javą, by bez przepisywania kodu można było nowe rzeczy pisać w lepszym języku;
  2. ma implementować wszystkie dobre nawyki z pisania Javy, bez konieczności pamiętania o nich*;
  3. ma mieć parę rzeczy ułatwiających pisanie kodu, których im brakowało w innych językach.
* W każdym języku można pisać słaby kod (tutaj bardziej pasowałoby inne, niecenzuralne słowo, ale nie bądźmy aż tak niemili), jednak niestety im starszy język, tym jest to z reguły łatwiejsze. Wspomniane dobre nawyki to reguły, dzięki którym kod jest czytelniejszy i bardziej odporny na błędy i użyszkodnika.

Projektując nowy język, sprawili, że stał się przy okazji jednym z najnowocześniejszych języków programowania. Pozwala na pisanie obiektowo (czyli jak np. w Javie) i deklaratywnie (co zostało ściągnięte od tych języków, które były najbliżej spełnienia wymagań twórców). Obiektowo znaczy tyle, że wszystko można przedstawić jako obiekt i na nim coś zrobić. Np. mam kubek i możemy go napełnić np. kawą, wtedy mamy dalej obiekt kubka ale z kawą, i możemy teraz wykonać na nim metodę siorbania kawa. Natomiast deklaratywnie znaczy, że zamiast tłumaczyć komputerowi jak ma coś zrobić, piszemy, co chcemy otrzymać, a jak, to magia samego języka decyduje o tym. Żeby to zobrazować bardziej łopatologicznie na przykładzie restauracji - niedeklaratywnie byłoby, jak byście poszli do restauracji, dali kelnerowi przepis na kartce i kazali go przyrządzić i przynieść w taki i taki sposób, a deklaratywnie byłoby, gdybyście przyszli i powiedzieli, że po prostu chcecie coś do jedzenia. Kod napisany deklaratywnie bardzo często jest dużo łatwiejszy w czytaniu. Oczywiście to nie jedyny plus takiego podejścia.


No dobra, ale co wspólnego ma jakiś nowy język z Google? No cóż, po kolei. Dzięki kompatybilności z Javą, dużo developerów tworzących w Javie powoli zaczęło przechodzić na Kotlina w wersji beta, byli to głównie programiści tworzący na Androida. W lutym 2016 wychodzi wersja 1.0 Kotlina. Wszystkie wspomniane punkty zostały w nim spełnione. Sam język zyskał pełną aprobatę społeczności. Z łatwością można znaleźć przykłady firm, które przeszły na ten język. W kwietniu wyszła stabilna wersja 1.1, a w maju... Google zapowiedział pełne oficjalne wsparcie dla tego języka na platformie Android.

Tak to wyglądało.

W ten sposób drugi produkt od JetBrains został doceniony przez wielkiego giganta bez przejmowania całej firmy. Jak to mówi mój kolega z pracy, coś pięknego!

Oglądany: 43670x | Komentarzy: 41 | Okejek: 160 osób

Dobra, dobra. Chwila. Chcesz sobie skomentować lub ocenić komentujących?

Zaloguj się lub zarejestruj jako nieustraszony bojownik walczący z powagą
Najpotworniejsze ostatnio
Najnowsze artykuły
Jak to drzewiej bywało