O przyszłości C#, .NET słów kilka ;)

0

Od dłuższego czasu na naszym podforum przewijają się tematy czysto techniczne. Pora na temat z serii dyskusyjnych ;). Jak Wy widzicie przyszłość platformy .NET i języka C#? Czy widzicie siebie (a może już jesteście, jeśli tak to jak jest?) w roli zawodowego programisty w C#/.NET? Jak C# wygląda w porównaniu do Javy i jak .NET 3.0 wygląda w porównaniu do (nadchodzącej) Javy 1.6? Czy C++ będzie dalej odchodziło w zapomnienie, na rzecz C# i Javy? Jak popularność .NET-u wzrośnie wraz z wyjściem finalnej Visty? Czy ASP.NET będzie dalej wydzierał programistów webowych piszących dawniej w PHP? Jak widzicie przyszłość platformy MONO?

Zachęcam do burzliwej dyskusji ;]

Ps. Ja się wypowiem za jakiś czas <;

0

Jak na moje to wszystkie jezyki z rodziny C sa dobre i maja przyszlosc. Ale C# bedzie przejmowal rynek po C++ bo jak na moje jest prostrzy, szybciej sie tworzy i ma pare przydatnych zmian. C++ jak na moje jest troche dziwny :P wole C lub C#.

Java za to jest dobra bo jest przenosna bez rekompilacji ale niestety jest wolniejsza od programow w wersji binarnej i nie mozna robic wszystkiego co w innych jezykach bo mozesz tylko robic to co przewidzieli Ci od maszynki wirtualnej :P

0

Do postu wyzej: co to sa "jezyki rodziny C"? Wszystko co uzywa nawiasow klamrowych? Sry ale strasznie nie lubie tego okreslenia

Ja mysle, ze za kilka lat bedziemy mieli doczynienia z trzema glownymi dziedzinami programowania: Windows, WWW i Embedded.

Wplyw na programowanie pod Windows ma oczywiscie Microsoft i wg to oni beda kontrolowac to co bedzie sie dzialo na tej platformie - przypuszczam, ze bedzie sie tu liczyl jedynie C#. Mam jedynie male zastrzezenie co do C#, mianowicie bardzo szybko wychodza kolejne jego wersje, byl C#, aktualnie rzadzi wersja 2.0, niedlugo 3... a gdzie kompatybilnosc?

WWW: tutaj bardzo ciezko mi jest cokolwiek spekulowac, jest niby PHP ale na dobra sprawe nie sprawia on wrazenia profesjonalizmu, ja go postrzegam jak przecietny jezyk skryptowy z masa wrapperow do wszystkiego, co prawda wygodny ale jakis czas temu mialem w glowie kilka pomyslow "jak ja bym to zrobil" - prawde mowiac to chcialem sprobowac zaprojektowac jakis jezyk tego typu ale niestety czasu mi zabraklo, moze kiedys... Przyszlosc moze miec tutaj rowniez ASP czy Java, ale na moje oko to jeszcze nie jest to. Glosno jest tez ostatnio o Ruby o Rails, ale mysle, ze raczej w I lidzie on nie bedzie.

Embedded: pomijajac roznego rodzaju asmy, C itp to oczywiscie Java! Jest bardzo ciekawym jezykiem i "ma duze doswiadczenie" w tego typu systemach, komorki i te sprawy.

0

C# ma ten plus nad Javą, że można w nim teoretycznie pisać normalne gry 3D.
Ma Managed DirectX. Jest dużo prościej, bo za nas wszystko czysci garbage colector. (chociaż podobno przy zaawansowanych projektach garbage może zawieść/nienadążać, ile w tym prawdy - nie wiem :) )

Mimo to C++, C# i Java zajmują różne rynki, chociaż częsciowo sie pokrywają.
Ale do gier, pewnie przez jeszcze długi czas będzie C++ używany.
C++ również ma przewage, jeśli musimy w pelni panować nad kodem.
C# będzie do baz danych i w przyszlosci do programów użytkowych (teraz chyba platofrma .NET jest zbyt mało popularna, trzeba poczekać na Viste).

Mono jeszcze nie próbowałem, ale dobrze by było jakby sie rozpowszechnilo, przerobienie projektu z .NET na MONO to pewnie kwestia kilku chwil :)

0

A więc moim zdaniem.. no właśnie moje zdanie jest niestałe.. Przeglądam często wszelakie statystyki np. http://www.tiobe.com/index.htm?tiobe_index oraz http://www.tiobe.com/index.htm?tiobe_index i w sumie sobie zaprzeczają.. Jedna wskazuje na wzrost popularności C#, druga na spadek.. W przyszłości chciałbym zostać dobrym programistą, ale póki co nie wiem w czym chciałbym pisać. Wszystko wskazuje na to, że C# jeszcze stanie się hitem, ale mam jakieś nieodparte wrażenie, że lada chwila pojawi się język, który będzie zaskoczeniem i sukcesem na miarę Javy.. Właśnie a propos Javy, niby wciąż jest popularna, ale traci zwolenników, dlaczego? Czyżby jednak okazało się, że uber-wysoki poziom jest za wysoki i często trzeba schodzić niżej, a może to problemy finansowe Suna niezbyt dobrze rokujące samej Javie. Myślę, że wraz z premierą Visty .NET stanie się bardzo popularne, chyba, że Vista okaże się wielką porażką. ASP .NET staje się popularne, ale jednak serwer na Windowsie to nie to samo co na Pingwinku.. MONO to ciekawa sprawa.. zdaje się, że nastała jakaś stagnacja, ale jednak nowe buildziki wychodzą, a w niej.. winformsy! Czyżby rewolucja miała iść dalej i będziemy mieli Linuks a'la Windows?:)

0

