Java: jak projekt dla telewizji stworzył język IT
W 1991 roku garstka inżynierów Sun Microsystems zamknęła się w wynajętym biurze, by stworzyć oprogramowanie dla telewizji interaktywnej. Projekt zakończył się spektakularną klapą. A jednak właśnie ta porażka dała światu jeden z najważniejszych języków programowania w historii – dziś obecny na ponad trzech miliardach urządzeń.
Zielona drużyna i sekretna misja Suna
W grudniu 1990 roku James Gosling, Patrick Naughton i Mike Sheridan z Sun Microsystems postanowili zmienić świat. Przekonali kierownictwo firmy do sfinansowania tajnego projektu o kryptonimie Green. Na początku 1991 roku przenieśli się do wynajętego biura przy Sand Hill Road w Menlo Park – z dala od korporacyjnych procedur i niekończących się spotkań. Mieli budżet, wolność i jedno zadanie: wymyślić, co będzie następnym wielkim krokiem w informatyce.
Ich odpowiedź była zaskakująca: nie komputery, lecz urządzenia codziennego użytku. Telewizory, dekodery, piloty, sprzęt domowy. Naughton pisał później, że chcieli stworzyć oprogramowanie niewidoczne, ale wszechobecne – działające w każdym urządzeniu elektrycznym w domu.
Gosling zabrał się do pracy nad nowym językiem programowania. Musiał być prosty, bezpieczny i – co kluczowe – działać na różnym sprzęcie bez konieczności przepisywania kodu od nowa. To wymaganie, pozornie techniczne, okazało się zarodkiem rewolucji.
Dąb, który zamienił się w kawę
Gosling nadał swojemu językowi nazwę Oak – podobno od dębu widocznego przez okno jego biura. Dąb był solidny i trwały – dokładnie takie cechy chciał wbudować w swój język. Oak był obiektowy, prosty i pozbawiony niebezpiecznych mechanizmów znanych z C++, takich jak bezpośrednie zarządzanie pamięcią.
Kiedy jednak prawnicy Suna sprawdzili dostępność nazwy, odkryli problem: Oak był już zastrzeżony przez inną firmę technologiczną. Trzeba było wymyślić nową nazwę. Według dobrze udokumentowanej legendy, część zespołu zebrała się w kawiarni i zaczęła burzę mózgów. Padały propozycje: DNA, Silk, Ruby, Lyric, Pepper... Ostatecznie ktoś zaproponował Java – potoczne amerykańskie określenie kawy, nawiązujące zarówno do wyspy Jawa, jak i do gatunków kawy cenionych przez programistów.
Kawowy motyw pojawił się w oficjalnym logo języka – parująca filiżanka, która do dziś jest jednym z najbardziej rozpoznawalnych symboli w świecie IT. Ironią losu jest, że język stworzony dla pilotów telewizyjnych zyskał imię od napoju napędzającego nocne sesje przy klawiaturze.
Wielka porażka: telewizja, która nie chciała Javy
Latem 1992 roku Green Team zaprezentował flagowy produkt: urządzenie o nazwie Star7 (*7). Był to dotykowy pilot z kolorowym ekranem i animowanym asystentem – Duke'iem, małą postacią, która stała się później oficjalną maskotką Javy. Star7 wyglądał imponująco jak na 1992 rok: reagował na dotyk, wyświetlał interaktywny program TV i rozumiał gesty użytkownika.
Sun rozesłał oferty do największych firm kablowych i telewizyjnych w USA. Rozmowy z Time Warner, TCI i innymi gigantami trwały miesiącami. W 1994 roku Time Warner ogłosił konkurs na oprogramowanie dla swojej sieci interaktywnej telewizji – Sun był poważnym kandydatem.
Projekt upadł. Branża telewizyjna okazała się nieprzygotowana na tak zaawansowaną technologię, a negocjacje nie doprowadziły do żadnej umowy. Zespół był zdemoralizowany. Sun rozważał zamknięcie całego projektu. Gosling i jego współpracownicy mieli dosłownie kilka miesięcy, by udowodnić wartość Javy – albo pakować pudła.
Sieć nadchodzi: Java trafia do internetu
W 1993 roku jeden z inżynierów Suna zobaczył przeglądarkę Mosaic – pierwszą popularną przeglądarkę graficzną, która zapoczątkowała erę WWW. Uświadomił sobie, że cechy Javy zaprojektowane dla telewizji interaktywnej są dokładnie tym, czego potrzebuje internet: przenośność między platformami, bezpieczeństwo i możliwość uruchamiania kodu bezpośrednio po stronie użytkownika.
Zespół przestawił się błyskawicznie. Napisali własną przeglądarkę – HotJava – demonstrującą interaktywne aplety Javy osadzone na stronach WWW. W maju 1995 roku Sun zaprezentował HotJava na konferencji SunWorld. Reakcja była entuzjastyczna. Netscape Communications – twórca najpopularniejszej przeglądarki tamtych lat – natychmiast podpisał umowę licencyjną na wbudowanie obsługi Javy w Navigator 2.0.
W styczniu 1996 roku Sun oficjalnie wydał Javę 1.0. Język był darmowy, platforma otwarta. Hasło "Write Once, Run Anywhere" (Napisz raz, uruchom wszędzie) stało się manifestem nowej ery programowania. Kod napisany w Javie działał identycznie na Windows, Macu i Solarisie – wystarczyła zainstalowana Wirtualna Maszyna Javy (JVM).
Java w liczbach: od apletu do miliarda urządzeń
Trudno przecenić skalę wpływu Javy na dzisiejszy świat technologii. Kilka faktów, które dają do myślenia:
- Ponad 3 miliardy urządzeń działa na Javie – to oficjalne dane Oracle, powtarzane przez lata w każdej kampanii marketingowej języka.
- Android – system zainstalowany na ok. 75% smartfonów na świecie – przez lata bazował na API Javy. Słynny proces Oracle vs. Google trwał 10 lat i dotyczył właśnie praw do tych API. Google wygrał przed Sądem Najwyższym USA w 2021 roku.
- Systemy bankowe, ubezpieczeniowe i rządowe na całym świecie działają na Java Enterprise Edition (Jakarta EE). Szacuje się, że ogromna część krytycznych transakcji finansowych na Ziemi codziennie przechodzi przez kod napisany w Javie.
- Wielkie platformy danych – Apache Hadoop, Apache Spark, Elasticsearch, Apache Kafka – napisane są w Javie lub uruchamiają się na JVM.
- Java od ponad 20 lat utrzymuje się w pierwszej trójce najpopularniejszych języków w rankingach TIOBE i Stack Overflow Developer Survey.
Język zaprojektowany z myślą o pilotach do telewizorów stał się fundamentem najbardziej złożonych systemów informatycznych na Ziemi. Trudno o lepszy przykład tego, jak technologiczne pomysły żyją własnym życiem.
Co historia Javy oznacza dla Twojej firmy
Historia Javy to nie tylko ciekawostka dla programistów. Dla każdej firmy korzystającej z oprogramowania biznesowego ma ona praktyczne konsekwencje. Wiele systemów ERP, CRM i aplikacji biznesowych – w tym popularne rozwiązania dla MŚP – napisanych jest w Javie lub działa na JVM.
Co to oznacza w praktyce?
- Aktualizacje Java Runtime Environment (JRE) bezpośrednio wpływają na działanie aplikacji firmowych. Przestarzałe wersje Javy stwarzają realne luki bezpieczeństwa, często ignorowane podczas rutynowych aktualizacji.
- Licencjonowanie Javy zmieniło się w 2019 roku: Oracle przeszedł na model komercyjny dla Java SE w środowiskach produkcyjnych. Firmy używające Javy Oracle muszą posiadać aktywną licencję lub przejść na bezpłatne dystrybucje (OpenJDK, Eclipse Temurin, Amazon Corretto).
- Wersje z długoterminowym wsparciem (LTS) – aktualnie Java 21 i Java 17 – to kluczowy element planowania infrastruktury IT. Aplikacje działające na starszych, niewspieranych wersjach to potencjalny problem zarówno bezpieczeństwa, jak i zgodności.
Jeśli Twoja firma korzysta z aplikacji opartych na Javie i nie wiesz, czy środowisko jest aktualne i prawidłowo licencjonowane, warto przeprowadzić audyt infrastruktury IT. Przestarzałe środowisko Java to jedno z najczęściej pomijanych zagrożeń w systemach MŚP.
| Rok | Wydarzenie |
|---|---|
| 1991 | James Gosling zakłada Green Team w Sun Microsystems; start tajnego projektu |
| 1992 | Prezentacja urządzenia Star7 z dotykowym pilotem i maskotką Duke |
| 1993 | Język Oak gotowy; projekt telewizji interaktywnej zaczyna upadać |
| 1994 | Oak przemianowany na Java; zespół dostrzega potencjał internetu |
| 1995 | Premiera przeglądarki HotJava; Netscape licencjonuje Javę do Navigatora |
| 1996 | Oficjalna premiera Java 1.0 – język dostępny publicznie i bezpłatnie |
| 2010 | Oracle przejmuje Sun Microsystems i prawa do Javy za 7,4 mld USD |
| 2019 | Oracle wprowadza płatne licencje dla Java SE w środowiskach produkcyjnych |
| 2021 | Sąd Najwyższy USA: Google nie naruszył praw Oracle, używając API Javy w Androidzie |
Czy aplikacje Twojej firmy działają na aktualnej Javie?
Przestarzałe środowisko Java to realne ryzyko bezpieczeństwa i potencjalny problem licencyjny. Przeprowadzimy audyt Twojej infrastruktury i pomożemy zadbać o aktualność, bezpieczeństwo i zgodność z licencjami Oracle lub OpenJDK.