konto usunięte

A kto tu krytykuje język?
Ja nawet nie krytykuję narzędzi (co najwyżej przytaczam opinię /teraz już z podaniem źródła/) ;-)
Każdy język ma swoją niszę zastosowań/użytkowników, w/dla której to jest najlepszy :-)

A na Windowsach się nie znam :-P
Karol Wojtiuk

Karol Wojtiuk Team Leader, SMT
Software

Bartoszu, nie wiem kto to jest Cachotterie i co prawda poświęciłem tylko parę minut na to by zanaleźć kto się za tym nickiem kryje, ale niestety nigdzie na tym blogu tego nie znalazłem.
Ale wracając do meritum, w wątku który wskazałeś tak naprawdę prócz narzekania bez podawania konkretów podano trzy konkretne problemy:

1) VS nie integruje się z CVS.
Po pierwsze to dokładnie tak samo jakby mieć pretensje, że Eclipse nie integruje się VSTS. Po drugie Source Control jest w VS jako plugin i zakładam, że plugin CVS można znaleźć,

2) Na Eclipse jest kupa darmowych pluginów (w domyśle na VS nie ma)
Proszę spojrzeć na stronkę http://catalog.vsipmembers.com/catalog/productCatalog.... tam jest co najmniej parę "kup", że się tak wyrażę. Prócz tego jest jeszcze wiele stronek z tego typu rzeczami. Jeśli masz jeszcze niedosyt, to jest do dyspozycji VSSDK, dzięki któremu możesz zrobić z VS nawet ekspres do kawy (to przenośnia). A dla architektów, jest jeszcze jedna fajna zabawka o nazwie DSL (domain-specific language). Zebrało by się więcej tego.

3) Po każdej poprawce trzeba wywoływać ręcznie Builda.
Szczerze, to niezupełnie chwytam. Czy mam rozumieć, że Eclipse idzie to z automatu, czyli każde wstawienie nowej literki w kodzie (bo to jest poprawka, to zmienia kod) w tle odpalana jest kompilacja? Nieee, to chyba by było chore. Prosiłbym o wyjaśnienie

konto usunięte

Damian K.:
Heh ciekawa sprawa jak trendy działają na ludzi, pamiętam jak to wyglądało w przypadku Windows’ów.

Pojawił się 95, opinie ; 95 jest do d… tylko 3.11
Pojawił się 98, opinie ; 98 jest do d… tylko 95
Pojawił się Me, opinie; Me jest do d… tylko 98
Potem było małe zamieszanie, i opinia XP jest do d… tylko 98 / Me (zdania podzielone)
No a teraz już krążą opinie że Vista Fe bo tylko wygląda i najlepiej mieć XP

Przy językach programowania jest podobnie ale w przeciwnym kierunku. Streszczając linie;
BASIC – PASCAL – C++ - DELPHI – VISUAL – JAVA

Pojawia się coś nowego, stare się krytykuje.

Panowie... proponuje zostawic takie akademickie spory nad wyzszoscia jednego jezyka nad drugim bo jest to conajmniej bezcelowe. Prawda jest taka, ze gdyby jedno IDE/jezyk/technologia byla zdecydowanie lepsza od drugiej to po pewnym skonczonym czasie zajelaby wiekszosc rynku. Albo jest inaczej i prawda jest taka, ze jesli jakis gigant IT wlozy pieniadze w rozwoj technologii to i tak bedzie ja promowal co by sie nie dzialo. No alez znowu, zeby cos dalo sie promowac z powodzeniem, produkt musi byc przynajmniej przyzwoity (choc niekoniecnie najwyzszych lotow).

Tak czy owak nie widze zadnych przeslanek by twierdzic, ze w .NET-cie aplikacje X napiszemy 3x szybciej niz w JEE. Technologie sa konkurencyjne, a i w duzej mierze podobne takze o jakiejs "nowej jakosci" mowic tu nie mozemy.

Z drugiej strony daleki jestem od tego aby twierdzic, ze Java jest technologia doskonala - wrecz odwrotnie. Moim zdaniem napisanie czegokolwiek sensownego w Javie zajmuje wiecej czasu niz powinno. W tej kwestii zgadzam sie w 100% z Markiem - Java z punktu business-owego to jezyk jak najbardziej niskiego poziomu (porownujac to np. z technologia Advantage Plex). Natomiast nie zauwazylem jakiegos znaczacego "dopalu" ze strony .NET-a. Prawda - aby osiagnac taki sam stopien "wyklikiwania" w Javie np. w Eclipse-ie trzeba zwykle cos tam "dociagnac" (MyEclipse, SwingDesigner, SWTDesigner).

Przy okazji, nawiazujac do posta Damiana: jezeli mowimy o Visualu to chyba chodzi o .NET jak rozumiem (a nie np. Visual 6). Jezeli tak to kolejnosci jest raczej taka:
...-JAVA-VISUAL
(chyba ze chodzilo rzeczywiscie o VS 6 ale w takim wypadku chyba nie ma o czym dyskutowac:)

pozdrawiam

konto usunięte

Panie Karolu, chyba nie ma sensu drążyć wątku w tym kierunku. Ja nie krytykuję VS, bo go nie używam. Przytaczam opinię znajomej (do której ja mam zaufanie), która używa i VS i Eclipse i wyraziła taką opinię (może nie na blogu a w rozmowie).

Eclipse ma bardzo rozbudowane narzędzia do edycji kodu, w tym rozbudowane narzędzia do refactoringu, których to _podobno_ (jak twierdzi koleżanka) brakuje w VS. A co do tworzenia GUI to _podobno_ (jak twierdzi wspomniana już koleżanka) są dużo lepsze niż te oferowane w Eclipse.
I tyle. Każde narzędzie ma plusy i minusy.

A co do punktu 3, o który Pan pyta, to chodzi o to, że w Eclipse kompilacja pliku .java może odbywać się w chwili zapisu pliku, nie po napisaniu literki :-) Tak więc projekt jest kompilowany przyrostowo (tylko zmienione pliki).

Panie Karolu, bardzo proszę o zakończenie tematu mojego niefortunnego użycia opinii wyrażonej przez nie identyfikowalny powszechnie autorytet. :-)
Łukasz Skłodowski

Łukasz Skłodowski SharePoint
Architect, PM,
Właściciel -
Mavsystem

Karol W.:

1) VS nie integruje się z CVS.
Po pierwsze to dokładnie tak samo jakby mieć pretensje, że Eclipse nie integruje się VSTS. Po drugie Source Control jest w VS jako plugin i zakładam, że plugin CVS można znaleźć,

To prawda Visual Studio bardzo ładnie integruje się z CVS: http://www.march-hare.com/cvsnt/features/scci/
Jednak możliwości CVS są bardzo ograniczone w porównaniu do VSTS.

Jeszcze jeżeli chodzi o systemy działające na www. Od zawsze byłem zwolennikiem takich rozwiązań i często widząc jakiś system działający w sieci nie mogłem się nadziwić dlaczego zbudowano go w oparciu o formsy - skoro aż się prosi by to rozwiązanie działało na WWW. Rzecz jasna nie jest tak w każdym przypadku. Dlatego uważam, że Microsoft robi fajną rzecz łącząc aplikacje forms i aplikacje web ze sobą. Przykład: SharePoint Server - świetne narzędzie działające na www, a przy okazji rewelacyjnie współpracujące z pakietem Office.

Aplikacje web mają jeszcze jedną zaletę - nie trzeba ich instalować na stacjach klienckich.
Karol Wojtiuk

Karol Wojtiuk Team Leader, SMT
Software

Kończąc nieszczęśliwy wątek nad wyższością Świąt Wielkiej Nocy nad Świętami Bożego Narodzenia:
1) VS ma wbudowane narzędzia do refactoringu
2) VS ma coś takiego jak "incremental build"
3) VS ma coś takiego jak VSTS a to jest duuużo więcej niż tylko source control

KONIEC

A co do tego co napisał Łukasz, to jeszcze parę lat temu bym się pod tym podpisał obiema rękami (chodzi mi o interfejs via WWW), ale na dzień dzisiejszy to raczej skłaniam się w kierunku "ClickOnce", Web Services, itp. Choć z drugiej strony Silverlight ma duże szanse by to moje przekonanie zmienić.