Uważam że Java nie straci popularności. Do bardzo dużych komercyjnych rozwiązań nadal jest jedyną naprawdę sprawną alternatywą. I nikt mi nie powie że C++ czy C#. Na razie nic nie ma takiej popularności jak Java. Mówimy tu o serwerach aplikacyjnych a nie www.
Lukke -> co do serwerów na Windowsie. Wiesz ile serwerów stoi na windzie? jest to chyba jedyny system operacyjny który ma taki prosty serwer jakim jest IIS.

I nikt mi nie powie że Windows jest niebezpieczny. Skoro bierzesz się za hostowanie to musisz mieć pojęcie o administrowaniu i zarządzaniu bezpieczeństwem, a co za tym idzie musisz wiedzieć co w trwaie piszczy.

poza tym IIS jest JEDYNYM do tej pory serwerem, o którym mi wiadomo że obsługuje wszystkie technologie.

ASP, ASP.NET, JSP (po doinstalowaniu Tomcata albo JRun'a), ColdFusion, PHP, RubyOnRails (jakby ktoś nie wierzył to proszę tu link http://wiki.rubyonrails.org/rails/pages/HowtoSetupIIS). Czy czegoś jeszcze nie wymieniłem? Jeżeli tak to proszę bardzo mnei o tympoinformować :P

A poza tym Windows jest jedynym, systemem na którym pójdzie MS SQL Server. A nie oszukujmy się. Jest to najwydajniejsza technologia bazodanowa z tych, których się używa w sieci. I jest w pełni supportowana.

Dobra. Ale odbiegłem trochę od tematu :)

Wracając. MONO jak dla mnei nie ma zbyt wielkiej przyszłości. Jak ktoś ma hosting wykupiony (a przecież cenowej różnicy nie ma pomiędzy win a Lin) z aspx to po co mu mono????

A jak stawiasz serwer na Windzie to i tak masz aspx za free. A teraz odpowiedzcie mi na takie pytanie. Skoro stawiamy serwer na Win, który kosztuje 5000 PLN i mamy support a stawiamy go na Linuksie do którego nie mamy supportu to co się bardziej opłaca?

MONO mówimy nie!

Jak chodzi o języki programowania to największym konkurentem C i C++ jest już a w niedalekiej przyszłości prawdopodobnie wyprzedzi ich D. To jest język na miarę prędkości C z możliwościami Javy :) ale do zastosowań webowych się nie nada ;)

Taka jest moja opinia :D

Pozdrawiam

0

Jasne Java jest nadal na szczycie, ale czy nie jest to tak, że jest to spowodowane tym, że jakiś czas temu wyprodukowano masę oprogramowania w Javie (okres pre-.NET) i teraz to wszystko musi jakoś chodzić i być supportowane? Czy nie jest tak, że to co nowe produkuje się raczej w .NET, a Javę bardziej supportuje (oczywiście upraszczając)? Co do MONO to nie chodziło mi raczej o rozwiązania webowe, ale aplikacje biznesowe i desktopowe, myślisz, że do tego się nie nadaje (obsługa księgowości w firmie, która chodzi na Linie itp.)?

Z tym D to mnie zainteresowałeś, muszę trochę poszperać, wcześniej prawie nic o nim nie słyszałem ;)

0

no właśnie. MONO nie nadaje się do obsługi księgowości w firmie właśnie dlatego że nie ma jeszcze pełnego wsparcia takiego jak .NET

poza tym. Pokaż mi serwer z supportem, który obsługuje MONO. z supportem płatnym oczywiście gdzie twórca nie ma możliwości powiedzieć ci poszukaj gdzieś na sieci tylko musi ci dać gotowe rozwiązanie.

a dla Javy są albo servery supportowane (takie jak sunOne Server czy Borland AppServer albo jeszcze inne) gdzie płacisz i wymagasz, albo stawiasz jakiś free server ale za to możesz od Sun'a kupić wspracie dla własnych projektów w Javie i jak sobie nie radzisz z czymś to oni Ci pomogą.

ponieważ większość takich "nowinek" opensource'owych nie ma takiego supportu nie opłaca się tego wdrażać. bo powiedzmy dojdziemy do punktu gdzie nie będziemy mogli sobie poradzić z jakimś problemem niezmiernie istotnym dla całości rozwiązania. i co twórcy ci powiedzą? ok dołożymy w następnej wersji? dla ciebie jest to rozwiązanie nie do przyjęcia. natomiast jak masz support to albo ci muszą od ręki dołożyć taki moduł, który został przegapiony, albio muszą ci wskazać inne rozwiązanie Twojego problemu.

Dlatego .NET i Java mają największą przyszłość. I są firmy, które nie zraża serwer Win. Ja osobiście jestem zwolennikiem serwerów na win, chociaż długo korzystałem z Apache'a nie wstydze sie błędu( bo dla mnie to błąd ). Dlaczego? bo teraz jak sobie z czymś nie mogę poradzić stosuję jedną strategię. Biorę telefon dzwonię do Microsoftu i oni mi mówią co mogę zrobić. Wiadomo że support kosztuje. Ale czy przypadkiem droższy nie będzie czas mojego szukania po sieci mojego rozwiązania?

Prosty przykład. U mnie w firmie pracuje się tylo na windach. Zakupiony jest do tego serwer JRun (Adobe), który obsługuje ColdFusion'a. Dlaczego została taka technologia (bardzo niepopularna w Polsce) wybrana? Z kilku powodów. PHP? Nie...... Nie masz w ogóle supportu. ASPX? w momencie w którym był rozwijany projekt w firmie aspx było jeszcze w powijakach dlatego nie zostało wybrane. JSP? Mamy możliwość kodzenia JSP bo JRun obsługuje JSP więc servlety applety RMI i wszystko całe dobro inwentarza Javovego. No dobrze możecie powiedzieć że można to przecież zainstalować na Linuksie. Ale Baza. Baza Danych. :D Nie ma żadnych darmowych rozwiązań. Potrzebujemy w pełni profesjonalną bazę i dlatego płacimy za support do MS SQL'a. Tak więc widzicie dlaczego Java ma taką popularność. Bo jest instytucja / firma, która może wziąć pieniądze za support ale wam pomóc.

