Koniec dekady z Javą

Subskrybuj RSS A A A
14 czerwca 1999
Marian Łakomy

Przyglądając się historii języków programowania, widać, że nowe, innowacyjne języki pojawiają się co najwyżej dwa razy na dziesięciolecie. W tej dekadzie dominuje Java.

Przyglądając się historii języków programowania, widać, że nowe, innowacyjne języki pojawiają się co najwyżej dwa razy na dziesięciolecie. W tej dekadzie dominuje Java.

Większości informatyków Java kojarzy się ze sloganem: "Raz napiszesz, uruchamiasz wszędzie". Tymczasem jest to język o wyrafinowanych możliwościach i zaawansowanych właściwościach funkcjonalnych, ściśle zintegrowanych w projekcie języka. Oprócz Microsoftu, wszyscy wielcy producenci systemów zarządzania bazami danych entuzjastycznie przyjęli Javę. IBM, Informix, Oracle i Sybase wbudowały maszyny wirtualne Java w motory swoich baz danych. Pozwala to na tworzenie aplikacji dla wszystkich systemów bazodanowych w jednym języku, który w połączeniu ze standardową wersją SQL umożliwia tworzenie aplikacji przenośnych.

W pełni obiektowa

Java jest w pełni obiektowa, czego nie można powiedzieć o C++ - najpopularniejszym obecnie języku programowania. Przejęła ona cenne cechy od Smalltalka - zarządzanie pamięcią przez automatyczne usuwanie nie używanych obiektów i klas oraz hierarchiczną strukturę bibliotek klas. Z języka C natomiast zaczerpnęła prostotę i zwartość składni. Pod względem właściwości obiektowych Java przewyższa poprzednie języki programowania obiektowego, oferując takie zaawansowane cechy, jak interfejsy, umożliwiające wielokrotne dziedziczenie podczas projektowania bez problemów z implementacją klas.

Java jest też jedynym językiem z wbudowaną obsługą wielowątkowości. W innych trzeba posługiwać się systemowymi mechanizmami obsługi wątków (jeśli system operacyjny je ma) lub pisać własną obsługę, której nie da się przenieść na inny system. Wielowątkowość jest szczególnie ważna w aplikacjach działających na serwerze. Wątek to "lekki" proces - otwarcie nowego wątku wymaga znacznie mniejszych zasobów systemowych niż otwarcie nowego procesu przy każdym zapytaniu klienta. Wielowątkowość poprawia skalowalność systemu.

Java zawiera również zaawansowane możliwości w zakresie obsługi sytuacji wyjątkowych, bezpieczeństwa, tworzenia aplikacji dla wielu języków i wielojęzycznych. Ma wbudowaną obsługę popularnych protokołów sieciowych Internetu: UDP, IP, TCP oraz oferuje gotowe klasy do obsługi protokołów HTTP, FTP i SNMP na poziomie aplikacyjnym.

Java rozproszona

Model przetwarzania rozproszonego Java jest unikatowy. Zdecydowanie różni się od modeli: DCOM (Microsoft), w którym stosowany jest protokół RPC do wywołania metody obiektu działającego na innej maszynie, oraz CORBA (konsorcjum OMG), w którym używany jest broker obiektowy do rozstrzygania, gdzie zostanie wykonana żądana operacja.

Java korzysta z obecności maszyny wirtualnej Java na każdej maszynie w sieci i posługuje się protokołem zdalnego wywoływania metod RMI do komunikacji ze zdalnymi obiektami. Gdy obiekt lokalny jest argumentem wywołania metody na zdalnym komputerze, następuje przesłanie całego obiektu (danych i kodu) do zdalnej maszyny wirtualnej, gdzie jest wykonywana metoda. Podobnie, gdy wynikiem zdalnej operacji jest obiekt, jest on kopiowany w całości do lokalnej maszyny. W Javie więc przesyła się nie tylko dane, ale również kod wykonywalny.

Korzyści takiego sposobu komunikowania się nie są zbyt oczywiste. Trzeba jednak pamiętać, iż pasmo dostępne dla użytkownika rośnie w mniej więcej takim tempie, jak szybkość procesorów i podwaja się co ok. 24 miesiące. Niedługo więc powszechne staną się sieci gigabitowe. Zapewnią one szybszy dostęp do zdalnych obiektów niż odczytanie ich z dysku lokalnego. Czy wtedy będzie potrzebny dysk lokalny? Na pewno przyda się spora moc obliczeniowa procesora do obsługi komunikacji sieciowej, działania maszyny wirtualnej Java i wykonywania obiektów, przesłanych z serwera.

Java i Microsoft

Microsoft nadal uważa Javę za kolejny język programowania, który ostro konkuruje z Visual Basikiem. Najważniejsza wada Javy, istotna zwłaszcza dla programistów VB, to trudność w opanowaniu jej obiektowych właściwości. Osoba programująca proceduralnie będzie musiała całkowicie zmienić podejście i styl programowania. Co gorsza, na niewiele przyda się doświadczenie zdobyte przy programowaniu np. w VB. Jednakże właściwości funkcjonalne Javy są bez porównania większe niż VB.

Trzeba również wziąć pod uwagę dominujący obecnie styl nowych narzędzi programistycznych. Z uwagi na coraz bardziej odczuwalny brak wysoko kwalifikowanych programistów nowe narzędzia mają koncentrować się na składaniu aplikacji z gotowych komponentów. Do tego celu nie trzeba mieć kwalifikacji programistycznych na wysokim poziomie, potrzebna jest raczej dobra znajomość biznesu, trud budowania komponentów zaś zostaje profesjonalnym programistom. Mimo ogromnej liczby handlowych komponentów VB, nie mogą one równać się możliwościami funkcjonalnymi z obiektowymi komponentami Enterprise Java Beans (których również szybko przybywa).

Oceń artykuł

średnio: 0 liczba ocen: 0

Komentarze (0)

Najnowsze

e-Sąd z odsieczą sprawiedliwości

Polski wymiar sprawiedliwości postrzegany jest jako skostniały i opieszały. Tymczasem kolejne e-usługi udostępniane przez Ministerstwo Sprawiedliwości ułatwiają życie przedsiębiorcom i usprawniają pracę sądów.

e-Zdrowie w Polsce i na świecie

Projekty informatyzacji służby zdrowia realizowane są na świecie z różnym powodzeniem. Skąd Polska mogłaby czerpać wzorce? A może jesteśmy skazani na własne rozwiązania?

Raport Państwo 2.0, czyli nowa wizja informatyzacji państwa

Michał Boni, minister administracji i cyfryzacji, zaprezentował raport "Polska 2.0. Nowy start dla e-administracji". Przedstawia on informacje na temat stanu realizacji projektów będących w gestii nowo utworzonego ministerstwa oraz prezentuje kierunki dalszych działań związanych z informatyzacją i cyfryzacją administracji publicznej w naszym kraju.

Cyberprzestępcy podążają za użytkownikami

Już dwie na trzy polskie firmy odnotowały ataki lub awarie, które spowodowały spadek produkcji. Co trzecia firma utraciła dane. Liczba takich przypadków będzie rosła, bo hakerzy biorą na cel najbardziej masowe technologie. Szybko reagują też na zmiany w firmowej architekturze.

Jak zaplanować karierę w branży IT

Doświadczenia łączone na różnych stanowiskach w firmach o odmiennych profilach są szczególnie cenione przez pracodawców. Dlatego warto głęboko przeanalizować możliwości rozwoju kariery, które obecnie stwarza rynek IT.

Jakie są różnice między chmurą a wirtualizacją

Wirtualizacja jest obecnie standardową technologią, stosowaną powszechnie w IT. Od środowiska chmury prywatnej dzieli ją jednak długa droga, gdyż wymaga ona uzupełnienia o istotne składniki.

Jakie są różnice między chmurą a wirtualizacją

Wirtualizacja jest obecnie standardową technologią, stosowaną powszechnie w IT. Od środowiska chmury prywatnej dzieli ją jednak długa droga, gdyż wymaga ona uzupełnienia o istotne składniki.

Rekomendacje



Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści - Prenumerata: Computerworld, Networld, PC World
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88