Wiecej niz Java.pdf
(
259 KB
)
Pobierz
IDZ DO
PRZYK£ADOW
Y ROZDZIA£
Wiêcej ni¿ Java
SPIS TREŒCI
Autor: Bruce Tate
T³umaczenie: Pawe³ Koronkiewicz
ISBN: 83-246-0329-8
Tytu³ orygina³
u:
Beyond Java
Format: B5, stron: 180
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Java jest obecna na rynku od ponad 10 lat. Przez ten czas zyska³a ogromn¹
popularnoœæ i znacznie zmieni³a swoje oblicze. Przesta³a byæ jêzykiem
wykorzystywanym do tworzenia mniej lub bardziej przydatnych apletów na strony
WWW. Jest teraz potê¿n¹, uniwersaln¹ platform¹ programistyczn¹ u¿ywan¹ do
budowania aplikacji korporacyjnych i finansowych. Jednoczeœnie istniej¹ obszary,
w których Java nie jest wystarczaj¹co elastyczna, a jej z³o¿onoœæ staje siê problemem.
Na rynku pojawi³y siê narzêdzia maj¹ce uproœciæ tworzenie rozbudowanych systemów
za pomoc¹ Javy, jak na przyk³ad Spring czy Hibernate. Jednak czy opracowanie
zupe³nie nowych platform programistycznych nie spowolni triumfalnego pochodu Javy?
W ksi¹¿ce „Beyond Java” Bruce Tate zastanawia siê nad przysz³oœci¹ jêzyków
programowania. Przedstawia Ÿród³a popularnoœci Javy i ogromne korzyœci, jakie
wnios³a do wspó³czesnej informatyki. Wskazuje problemy, z jakimi borykaj¹ siê
programiœci korzystaj¹cy z Javy. Wreszcie dokonuje przegl¹du konkurencyjnych
jêzyków programowania, zastanawiaj¹c siê, w czym s¹ lepsze, a w czym gorsze
od Javy i który z nich ma szansê zagroziæ jej pozycji na rynku.
• Powody malej¹cej popularnoœci C++
• Rozwój technologii open source
• Prawdy i mity zwi¹zane z Jav¹
• Wady Javy
• Potencjalni konkurenci Javy
• Œrodowisko Ruby on Rails
• Przysz³oœæ serwerów kontynuacyjnych
Jeœli chcesz wiedzieæ, jakiego jêzyka programowania bêdziesz u¿ywa³ za 5 lat,
przeczytaj¹ tê ksi¹¿kê
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOŒCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Przedmowa ..................................................................................................................... 5
1.
Sowy i strusie .................................................................................................................. 9
Ignorancja jako cnota
10
Gotowanie żab
12
Nowe horyzonty
17
Perspektywy
19
2.
Burza doskonała ............................................................................................................21
Znaki nadchodzącej burzy
21
Doświadczenie C++
25
Oberwanie chmury
29
Żywioły szaleją
32
Skutki
37
Co dalej?
38
3.
Klejnoty koronne .......................................................................................................... 39
Maszyna wirtualna JVM
40
Internet
44
Środowisko korporacyjne
46
Społeczność
49
Koniec mitów
50
4.
Rysa na szkle ................................................................................................................. 55
Nowe obowiązki Javy
55
Podstawowe problemy języka Java
59
Kontrola typów
61
Prymitywy
69
Na odchodnym
70
Dlaczego po prostu nie poprawić Javy?
73
3
5.
Reguły gry ..................................................................................................................... 75
Java podnosi poprzeczkę
75
Integracja przedsiębiorstw
79
Przyciąganie uwagi
81
Elementy języka
85
Potencjalni konkurenci
90
6.
Język Ruby ..................................................................................................................... 95
Podstawy Ruby
95
Struktury kodu
102
Podsumowanie
113
7.
Ruby on Rails ............................................................................................................... 115
Gra w numerki
115
Rails w przykładach
120
Rails od środka
127
Podsumowanie
130
8.
Serwery kontynuacyjne .............................................................................................. 133
Problem
133
Kontynuacje
135
Serwery kontynuacyjne
139
Seaside
143
Przykładowa aplikacja Seaside
145
Co z tego wynika?
149
9.
Język przyszłości .......................................................................................................... 151
Faworyci wyścigu
152
Inni uczestnicy
161
Nowy przebój
166
Skorowidz ................................................................................................................... 169
4
Spis treści
ROZDZIAŁ 1.
Znam kajakarzy, których postawa nie pozostawia wątpliwości — chcą zginąć. Lecą w dół od-
cinkami klasy V, ignorując wszelkie niebezpieczeństwa
1
. Wydaje się, że tylko kwestią czasu jest
nadejście momentu, w którym wpadną na wodospad, gdzie utknęła kłoda drzewa. Przeszkoda
zatrzyma kajak, a ten — przyciskany opadającymi zwałami wody — już nigdy się nie wynurzy.
Są oni jak strusie, które szybko zapominają o niebezpieczeństwie po schowaniu głowy w piasek.
Jest też inny rodzaj kajakarza. Kiedy ja zająłem się tym sportem, każdy odcinek musiałem naj-
pierw dokładnie zbadać, przejść się wzdłuż niego, poznać zagrożenia. Zatrzymywałem się przy
każdym, najzwyklejszym przejściu klasy II+ (poziom „dla początkujących”), aby popatrzeć jak
wygląda i nierzadko decydowałem się zainstalować zabezpieczenia. Często skutek był taki,
że kończył mi się czas i byłem zmuszony z duszą na ramieniu płynąć ostatnim odcinkiem rzeki
znacznie szybciej, aby zdążyć przed zmrokiem. Teraz, mając pewne doświadczenie, nie oglą-
dam już tak szczegółowo każdego bardziej spienionego przesmyku. W wielu miejscach nie
ma to po prostu sensu. Zacząłem natomiast stosować techniki „chase boating”, wypracowane
w wąskich i rwących strumieniach południowo-wschodnich stanów USA. Nie oznacza to wca-
le, że bardziej polubiłem ryzyko. Można powiedzieć, że koncentruję się bardziej na identyfi-
kacji obszarów faktycznego zagrożenia. Dzięki temu zawsze mam czas na przeprowadzenie
rozpoznania odcinków, których znajomość jest najbardziej potrzebna. Taki styl kajakarstwa
można określić stylem sowy.
Podobnie jest w wielu innych dziedzinach. Często decyduję się na zignorowanie zagrożeń
wywołujących mało znaczące konsekwencje lub rzadko występujących dlatego, że rozwiązy-
wanie związanych z nimi problemów nie jest opłacalne. Szukanie i wdrażanie stuprocentowo
poprawnych rozwiązań wymaga zbyt wiele wysiłku, pieniędzy lub czasu i niejednokrotnie
prowadzi do powstania zupełnie nowych problemów. Na tym właśnie polega przewaga so-
wy nad strusiem. Na ogół te dwie postawy skrajnie różnią się od siebie. Należy jednak przy-
znać, że od czasu do czasu sowy również stają się zbyt pewne siebie albo popełniają drobne
błędy w ocenie ryzyka. W efekcie kajakarz pokonuje niebezpieczny odcinek bez wstępnego
rozpoznania. Mam za sobą takie pamiętne doświadczenie. Pływałem tą samą rzeką setki razy
i widziałem zaskakujące zmiany, czy to głębokości, czy układu koryta po powodzi. Różnica
między sową a strusiem nie jest tak wielka, jak mogłoby się wydawać. Często wręcz trudno
ją wskazać. Jako kajakarz, skoro już zdecydowałem się ignorować pewne rodzaje niebezpie-
czeństw na pewnych rzekach i pod pewnymi warunkami, od czasu do czasu muszę wrócić do
punktu wyjścia i przeprowadzić ponowną ocenę ryzyka. I o tym jest ta książka.
1
Mowa o rwących górskich potokach — przyp. tłum.
9
Ignorancja jako cnota
Można snuć wiele paraleli między kajakarstwem a programowaniem. W którymś momencie
nauczyłem się wspaniałej sztuczki — ignorowanie większości problemów pozwala uzyskać
niezwykłą produktywność. Przy odrobinie szczęścia wiele z nich z czasem po prostu przestaje
istnieć. Oczywiście, taka postawa może być korzystna i skuteczna lub nie. Skuteczność tej
techniki odkryli już dawno pracownicy urzędów pocztowych i słabo opłacani ekspedienci
fast foodów. Sprawdza się ona w odniesieniu do ich problemów, zwanych najczęściej klienta-
mi. Mówimy tu oczywiście o strusiach. Jeżeli jednak przyjrzymy się temu dokładniej, niejedno-
krotnie znajdziemy w takim postępowaniu selektywne, mądre zastosowanie ignorancji — znak
rozpoznawczy sowy. Praktyka przekonała mnie, że większość „problemów” procesu progra-
mowania to w istocie problemy
potencjalne
. Czytelnik, który zna chociaż jedną z moich wcze-
śniejszych książek, pamięta zapewne, że uwielbiam pisać o zagrożeniach wynikających z przed-
wczesnej optymalizacji i powtarzać popularną zasadę Agile Programming —
YAGNI
: „You ain’t
gonna need it”, czyli „Nie wykorzystasz tego”. Zazwyczaj też trzymam się z dala od rozbu-
dowanych systemów, które obiecują wielkie oszczędności czasu i ułatwione programowanie,
a ufam swojemu instynktowi skłaniającemu mnie ku prostszym rozwiązaniom.
Wracając do tematu, pewnego dnia stwierdziłem, że Java ma wszystko, czego potrzebuję,
i przestałem interesować się światem poza nią. Niewiedza jest słodka. Wiem, że istnieją języ-
ki bardziej dynamiczne, czasem też pozwalające na większą produktywność. Jednak, gdy roz-
ważam różne aspekty i fragmenty pełnego obrazu, Java okazuje się na dłuższą metę najlepsza.
W tym języku napisano już dziesiątki tysięcy najróżniejszych bibliotek i systemów umożliwia-
jących stworzenie każdego rozwiązania, począwszy od obsługi reaktora atomowego, na pro-
gramowaniu mikrosterownika wbudowanego w elektryczne szczypce do paznokci kończąc. Są
one najczęściej określane nazwą
framework
, co można tłumaczyć jako „platforma” lub po prostu
„system”. Wiele z nich można wykorzystywać bezpłatnie. Nie ma też nigdy problemu ze zna-
lezieniem programisty języka Java, który napisze nowy fragment programu. Wiem, że jest to ję-
zyk sprawdzony, a klienci ufają jego mechanizmom. Krótko mówiąc, środowisko i zakres moż-
liwości Javy od wielu lat przewyższają to, co oferuje konkurencja. W końcu przestałem szukać
innych dróg. Cieszę się, że taki moment nastąpił, ponieważ zyskałem dzięki temu czas na stwo-
rzenie prężnie działającej firmy i dopracowanie oferowanych rozwiązań. Zamiast prowadzić sze-
roko zakrojone „badania”, mogłem spokojnie i z należytą uwagą zająć się problemami klientów.
Kiedy dominujący język lub technologia osiągają szczyt swojego rozwoju, następuje moment
słodkiej ignorancji, prawdziwa sielanka, okres spokojnej pracy, w którym całkowite odrzuce-
nie potencjalnych możliwości działa na naszą korzyść. Zilustrowałem to na rysunku 1.1. Kiedy
pojawia się nowy język o takich możliwościach i zasięgu, jak Java czy C++, można na pewien
czas pozwolić sobie na ignorancję. Problem pojawia się wówczas, gdy przeoczymy koniec ta-
kiego okresu. Pewnego dnia konkurencja okazuje się lepsza, osiąga większą wydajność pracy,
a co z tym związane wyższą jakość, produktywność i liczbę klientów. Kiedy rozpoczyna się
okres przejściowy, niewiedza nie popłaca.
Bez wstydu przyznaję, że lubiłem trzymać głowę w piasku. Było to łatwe, produktywne i,
w owym czasie, poprawne politycznie. Jestem przekonany, że identycznie postąpiło wielu
innych programistów języka Java, choć może nie zawsze z tego samego powodu. Życie pod
kloszem jest niewątpliwie łatwiejsze — niepodejmowanie żadnego działania przynosi więcej ko-
rzyści niż praca po godzinach. Człowiek ma poczucie bezpieczeństwa — nie zwalnia się za wy-
branie marki IBM (choć może Component Broker w OS/2 nie był najlepszym pomysłem…).
10
Rozdział 1. Sowy i strusie
Plik z chomika:
michael1307
Inne pliki z tego folderu:
100 rzeczy ktore kazdy projektant powinien wiedziec o potencjalnych klientach.pdf
(1608 KB)
10 projektow w cyfrowej ciemni fotograficznej.pdf
(773 KB)
100 sposobow na cyfrowe wideo.pdf
(1337 KB)
100 sposobow na Excel 2007 PL Tworzenie funkcjonalnych arkuszy.pdf
(1134 KB)
100 sposobow na Flash.pdf
(2199 KB)
Inne foldery tego chomika:
Dla bystrzaków
Dokumenty
Ebook-point
editio
Escape Magazine
Zgłoś jeśli
naruszono regulamin