A co do D ;) najbardziej podoba mi się w nim garbage collector którego w c++ nie było :) http://en.wikipedia.org/wiki/D_programming_language#Example_1

0

C# i jezyki .NET'owe to przyszlosc.

Bylaby to terazniejszosc ale Microsoft popelnil blad strategiczny. Programowanie w C# nabiera smaczku w visual studio 2005 a naprawienie paru bag'ow i dodaniu wielu ulatwien w .net 2.0 o wiele uprzejmnia prace. Jednak... nie ma komercyjnych aplikacji w .net 2.0... wlasnie przez framework'a! W windowsie po instalacji service pack'a masz framework'a 1.1... a klienci... nie zycza sobie sciagania osobno 20mb frameworka, tylko po to by wedlug ich mniemania tylko Twoja aplikacja chodzila.

Programuje zawodowo i wiem, ze aplikacje .net'owe mimo ich niepodwazalnych zalet nieprzechodza. Obecnie .net 2.0 rzadzi? dla hobistycznych programistow chyba...

Ale wszystko zmieni sie z rok - dwa po premierze visty, gdzie juz bedzie na stale framework 3.0 i na pewno powstanie sp3 do xp i wszyscy programisci .net beda happy :)

0

jmail: Dzięki za wypowiedź, interesująca. Moje wątpliwości co do MONO są trochę prowokacyjne - chcę się dowiedzieć co inni myślą. Powiem Ci, że mam poglądy podobne do Twoich (a zdawało mi się, że zwolennicy nie-OpenSource siedzą cicho i robią swoją robotę :>), cenię sobie support, mniejszą zawodność itp.

wasiu: Ale zaraz.. instalowanie frameworka to ile? 5 minut? Właśnie dla aplikacji komercyjnych to nie przeszkoda, bo przychodzi admin i na 20 kompach odpala instalke i już, dla niego to żadna robota. Z resztą jeśli mowa o super-kombajnach-do-zarządzania-całą-firmą, to przecież, by zainstalować jedną kopię nie jest to wielkie wyzwanie? ASP .NET prawie całe jest już robione w 2.0, bo instalka na serwerze to żaden problem. Wydaję mi się właśnie, przeciwnie do Ciebie, że to aplikacje hobbystyczne, OpenSource w .NET 2.0 nie mają szans, bo leniwym, którzy do tego mają za darmo nie chce się nic więcej robić.

0

Lukke -> wasiowi chyba chodziło o aplikacje po stronie klienta, że jeżeli napiszesz ją w .NET 2.0 to na każdej końcówce musisz też 2.0 zainstalować. Dużo racji jest w tym co wasiu mówi. .NET 2.0 jest opłacalny po stronie serwera bo tam rzeczywiście wystarczy go doinstalować.

Druga kwestia. Bardzo źle się stało, że Microsoft nie wprowadził tego co zrobił Sun. Zgodność wsteczna. Żeby .NET 2.0 obsługiwał również 1.1 aplikacje i resztę. Mówię tu oczywiście znowu o końcówkach. Nie ma zgodności. Chcesz pisać w .NET 2.0 i używać delphi? Znajdź sobie delphi 2006. a wystarczyło pozamieniać przy instalacji frameworka parę wpisów w rejestrze.......

Co do nieopensourcowych rozwiązań. Prosty przykład (może nie z .NET ale zawsze). Wczoraj porównywałem Delphi7 i Lazarusa. Okrojone wersje te podstawowe. No cóż. samo uruchomienie Lazarusa trwało trochę dłużej niż Delphi. A do tego przy kompilacji.... No tu top już była tragedia. Lazarus zeżarł do samej kompilacji ponad 50 MB RAM'u. :/ Delphi tylko 14 MB i dodam że kompilowałem pustą formę :D

OpenSource jest dobry. Dla amatorów i tych co się obrażają że koncerny chcą pieniądze za swoje rozwiązania. Kiedy jednak OpenSource zaczyna się rozwijać na bazie jakiegoś komercyjnego rozwiązania wtedy można się zastanowić. Prosty przykład. Sun rozwijał StarOffice'a i na jego bazie powstał OS OpenOffice. Sun zdecydował się wrócić do StarOffice'a (który jest lepszy moim zdaniem od OO) i zarabia na tym, ale OO jest ciągle jakąś marką. następny przykład InterBase -> FireBird. Pełna współpraca pomiędzy Borlandem a IBPhoenix. Rozwijają praktycznie takie same projekty. Ale nadal IB ma większe możliwości. Dla przeciętnych ludzi to wystarczy. Ale reszta? Pełne komercyjne rozwiązanie jest wydajniejsze szybsze i bardziej dopracowane. A to znaczy bardzo dużo w świecie korporacji gdzie każda sekunda przetwarzania jest na wagę milionów.

0

Bardzo ciekawy temat - i ładnie utrzymany [żadnych świętych wojen].

Java jest jedynym językiem jaki poznałem, którego nie mogę przełknąc. Trudno dokładnie mi określic co było powodem takiego stanu rzeczy, ale kilka spraw, które mnie odpychają od Javy to:

  • ociężałośc, ślimaczene się.. ogólna powolnośc
  • pożeranie pamięci [jak pisałem spory projekt w Eclipse na J2EE to specjalnie do tego celu dokupiłem sobie 1GB RAMu]
  • rzadko kiedy wszystko działa na innym komputerze [ponad 40 osób na studiach, w 90% przypadków kody nie działały na innym komputerze]*

