C# i .net vs Java

0

Czy c# w polaczeniu z .net moze miec zastosowania webowe takie jak aplety javy (gry, aplikacje etc. w przegladarce)? Czy na systemach z rodziny unix i linux wymagane jest zainstalowane Mono albo inne tego typu implementacje CLR aby odpalic takie cos w przegladarce?

0

Tak, mozna. Rozwiazaniem jest zastosowanie technologii ASP.NET. Skrypty ASP.NET mozesz pisac w C#, Delphi, VB.NET itd. W takim wypadku na serwerze musi byc zainstalowana platforma .NET. U klienta oczywiscie nie musi byc zainstalowane.

Nie wiem jak to jest na UNIXach, czy Mono jest juz wystarczajaca stabilne i posiada obsluge ASP.NET. Jezeli tak - takze mozna zainstalwoac na serwerze z Linuxem i pisac skrypty w C#.

0

Tak, mozna. Rozwiazaniem jest zastosowanie technologii ASP.NET. Skrypty ASP.NET mozesz pisac w C#, Delphi, VB.NET itd.

To w sumie wiedzialem, ale bylem przekonany ze ASP.NET podobnie jak ASP, PHP itp daje efekt czysto skryptowy i jedyne co mozna to generowac dynamiczne strony, a nie aplikacje w przegladarce.

Nie wiem jak to jest na UNIXach, czy Mono jest juz wystarczajaca stabilne i posiada obsluge ASP.NET. Jezeli tak - takze mozna zainstalwoac na serwerze z Linuxem i pisac skrypty w C#.

Na Mono Project jest juz oficjalna, podobno stabilna wersja 1.0 => "The libraries include Microsoft .NET compatibility libraries (including ADO.NET and ASP.NET)", wiec jest chyba dobrze :). Z FreeBSD nie ma problemu bo microsoft wypuscil implementacje dla tej platformy. Zreszta, wydaje mi sie ze z czasem zacznie przybywac tego typu stuffu i mono nie bedzie juz osamotnione.

Ale dzieki za odpowiedz bo teraz nie mam w tym temacie zadnych watpliwosci.

dopisane:

U klienta oczywiscie nie musi byc zainstalowane.

? Ale przeciez do wszystkich aplikacji bazujacych na .net musi byc zainstalowane .net framework, tak samo jak wirualna maszyna javy dla apletow. Jedyne czego w tym momencie klient chyba nie musi miec to asp.dll ale ono jest chyba instalowane wraz z frameworkiem i to czyste przypuszczenia.

dop.#2 ;]
...bo mam nadzieje ze sie rozumiemy - nie chodzi mi o efekty typu wyswietlenie tabeli wynikow w htmlu, bo to moge zrobic przykladowo w "czystym" asp, tylko w pelni "multimedialne" zastosowania - gry, chaty itp odpalane w przegladarce.

0

Hehe, uup, sorry - nie doczytalem dokladnie ;) Mi chodzi oczywiscie o skrypty ASP.NET, dajace wynikowy kod HTML ;) Nie slyszalem, aby dalo sie zrobic cos takiego z .NET jak z apletami Javy.

1

Z FreeBSD nie ma problemu bo microsoft wypuscil implementacje dla tej platformy.

Co brałeś?

0

Co brałeś?

Chyba nic nie bral... Google sporo linkow wywala o tym... niestety dzisiaj siec tak u mnie dziala, ze na 4p lacze sie probujac pare razy, a na to co google wywala to juz w ogole ciezko...

0

W takim razie co oni brali? I po co się męczą, jak istnieje Mono i .GNU (wraz z Portable.NET)?

0

SORRY ZA ODKOP, ALE NIE MOGŁEM ZNALEŹĆ SENSOWNEGO, ŻYWEGO TEMATU.

