niedziela, 7 lutego 2010

Strategia Oracle po przejęciu Sun'a

Witam!

W poprzednim poście starałem się przybliżyć historię przejęcia ukochanego Słoneczka przez Oracle. W tym chciałbym przedstawić jak z punktu widzenia prostego, akademickiego programisty Javy ma się przyszłość całej platformy i innych produktów Sun'a.

Wszystko zaczęło się od wpisu na blogu Xoft, w którym to dowiedziałem się, że NetBeans będzie od teraz środowiskiem programistycznym do wszystkiego, poza JEE. To niezbyt mnie zmartwiło, jako że jestem wiernym użytkownikiem Eclipse, lecz zapowiedziało spore zmiany. Co ciekawe Oracle ma zamiar inwestować w JaveFX, co zdziwiło nie tylko autora postu na Xoft.

Następnym bodźcem do zastanowienia był post Koziołka - "Koniec Suna". Tytuł straszny, lecz chodzi "jedynie" o zamknięcie strony sun.com i przekierowanie z tego adresu na stronę oracle.com. Jak napisał Koziołek, pewna epoka się skończyła...

Zastanawiające jest natomiast zamknięcie projektu Kenai, o którym informuje na swoim blogu Tomasz Dziurko tutaj. Niby niszowy projekt firmy Sun, a jednak jego zamknięcie budzi pewne obawy.

Na stronie Oracle można znaleźć dosyć sporo informacji na temat przejęcia firmy Sun Microsystems i strategii działania po tejże transakcji. Zacząć warto od strony Oracle and Sun, na której znajdziemy odnośniki do ogłoszeń prasowych, webcastów i wielu innych.

Ja zacząłem od serii "Oracle + Sun: Transforming the IT Industry". Składa się ona z 7 prelekcji poświęconych różnym zagadnieniom przejęcia: nowego podejścia firmy do świadczonych usług, rozwiązań sprzętowych i programowych, systemów operacyjnych i wirtualizacji, obsługi klienta i wsparcia technicznego etc. Każda taka prelekcja trwa kilka- do kilkadziesiąt minut, tak więc osobiście poświęciłem czas jedynie występowi prezesa firmy Oracle - Charlsa Phillipsa.

W swoim wystąpieniu prezes firmy Oracle mówił o wielkich korzyściach, jakie wynikają z fuzji, natomiast nie usłyszałem ani słowa o zagrożeniach, jakie mogą z nich wynikać. Wiadomo, człowiek lubi słyszeć dobre, a nie złe rzeczy. Z najważniejszych rzeczy, które omawiał Phillips można wynotować:
  • zmiana podejścia do tworzenia systemów aplikacyjnych. Teraz zamiast składać się ze zbioru indywidualnych komponentów, ma on być tworzony jako jedność, projektowana z myślą synchronizacji i efektywnej współpracy komponentów, a nie jedynie ich indywidualnemu działaniu. Takie podejście możliwe jest dzięki wdrożeniu rozwiązań firmy Sun Microsystems do produktów Oracle.
  • support zintegrowanego systemu, który jest tworem jednej firmy, jest o wiele łatwiejszy, tańszy i szybszy niż support systemu dostarczany przez różne firmy, które bardzo często nie współpracowały ze sobą przedtem. Dodatkowo ma powstać system raportowania stanu systemu, który będzie wysyłał raz dziennie (lub przy zmianie w architekturze systemu) raportu do siedziby firmy Oracle, która na jego podstawie będzie w stanie za prognozować możliwe problemy i awarie w zawczasu im zapobiec,
  • w stosunku do zeszłego roku, w tym firma Oracle postanowiła zwiększyć po raz kolejny środki przeznaczone na dział R&D (Research and Development) z 2,8mld $ do 4,3mld $. Pieniądze te będą również przeznaczone na rozwój produktów firmy Sun,
  • zdeklarowano się do dalszej pracy nad otwartymi stadardami i wspieraniu projektów open source. Zadeklarowano bezpieczeństwo takich produktów jak MySQL,
  • inwestycje w takie produkty jak Java (w tym bardzo mocno w JaveFX), Solaris, MySQL etc.,
  • zamiast redukcji etatów, Oracle ma zamiar zatrudnić 2 tyś nowych specjalistów z przeróżnych branż,
  • zorganizowano całą akcje informującą o strategii firmy po fuzji z firmą Sun Microsystems. W jej skład wchodzą liczne informacje prasowe na stronie Oracle, tournee po ponad 70 miastach całego świata (także w Warszawie), serie webcastów (o których za chwilę),
  • na koniec upewniono, że impreza JavaOne nie przestanie istnieć. Zostanie ona połączona z Oracle OpenWolrd i będzie mieć miejsce w San Francisco 19 do 23 września 2010r. Ponadto firma Oracle postanowiła zagościć w tym roku z JavaOne w 4 innych niż Stany krajach: Brazylii, Rosji, Indiach oraz Chinach.
