PDA

Zobacz pełną wersję : [Ankieta] C# czy JAVA?



tomasz rakoczy
16-05-06, 20:31
Co ma przyszłość i jest bardziej rozwojowe?

:arrow: Google trends mówi... (http://google.com/trends?q=java%2Cc%23&ctab=0&geo=all&date=all)

Co to jest C# (http://pl.wikipedia.org/wiki/C_sharp)
Co to jest JAVA (http://pl.wikipedia.org/wiki/Java)

konkordpl
16-05-06, 20:57
Java - przyszłością narodów, rynek gier do telefonow - najprostszy przyklad. Potem aplikacje na stronach www, ktorych nie cierpie.

Mirthall
16-05-06, 21:03
A mi się zdaje że jednak C# ma większe możliwości rozwoju, ale się na tym nie znam. Więc mój głos powinien się liczyć jako 1/2 :)

osiaq
16-05-06, 21:29
Wierzę w marketing MS, osobiście działam w C# a siłą rzeczy i w Javie, to prawie to samo :D

babcia_samo_zło
16-05-06, 22:41
Osobiście nie cierpie programowania ;)
Ale jesli juz musze to jednak C#

Tor
16-05-06, 23:17
A mi się zdaje że jednak C# ma większe możliwości rozwoju, ale się na tym nie znam. Więc mój głos powinien się liczyć jako 1/2 :)
Jeżeli się nie znasz, to dlaczego tak uważasz? Czy to tylko "tak bo tak"?


Osobiście nie cierpie programowania ;)
Ale jesli juz musze to jednak C#
Tak jak wyżej. Co tu ma znaczyć "musze"? Jak musze programować, czy też: "mam wybrać to strzelam"?

Sam nie programuję w żadnym z tych języków. No poza podstawami javy, które miałem na uczelni. Nie mniej argumenty konkorda pokazują siłę javy na obecnym rynku. Do tego dochodzi przenośność javy, która będzie coraz bardziej rosła, choćby ze względu na powstające wolne odpowiedniki, takie jak GNU Classpath. A wymagany .NET dostępny jest chyba tylko na windowsa? Tak, jest mono. Ale jestem z natury podejrzliwy i zastanawia mnie jaka będzie przyszłość tegoż. Microsoft nie śpi.

macol
17-05-06, 00:48
Jestem z MS!! I polecam całą technologie .NET, czyli c# także. google jest tu zlym wskażnikiem bo sam c# to tylko język który jest tylko częściom świetnej technologi, ludzie mogą rozwniż wyszukiwać vb.net, visual basic, framework, itd, chseł kilkadziesiąt.

Poza nim są jeszcze c++, VB, J#, próz kilkaadziesiat innych językow dla .NET. W wywmienionych językach możesz programować w świetnym środowski jakim jest Visual Studio, bądz też Visual Express.

Jedyne czego brakuje wersją darmowym, czyli Express to brak możliwości emulacji mobilnych wersji aplikacji tzn systemy dla PocketPC, ale do nauki to niejest potrzebne, a pozatym zawsze pozostaje soft który można pozyczyc(p2p), czy też programy akademickie gdzie można go zdobyć legalnie i zadarmo :). Mi najbardziej przeszkadza to że niemoge w żaden sposub uruchomić aplikacji .NET w telefonie - ale niedługo przestanie mi to przeszkadzać, gdy kupie pocketPC.

Niebardzo orientuje się w Javie, ale z tego co przeczytalem w sieci to Javy jest kilka odmian- suna, oficjanla, itd - kolejny problem przy nauce.

Jest platforma .net dla FreeBSD: http://pl.wikipedia.org/wiki/Rotor_Programming
mono nieupadnie, a napewno nie z winy ms. na c# jest iso i chyba w związku z tym ms nic mono zrobić niebędzie mogl, a nawet jeśli tak, to ms jest na ręke że za nich rozwijają ich środowisko.

A tu soft darmowy do programowania w .net:
http://msdn.microsoft.com/vstudio/express/

osiaq
17-05-06, 02:07
A ja nie jestem z MS i co mogę powiedzieć (dla wyjaśnienia, bo widze, że się niektórzy pogubili) :
__________________________________________________ ____
Czym jest Java : Java jest językiem programowania którego kod wynikowy nie jest kompilowany do kodu maszynowego a jedynie do kodu platformy Java Virtual Machine (JVM)
Czym jest C# : Tym samym czym Java, jęzkiem który jest kompilowany do kodu platformy .NET
__________________________________________________ _____
Platforma już poza ingerencją użytkownika kompiluje program dalej do kodu maszynowego kompa, komórki, betoniarki czy czego tam jeszcze
Dotyczy to zarówno JVM jak i .NET
__________________________________________________ _____