C# polubilem od pierwszego wejrzenia. W niczym wczesniej nie pisalo mi sie tak przyjemne i milo. W koncu moglem skupic sie na meritum sprawy a nie problemach jezykowych.
Poniewaz wciaz malo jest dobrych programistow C# [relatywnie porownujac do innych popularnych jezykow] a ja wielkimi krokami zblizam sie do koncowki studiow to postanowilem wstrzelic sie w ten jeszcze nienasycony rynek gdyz trafienie w nisze to jedyna szansa wybicia sie wg mnie - zarowno jako pracownika jak i wlasciciela firmy.

Tak sie jednak mi uklada, ze kolejna praca za kolejna to.. programmer PHP :) Ale nie narzekam hehe.. plan byl, moze kiedys wroce do C# bo uwazam go za kawal dobrej roboty.

__

  • taki przykład - robiliśmy w trójkę jakąś aplikację sieciową na J2EE + deploy tool + baza [nie pamiętam jaka, scrcrapper?]. 2 kompy, 2x win2k, na czysto instalowane w tej samej kolejnosci te same czesci javy, potem te same kroki [synchronizacja przez IM] i co? Na jednym kompie nie da sie zakonczyc procesu 'deploy' gdy na drugim idzie.. za to na odwrot, koncowy etap [juz nie pamietam co tam bylo] da sie tylko na pierwszym kompie, na drugim nie. Nawet prowadzacy sie dziwil co jest nie tak.. odpowiedz byla prosta: java byla nie tak ;)
0
Marooned napisał(a)

Java jest jedynym językiem jaki poznałem, którego nie mogę przełknąc. Trudno dokładnie mi określic co było powodem takiego stanu rzeczy, ale kilka spraw, które mnie odpychają od Javy to:

  • ociężałośc, ślimaczene się.. ogólna powolnośc
  • pożeranie pamięci [jak pisałem spory projekt w Eclipse na J2EE to specjalnie do tego celu dokupiłem sobie 1GB RAMu]
  • rzadko kiedy wszystko działa na innym komputerze [ponad 40 osób na studiach, w 90% przypadków kody nie działały na innym komputerze]*

__

  • taki przykład - robiliśmy w trójkę jakąś aplikację sieciową na J2EE + deploy tool + baza [nie pamiętam jaka, scrcrapper?]. 2 kompy, 2x win2k, na czysto instalowane w tej samej kolejnosci te same czesci javy, potem te same kroki [synchronizacja przez IM] i co? Na jednym kompie nie da sie zakonczyc procesu 'deploy' gdy na drugim idzie.. za to na odwrot, koncowy etap [juz nie pamietam co tam bylo] da sie tylko na pierwszym kompie, na drugim nie. Nawet prowadzacy sie dziwil co jest nie tak.. odpowiedz byla prosta: java byla nie tak ;)

Marooned -> Co do ślimaczenia się. Gdzie zaobserwowałeś to ślimaczenie się? Na serwerze? Na końcówce klienta?
Osobiście stwierdzam że na serwerze aplikacyjnym dużo czasu zajmuje tylko podniesienie serwera aplikacyjnego a póxniej biega aż miło do kolejnego restartu. co do aplikacji klienckich to zgadzam się i najlepiej jak najwięcej rzeczy wyrzucić na stronę serwera

Niekompatybilność -> no cóż. bardzo ciekawe zjawisko. Chciałbym bliżej się temu przyjrzeć ;)

Marooned napisał(a)

C# polubilem od pierwszego wejrzenia. W niczym wczesniej nie pisalo mi sie tak przyjemne i milo. W koncu moglem skupic sie na meritum sprawy a nie problemach jezykowych.
Poniewaz wciaz malo jest dobrych programistow C# [relatywnie porownujac do innych popularnych jezykow] a ja wielkimi krokami zblizam sie do koncowki studiow to postanowilem wstrzelic sie w ten jeszcze nienasycony rynek gdyz trafienie w nisze to jedyna szansa wybicia sie wg mnie - zarowno jako pracownika jak i wlasciciela firmy.

hmmmmm. Nie wiem. ode mnie znajomi wyjeżdżają na zachód za pracą i co który pisze w javie to w anglii ma od ręki robotę. tamten rynek ciągle javovców wchłania. z resztą nie ma co narzekać na brak pracy dla javovców w kraju. .NET też jest poszukiwany :)

0
  1. Co do ślimaczenia się.. wszystko co opisałem to praca na jednym komputerze [czyli bez rozdzielenia klient-serwer].
  2. Niekompatybilnośc.. projekt leży gdzieś w otchłani mojego dysku, po drugiej stronie globu.
  3. Na zachód powiadasz.. popatrz na info pod avatarem ;)
    Ale ale... za bardzo w strone Javy się przechyliliśmy a wątek o C# - wracamy na tory.
0

To moze ja jeszcze przy okazji o cos spytam (taki maly offtopic) - lepiej uczyc sie Visual C++ 2005 czy Visual C# ?

Niedawno sciagnalem sobie i zainstalowalem Visual C++ 2005 Express Edition i calkiem mi sie nawet podoba.

O ile sie dobrze orientuje, to Visual C# jest podobne, tylko ze oparte na C# a nie C++, zreszta nawet przyklady na MSDN sa podane miedzy innymi w C++ i C# i proaktycznie niewiele sie roznia poza skladnia.

Wydaje mi sie ze czesciej uzywane jest jednak Visual C#?

0

C# jest bardziej przystosowane do platformy .NET.
Wielu ludzi skarży się na C++ pod .NET i prędzej czy później przechodzą na C#. :)