Na koniec znalazłem wspomniane przez prezesa Oracle webcasty. Mowa tu o "Oracle + Sun Product Strategy Webcast Series", w których skład wchodzą filmiki informacyjne o takich produktach jak Java, wirtualizacja, cloud computing, SOA, OpenOffice i wiele innych (a wymieniam tu jedynie dział "Software Strategy"). Sam filmik o Javie nie jest długi - ma 16 minut, lecz możemy dowiedzieć się kilku ciekawych rzeczy:
  • premiera Java SE7 odbędzie się jak planowano, tj. w 2010 roku,
  • dalszy rozwój technologii takich jak GlassFish, Java Mobile, Java FX, Java Cards etc,
  • scalenie API Java SE i ME (oraz innych produktów) - to jest zastanawiające. Osobiście nie wiem jak mam sobie to wyobrażać,
  • powtórzenie informacji o JavaOne i Oracje OpenWorld.
Niestety w obu materiałach używa się wielu szumnych haseł, a tak naprawdę bardzo mało jest szczegółów. Jednak podsumowując można być spokojnym (a przynajmniej takie wrażenie wywarły na mnie wszystkie przejrzane informacje), gdyż widać determinację firmy Oracle w rozwijaniu platformy Java. Ciekaw jestem dokładnych planów rozwoju platformy oraz dalszego losu certyfikacji, ale do tych informacji jeszcze się nie dostałem. Może ktoś z Was wie coś na ten temat i chciałby się swoją wiedzą podzielić?

Pozdrawiam i do następnego razu!

Historia przejęcia Sun'a przez Oracle

Witam!

Niedzielny, zimowy wieczór sprzyja leniuchowaniu. To już ponad tydzień jak sesja na obu kierunkach już się dla mnie skończyła (oczywiście z pozytywnymi wynikami :)), większość administracyjnych spraw mam już załatwionych, tak więc przyszedł czas na relaks, a po nim na załatwianie zaległych spraw i realizacje planu noworocznego. Na moim TODO znalazłem link do materiałów na temat przejęcia Sun Microsystems przez Oracle. Ale od początku...

Na koniec 2006 roku firma Oracle, wiodący dostawca usług bazodanowych na świecie odnotował bardzo dobre wyniki finansowe. To przyczyniło się do kupna przez tą firmę kilku firm na przełomie 2007/2008 roku. Fuzji uległy takie firmy jak: MetaSolv (firma tworząca oprogramowanie dla telekomunikacji), BEA Systems (dostawca oprogramowania middleware dla potrzeb biznesowych) oraz Advanced Visual Technology - AVT (firma tworząca oprogramowanie aranżacyjne). Potem przyszedł rok 2009...