O ile programiści Sun doszli do wniosku, że jedynym językiem, w jakim można pisać programy dla platformy JVM jest Java, o tyle programiści MS poszli dalej: umożliwili pisanie w różnych językach. Najpopularniejsze z nich to Visual Basic i C# ale trwają pracę nad przystosowaniem 30 języków z Cobolem i Delphi włącznie.
__________________________________________________ ______
MS wyraźnie faworyzuje C#. W tym języku pisane jest w tej chwili jądro ich najnowszego systemu który definitywnie zakończy epokę Windowsa czyli Singularity. Stąd opóźnienia w wydaniu Visty. Większość mocy przerobowych idzie właśnie w Singularity który przejął nazwę kodową Longhorn, poprzednio zarezerwowaną dla Visty (to był offtopic)
__________________________________________________ ______

Obydwie platformy (.NET i JVM) są do siebie cholernie podobne, zwłaszcza tzw. namespaces (przestrzenie nazw) czyli w wielkim uproszczeniu bloki kodu includowane do pisanego programu. Ale zaznaczam - to wielkie uproszczenie. Kolejne przestrzenie dziedziczą właściwości obiektów przestrzeni nadrzędnej, ale to nie temat na ten wątek.
__________________________________________________ _______

WYBÓR :
To co powinno zadecydować o wyborze platformy (Java czy .NET) a przynajmniej u mnie zadecydowało (czyli chcąc niechcąc ryję obie) to zastosowanie praktyczne, postaram się wyszczególnić najważniejsze różnice:

- Java zwyczajowo uruchamiana jest na urządzeniu użytkownika
- .NET występuje w przyrodzie praktycznie jako ASP.NET (Active Server Pages) czyli uruchamiana jest hen daleko, na serwerze. Nic nie jest pobierane do komputera użytkownika pomimo, że oczywiście można pisać aplikacje standalone, dla pojedynczego kompa (betoniarki, komórki, skrzyni biegów do pralki - zależy na czym zainstalujemy platformę)
--------------------------------------------------------------------------------
- JVM jest pltformą "samonośną", zamkniętą, nie posiada handlerów połączeniowych do innych platform (lub są one bardzo ułomne)
- .NET podobnie, ale tworzy potężne środowisko wciąż rozwijane (SQL Server, kapitalna praca z IIS itd.itp

Z tego powodu .NET moim zdaniem mimo potencjału jaki posiada raczej pozostanie platformą informatyczną. Raczej (na szczęście) nie będzie kierował ruchem ulicznym, nie będzie go (na szczęście) na mojej komórce itd.. Nie ufałbym tym urządzeniom za cholerę. JVM jest platformą sprawdzoną i jednak stabilną
-----------------------------------------------------------------------

-JVM przywiązuje Cię do jednego języka, Javy
-.NET pozwala pisać w czym sobie życzysz

Krótko : jeżeli rozmawiamy o aplikacjach webowych : .NET. Jeżeli programowanie dla innych urządzeń : JVM

Jeżeli zdecydujesz się na .NET pozostaje Ci sprawa języka :
Jak już powiedziałem wcześniej MS wyraźnie faworyzuje C#. Osobiście na początku bawiłem się w Basicu, jako stary atarowiec, komodorowiec itd mam jeszcze chore nawyki. Ale długo to nie potrwało, jednak C# zdecydowanie jest lepszy.
Poza tym C# jest bardzo podobny do Javy. Dawno temu MS próbował coś ze swoją wersją Javy, która po pierwsze primo była dnem i lamerstwem a po drugie primo : sąd zabronił. Wtedy zaczął powstawać C# jako praktycznie kopia Javy (jak to MS ma w zwyczaju). Jednak C# rozwinął się znacznie bardziej niż Java i można w sumie nawet mówić o zgodności wstecz. VBasic będzie chyba powoli odchodził do lamusa, ale zaznaczam : to tylko moje zdanie.
Srodowiska : ZDECYDOWANIE ODRADZAM VISUAL STUDIO
Można dostać kociokwiku jeżeli zaczynasz pracę (to też moje zdanie - inni to sikają słysząc tę nazwę)
Nie wiem jak daleko jesteś z programowaniem i z tworzeniem np. stron czy aplikacji standalone, więc nie będę się rozwodził nad tematem. Natomiast co polecam :

Jeżeli piszesz programy pod windę polecam VISUAL C# (oczywiście darmowy, prosto z MS - linka nie podam bo już zasypiam i z przerazeniem myślę o googlowaniu teraz)
Jeżeli chcesz robić stronki polecam darmowego WebMatrix (też z MS, oczywiście) Trochę wkurza bo po swojemu formatuje tagi html, ale to można przegryźć

Jeżeli chcesz wystartować pełną gębą to z darmoszek MS daje również SQL Server 2005 Express, kto go opanuje perfekt (a takich chyba nie ma po tej stronie Atlantyku) nie wróci do MySQL. Do Postgresql też nie. Ale mam przeczucie graniczące z pewnością, że to Ci nie grozi w najbliższej pięciolatce.


Tym miłym akcentem kończe drugie piwo i ide spać. Hope this helps :)

