Historia Javy

Początek języka Java możemy określić jako rok 1991. Wtedy firma Sun z Patrickiem Naughtonem oraz Jamesem Goslingiem na czele postanowili stworzyć prosty i niewielki język, który mógłby być uruchamiany na wielu platformach z różnymi parametrami. Projekt zatytułowano Green.

Pomysł rozwijano i doprowadzono do stworzenia języka, który poddawany był kompilacji do kodu pośredniego a dopiero ten był uruchamiany. Pozwoliło to na uruchamianie jednego kodu na wielu urządzeniach i systemach operacyjnych wyposażonych w interpreter języka - wirtualną maszynę Javy. Choć nie był to pierwszy język, który działa na takiej zasadzie, to został on entuzjastycznie przyjęty przez społeczność programistów.

Java została zaprojektowana jako język obiektowy. Oznacza to tyle, że w programie możemy definiować pewne abstrakcyjne elementy, które pozwolą nam lepiej odzwierciedlić te elementy naszego świata, na których chcemy później operować w aplikacji. Możemy przykładowo w programie utworzyć "Samochód" a ten samochód będzie opisany jako zestaw takich cech jak kolor, prędkość, ilość siedzeń itp. Okazał się to strzał w dziesiątkę, ponieważ programowanie obiektowe do dziś jest dominującym paradygmatem programowania.

Kurs Java

Kolejnym elementem, który sprawił, że do dziś Java pozostaje jednym z dominujących języków programowania na rynku jest jej kompatybilność wsteczna. W niektórych językach programowania można spotkać się z takim podejściem, że po wejściu kolejnej wersji języka programy napisane w starszych wersjach przestają działać, ponieważ pewne funkcjonalności zostają usunięte. W Javie od początku stawiano na to, że migracja powinna być prosta i nowe wersje powinny być kompatybilne z poprzednimi. Wprowadza to dużo ograniczeń i wyzwań dla projektantów języka, ale do tej pory z niewielkimi wyjątkami udaje się tych założeń dotrzymywać, pomimo, że od pierwszej wersji Javy minęło już ponad 20 lat.

Pierwsza wersja Javy ukazała się w 1996 roku w wersji 1.0. Niestety nie osiągnęła ona wielkiego rozgłosu z czego inżynierowie firmy Sun dokładnie zdawali sobie sprawę. Na szczęście dosyć szybko poprawiono błędy i uzupełniono ją o nowe biblioteki, model zdarzeń GUI (graphical user interface), a także poprawiono mechanizm refleksji, która pozwala na pewne zaawansowane "sztuczki" w kodzie. Była to Java 1.1.

W Java 1.2, opublikowanej w 1998 roku największą zmianą była zmiana nazwy na dumnie brzmiący: Java 2 Standard Edition Development Kit version 1.2 . Opracowano wtedy także dwa inne wydania Javy. Doskonale znana wszystkim osobom, które wychowały się w okolicach roku 2000, wersja Micro Edition, przeznaczona na urządzenia mobilne, oraz Enterprise Edition wykorzystywana przede wszystkim w programowaniu biznesowych aplikacji klient-serwer.

Kolejne edycje Javy aż do aktualnej 10 (nie 1.6), to przede wszystkim dodawanie nowych funkcjonalności oraz prace nad wydajnością bibliotek standardowych. Największe zmiany zachodziły w wersji 5, gdzie wprowadzono Klasy generyczne (Generic Classes) oraz między innymi statyczny import, który przyda się nam na przykład w programach wykorzystujących dużo funkcji matematycznych. Późniejszy przełomem nastąpił w wersji 8 gdzie pojawiły się elementy związane z programowaniem funkcyjnym.

Dyskusja i komentarze

Masz pytania do tego wpisu? Może chcesz się podzielić spostrzeżeniami? Zapraszamy dyskusji na naszej grupie na Facebooku.

Poniżej znajdziesz archiwalne wpisy z czasów, gdy strona była jeszcze hobbystycznym blogiem.

Spike

Jestem w połowie kursu. Uważam, że kurs jest bardzo dobry - przystępny, konkretny i skondensowany(potrzebne informacje zamiast lania wody). Polecam Pozdrowienia dla PWr

Jantek

A ja się niestety przyczepie. Nie do kursu ale do tej właśnie lekcji. Mówiłeś że będziesz pisał jak dla osoby nie znającej w ogóle podstaw programowania, a takie fragmenty "Java od początku jest językiem w pełni obiektowym, to co nie jest w niej obiektowe to w zasadzie tylko typy proste jak int, czy char, jednak nawet one posiadają typy osłonowe zwiększające ich użyteczność" są dla osoby niewtajemniczonej... choćby niezbyt miłe. To brzmi jakbyś chciał komóś udowodnić że się nie zna. Przykład z samochodem powinien być wcześniej żeby wspomnieć co to klasa. Wiem że to historia, a nie lekcja, ale wyszłoby tak lepiej. Co do innych pojęć warto dodać "tzw." oraz "o czym dowiesz się później" co znacznie zmienia charakter wypowiedzi. Pamiętam jak mi się kiedyś zaświeciły oczy na widok int czy double. Mam nadzieję że moja krytyka tutaj będzie potraktowana za jak najbardziej podstawną. Pozdrawiam Jantek i gratuluję miejsca na google'u ;-)

yaro

Panie Sławku, jestem pod dużym wrażeniem kursu. Dziękuje.

woda1997

Kurs - po prostu rewelacja , a ja tylko chciałbym tylko Panie Sławku żebyś uaktualnił informacje o aktualnej wersji javy .

papiszon

Bardzo przydatne :)

Norem80

ale aktualna java to 7

Siwy

Zobacz kiedy ten artykuł został wrzucony

adios

Nie chcę nic mówić, ale "Pomysł rozwijano i doprowadzono do stworzenia pionierskiego języka uruchamianego kodu pośredniego na wirtualnej maszynie. " to totalna głupota. Pionierski był Smalltalk. Raz - jest to w pełni obiektowy język z dynamicznym typowaniem. Dwa - jako pierwsi Xerox stworzyli maszynę wirtualną dla Smalltalka. Posiadał też mechanizm refleksji, oraz pojęcie Smalltalk obejmowało wszelkie biblioteki oraz IDE. Smalltalk był czymś więcej niż Java już w latach 70-80-tych :) Nie zmienia to faktu, że Javę lubię, ale językiem pionierskim z pewnością nie była.

Nick

zróbcie tak :D google->wpisz java->wikipedia->ctrl+f-> i sobie przeczytajcie co to znaczy kod interpretowany ;p c++ nie wymaga dodatkowych herezji żeby napisać prosty program dla siebie

Nick

do c++ nie potrzeba nic dodatkowaego instalować poprawka do postu ;p

Grubb

Dzień dobry, Mam pomysł na program specjalistyczny dla branży którą się zajmuje. Musiałby łączyć w sobie elementy prostego programu do obróbki grafiki i edytora tekstu. Nigdy nie uczyłem się programowania i chciałbym wybrać odpowiedni do tego celu język. Czy to JAVA? Pozdrawiam G.

psycho

Reklama po lewej stronie zasłania mi tekst, nie wiem czy to od Was zależy, ale jeżeli możecie to zróbcie coś z tym. Z góry dziękuję :)

Ignacy

Ja tak mam tylko, gdy zwiększam rozdzielczość. Wciśnij kombinacje klawiszy Ctrl + 0. To powinno zadziałać :) PS: Jeśli czytasz na iPadzie, to to raczej nie zadziała.

co jest grane

Kurs może i dobry, choć trochę dużo w nim teorii. Niestety przeszedłem przez wszystkie kursy, nauczyłem się tego praktycznie a gdy szukałem potem pracy to każdy rekruter mówił mi że te umiejętności, które w tych w kursach tu są zawarte to jest wszystko "za mało" aby mieć szanse aby dostać prace. Co za kraj, co oni z nim zrobili.

Lolo

Kurs to za mało trzeba też samemu pogłębiać wiedzę. Zwłaszcza, że ten kurs jest od pewnego czasu nie rozwijany a jest przygotowywana nowa odsłona obejmująca JDK 8, która ma być bardziej rozbudowana.