Szukam praktyk�w, kt�rzy podziel� si� swoimi mniej lub bardziej traumatycznymi:)
do�wiadczeniami w przesiadce z Javy do C# lub odwrotnie.
Zniech�cam do wypowiedzi tych, kt�rzy ju� ostrz� z�by by wywo�a� wojn� na temat
wy�szo�ci Javy nad C# lub odwrotnie. Interesuj� mnie aspekty praktyczne, czy
jest co� ci�kiego do przeskoczenia dla kogo�, kto zna C++ i programuje w Javie,
a my�li o C#.
Damian
My�l� �e to Ci si� mo�e przyda� je�li jeszcze na to nie trafi�e�:
http://www.25hoursaday.com/CsharpVsJava.html
Co prawda artyku� opiera si� na C# 2.0, wi�c jest troch� outdated, ale i
tak jest niez�y i bardzo przyjemny w przesiadce w ka�dym kierunku.
> Zniech�cam do wypowiedzi tych, kt�rzy ju� ostrz� z�by by wywo�a� wojn� na temat
> wy�szo�ci Javy nad C# lub odwrotnie. Interesuj� mnie aspekty praktyczne, czy
> jest co� ci�kiego do przeskoczenia dla kogo�, kto zna C++ i programuje w Javie,
> a my�li o C#.
Przechodzenie z Javy do C# jest IMHO �atwiejsze ni� w drug� stron�
(przechodzi�em w obie). Po pierwsze, zmiana �rodowiska a� tak nie boli,
dzi�ki temu, �e Visual Studio jest �wietne i ma prawie wszystko
zintegrowane, support podstawowych problem�w jest o niebo lepszy (zn�w
dlatego, �e wi�cej os�b robi w ten sam spos�b - zamordyzm microsoftu ma
swoje zalety). Og�lnie, przy pracy z C#, szybko cz�owiek odkrywa jego
zalety i przewag� nad Jav� jako j�zykiem.
Tak, wiem, zaraz tu wyskocz� jacy� fanboje, ale taka jest prawda, �e C#
jako J�ZYK jest m�odszy, ma szybsze tempo zmian, dzi�ki temu jest lepiej
zaprojektowany i przyjemniejszy w u�yciu.
R�nice nie s� dramatyczne (to nie C++ vs Java), ale widoczne go�ym okiem.
Pewne koncepcje producenta trzeba oczywi�cie od razu wyrzuci� na
�mietnik/unika�, ale tak samo jest/by�o z Sunem (np: EJB 1/2/3.0).
Og�lnie z przesiadk� nie ma problemu. Spotka�em si� nawet z tym, �e
w�a�ciciel firmy w kt�rej pracowa�em zatrudnia� do programowania w C
Sharpie Javowc�w bez do�wiadczenia w .Necie, poniewa� jak twierdzi�:
"je�li s� sobie w stanie poradzi� z Jav�, to z C# poradz� sobie bez trudu".
Musz� si� dzi� zgodzi� z tym podej�ciem :)
Przej�cie w drug� stron� jest znacznie bardziej bolesne, bo dla
cz�owieka przyzwyczajonego do VS, konieczno�� pieprzenia z mavenem,
Eclipsem etc. rozprasza uwagďż˝ :) Ponadto jak siďż˝ trafi na zespďż˝ w
kt�rym ka�dy ma inne IDE (nici z pair-programmingu), ka�dy odpala testy
inaczej (nie daj Bo�e z linii polece�), i nie ma dynamicznego
podmieniania klas w runtime podczas debuggowania, to ma si� wra�enie, �e
cz�owiek cofa si� o kilka lat w przesz�o��.
Dla os�b pod��aj�cych w tym kierunku (z C# do Javy) polecam IntelliJ
Idea jako IDE. Najbli�ej do VS i najmniej problem�w.
Pozdrawiam,
Jakub Nabrdalik
PS: dla .NETa istnieje sporo bibliotek analogicznych do javy:
Srping.net - spring framework
nHibernate - hibernate
nMock2 - jmock
etc...
> Szukam praktyków, którzy podzielą się swoimi mniej lub bardziej traumatycznymi:)
> doświadczeniami w przesiadce z Javy do C# lub odwrotnie.
Pewnie będzie to zaskoczeniem dla Ciebie, ale pamiętam jeszcze tak
niedawno, kiedy przyszło mi do napisania gry w C# i poszło mi
zdumiewająco szybko. Nie zrzucałbym tego na barki mojego
doświadczenia, czy podobnie, ale na prostotę języka i środowiska.
Wszystko było. Miałem przyzwyczajenia z Javy i brakowało mi tego
składania środowiska, ale jak to ujął Jakub "zamordyzm" było można
dostrzec gołym okiem. Nie potrafię porównywać języków do siebie, bo
większość rzeczy w C# i tak robiło za mnie VS, więc programowanie
sprowadziłem do Ctrl+Spacja. Dużo rzeczy intuicyjne. Pewnie odwrotnie
VS -> Java+narzędzia nie byłoby takie proste. Traumy nie było - raczej
lekki uśmiech na twarzy, jakie to programowanie w C# z VS prościutkie
(pewnie nawet lekka drwina, że programowanie sprowadzono do klikania).
Ogólnie, dobrze podsumowuję moją pracę z C# i było to niezwykle
ciekawe doświadczenie. Ostatnio zastanawiałem się nad Objective-C, aby
coś porobić na MacOS w GUI, ale poza planami, nic więcej. Brakuje mi
jednak większego doświadczenia z tworzeniem samodzielnych aplikacji
graficznych, poza przeglądarką. Obawiam się wejścia w świat NetBeans
RPC lub Eclipse RCP. O pierwszym słyszałem, że może być, a drugie, że
zbyt skomplikowane. W C# było prościej :)
Jacek
--
Jacek Laskowski
Notatnik Projektanta Java EE - http://jaceklaskowski.pl
Kapituła Javarsovia 2010 - http://javarsovia.pl
Khem, khem... A Spring.net? nHibernate? nMock? nUnit?
> pluginach do VS itd (jedyny darmowy który moge
> polecic to AnkhSVN),
Dla aplikacji open source sporo jest darmowych, np:
ReSharper - Open Source License: free
http://www.jetbrains.com/resharper/buy/index.jsp
A że płaci się za pluginy do celów komercyjnych... przecież nie TY
płacisz jako developer, tylko pracodawca, który zyskuje kupę kasy za
wszystko co przyspiesza Twoją pracę.
> za wszystko trzeba płacić a jak coś jest za darmo a
> do końca nie działa tak jak byś chciał to i tak ci nikt za darmo nie pomoże.
Korzystałem darmowych, open-source'owych, wyżej wymienionych bibliotek i
support był taki sam jak przy ich odpowiednikach w Javie.
> tak na marginesie -
> czy istnieje warszawa-c#ug :)
> 4. Jeżeli masz napisać prostą desktopową aplikację wykorzystującą jakieś
> native windows cuda i która ma działać tylko na windzie albo po prostu
> szef ci kazał, to tak to C# jest dobrą drogą, w każdym innym wypadku
> zapomnij o tym jak najszybciej :)
Z mojego doświadczenia aplikacje webowe tworzy się szybciej w ASP.NET
niż w większości frameworków javowych (z wyjątkiem Wicketa). Do prostych
aplikacji webowych i tak lepsze będą lżejsze technologie od dwóch wyżej
wymienionych.
Aplikacje klasy Enterprise warto zawsze robić w tym co preferuje firma
(twoja lub klienta). Środowisko heterogeniczne niestety nadal tworzy
problemy, choćby w utrzymaniu i administracji.
Aplikacje desktopowe (pudełkowe) zdecydowanie
wygodniej/szybciej/ładniej/wydajniej robi się w C#, abstrahując już od
faktu że na Linuxa ich pewnie nie sprzedasz.
Aplikacje desktopowe dedykowane i tak musisz robić pod platformę klienta.
Gry na PC... nadal prowadzi C++, ale można też w C# pod Windowsa.
Inaczej ich nie sprzedaż.
Gry na konsole... zdecydowanie C++, ale można także w C# (od razu masz
załatwiony Xbox + PC). W javie, o ile mi wiadomo, nie da się w ogóle.
Aplikacje mobilne... tu przoduje Java i C++ na Symbiana, ale jeśli
chcesz tworzyć coś nowego to i tak lepiej w Objective-C.
Podejrzewam że jak już wyjdzie Windows Mobile 7, urwie trochę rynku dla
siebie. Może nawet (nie daj Boże) dobije androida. Do celów rynkowych
najlepszą platformą jest i tak iPhone.
> 5. VS jest ogólnie fajne jak się jest na studiach kiedy jest za darmo,
> żeby cos z nim jednak zrobić musisz mieć wersje Pro która kosztuje kika
> tyś PLN. Wieć warto się zastanowić nad alternatywą.
Jeśli zajmujesz się programowaniem zawodowo, to znaczy że firma dla
której pracujesz (także jeśli jest Twoja) zarabia PIENIĄDZE. I to raczej
konkretne pieniądze.
Intellij Idea kosztuje 1000zł
MS VISUAL STUDIO 2008 PRO kosztuje 3586zł
(http://www.imperium.net.pl/x-p-19901.html)
Różnica 2586zł to jest żadna różnica, kiedy się robi soft za setki
tysięcy i miliony złotych.
Bardzo lubię Ideę, ale gdyby MS wspierał Javę w Visual Studio tak jak
wspiera C#, to nie wachał bym się ani chwili z zakupem VS2008.
Jeśli programujesz hobbystycznie, to jest wersja VS do celów
niekomercyjnych za darmo
Jakub Nabrdalik
Cześć,
Szukam praktyków, którzy podzielą się swoimi mniej lub bardziej traumatycznymi:)
doświadczeniami w przesiadce z Javy do C# lub odwrotnie.
Zniechęcam do wypowiedzi tych, którzy już ostrzą zęby by wywołać wojnę na temat
wyższości Javy nad C# lub odwrotnie. Interesują mnie aspekty praktyczne, czy
jest coś ciężkiego do przeskoczenia dla kogoś, kto zna C++ i programuje w Javie,
a myśli o C#.
Damian
--
Otrzymujesz tę wiadomość, ponieważ subskrybujesz grupę dyskusyjną Google o nazwie "Warszawa Java User Group (Warszawa JUG)".
Aby zamieszczać posty w tej grupie, wyślij e-mail na adres warsza...@googlegroups.com.
Aby anulować subskrypcję tej grupy, wyślij e-mail na adres warszawa-jug...@googlegroups.com.
Aby uzyskać więcej informacji, odwiedź tę grupę pod adresem http://groups.google.com/group/warszawa-jug?hl=pl.
Pozdrawiam,
Maciek
Heja Damian,
miałam okazję przerabiać kod z C# na Jave i szczerze powiem, że C# wydał mi sie bardziej "user friendly". Posiada chociażby MessageBox czego nie ma w Javie, a co jest przydatne, kiedy szybko chcesz napisać aplikację wyświetlającą wiadomość (w Javie wymaga to wiekszej liczby kodu - w C# poprostu piszesz MessageBox i to co chcesz wyświetlić). Ogólnie odniosłam wrażenie, że tworzenie interfejsu w C# jest łatwiejsze niż w Java. Inne rzeczy są bardzo podobne. Dlatego według mnie nie będziesz miał problemów z przerzuceniem się na C#, właszcza skoro znasz C++ i Jave.
Powodzenia w przesiadzce!
Bo czas kt�ry musz� po�wi�ci� na skonfigurowanie Eclipse'a wart jest
tyle samo :)
Jakub Nabrdalik
W dniu 27.02.2010 22:52, Michal Margiel pisze:
A co do a co do płacenia za środowisko to czemu Jakubie porowównujesz do
Bo czas który muszę poświęcić na skonfigurowanie Eclipse'a wart jest tyle samo :)IDEII za tysiąc złotych skoro jest świetny Eclipse za darmo ?:)
Jakub Nabrdalik
Panowie, a gdzie są wasze pliterki?
--
Pozdrawiam
Mateusz Zięba
http://na-jawie.blogspot.com
Gmail WWW, Thunderbird i Android twierdzą że na miejscu, aczkolwiek
faktycznie:
"Content-Type: text/plain; charset=ISO-8859-2; format=flowed"
Coś Ci pożera pliterki z emaili?
Jakub Nabrdalik
Bo czas który muszę poświęcić na skonfigurowanie Eclipse'a wart jest tyle samo :)