Wybaczcie za noobowskie pytanie, ale staram się myśleć przyszłościowo i rozważam teoretyczną zmianę z C# na Javę.
Fakt że w Krakowie jest głównie Java niezbyt na to wpływa, ale raczej to że rynek dzieli się mniej więcej pół na pół (.net vs java), a dochodzi jeszcze dodatkowo android.
Póki co znam istotę programowania (obiektowość i związane z tymi rzeczy), no i troche Framework .NETowy. Trochę zacząłem czytać o ASP.NET. Nie jest to tak wiele, bym był uwięziony, ale też nie tak mało.
No i pytanie jest, czy warto myśleć o zmianie. Z jednej strony warto być mobilnym, poza tym C# i Java aż tak wiele się nie różnią. Tylko na czym polega projektowanie aplikacji webowych Java (bo z tego się głównie kasę trzepie?), czy jest to coś w stylu ASP.NET? Z drugiej strony świadomie lub nie, podjąłem decyzję już kiedyś otwierając książkę o C#. Taka przesiadka sprawi, że będę noobem w Javie.
Oczywiście rozważam tylko teoretycznie, bo rynek .net ani nie upada, ani źle nie stoi... Ale lepiej teraz niż za 5 lat sobie zadać takie pytanie.

2

W .net'cie robie 8 lat, za javę głębiej wziąłem się od miesiąca. Przyznam, że nie rozumiem tych wszystkich fanboy'ów javy. Osobiście szlag mnie trafia jak w tym robię bo development jest o wiele dłuższy niż w .net'cie. Chociażby jak mam coś na datach robić - ot podstawowe rzeczy. Niby jest ten cały joda time ale jakoś nie jestem fanem zewnętrznych bibliotek.

Fakt, że język nie różni się dużo od .net'a i samo programowanie jest bardzo podobne. Ale to jak z jazdą samochodem. W .net'cie czuję się jak w ferrari, a z javą jak w klekącącym ikarusie. To i to ma kierownicę, pedały gazu i hamulca... ale przecież nie o to chodzi.

Jedyna zaleta Javy to większa ilość platform... ale idąc tym tokiem rozumowania to wszystko powinniśmy klepać w javascriptcie. Tylko kto lubi być masochistą?

  • takie tam wieczorne frustracje przy portowaniu kodu na androida, gdy od godziny siedzę nad jedną linijką kodu z .net'a, która wygląda banalnie... ale w javie już taka nie jest.
3

@wasiu bez żartów ;] Klepałeś w .net 8 lat a w javie od miesiąca, to co sie dziwisz? To oczywiste że wszystko w Javie wydaje ci sie "dziwne" bo jest po prostu inne :) Jakbyś klepał 8 lat w Javie to tak samo mówiłbyś o .net ;)

1

A ja będę nudny i powtórzę po raz n-ty: jestem koderem Javy, a gdy muszę kodzić w Pythonie to dostaję rozstroju nerwowego. Jak dla mnie na razie jedyną zaletą Pythona nad Javą jest list-comprehensions (zaleta zniknie wraz z upowszechnieniem się Javy 8), a cały dynamizm to strzelanie sobie w stopę z bazooki (bo IntelliJ się gubi a ja razem z nim).

Tak więc zależy od konkretnego kodera co sobie pomyśli. Java w każdym razie ewoluuje dość żwawo pod rządami Oracle. Ostateczny kształt lambd jest przyjęty, więc skończą się niekończące się wojny (za Suna) o to jak mają wyglądać :P

0

Tylko w .net'cie nigdy nie spotkałem się z taką odpowiedzią na w sumie coś co uważałem do tej pory za banalnie proste.

Normally we consider it bad form on StackOverflow.com to answer a specific question by suggesting an alternate technology. But in the case of the date, time, and calendar classes bundled with Java 7 and earlier, those classes are so notoriously bad in both design and execution that I am compelled to suggest using a 3rd-party library instead: Joda-Time.

A skoro proste rzeczy są tak skopane, to boję się o te bardziej złożone. I to ma być żwawy rozwój?

0

Nawet Seliga mówił, że obsługa dat w Javie ssie, i lepiej użyć zewnętrznych bibliotek. :P
@Shalom, wklej linka, bo pewno masz go zawsze w schowku. :P

0

W Javie 8 będzie nowe Date and Time API.

Java 7 wyszła rok po przejęciu Suna przez Oracle'a. Java 8 będzie 3 lata po Javie 7. Moim zdaniem przyzwoite tempo, zwłaszcza że w Javie 8 są całkiem fajne zmiany w języku.

0

