Porównanie IDE dla Javy i C#

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?

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.

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/features/editions_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.

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ć.

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. :)

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?

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.

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.

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ć.

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.

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ść.

0

Przy okazji chciałbym się spytać jakie jest obecnie najlepszy darmowy kompilator do czystego C pod Windowsa. Chodzi mi o jego jak największą zgodność ze standardem C99 i możliwość współpracy z IDE typu Code:Blocks lub posiadanie własnego IDE z debuggerem. Ponieważ dużo takich kompilatorów "obsługuje" też i język C++ mogą być i takie hybrydy choć samego języka C++ nie zamierzam zgłębiać. Jeśli takowych pod Windowsem nie można znaleźć to może coś pod Linuksem ostatecznie mogłoby być?

0

GCC z flagami -pedantic -Wall -ansi. Pewnie w CL też się da, ale nie wiem jak (jak odkryjesz to polecam Ci CL'a bo jest bardziej sprecyzowany na Windę).

0

CL to jest Common Lisp?

0
Cortes napisał(a)

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.

Są jeszcze np. SharpDevelop i MonoDevelop.

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?

O jakie funkcjonalności i cechy Ci chodzi?

  1. Funkcjonalności związane z edycją kodu są wszędzie podobne, bo trudno coś tu wymyślić. Wiadomo, że musi być znajdź i zamień, automatyczne formatowanie, skróty klawiszowe, podpowiadanie nazw i autouzupełnianie (które oczywiście można sobie samodzielnie rozbudowywać o nowe szablony).
  2. Debuger w VS jest dość rozbudowany, także w wersji Express - można podglądać wszystkie zmienne, edytować ich zawartość, ustawiać warunkowe breakpointy, wykonywać dowolny kod w trakcie wstrzymania programu. Nie sądzę, aby IDE do Javy jakoś znacznie od tego odbiegały.
  3. Refaktoryzacja w wersji Express jest bardzo słaba. Jedyne co można, to chyba zmieniać nazwę metody lub ją "ekstraktować" (tworzyć z zaznaczonego kodu). Pod tym względem darmowe IDE do Javy są lepsze od VS Express i tylko 10 razy gorsze niż VS Ultimate z ReSharperem.
  4. Wersja Express nie obsługuje też diagramów klas, więc nie da się ich "wyklikać" (o ile ktoś to lubi). Brak też wielu innych wizardów (np. do łączenia z bazami danych innymi niż MS SQL) i innych tego typu pierdół zachęcających dzieci do "programowania".
  5. Za to są designery umożliwiające stworzenie GUI aplikacji w różnych technologiach desktopowych (WinForms, WPF) i webowych (ASP.NET).

Co do Javy - pamiętaj, że Eclipse, to jedyny program na świecie, który nie potrafi otworzyć swoich własnych plików projektów. Zastanów się, czy chcesz używać czegoś, co jest po prostu debilne.

W każdym razie nisza na rozwiązanie softwarowe niepochodzące od MS faktycznie staje się coraz większa

Jaka nisza? Java, C++, PHP - już prędzej technologie deweloperskie MS są w niszy.

Nie czytaj gdy Wibowit pisze o MS/.NET/C#, bo on ciągle coś manipuluje. W HTML5 będzie można tworzyć GUI pod Win8, nikt .NET nie porzuca. IIS (serwer WWW od MS) ma ok. 1/3 rynku od dawna, a wiele korporacji ma swoje rozwiązania oparte na produktach MS z różnych względów (chociażby praca domenowa i kompatybilność z systemami desktopowymi). Obstawiam, że Java, jako starsza platforma może być popularniejsza, chociaż ponoć wiele firm nie lubi rozwiązań open source i woli te od MS.

0

Od godziny walcze z WebSphere bo znow cos sie zjeb**... tu sie co chwile cos pieprzy... i szlag mnie trafia. IDE jakie uzywam to IBM Rational Application Developer, ktory powstal na bazie eclipsa i jak w eclipsie mnie szlag trafial tak i tutaj to samo ma miejsce. Nic nie jest intuicyjne! Jest w cholere opcji acz najlepsze jest to, ze raz dzialaja one, a raz potrafia zawiesic cale srodowisko. To samo z projektami - ideologia eclipsowych projektow jest wrecz popieprzona! Czy tam workspace'ow jak je nazywacie. Raz sie moj web service publikuje do websphere, raz nie, raz musze go recznie wgrywac przechodzac przez tysiac durnych next'ow, a raz ot sam sie tam pojawia! To zeby sprawdzic ktora faktycznie wersje ws'a mam wgrana to musialem napisac osobna metode, ktora zwraca mi numer wersji uwazam juz za wielki absurd.

Naprawde... probowalem sie przekonac do tej javy w przeszlosci, teraz na sile w firmie musze w tym robic i mnie tylko szlag trafia. Z java wydaje mi sie, ze jest tak samo jak z linuxami - sa masochisci, ktorzy chca sie poczuc wyjatkowi i zachwalaja jakie to fajne i przenosne i w ogole cud malina, a tak naprawde to jedna wielka lipa i zrobienie tego samego w C# jest o wiele prostsze. A ze nie bedzie dzialalo jakiemus 'oryginalnemu' czlowiekowi z linuxem? To to jego problem! Niech se cygwina zainstaluje.

Pracowalem przy wielu systemach pisanych w C++, C#, technologie web i desktop... acz wszystko gdzie pojawiala sie java to zawsze jakies problemy od samegu startu. Robienie w javie moge porownac do spuszczanie wody w kiblu za pomoca wiadra z wodą przyniesiona ze studni zza 7 gór, która się dodatkowo samemu wykopało łyżeczką do słodzenia herbaty. Moze i ktos bedzie mial satysfakcje, ze to mu dziala... ale sorry, dla mnie to masochizm.

0

Pracowalem przy wielu systemach pisanych w C++, C#, technologie web i desktop... acz wszystko gdzie pojawiala sie java to zawsze jakies problemy od samegu startu. Robienie w javie moge porownac do spuszczanie wody w kiblu za pomoca wiadra z wodą przyniesiona ze studni zza 7 gór, która się dodatkowo samemu wykopało łyżeczką do słodzenia herbaty. Moze i ktos bedzie mial satysfakcje, ze to mu dziala... ale sorry, dla mnie to masochizm.

Fajna analogia :D Ciekawe co byś powiedział o upierdliwości C++ :]