Ja nie pisałem nigdy w C++ pod .NETem, tylko słyszałem i czytałem, że C++ i .NET to nie dokońca udane połączenie. ;)

0

Bardzo ciekawy temat. Dorzucę parę groszy od siebie.

Początkowo nie byłem zwolennikiem Javy, programuję od wielu lat w C/C++ (BCB), jednak jak przyszło mi robić aplikację typu embedded to Java praktycznie nie ma konkurencji. Ta aplikacja to terminal akwizycji danych, jak ma połączenie to komunikuje się z serwerem i wysyła mu dane, jak nie może się połączyć to je magazynuje i czeka na możliwość wysłania ich. Wszystko to pracuje na linuksie (względy finansowe oraz bardzo mało miejsca pamięci ROM). Java ma genialnie rozwiązane pojęcie wątków, socketów, a ja korzystam z tego wszystkiego i jak bym miał to pisać w C/C++ to zajęło by mi to ze trzy razy więcej czasu niż w Javie. Kod wynikowy Javy jest wolniejszy od kodów binarnych innych języków ale w moim przypadku to nie ma żadnego znaczenia. Wszystko jest kwestią dokonania dobrego wyboru, prawdopodobnie nie posilił bym się o stworzenie aplikacji klienckiej w Javie robie to w BCB jest szybko (w przeciwieństwie do MFC) i bez żadnych większych problemów np. na stabilności itp. Jeżeli chodzi o C# to moim zdaniem ma dużą przyszłość ale to wszystko jeszcze przed sobą. Sama technologia .NET jest jeszcze nie dopracowana i wiele dużych firm w nią nie wchodzi. MONO na linuksa to też jeszcze mina można się nią pobawić ale komercyjnych aplikacji bym raczej pod to nie pisał.

Reasumując:

  • C/C++ - aplikacje klienckie
  • Java - moduły osadzone typu embedded
  • C# - obserwuję, uczę się, widzę w tym języku (mniej w .NET póki co) duże możliwości może nawet wyparcie w moim przypadku BCB.

pozdrawiam melu.

0
jmail napisał(a)

Druga kwestia. Bardzo źle się stało, że Microsoft nie wprowadził tego co zrobił Sun. Zgodność wsteczna. Żeby .NET 2.0 obsługiwał również 1.1 aplikacje i resztę.

śmiem się nie zgodzić: wsteczna kompatybilność zmusza Suna do ciągnięcia za sobią ogona 10letniej historii języka (samo oznaczanie elementów języka jako deprecated to za mało). Np: genericsy: w Javie to tylko cukier syntaktyczny dla rzutowania (tak czy siak przydatny), w C# to jest stały, dobrze zaimplementowany element języka.

jmail napisał(a)

OpenSource jest dobry. Dla amatorów i tych co się obrażają że koncerny chcą pieniądze za swoje rozwiązania.

OpenSource jest dobry. (odnosząc się do poprzedniego: Sun ogłosił, że niedługo otworzy Javę) Właściwie zawsze. Ale tu poglądy zależą trochę od mentalności i używanego OS'a... i od stanu gotówki

<część pochwalna dla Linuxa - możesz przewinąć niżej ;) >
<font size="1">Linux (Fedora Core 5 - bo jestem leń i wszystko działa :)) : mam kompletne, bardzo dobre, wygodne (wygodniejsze od Windy) środowisko do:

  • pracy (Eclipse do Javy i C++, g++, Python, dużo egzotycznych języków, GIMP, itd itp)
  • netu (FF,obsługę ftp mam wbudowaną w system,zajebisty komunikator gajim (Jabber))
  • filmów (z mplayerem filmy chodzą mi lepiej niż pod windą, odtwarza nawet (całkiem poprawnie) nie do końca ściągnięte i uszkodzone filmy, opensourcowa wtyczka do firefoxa obsługuje wszystkie (!) formaty filmów spotykane na stronach www (tak, quicktime i wmv też) )
  • muzyki (Amarok rulez).
  • stawiania dla siebie serwerów (ftp, ssh <- no ba, potrzebne po prostu, www+php+django <- wiadomo,
    serwery ET i T (czasem, dla rozrywki)
  • problem jest tylko z grami (mam słabego jak na dzisiejsze standardy kompa), ale jakoś tak się składa że grywam tylko w ET, Tremulous,Wesnoth, OpenTransportTycoon (zgadnijcie czy są open czy nie...)
    </span>
    </część pochwalna>

i wiesz ile za to zapłaciłem? tyle ile kosztuje mnie net w akademiku. I NIE mam pirackiego oprogramowania na linuxie ;). I, prawdę mówiąc, jestem przekonany że płatne rozwiązania wcale nie są lepsze softu OpenSource. Odkąd przeszedłem na linuxa moje życie zrobiło się... prostsze.