@wasiu Joda-Time, a właściwie nowa implementacja stworzona przez twórców Joda-Time będzie w nowej wersji Javy ;) Poza tym Java w dużej mierze opiera się właśnie na bibliotekach i frameworkach tworzonych przez community / 3rd party. Połowa aplikacji w javie stoi na Springu który jest tworzony zupełnie niezależnie od Javy. Hibernate który ma pewnie połowę rynku ORM w Javie też był tworzony jako zewnętrzna biblioteka, a potem posłużył za wzór przy tworzeniu standardu Java Persistance API. Po prostu w .net zmiany idą od "góry" tzn będzie to "co sobie MS wymyśliło", a w javie zmiany idą "od dołu", tzn jest to czego ludzie potrzebują i używają.
W javie jeśli czegoś potrzebujesz to najpewniej ktoś to juz napisał i Maven ci to ściagnie, a może niedługo będzie nawet stadardem.

Zresztą akurat Calendar i Date są skopane, ale to niechlubne wyjatki ;)

3
Wibowit napisał(a):

Moim zdaniem przyzwoite tempo, zwłaszcza że w Javie 8 są całkiem fajne zmiany w języku.

To samo pisałeś trzy lata temu. :P

Shalom napisał(a):

Po prostu w .net zmiany idą od "góry" tzn będzie to "co sobie MS wymyśliło", a w javie zmiany idą "od dołu", tzn jest to czego ludzie potrzebują i używają.

Byzydura.
MS wymyśla język, platformę (BCL) i maszynę wirtualną. Dodają też swoje biblioteki, ale nie wiem kto ich używa. Przy dużych systemach stosuje się raczej NHibernate niż microsoftowe ORMy (chociaż EF podobno już potrafi mapować enumy ;P). Microsoftowych loggerów, kontenerów IoC, mocków i innych takich narzędzi, które ponoć istnieją, nigdy nie widziałem w użyciu w żadnej firmie. MSTest w porównaniu z NUnit ssie. Większość bibliotek stosowanych w komercyjnych projektach .NET jest open source, często też stosuje się rozwiązania komercyjne firm trzecich, zwłaszcza biblioteki GUI, bo to co daje MS to podstawowe rozwiązania, które sprawdzają się jedynie w bardzo prostych przypadkach.

No ale bez jaj - coś tak banalnego jak operacje na czasie to akurat powinno być w najbardziej podstawowej wersji języka.

W javie jeśli czegoś potrzebujesz to najpewniej ktoś to juz napisał

A gdzie tak nie jest? W Delphi?

0

To samo pisałeś trzy lata temu. :P
(...)
No ale bez jaj - coś tak banalnego jak operacje na czasie to akurat powinno być w najbardziej podstawowej wersji języka.

W Javie jest coś takiego jak JCP i to trochę trwa, dlatego Oracle nie miał szans zdążyć z tym na czas wydania Javy 7. Sun zdążył ledwo zrobić Early Draft (do nowego Date and Time API) do 2010 roku, na rok przed sfinalizowaniem postaci Javy 7. Dodatkowo początkowo po przejęciu Suna był burdel, część pracowników się buntowała i zwalniała, etc

Zresztą chyba nie potraficie czytać. Napisałem, że za Oracle'a rozwój Javy przyspieszył, a nie że cały czas od początku był żwawy.

1
somekind napisał(a):

No ale bez jaj - coś tak banalnego jak operacje na czasie to akurat powinno być w najbardziej podstawowej wersji języka.

Bez przesady, pełna obsługa dat i czasu to nie jest taka banalna sprawa. W niektórych popularnych językach nadal nie ma pod tym względem kompletnie nic (np. w C lub C++) lub są jeszcze gorsze potworki (PHP). C# powstawał później i MS miał szanse pewne rzeczy skorygować.

BTW: I tak ScalaTime miażdży wszystko inne pod względem czytelności kodu:

DateTime.now + 2.minutes + 10.seconds
3

W niektórych popularnych językach nadal nie ma pod tym względem kompletnie nic (np. w C lub C++)

I tak ScalaTime miażdży wszystko inne pod względem czytelności kodu

W C++ to będzie tak: system_clock::now() + 2min + 10s;

Nie żartowałem z tym, że C++ ostatnio rozwija się całkiem prężnie :D.

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