Co do Office System, to zupełnie inna bajka. Wg mnie chłopaki naprawdę paru ostatnich lat nie zmarnowali i to co zrobili jest na tyle zwarte i kompletne, że zupełnie spokojnie zasługuje na określenie "system".

konto usunięte

:-)

A jak te rozwiązania, Silvellight i temu podobne sprawdzają się na różnych systemach operacyjnych (mam na myśli część kliencką).

P.S. Teraz to dopiero odbiegamy od tematu wątku :-P
Damian Kamiński

Damian Kamiński Zamieniam informacje
w wiedzę ...

Damian K.:
Jaka jest biznesowa zasadność usilnego stosowania JAVY gdzie tylko się da do pisania dokładnie wszystkiego ?


Cytując siebie samego. Wracam z początkowym pytaniem. Zgodzę się bez dyskusji i wątpliwości iż JAVA ma wiele zalet i w wielu warunkach jest bezkonkurencyjna a nawet i niezastąpiona.

Niemniej jednak nadal nurtuje mnie pytanie gdzie ukryty jest biznesowy sens pisania systemu ERP w JAVIE.

Platforma ? I tak w firmie klienta jest Windows bo inne aplikacje to wymusiły.
Cena ? Klient który płaci roczną licencje za stanowisko np. 5000 zł, nie będzie się zastanawiał nad takimi drobnymi jak 500 zł jednorazowo na Windowsa, gdyby jakimś cudem go niemiał.

Klient chce żeby działało niezawodnie, szybko i przy okazji wyglądało ładnie. Które z tych wymagań przystaje do formularza np. faktur działającego przez WWW który przy każdej większej zmianie musi się cały przeładować, a to trwa i trwa i trwa …

Nie instalowanie po stronie klienta jest poniekąd fikcją bo i tak przy każdej zmianie przeglądarka zaciąga nowe aplety, rezultat ten sam i tak kopiuje się to do klienta. Równie dobrze można odpalić system na zdalnym dysku sieciowym efekt bardzo zbliżony.

Darmowa technologia ? Pozornie bo sztab ludzi siedzi nad tym żeby zmusić to do działania, za kasę poświęconą na tych ludzi szło by kupić licencje BDS lub VS, wyszło by kosztowo na jedno o ile nie taniej, a szybkość tworzenia nowych formularzy jest nieporównywalna.

A mimo wszystko firmy piszące ERP idą w JAVE, dlaczego ? Co przeoczyłem, co mi umknęło że nie widzę w tym żadnego rozsądku tylko modę ?

konto usunięte

Ja bym tu raczej nie wypatrywal mody na Jave tylko mode na cienkiego klienta...

Czy moze zdarzaja sie takie systemy w grubym kliencie w Javie?
Karol Wojtiuk

Karol Wojtiuk Team Leader, SMT
Software

A no pewnie, że odbiegamy :)
Na dzień dzisiejszy Silverlight dostępny jest tylko na platformy Windows i Mac OS. Czyli według różnych statystych dostępne jest dla ponad 99% rynku.
Linuks jest raczej mało interesujący ze swoim udziałem w rynku dobrze poniżej 1% (a według niektórych w okolicach 0,36%).
Działa to zwierze pod kontrolą następujących przeglądarek: MSIE, Firefox i Apple Safari (czyli jakieś 92% rynku).

Jedno o czym należy pamiętać, to że to dopiero BETA.

Co do mody na cienkiego klienta. Sądzę, że powoli się od tego odchodzi. Potrzebne było pewnego rodzaju przesilenie, kiedy mieliśmy wszystko przez WWW, by docenić to na co ukuto nazwę "Smart Client".
Co do JAVA po stronie klienta, to w mojej prywatnej (podkreślam
prywatnej) ocenie jest to zazwyczaj upierdliwe (bo tak naprawdę
klient = Windows). Natomiast jest to do zaakceptowania po stronie
serwera.

"Moda na javę" to nie moda, a raczej wymuszenie, po części tak poprzez Big Blue, a po części przez Corporation Guru. Generalnie
java jest zasiedziała w środowisku serwerowym i to często też propaguje na stacje klienckie.Karol Wojtiuk edytował(a) ten post dnia 02.05.07 o godzinie 13:25
Łukasz Skłodowski