rantes
17-05-06, 07:44
Jako user (nie-programista) nie mogę bawić się we wróżkę i stwierdzać, co ma większą przyszłość, ale z programów w Javie kilka razy skorzystałem. Dla mnie najbardziej liczy się jej wieloplatformowość, dzięki temu ja na swoim Linuksie mogę używać tego samego softu, co moja szefowa pod Windowsem. I wszyscy są zadowoleni.

Nimitz
17-05-06, 11:14
Jestem z MS!!

macol jak przyjęli do MS kogoś kto nie umie używać przycisku Pisownia? :?

babcia_samo_zło
17-05-06, 11:39
Tak jak wyżej. Co tu ma znaczyć "musze"? Jak musze programować, czy też: "mam wybrać to strzelam"?

Nie, to znaczy dokladnie tyle co jestem z zawodu adminem ale nawet sieciowiec musi cos czasem napisac, wtedy tez chwytam C#, ktore jak dla mnie jest po prostu jakies przyjemniejsze. IMHO C# bedzie ewoluowal w strone Javy, za duze pieniadze w tym siedza, żeby to odpuscic. A wtedy zadziala juz sila przyzwyczajenia do C.


Jestem z MS!!

Tak sie sklada, ze znam sporo osob z polskiego oddzialu MS. Powiesz cos wiecej, moze sie znamy :lol:

Mam jeszcze info dla maniakow sportow ekstremalnych, MS udostepnil wersje beta WMP 11. Ludziom o slabych nerwach zdecydowanie odradzam :lol: Windows Media Player 11 beta (http://www.microsoft.com/windows/windowsmedia/default.mspx)

macol
17-05-06, 16:33
hehehe, wyszło pewne nieporozumienie. pisząc "jestem z ms" niemiałem namyśli ze "pracuje w ms" lecz jestem za ich produktami. Sorry.... Nim zaczne myślec o tym czeka mnie jeszcze pare lat nauki :D

osiaq: z tego co mi wiadomo to w cobolu juz się da pisać dla .net, pozatym te inne języki w wersjach dla .net niesą rozwijane przez ms...
ms faforyzuje c#, fakt, ale z regóły kod w vb jest zawsze z c#...
Z tego co wiem wersja serwerowa visty - nastepca w2k3 ma obecnie nazwe longhorn, a Singularity, to singularity, na który poczekamy jeszcze kilkanaście lat....

JVM i .NET sa podobne bo java to język obiektowy, a .NET także wymaga obiektowości w językach... a o tym piszesz...

.NET to nietylko ASP.NET lecz takze aplikacje uruchamiane lokalnie.

Jeśli kiedyś już programowałeś, niema znaczenia w czym, php, bascom, c, itd to C#, jeśli zaczynasz to proponuje VB.NET, mimo porypanej skladni łatwiejszy do nauki.

linka do visual c# już dałem, dokaldnie do całego zestawu aplikacji express, a WEBmatrix to "syf" który moim zdaniem niepowienien być wspierany przez ms, niewiem czy z tego kozystałeś, ale visual web designer express jest wiele wygodniejszy.
oczywiście web matrix wspiera tylko .net 1.1, a web developer .net 2.0, ale chyba nikt niezamieża uczyć sie już starej technologi... :D

Visual c# express: http://msdn.microsoft.com/vstudio/express/visualcsharp/

Visual VB.net express:
http://msdn.microsoft.com/vstudio/express/vb/

visual web developer express:
http://msdn.microsoft.com/vstudio/express/vwd/

sql 2005 express:
http://msdn.microsoft.com/vstudio/express/sql/download/

przy czym do podstwowej wersji sql express niezapomnij o Management Studio Express, bo ja już sobie niewyobrażam pracy na konsoli...

Streszczenie w poprzednim moim poście :D

MStaniszczak
04-01-07, 10:48
O ile programiści Sun doszli do wniosku, źe jedynym językiem, w jakim moźna pisać programy dla platformy JVM jest Java, o tyle programiści MS poszli dalej: umoźliwili pisanie w rłźnych językach. Najpopularniejsze z nich to Visual Basic i C# ale trwają pracę nad przystosowaniem 30 językłw z Cobolem i Delphi włącznie.


Nie tak do końca. O ile SUN dostarcza tylko Java-ę, o tyle na "rynku" dostępne są na przykład JPtyhon, JRuby (ten mocno wspierany przez Sun-a), Groovy i inne.



WYBÓR :
To co powinno zadecydować o wyborze platformy (Java czy .NET) a przynajmniej u mnie zadecydowało (czyli chcąc niechcąc ryję obie) to zastosowanie praktyczne, postaram się wyszczegłlnić najwaźniejsze rłźnice:

- Java zwyczajowo uruchamiana jest na urządzeniu uźytkownika
- .NET występuje w przyrodzie praktycznie jako ASP.NET (Active Server Pages) czyli uruchamiana jest hen daleko, na serwerze. Nic nie jest pobierane do komputera uźytkownika pomimo, źe oczywiście moźna pisać aplikacje standalone, dla pojedynczego kompa (betoniarki, komłrki, skrzyni biegłw do pralki - zaleźy na czym zainstalujemy platformę)

Java to nie tylko aplikacje uruchamiane na komputerze uźytkownika.
Java to:
- J2SE - Swing lub SWT - czyli aplikacje okienkowe bądź aplety
- J2ME - aplikacje na urządzenia mobilne
- J2EE - EJB, JSP, Servlety i wiele innych - aplikacje korporacyjne, czyli to do czego dziś Java jest głłwnie uźywana. Tu nie bardzo jest odpowiednik w C# - .NET nie posiada serwera aplikacji (ISS nim nie jest), nie posiada odpowiednika EJB (Enterprise Java Bean), dorobił się chociaź na szczęście NHibernate - czyli kopii Java-owego Hibernate - ORM-a.



--------------------------------------------------------------------------------
- JVM jest pltformą "samonośną", zamkniętą, nie posiada handlerłw połączeniowych do innych platform (lub są one bardzo ułomne)

Są od Web Services (RPC-XML, SOAPi nie tylko) aź po Corba-e. Chyba źe co innego masz na myśli.



- .NET podobnie, ale tworzy potęźne środowisko wciąź rozwijane (SQL Server, kapitalna praca z IIS itd.itp


Tu właśnie Java ma serwery aplikacji, mogące to co ISS + wiele więcej. SQL Server? Nie ma problemu, dodaj do tego Hibernate lub JPA a będziesz miał wspłłpracę z dowolną bazą danych bez jakichkolwiek zmian w kodzie aplikacji (poza konfiguracją).



Z tego powodu .NET moim zdaniem mimo potencjału jaki posiada raczej pozostanie platformą informatyczną. Raczej (na szczęście) nie będzie kierował ruchem ulicznym, nie będzie go (na szczęście) na mojej komłrce itd.. Nie ufałbym tym urządzeniom za cholerę. JVM jest platformą sprawdzoną i jednak stabilną
-----------------------------------------------------------------------

-JVM przywiązuje Cię do jednego języka, Javy
-.NET pozwala pisać w czym sobie źyczysz

Krłtko : jeźeli rozmawiamy o aplikacjach webowych : .NET. Jeźeli programowanie dla innych urządzeń : JVM

Ehhh, skąd taki pomysł źe Java to tylko J2ME? - zobacz np. filmweb.pl - napisane w Java. Zobacz w czym napisane są witryny budowane przez AMG.NET (nie wszystkie, ale duźa ich część). Jeszcze raz podkreślę - dziś Java to głłwnie J2EE, a to EJB, Servlety, JSP, frameworki MVC dla Web-u właśnie takie jak nieśmiertelny Struts, WebWork, Tapestry, JSF czy inne...

Warto teź wiedzieć źe w J2EE pisane jest wiele bardzo duźych aplikacji finansowych, w tym obsługujących banki, działających na "sporych" maszynkach. Do tego olbrzymie wsparcie dla Javy daje nie tylko SUN, ale i IBM, Oracle, BEA, SAP i wiele innych.

Poczytaj teź http://jdn.pl

kaktus9
13-02-07, 17:25
mam plyte glówna MSI KT6 DELTA:)!!
a propo C# rulez

koneton
04-08-08, 09:30
Dodam jeszcze od siebie, że odpowiednikiem ASP.NET może być wJavie JSPX, czyli JSF, ADF i inne klony bardzo podobne (lub starsza JSP która może być odpowiednikiem przed .Netowego ASP). Obecnie bardzo żadko pisze się aplikacje webowe w Javie, które uruchamiane są po stronie klienta (aplety). W większości przeważają stron, gdzie do klienta dociera zwykły html/xhtml, a Java jest tylko na serwerze, więc działa analogicznie jak .NET.

Ja mam za sobą kilka lat doświadczenia w programowaniu w technologiach MS i Java, teraz wybrałbym Javę, ale prawde mówiąc nie uważam wyboru C# jako gorszego. Obie technologie mają przyszłość i należy wybrać sobie tą, która bardziej pasuje.

duce74
19-08-08, 20:31
Witam,
Specjalnie zalogowalem sie tutaj ,zeby poprawic kilka niescislosci.

Po pierwsze:
M$ ciagle walczy z SUNem o pozycje lidera - glownie na rynku aplikacji biznesowych. C# jest praktycznie kopia javy ,wiec do nauki mozesz uzywac jakiegokolwiek z tych jezykow.

Moje odczucia: C# jest na troche wyzszym poziomie abstrakcji - bedzie latwiejszy do nauki. Java to standard sam w sobie , jak pisalem jest to pierwowzor dla c#.

Ktos napisal ,ze jest kilka wersji javy (dla mnie to co najmniej smieszne ,ze ktos pisze takie rzeczy i nazywa sie programista). Jest kilka implementacji maszyny wirtualnej. Wszystkie sa ze soba zgodne. Kiedy probowaly tego podajrze 3 firmy z Sunem i IBM na czele. Teraz java jest prawie w 100% open source i powstaje java OpenJDK - kolejny standard.

Java ma przewage ,jezeli chodzi o mozliwosci - glownie ze wzgledu na polityke Sun'a. Udostepnil on zrodla do JDk. Java zawsze jest wstecznie zgodna (co nie zawsze ma miejsce w M$).

Jest wiele projektow zwiazanych z JAVA:

Cala fundacja Apache, wiele firm lacznie z IBM, Red Hat itp.
Wszedzie masz wybor. Nie jestes uzalezniony od niczego.
- systemu operacyjnego
- bibliotek
- maszyny wirtualnej
- czy nawet jezyka (pol zartem)
-platformy (komorka, serwer www, betoniarka)

chcesz napisac:
- Aplikacje Korporacyjna:
c# - daje Ci ISS
java - Web Logic, GlassFish, Jboss, Geronimo,Web Sphear i kilka innych
Nie chcesz kozystac z serwera aplikcaji ? Masz Springa

Baza danych:
dowolona (ja pracuje na oracle,mysql,postgresql)
ORM:
Hibernate, Spring, IBatis, TOPLink (od oracle)

JPA to api nie ORM

Web service:
XML-RPC, SOAP i wiele innych

CORBA:
RMI,IIOP

Do wyszystkiego masz biblioteki
I tak:
MVC:
Spring, struts, velocity, JSF
Budowanie aplikcaji:
ANT, Maven, wbudowane buildery do eclipse, NB

Chcesz pisac na komorki?
Masz setki bibliotek do obslugi wszystkiego od WidGetow do BT

Chcesz pisac na desktopy?
masz AWT, SWING, Eclipse RPC

Chcesz pisac RIA do WWW?
Java FX, ZK, Apllety, GWT (nie mowie o tym ,ze mozna zintegrowac ze wszystkim od Flasha po SL)

Genralnie:

Bogactwo Javy jest niezmierzone, niestety nauki jest tez duzo duzo wiecej. Nie wystarczy ,ze nauczysz sie .NEt MSSql i c#. Ma to swoje plusy i minusy. NAjwazniejsze jest to , ze uczysz sie kozystac ze standardow.

Jezeli jestes leniwy wybierz c#. Ale podkreslam - to bardzo dobry jezyk.

Java jest wspierana przez wszystkie wielkie firmy.
PTC (Windchill), Oracle (Toplink) IBM (Eclipse) RedHAt (JBoss).
C# jest wspierany przez M$.

JAVA sie nie zmieni z dnia na dzien. C# moze odejsc w zapomnienie jak MFC.


Nie jestem znawca C# ale podejrzewam ,ze znam sie i tak na nim wiecej niz wiekszosc osob, ktore zabraly glos w tej dyskusji. W c# pisze sie przyjemnie i jest latwy. Jezeli opanujesz Jave i 50 frameworkow do niej , to nie bedziesz mial problemow z c#. Moze wlasnie dlatego tylu ludzi jest za c# , e nauki jest zdecydowanie mniej.

Pozdrawiam :)

P.S. - najlepszy glos zawarl Koneton