0

Znowu narzekania typu: "czemu Linux nie jest kopią Windowsa?" albo "czemu Eclipse nie jest kopią VS?", tudzież "czemu Java nie jest kopią C#/ C++/ whatever?". Mi się wygodnie programuje pod GCC czy Javę, za to VS uważam za nieintuicyjne i co na to powiecie? Ja patrzę na IDE przez pryzmat "czemu to jest takie popieprzone, a nie fajne jak w NetBeansie?", ale nie robię z tego dramatu.

Ale cóż się dziwić? W końcu zdecydowana większość użyszkodników Windowsa zaczynała od XP i to jest ciągle dla nich wzorzec systemu. Jakikolwiek inny system, nawet Windows Vista czy Windows 7 (od tego samego producenta!!!) jest dla nich irytujący, ponieważ trzeba klikać w innych miejscach!!! Takie zacietrzewienie jest porównywalne do rolników, którzy przez całe życie orali pole końmi, nawet gdy w wieku 40 lat mogli sobie pozwolić na nowinkę jaką był traktor.

0
wasiu napisał(a)

Raz sie moj web service publikuje do websphere, raz nie, raz musze go recznie wgrywac przechodzac przez tysiac durnych next'ow, a raz ot sam sie tam pojawia!
robisz coś przez GUI? fail
Ja tam tych zabawek z GUI właśnie nie lubię za to, że raz zapomnisz coś zaznaczyć i się nie zrobi...

wasiu napisał(a)

Z java wydaje mi sie, ze jest tak samo jak z linuxami - sa masochisci, ktorzy chca sie poczuc wyjatkowi i zachwalaja jakie to fajne i przenosne i w ogole cud malina
Tak, z pewnością używamy tego, żeby się czuć wyjątkowi :)

wasiu napisał(a)

acz wszystko gdzie pojawiala sie java to zawsze jakies problemy od samegu startu. Robienie w javie moge porownac do spuszczanie wody w kiblu za pomoca wiadra z wodą przyniesiona ze studni zza 7 gór, która się dodatkowo samemu wykopało łyżeczką do słodzenia herbaty. Moze i ktos bedzie mial satysfakcje, ze to mu dziala... ale sorry, dla mnie to masochizm.
W C# i C++ też jest sporo kiepsko napisanego softu... z pewnością jeśli obwinię za to język, to to wiele pomoże. (Z drugiej strony tak samo Java jak i C# sprzyjają pisaniu kiepskiego kodu, bo jest po prostu za łatwo). Tak czy siak, framework z którego korzystasz na pewno nie jest jeden jedyny...

0

Co Wy wiecie o IDE... Wing IDE jest najlepsze :P

A tak na serio, to każdy będzie zachwalał to czego używa - z pewnych przyczyn przypadło komuś do gustu. A prawda jest taka, że wszystko ma swoje wady i zalety, więc trzeba wybrać coś co ma wady najmniej wkurzające nas :D

Visual Studio lubi zastawiać sporo śmieci - http://weblogs.asp.net/psheriff/archive/2011/11/08/clean-up-after-visual-studio.aspx

A tutaj taki smaczek (błąd IDE) - www.codeproject.com/Lounge.aspx?msg=4079490

0

Ponieważ, jak widzę mamy tutaj jakiś flamewary odnośnie wyższości tych lub innych IDE oraz C# nad Javą i odwrotnie więc informuję, że odinstalowałem wszystkie IDE Javy, C# i C/++ oraz .NET 4.0 i JDK 7. Teraz zainstaluję tylko jedno środowisko na czysto tylko jeszcze nie wiem jeszcze jakie. W każdym razie na necie wyczytałem, że C++ dogorywa a C mnie by jednak niezbyt interesował. Więc zostaje mi Java lub C#.

0

Zauważyłem ale usunąłem również i Eclipse więc w sumie też i odinstalowałem z resztą.

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