Łukasz Skłodowski SharePoint
Architect, PM,
Właściciel -
Mavsystem

Karol W.:
A co do tego co napisał Łukasz, to jeszcze parę lat temu bym się pod tym podpisał obiema rękami (chodzi mi o interfejs via WWW), ale na dzień dzisiejszy to raczej skłaniam się w kierunku "ClickOnce", Web Services, itp. Choć z drugiej strony Silverlight ma duże szanse by to moje przekonanie zmienić.


O WebServices chciałem wspomieć przy okazji następnego postu. Dodam jeszcze, że te rozwiązania mają jeszcze jedną wielką zaletę - dokonanie małej zmiany/poprawki w oprogramowaniu nie powoduje odrazu, że musimy reinstalowac (wgrywać poprawki) na wielu stacjach roboczych.

Prawda jest taka, że nie należy na siłę stosować jednej technologii a dopiero umiejętne ich połączenie świadczyć może o sile danego rozwiązania.
Michał Małaj

Michał Małaj programista /
analityk, Enzo sp. z
o.o.

Karol W.:
A no pewnie, że odbiegamy :)
Na dzień dzisiejszy Silverlight dostępny jest tylko na platformy Windows i Mac OS. Czyli według różnych statystych dostępne jest dla ponad 99% rynku.
Linuks jest raczej mało interesujący ze swoim udziałem w rynku dobrze poniżej 1% (a według niektórych w okolicach 0,36%).
Działa to zwierze pod kontrolą następujących przeglądarek: MSIE, Firefox i Apple Safari (czyli jakieś 92% rynku).

Jedno o czym należy pamiętać, to że to dopiero BETA.
>
Ja raczej zastanawiam sie w czym Silverlight 1.1 (status alpha) jest atrakcyjny dla programistów Javy? Raczej chyba nie w pisaniu kodu J# dla Dynamic Runtime Language, bo wymaga żeby klienci instalowali sobie moduł do obsługi J#.

Co do mody na cienkiego klienta. Sądzę, że powoli się od tego odchodzi. Potrzebne było pewnego rodzaju przesilenie, kiedy mieliśmy wszystko przez WWW, by docenić to na co ukuto nazwę "Smart Client".

"Smart Client" to mają być aplikacje typu Adobe Apollo czy Google Desktop ewentualnie Yahoo Widgets?
Co do JAVA po stronie klienta, to w mojej prywatnej (podkreślam
prywatnej) ocenie jest to zazwyczaj upierdliwe (bo tak naprawdę
klient = Windows). Natomiast jest to do zaakceptowania po stronie
serwera.

"Moda na javę" to nie moda, a raczej wymuszenie, po części tak poprzez Big Blue, a po części przez Corporation Guru. Generalnie
java jest zasiedziała w środowisku serwerowym i to często też propaguje na stacje klienckie.

Programiści JEE chyba nie przerzucą się masowo na pisanie aplikacji J2ME. Jakoś nie wierze też w to żeby wróciła moda na Java Web Start. Ostatnio zauważam że programiści Javy przychylniej patrzą na rozwój aplikacji typu Adobe Flex 2 czy Adobe Apollo jako platformy klienckiej. A po stronie serwerowej jak najbardziej używać produktów JEE takich jak Red5, Flex Data Services, Live Cycle, WebOrb.
Karol Wojtiuk

Karol Wojtiuk Team Leader, SMT
Software

Zgadzam się, dla programistów Javy to nie specjalnie atrakcyjne. Ale nie popadajmy w skrajności ze specjalizacją. Przejście z javy na c# to "piece of cake". A już Silverlight 1.0 (status BETA) daje bardzo wypasione środowisko jak na WEB (chodzi mi o XAML)

Co do "Smart Client". Tu chodziło mi raczej o sposób budowania aplikacji w taki sposób by środek ciężkości był przesunięty bardziej w kierunku stacji klienckiej, a nie opieranie się wyłącznie na stronkach WWW. Takie rzeczy jak Web Services, praca offlinowa, synchronizacja, a zarazem wypasione GUI. Długo by opowiadać. Jeśli chcesz to opowiadać mogę.