Marooned napisał(a)
  • ociężałośc, ślimaczene się.. ogólna powolnośc
  • pożeranie pamięci [jak pisałem spory projekt w Eclipse na J2EE to specjalnie do tego celu dokupiłem sobie 1GB RAMu]
  • rzadko kiedy wszystko działa na innym komputerze [ponad 40 osób na studiach, w 90% przypadków kody nie działały na innym komputerze]*
  • ociężałość: ee? no trochę - ale nie podczas pisania - tylko przy uruchamianiu (ale nie wiem, masa ludzi się na to skarży a mój Eclipse (obecnie 3.2, Linux) działa zajebiście szybko... (małe i średnie projekty - otwierałem kilka dużych i specjalnego spadku prędkości nie uświadczyłem).
  • pożeranie pamięci - mam 512 i w 95% to wystarczy - problemy miałem tylko afair z Maplem (duże środowisko napisane w Javie, winXP).
  • rzadko kiedy... - no tu muszę sie stanowczo nie zgodzić - jak się nie potrafi pisać/skompilować/zjarować/uruchomić to może nie zadziała (ile razy to ja widziałem: "aa, piszę java prog.class i nie chce mi działać, wszyscy zginiemy a java jest do d**y" rofl). Każdy pprawnie skompilowany program będzie działać na każdej maszynie z wymaganą JRE (nie używający funkcji systemowych ani rzeczy specyficznych dla OS, np: niepoprawna wielkość liter w nazwie pliku poprawnie będzie działać w Javie pod win, ale niepoprawnie pod linuxem).

ale wracając to tematu:
C# przez najbliższe parę lat będzie grubiał w biblioteki, frameworki i elementy języka (w C# pojawiły się już chyba lambda wyrażenia - stara rzecz acz pewnie będzie reklamowana jako coś zupełnie nowego, blah blah, anyway - język ten ma o tyle szanse o ile programiści będą potrafili skorzystać z featur'ów które są im dawane do dyspozycji). IMO za parę lat M$ wypuści kolejną wersję windows opartą już w całości o C# (prace nad tym trwają już od roku czy 2 lat, nie pamiętam), ale, nie ukrywajmy - to jest ewolucja języka a nie rewolucja. Z jednej strony: C# miał już 5 (tak, 5) lat na podbicie świata a na razie zabrał javie może 20% rynku i na więcej się nie zanosi - a z drugiej - w latach 80 Lisp miał wyprzeć C - (do tej pory w necie można znaleźć peany dla lisp-machines), ale jakoś mu nie wyszło - C# już raczej nie będzie drugim lispem (zresztą koncepcje tych języków są całkiem odmienne).

(żeby nie było: lisp to zajefajny język imho - pisałem parę zabawek w Scheme i bardzo mi się podobał)

0
dreamer_ napisał(a)

śmiem się nie zgodzić: wsteczna kompatybilność zmusza Suna do ciągnięcia za sobią ogona 10letniej historii języka (samo oznaczanie elementów języka jako deprecated to za mało). Np: genericsy: w Javie to tylko cukier syntaktyczny dla rzutowania (tak czy siak przydatny), w C# to jest stały, dobrze zaimplementowany element języka.

nie mówię o ciągnięciu ogona. ale wsteczna kompatybilność na zasadzie jednej dwóch wersji wstecz. a teraz jak chcesz mieć kompatybilne cos z którym kolwiek frameworkiem to musisz i jeden i drugi instalować. Bez sensu.

dreamer_ napisał(a)

OpenSource jest dobry. (odnosząc się do poprzedniego: Sun ogłosił, że niedługo otworzy Javę) Właściwie zawsze. Ale tu poglądy zależą trochę od mentalności i używanego OS'a... i od stanu gotówki

<część pochwalna dla Linuxa - możesz przewinąć niżej ;) >
<font size="1">Linux (Fedora Core 5 - bo jestem leń i wszystko działa :)) : mam kompletne, bardzo dobre, wygodne (wygodniejsze od Windy) środowisko do:

  • pracy (Eclipse do Javy i C++, g++, Python, dużo egzotycznych języków, GIMP, itd itp)
  • netu (FF,obsługę ftp mam wbudowaną w system,zajebisty komunikator gajim (Jabber))
  • filmów (z mplayerem filmy chodzą mi lepiej niż pod windą, odtwarza nawet (całkiem poprawnie) nie do końca ściągnięte i uszkodzone filmy, opensourcowa wtyczka do firefoxa obsługuje wszystkie (!) formaty filmów spotykane na stronach www (tak, quicktime i wmv też) )
  • muzyki (Amarok rulez).
  • stawiania dla siebie serwerów (ftp, ssh <- no ba, potrzebne po prostu, www+php+django <- wiadomo,
    serwery ET i T (czasem, dla rozrywki)
  • problem jest tylko z grami (mam słabego jak na dzisiejsze standardy kompa), ale jakoś tak się składa że grywam tylko w ET, Tremulous,Wesnoth, OpenTransportTycoon (zgadnijcie czy są open czy nie...)
    </span>
    </część pochwalna>

i wiesz ile za to zapłaciłem? tyle ile kosztuje mnie net w akademiku. I NIE mam pirackiego oprogramowania na linuxie ;). I, prawdę mówiąc, jestem przekonany że płatne rozwiązania wcale nie są lepsze softu OpenSource. Odkąd przeszedłem na linuxa moje życie zrobiło się... prostsze.

to wszystko co wymieniłeś masz również pod windą. ale niektórych rzeczy spod windy nie masz na linuchu.

Jeżeli jestes webmasterem to nie masz IE do testów jak to w nim wygląda strona.

Nie masz .NET'a żeby poznac nową technologie i w niej się czegoś nauczyć i zrobić.

Nie masz MS SQL'a, który jakby nie patrzeć jest jednym z dwóch najpotęzniejszych silników bazo(i nie tylko)danowym. W .NET możesz własne typy danych w nim tworzyć i funkcje na ten przykład pisać

jeszcze sporo przykłądów możnaby wymienić.

poza tym ja nie mówię że OpenSource jest zły. Nie wszystkie otwarte produkty OpenSource są spaprane. Prosty przykład FB (ale on wyrósł z silnika IB więc hmmm), OpenOffice (ale on wyrósł ze starOffice'a więc hmmm). Możnaby mnożyc takich przykładów sporo.

Ale dyskusja była o C# ;) więc do niej wróćmy.

Osobiście nie zgodze się że za jakiś (bliżej nieznany czas) C# będzie dobrym językiem. A co do pisania w nim systemu to Vista w znacznej mierze ma kod napisany w C# a całkowicie C#'owy system nie będzie się nazywał Windows tylko Simplicity. I juz prace nad nim trwają.

0

Uhuhuhu, cieszę się, że topic się podoba, ładna dyskusja ;)