Od jakiegoś czasu Sun Microsystems miał spore problemy finansowe. W końcu okazało się, że jedyną szansą dla firmy, jest fuzja z innym potentatem rynkowym. W marcu do opinii publicznej doszła informacja, jakoby IBM miało zaproponować wykup Sun'a za 6,5mld $ (cena giełdowa Sun'a na tamten czas to 3,7mld $). Już wtedy wiadomo było, że taka fuzja będzie oczkiem w głowie instytucji antymonopolowych. W dwa tygodnie później podano informacje, że IBM jest już u końca transakcji zakupu Słoneczka za nową cenę - 7mld $. Lecz Sun okazał się niełatwym partnerem, gdyż zaczął stawiać warunki, co do przejęcia. Po trzech dniach rozmowy IBM - Sun zostają zerwane. Prawdopodobnym powodem jest zaniżona cena akcji Sun Microsystems, którą IBM miałby zapłacić. Sun Microsystems stanęło w bardzo niebezpiecznej sytuacji.

W dwa tygodnie po zerwaniu rozmów Sun'a z IBM (tj. 20 kwietnia 2009r.) firmy Oracle i Sun Microsystems wydały oświadczenie, w którym informowały o zakupie firmy Sun przez Oracle za kwotę 7,4mld $. Zarząd firmy Sun Microsystems nie miał żadnych obiekcji do transakcji i zaakceptował ją jednogłośnie. Ta informacja ożywiła społeczność zgromadzoną wokół jednego z open source'owych projektów firmy Sun - OpenOffice'a - i dała nadzieję na dalszy rozwój w czasie, w którym projekt był w stanie stagnacji.

Problemy z przejęciem firmy zaczęły się w maju 2009r., kiedy to akcjonariusze firmy Sun Microsystems złożyli 3 pozwy zbiorowe, swój sprzeciw uzasadniając nieuczciwą i nieadekwatną do wartości firmy ceną. W tym samym okresie Sum podejrzewa, że mogło dojść do skorumpowania zagranicznych urzędników przez firmy amerykańskie, o czym informuje amerykańską Komisję Nadzoru Giełd (SEC).

Pod koniec czerwca 2009r. Departament Sprawiedliwośc Stanów Zjednoczonych informuje o przedłużeniu dochodzenia w sprawie przejęcia Sun'a przez Oracle mającego na celu wyjaśnienie, czy transakcja nie łamie żadnych przepisów antymonopolowych oraz czy nie zachwieje rynkiem światowym. Jedna zarząd Oracle jest przekonany, że zgoda to tylko formalność i już zaciera ręce...

Po ogłoszeniu decyzji przez urzędy antymonopolowe w USA, która zezwalała na transakcje, we wrześniu 2009r. Komisja Europejska zablokowała inwestycję. Powodem takiej decyzji KE była obawa, że społecznościowy, otwarty projekt, jakim jest MySQL będzie zagrożony. Rozpoczęto specjalne śledztwo mające na celu wyjaśnienie tych wątpliwości. Cała sytuacja stała się bardzo napięta. Sun Microsystems był zagrożony bankructwem, a Oracle, który chce wesprzeć firmę ogromnymi sumami pieniędzy, ma związane ręce. Co paradoksalne - Komisja Europejska ma przeciwdziałać monopolowi. W przypadku upadku firmy Sun, do którego w znacznym stopniu może się przyczynić, monopol firmy Oracle jedynie się umocni, zamiast zmniejszyć.

Ponieważ śledztwo Komisji Europejskiej trwa bardzo długo i nie znany jest przypuszczalny werdykt, osoby trzecie postanawiają włączyć się do sprawy. Marten Mickos - szed MySQL w latach 2001 ~ 2008 - skierował apel do KE o nieblokowanie transakcji, zważywszy na szkodliwe skutki takiego działania komisji. W odpowiedzi na apel Mickos'a Monty Widenius - jeden z twórców MySQL'a - wyraził opinię, że gdy projekt będzie w rękach Oracle, konkurencja na rynku bazodanowym zmniejszy się, a sam produkt zostanie w znacznym stopniu zaniedbany. Takie stanowisko poparło Free Software Foundation.