Swoją drogą to chyba tylko w polsce jest tak silny syndrom "Każdy poważny programista produkuje kod w javie". Bo przecież jak pisałem wyżej dobrze ponad 90% rynku ma Windows i tak szczerze powiedziawszy nie znam nikogo, u którego na kompie ilość aplikacji napisanych w java (a z których on korzysta) przekraczałaby 5%, a jeśli już taki się zdarzy, to najczęściej jest to rzadki okaz pasjonata.
Bartosz Czach

Bartosz Czach Bezrobotny inżynier

Moim zdaniem JAVA doskonale nadaje się do zastosowań biznesowych. Pracuje się na wielu platformach systemowych. JAVA dzięki swojej przenośnosći jest bardzo dobrym rozwiązaniem. Wystarczy zainstalować obsługę tego języka. Dlatego też stosowanie JAVY to rozsądek.
Karol Wojtiuk

Karol Wojtiuk Team Leader, SMT
Software

Jak pisałem powyżej Windows i Mac OS to 99% rynku OS. Więc niespecjalnie jest gdzie przenosić :). W tej sytuacji pozorna przenośność kodu w javie, jest pozorną korzyścią. I raczej skłaniałbym się ku opinii, że z rozsądkiem to nie ma wiele wspólnego, a raczej jest to moda, polska moda. I to moda raczej w sferze werbalnej, a najłatwiej to zobaczyć sprawdzając, jaki procent programów na moim komputerze zostało napisanych w javie.

Ważne:
To co powyżej odnosi się do aplikacji klienckich. Na rynku serwerów dla javy jest jeszcze spory kawałek tortu. Nie brałem też pod uwagę rynku embendded.

konto usunięte

Karol W.:
Jak pisałem powyżej Windows i Mac OS to 99% rynku OS. Więc niespecjalnie jest gdzie przenosić :). W tej sytuacji pozorna przenośność kodu w javie, jest pozorną korzyścią. I raczej skłaniałbym się ku opinii, że z rozsądkiem to nie ma wiele wspólnego, a raczej jest to moda, polska moda. I to moda raczej w sferze werbalnej, a najłatwiej to zobaczyć sprawdzając, jaki procent programów na moim komputerze zostało napisanych w javie.

Ważne:
To co powyżej odnosi się do aplikacji klienckich. Na rynku serwerów dla javy jest jeszcze spory kawałek tortu. Nie brałem też pod uwagę rynku embendded.

Generalnie zgadzam sie z przedmowca:) Dziwi mnie tylko to co mowicie o modzie - nigdy takowej mody nie zauwazylem - Java na kliencie to raczej rzadkosc. Prosze mnie sprostowac jesli sie myle i faktycznie na rynku mamy zalew aplikacji klienckich odpalanych pod JRE.

btw co to znaczy moda w sferze werbalnej ?:)
Marcin S.

Marcin S. BI Consultant, ETL
developer

Ale nie popadajmy w skrajności ze specjalizacją. Przejście z javy na c# to "piece of cake". A już Silverlight 1.0 (status BETA) daje bardzo wypasione środowisko jak na WEB (chodzi mi o
XAML)

XAML nie służy tylko do pisania pod WEBa, można nim stworzyć "wypasione GUI" dla 'okienek' i to nie tylko pod najnowszy OS by M$.
Moim zdaniem XAML + C# daje sporo możliwości. To, co można było zrobić do tej pory w C#, teraz jest możliwe w XAMLU.
Ale pamiętać należy o projekcie Apollo.

Czy na pewno Silverlight działa w FF? U mnie nie, i nie jestem w tym przypadku sam.

Popularność technologii można również oceniać po zapotrzebowaniu na programistów JAVY, .NET. Jeszcze z 1,5-2 lata temu zapotrzebowanie na developerów .NET było mniejsze niż speców od JAVY. I to nie moda raczej tu decyduje, ale raczej możliwości tych dwóch technologii i obszary zastosowań.
Spotkałem się z opinią, że JAVA jest wybierana przez firmy telekomunikacyjne.

konto usunięte

Co prawda z pisaniem programów mam niewiele wspólnego - jednakże Java jest obecna w sporej ilości sprzętu którym się zajmujemy.