jmail: Nie tyle Simplicity, tylko Singularity, acz prace te trwają w dziale "risercz", więc czy oddany on będzie do publiki, to moim zdaniem wątpliwa sprawa.. nie ma go na liście systemów do wydania na najbliższe lata... (ostatnio na channel9 był film na którym system już chodził, z własnym kernelem w C#)

Co do pozycji C# na rynku to wrzucę jeszcze raz rankingi:

http://www.tiobe.com/index.htm?tiobe_index <- W tym Java jak widać trzyma się wciąż kurczowo pierwszego miejsca, dalej C#, średniawa od dłuższego czasu, ale

http://radar.oreilly.com/archives/2006/07/state_of_the_computer_book_mar_4.html -> ale tu, C# wzrasta, Java traci (C++/C też), łaczny rynek książek .NET-owych i C# jest nieco większy od Javowego (można wycztać w całym artykule), oczywiście rankingi zestawiają co innego, ale zawsze można poczytać i wnioskować ;)

Co do legalności.. dla domowych użytkowników jest to raczej poziom ekstremalnie trudny do osiągnięcia.. Załóżmy, że ma się Linuksa i soft do niego open, spoko. Chcesz pogadać z koleżanką na gg ;), pudło - pierwsze działanie niezgodne z prawem, bo kadu i inne jest nielegalne (nie jest autorskim programem), takich drobnych przypadków jeszcze jest pewnie sporo, ale największą plagą są na pewno filmy i muzyka.. kto z Was może się poszczycić brakiem nielegalnych mp3 czy choćby jednego filmu/gry?

Oby tak dalej panowie, bez kłótni, bo czyta/pisze się naprawdę przyjemnie..

0
Lukke napisał(a)

Co do legalności.. dla domowych użytkowników jest to raczej poziom ekstremalnie trudny do osiągnięcia.. Załóżmy, że ma się Linuksa i soft do niego open, spoko. Chcesz pogadać z koleżanką na gg ;), pudło - pierwsze działanie niezgodne z prawem, bo kadu i inne jest nielegalne (nie jest autorskim programem), takich drobnych przypadków jeszcze jest pewnie sporo, ale największą plagą są na pewno filmy i muzyka.. kto z Was może się poszczycić brakiem nielegalnych mp3 czy choćby jednego filmu/gry?

Gwoli scislosci: filmy i muzyka nie sa nielegalne, jesli sa tylko do uzytku wlasnego, badz w towarzystwie znajomych i/lub rodziny (ustawa o prawie autorskim i prawach pokrewnych o ile pamietam). A co do kadu - to inne komunikatory maja pluginy obslugujace protokol z gada - chociaz to tez nie jest chyba legalne, nie jestem pewien.

Zeby nie bylo, ze OT :) Ja bardzo polubilem c#, milo sie w nim pisze, msdn to potega (do tego za darmo), jest darmowy #develop, praktycznie z ta sama funkcjonalnoscia co visual, jest microsoftowy darmowy web developer do asp.net, jest darmowy silnik msde... Jak dla mnie zyc nie umierac. Az dziw bierze, ze cos co stworzyl microsoft jest 'az tak' darmowe :) Jedyne co pozostaje niedarmowe to system na jakim na razie .net dziala zgodnie z zalozeniami :P Rynek zaczyna sie otwierac na rozwiazania .netowe i powoli wchodzi do uzytku. Nie wiem czy pobije jave z jej popularnoscia, ale nie musi. Wazne, zeby klient i programista byli zadowoleni. Ja na razie jestem.

pozdrawiam
johny

0
dreamer_ napisał(a)
  • rzadko kiedy... - no tu muszę sie stanowczo nie zgodzić - jak się nie potrafi pisać/skompilować/zjarować/uruchomić to może nie zadziała (ile razy to ja widziałem: "aa, piszę java prog.class i nie chce mi działać, wszyscy zginiemy a java jest do d**y" rofl). Każdy pprawnie skompilowany program będzie działać na każdej maszynie z wymaganą JRE (nie używający funkcji systemowych ani rzeczy specyficznych dla OS, np: niepoprawna wielkość liter w nazwie pliku poprawnie będzie działać w Javie pod win, ale niepoprawnie pod linuxem).
    ok, to uznajmy, że nie potrafię rozróżnić wielkich liter od małych ani kompilować [w ogóle co to za trudne słowo?] - bo nie będę udowadniał, że nie działało - wystarczy, że ja i takich kilku jeszcze to wie...
0
dreamer_ napisał(a)
  • rzadko kiedy... - no tu muszę sie stanowczo nie zgodzić - jak się nie potrafi pisać/skompilować/zjarować/uruchomić to może nie zadziała (ile razy to ja widziałem: "aa, piszę java prog.class i nie chce mi działać, wszyscy zginiemy a java jest do d**y" rofl). Każdy pprawnie skompilowany program będzie działać na każdej maszynie z wymaganą JRE (nie używający funkcji systemowych ani rzeczy specyficznych dla OS, np: niepoprawna wielkość liter w nazwie pliku poprawnie będzie działać w Javie pod win, ale niepoprawnie pod linuxem).

AAAAAA. Jeszcze to wyczaiłem. Skąd Ty żes takie bzdury wziął, że plik z małymi literami a nazwą klasy w wielkich będzie pod Windą działał? :| Przecież JDK do tego nie doupuści. i tu nie chodzi o system.

Lame. Możesz się wstydzić. I teraz zaczynam się zastanawiać co tak naprawdę wiesz o Javie i C#. Może sadzisz nam tu kawałki, które gdzieś wyczytałeś?

0
jmail napisał(a)