10 listopada 2009r. Komisja Europejska ogłasza werdykt negatywny w sprawie przejęcia firmy Sun Microsystems przez Oracle. Powodem takiej decyzji jest przekonanie komisji, że połączenie dwóch projektów bazodanowych tej rangi może poważnie zachwiać równowagę na rynku. W tym momencie nic nie wróżyło, by transakcja miała dojść do skutku, a Słoneczko uratowane przed bankructwem...

W odpowiedzi na werdykt KE senat Stanów Zjednoczonych wystosował apel do regulatora europejskiego o jak najszybsze rozwiązanie sprawy z przejęciem Sun'a. W swoim oświadczeniu senatorowie piszą:
Umowa pomiędzy Sun i Oracle została ogłoszona siedem miesięcy temu i do tej pory nie ma jej efektów. Dalsze opóźnienia ze strony Komisji Europejskiej mogą skutkować utratą wielu miejsc pracy w Stanach Zjednoczonych. Dlatego właśnie czujemy się upoważnieni do wysłania petycji z prośbą o szybszą decyzję.
Sugerowano także, że działania UE mają charakter polityczny, uderzający w gospodarkę i rynek amerykański. Samo Oracle nie zdaje się jedynie na dobre słowo senatorów amerykańskich - prosi wszystkich swoich strategicznych partnerów o wstawienie się przed KE w sprawie przejęcia firmy Sun Microsystems. Wkrótce potem 8 firm partnerskich Oracle (takich jak Ericsson, Vodafone, Brytyjska Agencja Broni Atomowej) zostało przesłuchanych przez komisję. W toku przesłuchań okazało się, że większość (a nie jak sądzono początkowo - wszystkie) firm popiera transakcję, co okazuje się ważną kartą przetargową dla Oracle. Oburzony Monty Widenius na łamach swojego bloga wystosował 14 grudnia 2009r. apel do czytelników, by Ci pomogli mu "uratować MySQL z łap Oracle". Sama firma Oracle postanowiła również wystosować oświadczenie kierowane do Komisji Europejskiej (jak i do swych partnerów i osób, które obawiają się przejęcia MySQL przez Oracle), w którym deklaruje się do rozwijania i dbania o MySQL. Wiązać się to ma ze sporymi zasobami pieniężnymi przeznaczonymi na MySQL, utworzeniem specjalnej komisji złożonej z klientów firmy nadzorującej rozwój projektu. Dodatkowo nie będzie przymusu wykupu płatnych licencji na wsparcie dla bazy, a także zobowiązano się do bezpłatnego udostępniania referencyjnego manual'a projektu.

Wszystkie te działania sprawiły, że Komisja Europejska dnia 21 stycznia 2010r., po 5-miesięcznym dochodzeniu antymonopolowym, wyraża zgodę na przejęcie firmy Sun Microsystems przez Oracle. Już po 6 dniach firma Oracle ogłosiła zakończenie procedur przejęcia Sun'a.

To tyle na temat historii przejęcia firmy sun Microsystems przez Oracle. W następnym poście napiszę jakie działania podjął i zapowiada podjąć gigant bazodanowy - firma Oracle - w kwestii produktów i usług, które zakupiła wraz z firmą Sun Microsystems z perspektywy zwykłego programisty Javy.

Pozdrawiam!

piątek, 8 stycznia 2010

Plany na 2010 rok

Witam w nowym roku!

Zainspirowany wpisem na blogu Jacka Laskowskiego postanowiłem przemyśleć i zestawić najważniejsze rzeczy związane z Javą i ogólnie pojętą inżynierią oprogramowania, którymi chciałbym zająć się w 2010 roku. Oto i one:

Książki:
  1. "Pragmatic Unit Testing In Java With jUnit" Andrew Hunt, Dawid Thomas
  2. "Better Builds with Maven" John Casey, Vincent Massol, Brett Porter, Carlos Sanchez, Jason van Zyl
  3. "Head First Design Patterns" Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates
  4. "UML 2.0 Almanach" Dan Pilone, Neil Pitman
  5. "Taming Java Threads" Allen Holub

Techniki/technologie/frameworki/narzędzia:
  1. Subversion (SVN) oraz Git
  2. Remote Method Invocation
  3. Eclipse SQL Explorer
  4. Obsługa XML'a w Javie
  5. JDBC (razem ze sterownikami Server-side) oraz SQLJ
  6. Mockowanie
  7. Migracja z jUnit 3.X na 4.X
  8. Lepsze poznanie Maven2 i jakieś eksperymenty z Grandle
  9. Log4J
  10. Java Security Policy
  11. AWT/Swing/SWT - lepsze poznanie
Kursy/certyfikaty:
  1. JavaBlackBelt: "Java SE Core - Intermed", "Java SE Collections", "Java SE Base API - Basic" oraz albo "JDBC - Basic" albo "JUnit - Basic"
  2. Sun Microsystems "The Java Tutorials"
  3. Java Passion
Konferencje/JUG'i:
  1. 4Developers
  2. GeeCON
  3. Trójmiasto Java User Group - muszę wreszcie się zorganizować i zacząć uczęszczać na spotkaniach...
Jak widać jest tego trochę i jest to strasznie chaotyczne. Ostatnimi czasy mam sporo możliwości używania i uczenia się Javy na uczelni. Niestety nie mam czasu, by po kolei uczyć się dokładnie każdej rzeczy, tak więc uczę się minimum z danego zagadnienia, by wystarczyło do zrobienia projektu. Chciałbym to zmienić wreszcie i trochę bardziej dokładnie posiedzieć nad niektórymi rzeczami (jak np. Maven, jUnit czy wielowątkowość w Javie). Nie wiem ile z tego mi wyjdzie, ani jak mi to wyjdzie, ale jednego jestem pewien: rok 2010 sponsoruje literka 'J' jak Java :)

Najcudowniej byłoby nauczyć się pisać dobrze (i w ogóle) pluginy do Eclipse, ale to już raczej w najbliższej przyszłości pozostanie w sferze marzeń. Podobnie jak idea screencastów. Szkoda, bo rzeczy takie mobilizują do pracy, ale niestety (albo stety) "nie samą Javą człowiek żyje" :)

Na zakończenie serdeczne życzenia wszystkiego najlepszego w nowym roku!

Pozdrawiam!

środa, 9 grudnia 2009

IT Academic Day

"Nie samą Javą developer żyje" - takie słowa usłyszałem kiedyś w trakcie rozmowy na na którejś z konferencji poświęconej Javie i technologiom z nią związanym. Dlatego postanowiłem wczoraj (8 grudnia) wybrać się na konferencję firmy Microsoft, która odbywała się na Politechnice Gdańskiej - "IT Academic Day - Politechnika Gdańska". Sam cykl "IT Academic Day" jest cyklem objazdowych, jednodniowych konferencji firmy z Redmond mającej na celu przybliżenie studentom kierunków informatycznych platformę .NET i zaprezentowanie jej nowych możliwości.

Dzięki uprzejmości Doktora Ravindry Chhajlany, z którym mamy tego dnia zajęcia z Javy mogliśmy w ramach zajęć udać się na sąsiedni wydział i zanurzyć się choć na chwilę w platformie .NET 4.0. A więc po kolei:

Rejestracja użytkowników - po przybyciu na Wydział Elektroniki, Telekomunikacji i Informatyki byłem lekko zaskoczony: żadnych informacji o konferencji, żadnych plakatów, drogowskazów. Gdyby nie informacja ze strony imprezy nie mielibyśmy w ogóle pojęcia, że się jakakolwiek impreza tego dnia odbywa. Dopiero portierka poinformowała nas gdzie mamy się udać. Po przyjściu znowu zostałem niemile zaskoczony - stał tłum ludzi, ale nic się nie działo. Rejestracja powinna zacząć się jakiś czas temu, ale nie widać było żadnych oznak, by tak faktycznie było. Na całe szczęście po chwili zaczęto rejestrować uczestników i ku mojej uldze poszło to bardzo sprawnie. Na dobry początek konferencji każdy dostawał pamiątkowy długopis (Windows 7), notatnik, ankietę, identyfikator oraz z płytę z najnowszym oprogramowaniem antywirusowym firmy Kaspersky.

Po oficjalnym rozpoczęciu (którego dokonał Dziekan Wydziału ETI zgodnie z tradycją wszystkich tego typu imprez na Wydziale ETI) przyszedł czas na chyba najbardziej wyczekiwaną prelekcję tego dnia - "Szyfrowanie - jak to działa? Kryptografia wczoraj i dzisiaj". Zaczęło się bardzo obiecująco, bo od krótkiej zagadki. Należało jak najszybciej odszyfrować wiadomość podaną przez prowadzącego. Potem Bartosz tłumaczył w bardzo prosty sposób czym jest szyfrowanie, na jakiej zasadzie działają algorytmy szyfrujące (jak AES) etc. Niestety w moim odczuciu prelekcja była prowadzona zbytnio w stylu wykładu akademickiego przez co nie była tak przystępna jak być mogłaby.

Następnym punktem programu było podzielenie się wrażeniami z różnych edycji konkursu dla programistów .NET Imagine Cup trójki studentów z Politechniki Białostockiej. Całość była utrzymana w luźnej atmosferze, była masa ciekawych historyjek, sporo śmiechu - ot taki miły punkt dla rozluźnienia przed bardziej technicznymi wystąpieniami.

Prelekcja "Procesor wielordzeniowy pod pełną kontrolą z wykorzystaniem możliwości Microsoft Parallel Extensions to the .NET Framework." Marcina Iwanowskiego była przeze najbardziej wyczekiwaną tego dnia. Byłem ciekaw co też Microsoft przygotował dla programistów zabawiających się programowaniem równoległym. I nie zawiodłem się! Prowadzący bardzo fachowo, ale przystępnie opowiadał o nowym frameworku do .NET, porównywał go z poprzednimi rozwiązaniami w .NET 3.5. Udało mi się dojść do głosu i zadać prowadzącemu pytanie na temat Threadpool w .NET 4.0 - nie znał odpowiedzi, ale obiecał poprosić kolegów z firmy, którzy zajmują się aspektami technicznymi, aby wyjaśnili niejasności. Taka postawa bardzo miło mnie zaskoczyła! Do tego atrakcyjność prezentacji wzrastała z każdym kolejnym przykładem pokazywanym (czy to już gotowe programy, czy to kodowanie na żywo). Ogólnie była to chyba najlepsza prezentacja całej konferencji.

Kolejny punkt programu niestety nie był już tak ciekawy. Pod zwodniczym tytułem "User Experience" tak naprawdę kryło się pokazanie podstawowych możliwości Windows Presentation Foundation (WPF). Było by dobrze, gdyby prowadzący wiedział co tak naprawdę chce nam przekazać. Już po kilku minutach przyznał się, że nie wie do kogo kierować tą prezentację, więc mówił wielkimi ogólnikami przez co skończył całość ponad pół godziny przed czasem. To szybsze skończenie prezentacji przesunęło cały harmonogram imprezy, ale nie ma tego złego :)

Ostatnia prezentacja - "Innowacje w Microsoft" Jana Kleczkowskiego okazała się luźnym przeglądem "nowych" technologii firmy Microsoft (nowych w cudzysłowie, bo pokazywano takie "nowinki" jak Internet Explorer 8). Była to kolejna prezentacja utrzymana w luźnej konwencji, co było dobrym pomysłem na koniec imprezy. Wiele kontrowersji wzbudziła prezentacja filmiku "Microsoft Future Vision":


Zakończenie imprezy było krótkie - zebrano ankiety, wylosowano nagrody (niestety nie załapałem się na koszulkę :() i podziękowano za przybycie.

Podsumowując całą imprezę wyszła dobrze. Może i było parę niedoróbek, ale w ogólnym rozrachunku na pewno nie będę żałować czasu spędzonego na IT Academic Day :)

Poniżej kilka fotek, które udało mi się zrobić mimo kiepskiego oświetlenia w sali:


Pozdrawiam!

czwartek, 26 listopada 2009

Zasada dobrego harcerza

Witam!

Przeglądając blogi polskiej społeczności Javowej natknąłem się ostatnio na bardzo ciekawy wpis na blogu Piotra Paradzinskiego - IT Researches mówiący o dobrych cechach programisty. Pojawiło się tam pojęcie "Zasady dobrego harcerza" (ang. "The Boy Scout Rule"). Mówi ona o tym, byśmy pozostawiali miejsce naszego pobytu w stanie lepszym, niż je zastaliśmy. Oczywiście można tą zasadę zastosować do naszego codziennego życia programisty. Przykładowo, gdy korzystamy z jakiegoś modułu/biblioteki, postarajmy się ją trochę poprawić: czy to przez poprawienie/dopisanie dokumentacji, czy to przez poprawniejsze/bardziej intuicyjne nazwanie zmiennych etc. Sam często łapię się na tym, że jak po raz któryś korzystam z wcześniej napisanego kawałka kodu staram się go ulepszyć, bo znam już jego słabsze strony. Dzięki temu w późniejszym czasie pracuje mi się z nim łatwiej i przyjemniej i żyje w przekonaniu, że jest mniej awaryjny. Nie mówimy tu o drastycznych zmianach, tylko takich małych, które nie zabiorą nam zbyt wiele czasu a przyniosą w przyszłości znaczne korzyści.

Szersze omówienie tematu można znaleźć na stronie O'REILLY commons.

Pozdrawiam, Łukasz

środa, 11 listopada 2009

Eclipse and Java Using the Debugger

Witam!

