piątek, 15 stycznia 2010

Zaćmione znikłe asystenty

Sława!

W trakcie moich skoków w bok, które opisuję w poprzednim wpisie, miałem okazję od lat niepamiętnych (czyt. czterech ;)) uruchomić świeżą, nieśmiganą instalację Eclipse, i nawet coś po próbować na szybko pokodować. No więc piszę jakiś szybki całkowicie przykładowy kod, bach CTRL+SPACE i... O! A to co takie fajne? W podpowiedziach na pierwszym miejscu wpis typu Anonymous Inner Type, który po wybraniu od razu tworzy zręb anonimowej klasy z metodami implementowanego interfejsu, żadnego Add unimplemented... nie trzeba bajka. Czemu nie mam w swoim "produkcyjnym" Eclipsie? Tylko podpowiedzi co do samych typów, choć wersja środowiska ta sama?

Rzut oka na "domyślną" konfigurację podpowiadacza (Content Assist) nie rozwiązała problemu, gdyż w "produkcyjnym" środowisku mam nawet trochę więcej i ogólnie, i pozaznaczanych elementów (z tych widocznych na obrazku, zaznaczone mam jeszcze Java Type Proposals). Chcesz się droczyć? To się podroczymy. Trochę ponaciskania, powłączania tego i owego, jakieś Apply po drodze i... Tak! Tak! Zepsuło się, i nie ma już tej zabawki. Restore Defaults. Nie pomogło. Hmmm... Ki diabeł? W końcu wyłączenie wszystkich związanych z jawą podpowiadaczy, zatwierdzenie, powrót do opcji, zaznaczenie od nowa Java Proposals i Java Type Proposals, zatwierdzenie. Nazad do przykładu, trach klawisze, i są oba. No mordka sama się śmiać próbuje już, ale wrodzona marudność powstrzymuje ją od tego i rzecze - te, te, poczekaj na poważnym spróbujmy. No to spróbujemy to samo, i voila! Jest! Teraz się może mordka radować do woli.

Tak to kolejny plus wspominanego przeglądu wyszedł niczym szydło z worka. Możliwość ponoć od dawna w środowisku dostępna, a jakoś jak się zabunkrowała to skutecznie. Ciekawe co jeszcze mi się bumeluje...

czwartek, 14 stycznia 2010

Osiołkowi w żłoby dano...

Sława!

...a tenże osiołek wlazł drugi raz (co najmniej) do tej samej rzeki. Choć ponoć się nie da. Ale po kolei.

Otóż. Tak to się złożyło, że męcząc się już prawie rok z pewnym projektem, który wydawał się zdecydowanie mniej czasochłonny (jak to zwykle bywa ;)), wpadłem jakiś czas temu na genialny (jak to zwykle bywa ;)) pomysł wykorzystania w nim do udogodnienia innym i sobie pracy języka Groovy. Do tego, co ważne, w tandemie z TestNG. No więc, ponieważ dzionka każdego używam (i lubię go używać) Eclipse, zacząłem standardowo od znalezienia wtyków umożliwiających mi to co chcę.

No i vale, zainstalowane. Odpalamy, pierwsza siurpryza, eklipsowy wtyk TestNG nie chce odpalać klas napisanych w Groovym. Minuta, osiem, przeszkoda usunięta. Nie wiadomo dlaczego, wtyk ten, dla tychże klas ustawiał poziom adnotacji na javadoc zamiast JDK. Szybka zmiana i bangla. Niestety, później okazało się, że wtyk grówiowy (?) ma parę błędów, w tym jeden co najmniej mocno denerwujący. Otóż w ówczesnej jego wersji, uparcie twierdził, iż klasa anonimowa zrobiona z interfejsu jest be i w ogóle, bo superklasa nie może być jedynką (czy coś w ten deseń). No żeż, a pies Cię lizał. Skoro jest tyle IDE dookoła, to co ja Cię będę się uparcie i nienażarcie trzymał Ty Eclipsie niewdzięczny. Zaraz sobie coś przygrucham na Twoje miejsce.

Jak pomyślał żem był, tak też zrobił. Co tam panie chwalą? Ano IntelliJ IDEA chwalą. Teraz także w wersji darmowej. No dobra, to sprawdzimy co to. Wsparcie do Groovy jest, do TestNG takoż samo, nic tylko używać. Przyznam się, że pierwsze wrażenie było dziwne. Acz parę chwil poświęconych na zapoznawanie się, i mimo pewnych kłopotów ze zwalczaniem przyzwyczajeń z Eclipse (gł. skróty klawiaturowe używane czasem bezwiednie), jakoś tam praca się zaczęła. Groovy śmiga, TestNG po drobnych komplikacjach też zadziałało (nie wiem dlaczego, póki się nie wyrzuciło z propozycji klas JUnit, nie chciało coś podpowiadać dobrze w edytorze). Trochę braków, błędów i wypaczeń jest, ale też i parę fajnych rzeczy. Generalnie na plus, zaczyna mi się podobać. Więc przenosimy projekcik z Eclipsa, jednocześnie pozbywając się z niego mavena, co by życia sobie nie utrudniać (takie osobiste urazy ;)). Tu podkodować coś, tu coś przypacykować. Alles gut się miraży. Odpalam efekty i... zwiech. Mimo straty paru godzin, niestety nie udało mi się znaleźć dlaczego w pewnym momencie, mój owszem dość specyficzny, kod zawieszał się odpalany spod Idei (to samo odpalane z Eclipse'a czy z linii komend jak bozia przykazała śmiga aż miło). Pewnie kwestia gryzienia się z ideowym biegaczem. Cóż, nikt nie jest doskonały, ale w domciu można Idei spróbować do bardziej normalnych zadań, bo wygląda istotnie obiecująco.

Skoro nie Idea, to co? JDeveloper? Chociaż wspiera pożądane przeze mnie technologie, to nie tak dawno próbowałem się do niego przekonać, i cóż... Na ponowną szansę jeszcze chyba za wcześnie... Tak więc został jeszcze jeden gracz, często wychwalany wręcz pod niebiosa (np. w komentarzach do ankietki na dZone) - NetBeans. Dawałem już mu szansę. Wersjom 4, 5 na 6 kończąc. Nigdy to nie była długa przygoda, bo cóż. Ma coś takiego co mnie odrzuca, ale mając w perspektywie emacsa i terminal ;) postanowiłem znów pozwolić mu się zaprezentować. Nie była to długa prezentacja, niestety, ot przykra niespodzianka, od wersji 6.5 nie ma wsparcia dla TestNG. Dziękuję postoję. Zastanowię się co dalej.

A dalej zostało... Eclipse. W międzyczasie, kiedy zaznawałem swawol z kolejnymi kandydatkami na wymarzone IDE, ta aplikacja poszła do fryzjera i manikiurzystki, co by się odstrzelić na bóstwo. Co prawda nie do końca wyszło tak, żeby mnie olśnić, ale biorąc pod uwagę, że zaktualizowany plugin do grówiego nadal RC, to można co nieco mu wybaczyć. Ważne, że obecnie da się z nim pracować, a czasu "zmarnowanego" na poszukiwania zastępnika nie żałuję, bo zawsze dobrze od czasu do czasu sprawdzić co w trawie piszczy. Kto wie czy wreszcie lepsze nie jest już wrogiem dobrego?

niedziela, 10 stycznia 2010

A miało być tak pięknie...

Sława!

No niestety, jak poinformował Leszek na stronie Szczecińskiego JUGu tegoroczna edycja konferencji Java4People nie odbędzie się. Serce moje napełnione jest więc niekłamanym żalem, bo poza Javarsovią nie ma chyba w kraju innej wartej mojego zainteresowania konferencji (formuły i poziom zarówno Cooluarów jak i GeeCona nie są tym co akurat ten tygrys lubi najbardziej). Miejmy nadzieję, że j4p jeszcze wróci, nawet jeżeli w formie biennale czy triennale.

Bijąc się w pierś, bo nie narzucałem się, szczerze mówiąc, Organizatorom z pomocą (z różnych pobudek, o czym może dalej, jak się nie rozmyślę) pochylam na chwilę głowę nad pewnym zjawiskiem (miejmy nadzieję, że nie regułą). Otóż wydaje się, że nasz jug dotyka podobne obumarcie jak lokalny spin. Że znów nieźle się zaczęło, ale dość szybko zbiór osób które chcą, potrafią i mają co przekazać zaczął się bardzo szybko wyczerpywać. O ile w wypadku spina to nawet mnie nie zdziwiło, bo to trochę taka "nie jasna" organizacja, no to w wypadku juga chyba jest to jednak pewne zaskoczenie.

Przecież Szczecin nie jest jakąś jawową pustynią. Programistów Javy zatrudnia całkiem spora liczba istniejących tu firm, w tym te największe/najbardziej znane. Wydawałoby się, że nie ma bata, to musi wypalić... A wygląda, że i owszem, wypaliło, ale się. Ciekawi mnie co jest tego przyczyną? Czy generalnie nie lubimy się dzielić wiedzą z innymi? Czy może jednak lubimy, ale się boimy? Azali ani nie lubimy, ani nie boimy, ale wystarczy nam to czym się podzielimy z kumplami z pracy? Albo może uważamy, że nie mamy się czym dzielić, bo przecież nic takiego nie umiemy, na niczym takim się nie znamy? A może jednak, do tego wszystkiego nie mamy czasu na "zabawy"?

Cóż, jeśli o mnie chodzi, to ja ewidentnie podpadam pod przypadek, który "nic takiego nie umie i na niczym specjalnym się nie zna". W życiu nie napisałem nawet sieciowego witajświata, takie rzeczy jak Wicket, Seam, ba Tomcat i Apache są tylko jakimś tam echem bijącego gdzieś tam dzwonu, nie będę nawet przez grzeczność wspominał o GWT czy innym JSF. Podobnie bazodanowe zagadnienia - od JDBC do Hibernate, obiło się gdzieś o uszy i tyle. A jak już się coś zdarzyło poznać, to raz, że raczej trudno mówić o jakimś mistrzostwie, a dwa, to jeśli już, są to raczej technologie albo powszechnie znane, albo same w sobie mało interesujące i raczej nie topowe. Skoro tak, to nieraz sobie zadawałem pytanie, czy jest jakiś sens pasożytowania na takim jugu? Teraz zaś zaciekawia mnie ile takich "pasożytów" procentowo było wśród wszystkich zainteresowanych jugiem? Bo może, kurteczka, człowiek (?) się niepotrzebnie krępuje  kalibrując miarkę do (wyobrażonego) poziomu osób, które może i biją wiedzą na głowę, ale nie potrzebują (poza nielicznymi wyjątkami) takich grup do niczego, zamiast się podkalibrować pod tych co na spotkaniach się pojawiali?