AAAAAA. Jeszcze to wyczaiłem. Skąd Ty żes takie bzdury wziął, że plik z małymi literami a nazwą klasy w wielkich będzie pod Windą działał? :|

chyba zmieszałeś 2 rzeczy o których mówiłem (a może ja w mojej wypowiedzi jakoś to zmieszałem? :| ), już wyjaśniam:
sprawa 1): ignorancja wielu użytkowników sprawia, że niepowodzenie uruchomienia programu od razu (bezpodstawnie) zwalają na javę: i tu mój przykład: "java prog.class" nie zadziała, poprawnie powinno być: "java prog". Takich przykładów można zaobserwować więcej (np. niepoprawne jarowanie czy brak umiejętności uruchomienia jara).
sprawa 2): Jeśli program napisany w Javie będzie sięgał do systemu (po pliki, uruchamiał shella itp) to może być nieprzenośny - przykład (ten z wielkością liter): użycie metody getResource() w applecie - jeśli będziemy starali dobrać się do pliku np "Test", a naprawdę plik nazywa się "test" to w JRE pod windą zadziała a pod linuxem nie. powodem braku przenośności kodu może być też np. klasa Runtime.

jmail napisał(a)

Lame. Możesz się wstydzić. I teraz zaczynam się zastanawiać co tak naprawdę wiesz o Javie i C#. Może sadzisz nam tu kawałki, które gdzieś wyczytałeś?

w Javie piszę mniej więcej od roku (programuję od dawna, więc w w Javę wszedłem jak w masło ;) )
w C# nie piszę (tzn jakieś tam zabawkowe programy+babrałem się w jednym dużym projekcie) - ale to za mało żeby powiedzieć, że C# znam - raczej interesowałem się pod kątem różnic między nim a Javą (C# to znacznie nowocześniejszy język, naprawdę szkoda że nieprzenośny...).
proszę bezpodstawnie nie podważać moich kompetencji ;-P

w ramach ciągnięcia offtopa:

jmail napisał(a)

to wszystko co wymieniłeś masz również pod windą. ale niektórych rzeczy spod windy nie masz na linuchu.
Jeżeli jestes webmasterem to nie masz IE do testów jak to w nim wygląda strona.
Nie masz .NET'a żeby poznac nową technologie i w niej się czegoś nauczyć i zrobić.
Nie masz MS SQL'a, który jakby nie patrzeć jest jednym z dwóch najpotęzniejszych silników bazo(i nie tylko)danowym. W .NET możesz własne typy danych w nim tworzyć i funkcje na ten przykład pisać
jeszcze sporo przykłądów możnaby wymienić.

niby mam pod windą, ale to nie to samo: multimedia działają... brzydko - nieprzerwana pogoń za kodekami (najlepiej takimi które nie są zaspyware'owane), przestarzałe player'y, zabezpieczenia DRM, te jeb* reklamy na płytach dvd których nie można przewinąć.
stawianie serwerów na użytek domowy to tragedia a na komercyjny: niewygoda (raz na miesiąc aplikować łaty? blee)
no nie mam IE - wada. Ale ja nie jestem IE-friendly - GoogleAnalytics wskazuje, że zaledwie 8% odwiedzających mojego bloga używa IE więc olałem poprawną obsługę tej przeglądarki (czy wersja 7 zaczeła obsługiwać przezroczyste png'i? bo na 100% dalej nie obsługuje poprawnie css'a).
nie mam .NET'a... mam mono, ale to nie to samo; niestety winda pokutuje u mnie jeszcze jako drugi system, czasem z musu trzeba to poobsługiwać :(.
MS SQL: nie znam się, ja baz danych tylko używałem (no i administruję sobie postgresa, ale to na prywatny użytek), ale jeśli jest taki dobry to dlaczego google odpowiada: mssql:11,900,000 mysql:341,000,000 postgres:53,000,000 jest jeszcze oracle, czyli popularność mssql wynosi... mniej niż 2%? poza tym: jeśli kupisz system od Novella czy Redhata to będziesz miał pomoc techniczną tak samo jak do win... tyle że chyba taniej...

ale wracając do tematu:
co do Singularity (wcześniej zapomniałem nazwy) <- no przecież M$ nie zrezygnuje chyba z marki którą promuje od ilu... 20lat (nie chce mi się sprawdzać dokładnie ile)? chyba nikt nie wątpi, że to będzie kolejny Windows?
Co do Visty: jeszcze się nie ukazała, ale już co do możliwości i chrome'u dorównują jej rozwiązania OpenSource (XGL, aiglx), a już - nawet po prezentacjach widać że przegrywa z Leopardem (nowy Mac OS, chyba zdąży wyjść wcześniej od Visty).
co do C#: jak już pisałem, imo język nie wymrze (jak lisp) ani świata nie przejmie (do pisania OS i gier: C++ jeszcze trochę się będzie trzymał; do zastosowań biznesowych: Java tu jeszcze długo nie da się wyprzeć; do zastosowań domowych i naukowych: tu Python zdobył przewagę i będzie ją tylko umacniał; edukacyjnych: nie nadaje się do nauki programowania (podobnie jak Java)). C# raczej przyjmie się jako język do pisania pod windows - i tu chyba nastąpi znaczna ekspansja na rynek zwykłych aplikacji desktopowych (i dobrze, C++ tu dominuje na razie, ale sprawdza się średnio (z punktu widzenia programisty), Java podobnie ('szybkość' działania :/)).

co ciekawe: nikt nie porównywał wcześniej C# do Pythona - języki te bardzo wiele różni, ale łączy właśnie takie nowoczesne, bardziej otwarte podejście do zmian (Java i C++ są jeszcze jakby w 'epoce' wstecznej kompatybilności) - czy uważacie że ten trend 'ewoluujących' języków to tylko przejściowa moda czy może przyszłość?

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