"Eclipse and Java Using the Debugger" jest trzecim z rzędu video tutorialem, który przerobiłem z serii "Eclipse And Java: Free Video Tutorials". Mimo iż w często się słyszy, że Debuggera nie powinno się używać, a zamiast tego powinno się pisać testy jednostkowe (o czym mam nadzieję napisać coś więcej w przyszłości) to jednak wydaje mi się, że początkujący programista powinien poznać to narzędzie. Osobiście długo unikałem wszelkiej maści debuggerów (C, C++, C#), ale nie można przed tym wiecznie uciekać :)

W kursie, o którym mowa, zawarto wiele podstawowych informacji. Czasem ma się wrażenie, że prowadzący narzuca zbyt wolne tępo, ale może to wynikać z mojej przerwy w kursie i dłuższej już pracy z Eclipsem. Jednak jak sam się na własnej skórze przekonałem warto przeczekać "wolniejsze momenty", bo bardzo łatwo może nam coś umknąć i potem będzie trzeba szukać tego po całym filmie. Tutorial jest podzielony na dwie części:
  • podstawy (odcinki 1 - 4)
  • techniki zaawansowane (5 - 7)
Z pierwszej części co warto sobie zanotować (przyswoić) na przyszłość to na pewno skróty klawiaturowe:
  • Ctrl + R = Run to line - wykonuje wszystkie instrukcje między aktualną pozycją a pozycją kursora,. Dzięki temu nie musimy używać wielu breakpoint'ów, wystarczy przejść w odpowiedni kawałek kodu i przeskakujemy nie interesujący nas w danej chwili fragment programu
  • Alt + Shift + Up - zaznaczenie kolejnego elementu kodu
  • Alt + Shift + Down - odznaczenie kolejnego elementu kodu

Z istotnych własności debuggera warto pamiętać, że gdy wykonamy jakieś zmiany na kodzie, który aktualnie debuggujemy, Eclipse automatycznie zrestartuje aktualną sesję z nową wersją kodu.

Ostatnią bardzo ciekawą i przydatną funkcją tego narzędzia jest "Drop to frame". Zawsze zastanawiałem się, dlaczego nie zaimplementowano żadnej opcji powracania do wcześniejszego stanu sesji, zamiast restartowania sesji i przechodzenia wszystkich kroków od nowa? Otóż okazuje się, że w obrębie danego bloku możemy powracać do kodu, który już się wykonał (a przez to przywracać wcześniejszy stan aplikacji). W tym celu zaznaczamy przechodzimy kursorem w wybrane miejsce i naciskamy przycisk "Drop to frame" (obok pozostałych przycisków pozwalających sterować przebiegiem procesu debuggowania). W tym momencie wszystkie zmienne zostaną zmienione do stanu wcześniejszego, a my możemy w bardzo szybki i wygodny sposób przeanalizować ponownie wybrany fragment kodu.

Część zaawansowana tutorialu trochę mnie zawiodła. Oczywiście pojawiły się ciekawe informacje jak np. Hit Count, Conditional Breakpoint, Watchpoints, czy akternatywne JRE przeznaczone z myślą o debuggowaniu i umożliwiające śledzenie działania metod systemowych (na przykładzie LinkedList). Jednakże ostatnie dwie lekcje (o referencjach do obiektów oraz metodach rekurencyjnych) były nużące i poza niewielką liczbą informacji o debuggerze opiewały samą Javę i jej cechy. Oczywiście jest to tutorial nie tylko do Eclipse, ale także do samej Javy, lecz uważam, że takie lekcje powinny się znaleźć w innym kursie.

Ogólnie kurs oceniam na 7/10. Mogłoby być lepiej, ale i tak nie uważam czasu nad nim spędzonego za zmarnowany i polecam przejrzenie go każdemu, kto jest nowy (i nie tylko) w Eclipse.

Warty zaznaczenia jest fakt, że prowadzący korzysta z Eclipse w wersji 3.3. W najnowszej wersji Galileo istnieją pewne różnice w interfejsie, lecz sama funkcjonalność pozostaje niezmieniona.

Na koniec stadardowo garść linków:

Pozdrawiam, Łukasz.

Reaktywacja i zmiany na blogu

Witam serdecznie po sporej przerwie!

Wiele się działo przez ostatnie trzy miesiące. Wielu rzeczy się nauczyłem, wiele rzeczy poznałem i wiele rzeczy się wydarzyło. Niestety w tym całym natłoku zajęć nie starczyło czasu na rozwijanie bloga, a szkoda. Teraz nadszedł czas, by to wszystko naprawić.

Zaczynamy od zmienionego wyglądu bloga! Wiem, że to niewiele i że styl nie jest doskonały, ale tak to jest, gdy korzysta się z gotowych szablonów i nie ma się czasu/umiejętności na ich dostosowywanie. Osobiście skorzystałem z serwisu Blogger Templates. Ale i tak efekt jest znacznie lepszy niż przy poprzedniej szacie graficznej. Wraz z nowym szablonem dodałem nowy moduł - "Subskrybuj", który osobiście bardzo lubię na innych blogach, a który znacznie ułatwia zarządzanie kanałami RSS/Atom.

Na razie to tyle zmian. Przyszedł czas na zapoznanie się dokładne z Debuggerem Eclipse'a ("Eclipse and Java Using the Debugger") i o tym właśnie będzie kolejny wpis.

Pozdrawiam!