W dzisiejszym wydaniu prym wiedzie nowa wersja najpopularniejszego IDE do Javy, a także informacje na temat wyniku pewnego głośnego procesu, który przed laty zapewnił życie… Kotlinowi. Oprócz tego ostatnie szlify przed wydaniem Scali 3, a także mały, dość zaskakujący bonusik.
1. Wyszedł nowy Intellij Idea 2021.1 …
… a wraz z nim również pluginy do Kotlina oraz Scali.
Co takiego dostajemy? Z pewnością głównym “daniem” nowej edycji jest zapewnienie, jak najlepszych narzędzi do zdalnej kolaboracji. Jako taką należy na pewno traktować integrację z Space – stworzonego przez JetBrains amalgamatu GitHuba, Jiry oraz Slacka, który ma szansę sporo namieszać (sam mam ochotę, na którymś etapie wypróbować go w projekcie, aczkolwiek ciągle jeszcze kminie, jak zrobić to w sposób, żeby całość nie okazała się być operacją typu stop-the-world, która zablokuje rozwój app.vived.io na dwa tygodnie). Drugim ukłonem w stronę rozproszonych zespołów jest Code With Me, które pozwala pracować nad jednym kodem w sposób zbliżony do edycji dokumentów w Google Docs, równocześnie zapewniając m.in. transmisje audio i wideo.
Oczywiście, Intellij jak to zwykle przynosi nam mnogość innych zmian. Nowa wersja przystosowana jest do pracy z Javą 16, a podpowiedzi edytora będę brać pod uwagę przy zmianach, które pojawiły się w nowej wersji języka. Zupełnie nowego “wizarda” otrzymały też popularne javowe frameworki – Spring, Micronaut, Quarkus, oraz MicroProfile. Jeżeli używacie Kotlina, nowa edycja plugina IDE ma zapewnić znacznie szybsze podpowiadanie składni (aczkolwiek twórcy szczerze podkreślają, że ciągle nie jest tak szybkie jak w Javie. Plugin do Scali przynosi zaś wsparcie dla wersji RC2 Scali 3 (o której przeczytacie w następnym akapicie), oraz wsparcie do podpowiadania składni oparte na sztucznej inteligencji, do tej pory dostępnego wyłącznie w Javie. Może kiedyś to narzędzie wyewoluuje do poziomu gdzie właściwie będzie można zastąpić nim programistów.
Poza rzeczami związanymi z samymi językami JVMowymi, warto też zaznaczyć lepsze wsparcie dla Pull Requestów oraz Kubernetesa.
PS: Jeśli Waszym systemem operacyjnym jest Windows, z pewnością ucieszy Was fakt, że Intellij w końcu nauczył się dogadywać z Windows Subsystem for Linux (WSL) w wersji drugiej.
PS2: Czy też lubicie sposób numeracji kolejnych wersji używany przez Intellij ?
Źródła:
- JetBrains Space
- JetBrains Code With Me
- What’s New in IntelliJ IDEA 2021.1
- Kotlin Plugin 2021.1 Released
- IntelliJ Scala Plugin 2021.1 Is Out!
Zainstaluj teraz i czytaj tylko dobre teksty!
2. Ostatnie przymiarki do Scali 3 – drugi Release Candidate oraz nowe SBT
Naszą kolejną pozycją będzie krótki przegląd tego, co dzieje się w Scali 3, bo zdecydowanie jest o czym informować – jej premiera zbliża się wielkimi krokami.
Na początku kwietnia najpopularniejszy scalowy “build tool” – SBT – wypuściło swoją wersję 1.5. Najbardziej kluczową zmianą, jaką nowa edycja przynosi, to wsparcie dla Scali 3 właśnie, a konkretnie jego edycji RC2. Jest to kolejny mały kroczek dla społeczności na drodze do adopcji nowej wersji języka. Warto rzucić okiem na release notesy, ponieważ zawierają parę wskazówek dla twórców aplikacji i bibliotek dotyczących wersjonowania artefaktów.
Co do samego wydania Scali 3, to jeżeli nie pojawią się żadne nowe krytyczne błędy, wspomniana przed chwilą wersja Release Candidate 2, będzie ostatnią przed planowaną na 23 kwietnia premierą języka. Co ciekawe, nawet po wydaniu można spodziewać się, że szybko doczekamy się kolejnych edycji – jak słusznie punktuje m.in. ten wątek redditowy, Scala 3.0 ukaże się w nieco ubogiej (i zabugowanej) wersji. W związku z tym pewnie zaraz po wypiciu lampki szampana w celu uczczenia releasu, pracujący nad językiem programiści szybko wrócą do pracy nad stabilnością i brakującymi featurami.
Źródła:
3. Google wygrywa w sądzie z Oraclem w procesie o użycie API Javy na Androidzie ⚖️
Skończym na newsie, który obiecaliśmy już w wydaniu sobotnim, ale ze względu na to że zahacza on tak mocno o Javę, nie mogliśmy odpuścić sobie “przerzucenia” go do naszego wtorku.
Po dziesięciu latach, Google wygrało z Oraclem proces o użycie API Javy na popularnym Androidzie. Dla tych którzy nie wiedzą – “zielony robocik” nie uruchamia aplikacji w ramach maszyny wirtualnej Javy, ale jego API dla programistów jest kopią tego javowego, za co Oracle żądało od Google wysokiego odszkodowania z tytułu łamania praw autorskich. Ten proces jest trochę częścią mojego życia – ciągnie się w zasadzie od początku mojej branżowej „kariery”, kiedy jeszcze byłem programistą mobilnym. Stąd też mimo iż od lat już na Androida nie piszę, wieść o jego zakończeniu wywołała we mnie pewną hmmm.. nostalgię.
Wyrok jest zresztą ważny dla całej branży, gdyż osobom chcącym stworzyć alternatywne implementacje danych API, daje do rąk dość dobrą amunicje. Należy pamiętać jednak, że wyrok nie jest “konkluzywny” co do faktu, że API jako takiego nie można chronić prawem autorskim – sąd orzekł że kompatybilne API wchodzi w definicje tak zwanego “dozwolonego użycia”. Jednocześnie ze względu na działające w USA prawo kazusu, prawdopodobnie minie trochę zanim ktokolwiek spróbuje wytoczyć podobną sprawę.
Procesowi temu “zawdzięczamy” masę rzeczy, które wydarzyły się w JVMowym ekosystemie w przeciągu ostatniej dekady. To właśnie pozew Oracle sprawił, że rozwój Javy na Androidzie zatrzymał się na długie lata na “szczątkach” edycji siódmej, co otworzyło drogę do rozwoju chociażby Kotlinowi, który szybko “odpępił” się od pierwotnej platformy i obecnie stał się o wiele bardziej uniwersalnym tworem. Przez długie lata mówiło się również o tym, że Google trzyma Darta w odwodzie na wypadek, jeśli sąd uznałby, że racja stoi po stronie Larry’ego Ellisona.
Zaraz po ogłoszeniu wyniku, Google postanowiło “odgryźć się” Oraclowi i ogłosiło, że porzuca rozwijane przez niego oprogramowanie finansowe i przechodzi na SAPa. Miło widzieć, że duże korporacje też są ludzkie i potrafią przekomarzać się jak dzieci
Na koniec ciekawostka historyczna: nie wiem, czy wszyscy wiedzą, ale kiedyś już miał miejsce podobny proces. Otóż pod koniec lat 90. Microsoft chciał stworzyć własną wersję JDK, podpisał nawet odpowiednie umowy z Sunem. Jednak ze względu na to, że firma z Redmond chciał w Javie majstrować, Sun (bojąc się segmentyzacji rynku) postanowił wystąpić do sądu i wygrał ten proces w roku 2002. To zmusiło Microsoft do stworzenia języka C#, który zwłaszcza w swoich początkowych wersjach, był bardzo zbliżony do Javy. Tak więc jak potyczki Google z Oraclem były motorem do powstania Kotlina, tak i z tych na początku tysiąclecia wyszło ostatecznie coś produktywnego.
Źródła:
- Google beats Oracle in biggest programming copyright Supreme Court case ever
- Google migrates from Oracle financial software to SAP
- Sun, Microsoft settle Java suit (2002)
A z tej ciekawostki już tylko kroczek do obiecanego bonusika tej edycji…
Zainstaluj teraz i czytaj tylko dobre teksty!
Bonus: Microsoft wypuszcza swoją własną wersję OpenJDK
Zdziwionym chcę przypomnieć, że ostatnimi czasy firma z Redmond został członkiem grupy roboczej Adoptium (dawne AdoptOpenJDK).
Ale Microsoft ma dłuższą historię wspierania JDK, swego czasu zaangażował się w jej wersji na procesory ARM. Po prostu w czasach gdy to chmura liczy się jako główne źródło przychodów, jeżeli chce się współpracować z dużymi partnerami nie można sobie od tak odpuścić Javy.
Ciekawe czy Microsoft zamierza wprowadzić do “swojej” Javy jakieś dodatki, jak regularnie robi to np. Alibaba?