Thread View: pl.comp.lang.java
14 messages
14 total messages
Started by Bartek
Tue, 08 Oct 2013 11:16
Przesiadka z Delphi
Author: Bartek
Date: Tue, 08 Oct 2013 11:16
Date: Tue, 08 Oct 2013 11:16
25 lines
1859 bytes
1859 bytes
Witam Przymierzam się do przejścia z Delphi na Jave, ale powiem szczerze że nie wiem od czego zacząć w tej Javie. Na początku odstrasza mnie to że tu się robi wszystko na konsoli, chyba że się myle? W delphi, układam sobię komponenty na Formatce, kod jest do tych elementów generowany automatycznie, mi pozostaje właściwie oprogramowanie zdażeń. Czy w Javie też tak można? Wiem że jest Eclipse, Netbans, ale czy to mniej więcej działa tak samo? Kolejna rzecz, a właściwie kilka rzeczy: 1. Jak wygląda sprawa samego przejścia z Delphi na Jave, składnia, język itd. dużo czasu zajmnie przesiadka? 2. Jak wygląda sprawa obsługi baz danych w Javie, jak to zrobić np. program kliencki w Javie obsługuje baze na serwerze w Postgresql. 3. W Delphi mam komponent TeeChart, mogę tam dworzyć dowolne wykresy na ekranie komputera 2D i 3D, czy w Javie też da się zrobić coś takiego, czy raczej nie? Pozdrawiam Bartek
Re: Przesiadka z Delphi
Author: Arivald
Date: Tue, 08 Oct 2013 12:06
Date: Tue, 08 Oct 2013 12:06
62 lines
3191 bytes
3191 bytes
W dniu 2013-10-08 13:16, Bartek pisze: > Witam > Przymierzam się do przejścia z Delphi na Jave, ale powiem szczerze że nie > wiem od czego zacząć w tej Javie. > > Na początku odstrasza mnie to że tu się robi wszystko na konsoli, chyba że > się myle? Mylisz się. Choć umiejętność pracy z konsola pomaga. > W delphi, układam sobię komponenty na Formatce, kod jest do tych elementów > generowany automatycznie, mi pozostaje właściwie oprogramowanie zdażeń. > Czy w Javie też tak można? Wiem że jest Eclipse, Netbans, ale czy to mniej > więcej działa tak samo? Zupełnie inaczej. Zależy to głównie od środowiska docelowego aplikacji, biblioteki GUI jeśli to ma być apka z GUI, i dostępnych narzędzi dla tej biblioteki. Niektóre mają możliwość pracy podobnie jak w Delphi. > Kolejna rzecz, a właściwie kilka rzeczy: > 1. Jak wygląda sprawa samego przejścia z Delphi na Jave, składnia, język > itd. dużo czasu zajmnie przesiadka? ...Co za pytanie... Prosta apkę w jeden dzień zrobisz, jest pełno tutoriali w sieci. Jak masz praktykę w programowaniu czegokolwiek poza Delphi (Javascript, C++, nawet C#) to składnię opanujesz szybko. Biblioteki standardowe Javy są spore, zajmie czas się wszystkiego nauczyć. Będziesz miał początkowo problemy ze Stringami, bo działają zupełnie inaczej. Plus problemy z zaboksowanymi intami/floatami. A na generykach stracisz kupę czasu i szacunek dla twórców Javy ;-) Niestety Java ma jedną z najgorszych implementacji generyków, już od narodzin zepsutą przez wsteczną kompatybilność. > 2. Jak wygląda sprawa obsługi baz danych w Javie, jak to zrobić np. program > kliencki w Javie obsługuje baze na serwerze w Postgresql. > Wygląda zupełnie inaczej niż w Delphi. Nie ma czegoś takiego jak TDataSet, czy kontrolki bazodanowe. Wypadnie Ci się nauczyć jakiegoś ORMA, np. Hibernate. > 3. W Delphi mam komponent TeeChart, mogę tam dworzyć dowolne wykresy na > ekranie komputera 2D i 3D, czy w Javie też da się zrobić coś takiego, czy > raczej nie? Na pewno jest. Java ma znacznie większą bazę użytkowników niz Delphi. Tylko czy znajdziesz coś takiego w internecie? -- Arivald
Re: Przesiadka z Delphi
Author: Borneq
Date: Tue, 08 Oct 2013 19:10
Date: Tue, 08 Oct 2013 19:10
7 lines
1292 bytes
1292 bytes
Użytkownik "Arivald" <arivald_@AT_interia_DOT_.pl> napisał w wiadomości news:l30sgq$i0o$1@news.dialog.net.pl... > A na generykach stracisz kupę czasu i szacunek dla twórców Javy ;-) > Niestety Java ma jedną z najgorszych implementacji generyków, już od > narodzin zepsutą przez wsteczną kompatybilność. A co jest złego w generykach Javy? czego nie można na nich zrobić?
Re: Przesiadka z Delphi
Author: Arivald
Date: Tue, 08 Oct 2013 19:51
Date: Tue, 08 Oct 2013 19:51
45 lines
2570 bytes
2570 bytes
W dniu 2013-10-08 21:10, Borneq pisze: > Użytkownik "Arivald" <arivald_@AT_interia_DOT_.pl> napisał w wiadomości > news:l30sgq$i0o$1@news.dialog.net.pl... >> A na generykach stracisz kupę czasu i szacunek dla twórców Javy ;-) >> Niestety Java ma jedną z najgorszych implementacji generyków, już od >> narodzin zepsutą przez wsteczną kompatybilność. > > A co jest złego w generykach Javy? czego nie można na nich zrobić? Podstawowa wada - zacieranie typu klasy generycznej. Np w Delphi TList<klasaA> i TList<klasaB> to są dwa różne typy. Podobnie jest w większości języków. w C++ te typy są nawet osobno kompilowane, z różnymi optymalizacjami. A w Javie List<klasaA> i List<klasaB> to jest dokładnie ten sam typ. Zresztą dokładnie ten sam kod jest wykonywany (nie "taki sam", ale dokładnie "ten sam"). Gdzie to przeszkadza? A na przykład przy przeciążeniu funkcji. W Jawie function void fun(List<klasaA> list); function void fun(List<klasaB> list); Mają tą samą sygnaturę, i przeciążenie jest niemożliwe. Albo mając function fun(List<T> list) nie jesteś w stanie stwierdzić jaką klasą jest T bez użycia refleksji. Dlatego używa się form z obowiązkowym przekazaniem klasy, np: function void fun(List<T> list, Class<?> clazz); A to wszystko tylko po to żeby generyczne kolekcje były kompatybilne ze starszymi niegenerycznymi API... Tak, do funkcji: function void fun(List list); ... możesz przekazać zarówno List<klasaA> jak i List<klasaB> i będzie działać. -- Arivald
Re: Przesiadka z Delphi
Author: Borneq
Date: Tue, 08 Oct 2013 21:42
Date: Tue, 08 Oct 2013 21:42
7 lines
1332 bytes
1332 bytes
Użytkownik "Arivald" <NOSPAMarivald@interia.pl> napisał w wiadomości news:l31ntb$uae$1@news.dialog.net.pl... > A w Javie List<klasaA> i List<klasaB> to jest dokładnie ten sam typ. > Zresztą dokładnie ten sam kod jest wykonywany (nie "taki sam", ale > dokładnie "ten sam"). Ale to ma i zalety,. W Delphi po wprowadzeniu generyków kod bardzo spuchł
Re: Przesiadka z Delphi
Author: Roman W
Date: Wed, 09 Oct 2013 07:14
Date: Wed, 09 Oct 2013 07:14
13 lines
1919 bytes
1919 bytes
On Tue, 08 Oct 2013 14:06:54 +0200, Arivald <arivald_@AT_interia_DOT_.pl> wrote: > > 2. Jak wygląda sprawa obsługi baz danych w Javie, jak to zrobić np. program > > kliencki w Javie obsługuje baze na serwerze w Postgresql. > > > Wygląda zupełnie inaczej niż w Delphi. Nie ma czegoś takiego jak > TDataSet, czy kontrolki bazodanowe. > Wypadnie Ci się nauczyć jakiegoś ORMA, np. Hibernate. Wcale nie "wypadnie". Wielu ludzi wręcz odradza ORM-y. RW
Re: Przesiadka z Delphi
Author: Roman W
Date: Wed, 09 Oct 2013 07:15
Date: Wed, 09 Oct 2013 07:15
18 lines
1914 bytes
1914 bytes
On Tue, 8 Oct 2013 23:42:06 +0200, "Borneq" <borneq@antyspam.hidden.pl> wrote: > Użytkownik "Arivald" <NOSPAMarivald@interia.pl> napisał w wiadomości > news:l31ntb$uae$1@news.dialog.net.pl... > > A w Javie List<klasaA> i List<klasaB> to jest dokładnie ten sam typ. > > Zresztą dokładnie ten sam kod jest wykonywany (nie "taki sam", ale > > dokładnie "ten sam"). > Ale to ma i zalety,. W Delphi po wprowadzeniu generyków kod bardzo spuchł W C++ też puchnie. RW
Re: Przesiadka z Delphi
Author: Arivald
Date: Wed, 09 Oct 2013 07:28
Date: Wed, 09 Oct 2013 07:28
33 lines
2260 bytes
2260 bytes
W dniu 2013-10-09 09:15, Roman W pisze: > On Tue, 8 Oct 2013 23:42:06 +0200, "Borneq" <borneq@antyspam.hidden.pl> > wrote: >> Użytkownik "Arivald" <NOSPAMarivald@interia.pl> napisał w > wiadomości >> news:l31ntb$uae$1@news.dialog.net.pl... >> > A w Javie List<klasaA> i List<klasaB> to jest dokładnie ten sam > typ. >> > Zresztą dokładnie ten sam kod jest wykonywany (nie "taki sam", > ale >> > dokładnie "ten sam"). > > >> Ale to ma i zalety,. W Delphi po wprowadzeniu generyków kod bardzo > spuchł > > W C++ też puchnie. > "puchnie"... A jak być ręcznie zakodował kilkadziesiąt odrębnych klas listy dla tych kilkudziesięciu typów przechowywanych w listach, to kod by nie "spuchł"? Oczywiście spuchnie, gdzieś ten kod musi się podziać. Generyki to jest meta-programowanie, robisz klasę raz, kompiluje się ona dla każdego typu osobno. Nie przez przypadek w C++ nazywa się to "wzorce" (templates). Oczywiście można korzystać z niegenerycznych kontenerów... Tylko po co? Ramy i dysku dostępne jest teraz dużo, a wygoda i bezpieczeństwo z generykami jest dużo większe. -- Arivald
Re: Przesiadka z Delphi
Author: Piotr Rezmer
Date: Wed, 09 Oct 2013 09:23
Date: Wed, 09 Oct 2013 09:23
10 lines
1113 bytes
1113 bytes
Roman W pisze: > Wcale nie "wypadnie". Wielu ludzi wręcz odradza ORM-y. Możesz rozwinąć dlaczego? -- pozdrawiam Piotr XLR250&bmw_f650_dakar
Re: Przesiadka z Delphi
Author: John Q Public
Date: Wed, 09 Oct 2013 12:05
Date: Wed, 09 Oct 2013 12:05
14 lines
1328 bytes
1328 bytes
Piotr Rezmer <p.r@bezbzdur.pl> wrote: > Roman W pisze: > >> Wcale nie "wypadnie". Wielu ludzi wręcz odradza ORM-y. > > Możesz rozwinąć dlaczego? Lepiej nie, wyjdzie flamewar i ogólnie ntg. http://seldo.com/weblog/2011/08/11/orm_is_an_antipattern -- _ _ _ _ =-_-= =-=-= =-_-= =-=_=- J Q P -=_=-= _=- -=_=-=-=_=- -=_ <xxx> mas w jape
Re: Przesiadka z Delphi
Author: Michal Kleczek
Date: Thu, 10 Oct 2013 08:56
Date: Thu, 10 Oct 2013 08:56
13 lines
1595 bytes
1595 bytes
W dniu 2013-10-09 11:23, Piotr Rezmer pisze: > Roman W pisze: > >> Wcale nie "wypadnie". Wielu ludzi wręcz odradza ORM-y. > > Możesz rozwinąć dlaczego? > Z bardzo prostego powodu. ORM dodaje pracy (ergo podnosi koszty) nie dajac nic w zamian. -- Michal
Re: Przesiadka z Delphi
Author: Roman W
Date: Fri, 11 Oct 2013 23:26
Date: Fri, 11 Oct 2013 23:26
13 lines
1966 bytes
1966 bytes
On Wed, 09 Oct 2013 09:28:24 +0200, Arivald <NOSPAMarivald@interia.pl> wrote: > "puchnie"... A jak być ręcznie zakodował kilkadziesiąt odrębnych klas > listy dla tych kilkudziesięciu typów przechowywanych w listach, to kod > by nie "spuchł"? Oczywiście spuchnie, gdzieś ten kod musi się podziać. Ale w C++ jest tak śmiesznie ze mozesz miec więcej niz jedna kopię szablonu dla tej samej klasy. RW
Re: Przesiadka z Delphi
Author: Arivald
Date: Sat, 12 Oct 2013 10:09
Date: Sat, 12 Oct 2013 10:09
28 lines
2177 bytes
2177 bytes
W dniu 2013-10-12 01:26, Roman W pisze: > On Wed, 09 Oct 2013 09:28:24 +0200, Arivald <NOSPAMarivald@interia.pl> > wrote: >> "puchnie"... A jak być ręcznie zakodował kilkadziesiąt odrębnych > klas >> listy dla tych kilkudziesięciu typów przechowywanych w listach, to > kod >> by nie "spuchł"? Oczywiście spuchnie, gdzieś ten kod musi się > podziać. > > Ale w C++ jest tak śmiesznie ze mozesz miec więcej niz jedna kopię > szablonu dla tej samej klasy. > > RW Kopię w jakim sensie? Skompilowanego kodu? Tai i nie. Tak, bo każda jednostka kompilacji kompiluje osobno. Nie, bo linker wywala duplikaty, więc ostatecznie zlinkowany program będzie miał tylko jedną kopię. Oczywiście dodatkowe "kopie" fragmentów kodu mogą się pojawić w każdym miejscu które używa danego template, jeśli jego metody mają atrybut "inline". Ale to już stare i dobrze znane przehandlowanie rozmiaru aplikacji na szybkość jej działania. -- Arivald
Re: Przesiadka z Delphi
Author: Roman W
Date: Sun, 13 Oct 2013 11:10
Date: Sun, 13 Oct 2013 11:10
10 lines
1931 bytes
1931 bytes
On Sat, 12 Oct 2013 12:09:07 +0200, Arivald <NOSPAMarivald@interia.pl> wrote: > Tak, bo każda jednostka kompilacji kompiluje osobno. > Nie, bo linker wywala duplikaty, więc ostatecznie zlinkowany program > będzie miał tylko jedną kopię. A Ty wiesz ile to trwa w dużym projekcie? RW
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads