Porównanie IDE dla Javy i C#

Odpowiedz Nowy wątek
2011-11-15 22:59
0

Witam!

Mam taki, chyba dosyć nietypowy, problem. Otóż zamierzam zacząć programować i stoję przed wyborem języka: C# lub Java. Jedną z istotnych dla mnie rzeczy przy wyborze języka jest komfort pracy ze środowiskiem, gdzie będę pisał programy w wybranym języku. Otóż z tego co się zdążyłem zorientować wynika, że dla Javy są dostępne trzy darmowe rozbudowane IDE: Eclipse, Netbeans i JDeveloper. Natomiast dla C# istnieje darmowy Visual C# 2010 Express oraz jego płatne wersje.

Więc teraz moje pytania: Jak mają się do siebie ww. IDE Javy oraz darmowa wersja Visual C# 2010 jeśli chodzi o funkcjonalność, posiadane cechy itd.? Czy dopiero komercyjna wersja Visuala C# 2010 posiada dodatkowe cechy porównywalne z tymi IDE Javy?

Pozostało 580 znaków

2011-11-15 23:15
0

Do Javy jest więcej, np JBuilder chyba, bardzo rozbudowana IntelliJ IDEA (darmowa wersja rozbudowana dla projektów open-source oraz chyba darmowa wersja okrojona do wszystkiego), itd NetBeans jest dobry dla początkujących, ma już też dobre wsparcie dla JDK 7 i JavyFX 2.0 (to akurat jeszcze nie pod Linuksa). Do NetBeansa polecam mój poradnik: Wprowadzenie do NetBeans IDE :)

C# i Java jakoś mocno się nie różnią. Wczesne wersje C# to była totalna zżynka w Javy, nawet dzisiaj jakoś filozofia programowania w tych językach mocno się nie różni. Na JVM masz więcej niż na CLR popularnych, bardziej produktywnych niż C# czy Java języków, np Scala (mój ulubiony język na JVM), Clojure, JRuby, Groovy, etc Na CLR jest F# czy Nemerle, ale są bardzo mało popularne w porównaniu do tych języków z JVM.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
pod CLR jest np. IronRuby - byku_guzio 2011-11-17 00:28
Z tym, że JRuby jest ze 2 - 3 razy szybszy od IronRuby pod Mono, bazując na benchach sprzed ok dwóch lat (sytuacja się pewnie zmieni jeszcze bardziej drastycznie, gdy przepiszą JRuby na JDK 7, które ma lepsze wsparcie dla języków dynamicznie typowanych). Poza tym IronRuby wygląda na zabawkę, patrząc na artykuł w wiki: "In late 2010 Microsoft let one of the two only developers of the core team go." - Wibowit 2011-11-17 00:42
być może, nie zagłębiałem się w ten temat - byku_guzio 2011-11-17 00:51

Pozostało 580 znaków

2011-11-15 23:27
0

Tak, ale JBuilder to nie wiem czy jest dalej rozwijany a darmowa IntelliJ IDEA wydaje się być mocno poobcinana w porównaniu z tym co oferują ww. IDE http://www.jetbrains.com/idea[...]ons_comparison_matrix.html?IU

Ja właśnie teraz zainstalowałem testowo Netbeans 7 z Java SE 7 oraz Visual C# 2010 Express jednak, ponieważ nie jestem biegły w tych wszystkich "fjuczersach" IDE, to dlatego proszę o jakoweś porównanie.
Poza tym na razie nie jestem zainteresowany innymi językami dostępnymi na tych platformach, więc taka uniwersalność nie stanowi dla mnie priorytetu.

edytowany 6x, ostatnio: Cortes, 2011-11-16 00:25
Jeśli chodzi o NetBeans to przeczytaj poradnik Wibowita, ja swego czasu go sobie ściągnąłem by mieć w wersji offline :P - several 2011-11-17 10:43

Pozostało 580 znaków

2011-11-15 23:51
2

Na razie cię może inne platformy nie interesują, ale jak kiedyś zainteresują, to zaś musiałbyś się czegoś innego uczyć. Nie lepiej od razu czegoś uniwersalnego?

Eclipse IMO też jest b. dobry, ale może być nieco upierdliwy dla początkującego. Jest za to znacznie lżejszy i szybszy od NetBeansa, który umie czasem zamulić.

A kiedy porównywałeś NB z Eclipsem? Podobno stare wersje NB bardziej muliły niż nowe. - Wibowit 2011-11-16 00:00
Nie wiem, ja jakoś na EeePC odczuwałem lepszy komfort na Eclipsie i to pod względem ergonomii pracy i niezamulania :). A na tym kompie jednak można powiedzieć ciężko się pracuje :) - Enril Soul 2011-11-16 00:04
Poprawę przy 7.0 odczułem, ale niewielką. Eclipse mimo wszystko jest lżejszy, a NetBeans łatwiejszy w obsłudze. Może dlatego że Eclipsze używa SWT zamiast Swinga. NB potrafi czasem przymulić, jak się ma sporo otwartych plików - Razi91 2011-11-16 00:13
Co to za opcja? - Cortes 2011-11-16 00:21
Jaka opcja? - Kerai 2011-11-16 20:28

Pozostało 580 znaków

2011-11-16 00:02
0

Poza tym Eclipse jest już chyba od przyszłych dystrybucji dołączany jako standardowe narzędzie w Linuxsie do Javy. Więc jego popularność powoduje zmiany i to nie małe wśród poważnych graczy. :)

Pozostało 580 znaków

2011-11-16 00:09
0

OK ja działam pod Windowsem ale ściągnę Eclipse IDE i zobaczę jak to wygląda.Ściągnąłem ale czy Eclipse wspiera już Javę SE 7?

edytowany 4x, ostatnio: Cortes, 2011-11-16 00:52
Do Javy SE, czyli "for Java Developers". - [losowa nazwa] 2011-11-16 00:36

Pozostało 580 znaków

2011-11-16 15:14
Cortes
0

Zapoznałem się bliżej z tymi IDE i mam mieszane uczucia:

  • darmowe Visual Studio Express Edition jest tak obcięte z możliwości dostępnych w jego płatnych wersjach, że chyba niewiele się w tym zrobi poza nauką samych podstaw. Dla przykładu sadząc po typach projektów jako można utworzyć to Visual C++ Express to można w nim pisać natywne "konsolki" i okienka na desktop, ale te ostatnie tylko jako C++/CLI - reszta rzeczy wycięta (np. biblioteki MFC i ATL). Z kolei Visual C# Express pozwala na nieco więcej bo "konsolki", aplikacje okienkowe i WPF jednak dostęp do ASP.NET i ADO.NET chyba wycięty albo trzeba to jakoś obchodzić. W rezultacie chyba przyjdzie mi się pożegnać z platformą .NET, bo nie zamierzam płacić prawie 3k zeta za wersję Professional, aby móc jakoś na poważniej programować. Szkoda, bo pierwotnie bardziej nastawiałem się na C# niż na Javę.

  • z kolei IDE do Javy pod tym względem wyglądają lepiej. Darmowe środowiska oferują chyba porównywalne możliwości z płatnym środowiskiem Visual Studio. Dzięki możliwości plug-inów (Eclipse, na mniejszą skalę Netbeans) a nawet tego co dostajemy w instalce (JDeveloper) można mieć praktycznie profesjonalne środowisko programistyczne z serwerami, bazami danych, edytorem UML i możliwością działania na urządzeniach embedded.

Tak więc raczej zwrócę się w kierunku Javy, bo choć podobno nieco gorsza od języka C# to jednak oferuje znacznie lepsze wsparcie dla tworzenia oprogramowania za free. Teraz tylko muszę wybrać optymalne dla mnie IDE do Javy.

Niby Java to nieco mniej rozbudowany język niż C#, ale na JVM jest sporo innych popularnych języków z różnych paradygmatów (jak np wspomniana przeze mnie Scala), które bardzo dobrze współpracują z kodem napisanym w Javie i zostawiają C# daleko w tyle. - Wibowit 2011-11-16 16:19
AFAIK do ASP.NET jest Visual Web Developer Express, nie ma integracji z VC# Express. - Ktos 2011-11-16 18:05
Nie każdy program musi być bazodanowy. - Azarien 2011-11-17 11:36

Pozostało 580 znaków

2011-11-16 17:53
0

Jak już się zapoznam z możliwościami szeroko rozumianej platformy Java (język i obszary zastosowań, które mnie zainteresują) to potem zapewne zainteresuję się też innymi językami działającymi na tej platformie. Zwróciłem też uwagę na fakt, że Java jest multiplatformowa a .NET jest przywiązany do systemu Windows. Są zdaje się jakieś wirtualne maszyny wykonujące kod CLI ale niestety niezbyt aktualne z najnowszymi wersjami .NET. W sumie to się dziwię, ze MS nie wypuścił, jak kiedyś Sun, maszyny wirtualnej .NET na inne platformy.

MS jest przeciwnikiem FLOSS (niby ma nawet jakieś otwarte projekty, ale nie zezwala na ich komercyjne użycie), więc musiałby wszystko robić sam. Implementacji JVMów są dziesiątki, są nawet procesory bezpośrednio wykonujące Javowy bajtkod (kiedyś było to popularne w komórkach, gdy pamięci było zbyt mało, żeby przeprowadzić jakieś sensowne optymalizacje kodu). OpenJDK to główny JDK Oracla, jest na GPL, więc Oracle może sobie skorzystać z innego otwartego kodu w swoim projekcie. Android, dla przykładu, ma swoją własną JVM-kę, chociaż niestety nie w pełni zgodną ze standardem. - Wibowit 2011-11-16 18:03
Dalvik to nie jest JVM, i kompletnie nie jest zgodny ze standardem, poczawszy od zestawu instrukcji po pliki ktore obsluguje (ani class, ani jar, maja wlasny format). Jedyne co jest w miare kompatybilne to API, przy czym wyciety jest Swing i pare innych API, a dodane GUI androidowe, SQLite i inne. Nie czaje dlaczego ludzie nieobeznani z tematem zapodaja takie bzdury. - :: 2011-11-19 16:43
Wiedziałem o tym wszystkim. Dalej jednak język Java jest pierwszorzędnym językiem na Dalvika, a JARki można skonwertować na format Dalvikowy (ZTCP). Zapewne na App Engine jest podobnie. Różnicę masz jak między C++ pod Windowsa i C++ pod Linuksa. - Wibowit 2011-11-19 16:50

Pozostało 580 znaków

2011-11-16 18:08
0
Cortes napisał(a)

Jak już się zapoznam z możliwościami szeroko rozumianej platformy Java (język i obszary zastosowań, które mnie zainteresują) to potem zapewne zainteresuję się też innymi językami działającymi na tej platformie. Zwróciłem też uwagę na fakt, że Java jest multiplatformowa a .NET jest przywiązany do systemu Windows. Są zdaje się jakieś wirtualne maszyny wykonujące kod CLI ale niestety niezbyt aktualne z najnowszymi wersjami .NET. W sumie to się dziwię, ze MS nie wypuścił, jak kiedyś Sun, maszyny wirtualnej .NET na inne platformy.

Microsoft nie miał po prostu żadnego interesu w uruchamianiu .NET na innych platformach niż jego własna. Obecnie tym bardziej nie widzę dla tego jakiegokolwiek sensu z ich punktu widzenia - hegemonia na rynku desktopów będzie musiała być utrzymana za wszelką cenę jeżeli chcą przetrwać.

A, co do wersji Express - jeżeli jesteś studentem, uczniem, młodą firmą czy czymś takim, to MSFT będzie tylko ułatwiał ci dostęp do wyższych niż Express wersji Visual Studio. To też warto obejrzeć.

edytowany 1x, ostatnio: Ktos, 2011-11-16 18:10
Dokladnie, tak samo jak Apple swoje SDK dla iOS udostepnia tylko na MacOsa. - :: 2011-11-19 16:44

Pozostało 580 znaków

2011-11-16 18:34
0