Przykładem niech będzie interfejs ILO/Riloe w serwerach HP, którego obsługa napisana była w Javie. Sam interfejs - rzecz piękna, zdalny dostęp do serwera niezależnie od stanu systemu (blue screen. ekran BIOS, whatever). Napisany oczywiście w Javie.

Utyskiwań userów/administratorów na 'szybkośc' i 'lekkośc' tego interfejsu zmusiła HP do rezygnacji z tego języka - i chwała im za to.

Może założenia były słuszne (administracja serwerem niezależa przecież od platformy software'owej) ale wykonanie kroku w stronę systemów nonWIndows i nonLinux kosztowało WSZYSTKICH adminów sporo zdrowia i nerwów ;)
Dlaczego JAVA w Polsce jest szczególnie popularna ?

Z tego samego powodu, dlaczego jest popularny PHP, a wcześniej takie języki jak np. Delphi - liczy się "koszt wejścia"
Student, którego nie stać na zakup programu za kilka tysiecy PLN będzie się starał uzywać narzędzi które ma praktycznie "za darmo".
Ponieważ .NET też jest za darmo, a kompilatory Express też mozna pobrać bezpłatnie spodziewam się, że za kilka lat to środowisko stanie się równie popularne.

Chociaż do oprócz "kosztu wejścia" należy doliczyć jeszcze "koszt wytworzenia oprogramowania". Z JAVĄ dostajemy za darmo wszystkie ważniejsze biblioteki - to nie jest okrojona "edukacyjna" wersja produktu, jak bywa to z innymi produktami. Czyli teoretycznie mamy wszystko co potrzebne, żeby napisać program, reszta to już problem programisty ;-)

Z mojego punktu widzenia, żeby język programowania przyjął się na rynku powinien spełniać następujące warunki:
1. Niski koszt wejścia - i mam tu na myśli nie tylko niewygórowaną cenę za kompilator/środowisko ale rownież (a może nawet przede wszystkim) przejrzystą dokumentację (koniecznie z przykładami zastosowań poszczególnych konstrukcji językowych), tutoriale itp. tak, żeby prostą aplikację można było szybko samodzielnie napisać (i nie mam tu na myśli uruchomienie kreatora, który wykona całą robotę za nas)
2.Wygodne biblioteki (gotowe obiekty) do najczęściej stosowanych w biznesie zadań (tabele, formularze, wydruki, import/export danych z/do najczęściej używanych formatów, dostęp do baz danych, wygodne operacje na łańcuchach)
3.Stabilność (i kompatybilność "w dół" ze starszymi wersjami)
4.Czytelność kodu (łatwość kontynuowania prac po innych programistach, bez konieczności mozolnego przedzierania się przez dziesiatki dodatkowych plików konfiguracji, definicji itp.)
5.Wielkość plików aplikacji (szczególnie ważne przy dystrubucji aplikacji)
6.Szybkość i możliwości języka (tak dopiero w tym miejscu, chyba, że mówimy np. o programach przetwarzania grafiki, ale to inna kategoria)

Jednym słowem, dobry produkt, to taki, który umożliwia mi szybkie _napisanie_ programu (a nie wyklikanie) oraz szybką analizę działania programu na podstawie kodów źródłowych.

JAVA spełnia znaczną część tych warunków (ale nie wszystkie ;-( i z tego powodu jest dosyć popularna)

PS. Jeżeli chodzi o czytelność kodu proponuje porównać zapis zapytania SQL w PHP i Delphi. W pierwszym przypadku jest to czytelne w drugim, znalezienie błędu, gdy każdy apostrof trzeba zamienić na 2, podwójny apostrof na poczwórny itd. jest naprawdę "nieprzyjemne"
Karol Wojtiuk

Karol Wojtiuk Team Leader, SMT
Software

1) Werbalny - słowny (inaczej, dużo się o tym gada, a nie robi). Moda w sferze werbalnej - wszyscy mówią, że to jest to, ale rzeczywiście to tego prawie nie ma,
2) XAML - oczywiście, że nie służy tylko do WEB, a wręcz przeciwnie. Napisałem po prostu, że Silverlight daje możliwość wykorzystania XAMLa,
3) VS Express - nie jest to kompilator, a wyłącznie IDE. Podstawowe kompilatory (np. c#) są dostarczane z .NET

Wyślij zaproszenie do