Po prostu MS od lat stawia na jedną kartę i nie przyznaje się do błędów. Podobnie robi np Nokia, a wiadomo co się z nią dzieje.

Windows od zawsze wygrywa na desktopach, bo Linuks niby nie nadaje się do rozrywki i multimediów. Obecna sytuacja jest dramatycznie różna od tej która była np 10 lat temu. Dzisiaj coraz więcej gier jest wydawane na tablety czy smartfony z Androidem, iOSem, chociażby Badą, czy innymi systemami opartymi na Linuksie/ Uniksie (i czasem też Javie). Jak można poczytać na serwisach o Linuksie, np http://www.phoronix.com/ ostatnio Intel mocno inwestuje w Linuksa, ma chyba jakiś wielki zespół do pisania sterowników dla Linuksa, bo prace nad sterownikami do intelowskich grafik idą pełną parą. Poza tym Intel mocno inwestuje w rozwój mendżera okien Wayland (który to ma docelowo zastąpić wysłużonego X11). Krótko mówiąc, zalety MS wyparowują, a kompatybilnością wsteczną z programami z epoki kamienia łupanego już chyba nikt się nie przejmuje.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2011-11-16 19:05
0

Przyznam, że niezbyt orientuję się w realiach rynku softwarowego ale na oko chyba chodzi o to, że MS dominuje na desktopach, ma chyba połowę udziału w rynku konsol (XBox 360) oraz chyba też około połowy w rynku serwerowych OS. Nie wiem jak jest na rynku bazodanowym jednak znacznie gorzej MS idzie na rynku rozwiązań mobilnych (smartfony itp.) zaś trend jest właśnie taki, że wszelkiego rodzaju komputerki przenośne stają się powoli zasadniczą częścią rynku software. Stare "pudełkowate" PC-ty są wypierane przez laptopy, netbooki oraz konsole do gier, choć tutaj jeszcze pozycja MS, jak wspomniałem, nie jest najgorsza. W każdym razie nisza na rozwiązanie softwarowe niepochodzące od MS faktycznie staje się coraz większa i stąd zarówno alternatywne OS jak i języki programowania typu Java, C++ (choć ten podobno staje się językiem niszowym, jak C) i te najnowszej generacji mają przyszłość.

edytowany 4x, ostatnio: Cortes, 2011-11-16 19:10
Jakie systemy serwerowe masz na myśli? Serwerowe Windowsy są drogie, nikt ich nie używa do stawiania stronek na PHP + MySQL czy też Javie, Pythonie, Rubym, etc. Na serwerowych Windowsach latają przede wszystkim microsoftowe rozwiązania. W przypadku superkomputerów to już w ogóle Windows jest w ogonie: http://i.top500.org/stats - Wibowit 2011-11-16 19:14
Nie jestem zbytnio obeznany z tematem ale myślałem, że jeśli MS od dawna ma Windowsy serwerowe to zdobył też sporą cześć tego rynku. - Cortes 2011-11-16 19:26
Przecież serwery były używane dziesiątki lat zanim powstał pierwszy Windows NT. Unix powstał w 1969, Windows NT 3.1 w 1993. - Wibowit 2011-11-16 19:30
Ogólnie to tak ale to już prawie 20 lat a przecież w tym właśnie okresie eksplodował internet i zapotrzebowanie na serwery chyba gwałtownie wzrosło? - Cortes 2011-11-16 19:31
No i? Jakie to niby Windows miał zalety? Był dziurawy na maksa, zawirusowany, zamknięty, ze słabymi mechanizmami kontroli użytkowników, wirtualizacji etc C# 1.x to był marny klon Javy. C# ma sens od wersji 2.0, a to było w 2005 roku. A już teraz MS przechodzi powoli z .NETu na HTML5 (jeśli chodzi o GUI ofkoz). - Wibowit 2011-11-16 19:38
Windows na desktopie wygrał, bo nie było nic "lepszego" (bardziej przyjaznego użyszkodnikowi), na serwerze przegrał, bo tam są inne kryteria... i w tych kryteriach uniksopochodnym do pięt nie dorasta... - Kerai 2011-11-16 20:35

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0