Skocz do zawartości

C# czy Java?


Recommended Posts

Potrzebuje jakieś odskoczni od C++, myślałem właśnie nad spróbowałem C# lub Javy. Mam tylko pytanie, związane z rynkiem pracy: który z tych języków jest bardziej potrzebny wykorzystywany w przedsiębiorstwach? Od razu byłbym wdzięczny za polecenie jakieś publikacji (wolę uczyć się z książek). C++ uczę się z "Symfonia C++" i właśnie taki język jak Grębosza najlepiej by mi odpowiadał (szczegółowo omówiony każdy problem, dość łopatologicznie.

 

Link to post
Share on other sites

Oba języki mają wady i zalety.

Java jest bardziej przenośna, masz więcej swobody. C# ogranicza cię do Windowsa i Visual Studio. Moim zdaniem jednak w C# pisze się szybciej i wygodniej (to tylko moja subiektywna opinia).

Najlepiej spróbuj jednego i drugiego, bo to jest kwestia osobistych preferencji, przyzwyczajeń i stylu pisania danego programisty. Doradzić który język jest lepszy to jakby doradzać która dziewczyna ładniejsza ;D

 

Wg mnie oba jezyki dają równie dobre perspektywy pracy i rozwoju, więc tym się nie ma co sugerować. Książki żadnej nie polecę bo ja akurat C# uczyłem się na gorąco pisząc projekty ;-)

 

Wysyłane z mojego GT-I9100 za pomocą Tapatalk 2

 

Edytowane przez Luki91
  • Popieram 2
Link to post
Share on other sites

Tu nie ma jednoznacznej odpowiedzi, najlepiej spróbuj jednego i drugiego.

Jak to wygląda teraz na rynku?

1. Urządzenia mobilne

Znacznie więcej jest aplikacji na androida niż windows phone - czyli JAVA. Jednak Microsoft budzi swój system, ma teraz całkiem udany romans z nokią - kto wie co przyniesie przyszłość.

2. Aplikacje internetowe, czyli JSP vs ASP.NET

Jeśli już jakaś aplikacja wymaga zcegoś więcej niż PHP+MYSQL to częsciej ASP.NET. Głównie serwisy banków.

3. Aplikacje natywne.

Tu raczej Java wygrywa, w związku na wieloplatformowość jak kolega wyżej pisze. Jednak widziałem jakieś narzędzie, które pozwala uruchamiać aplikacje napisane w C# na androidzie, ale nie pamiętam nazwy. W sumie pisanie aplikacji na Windowsa nie jest czymś złym, z racji dobrej pozycji na rynku tego systemu (przynajmniej w Polsce)

 

Namieszane w głowie, co? :)

Generalnie jak masz otwarty umysl i jesteś w stanie przestawić się na specyfikę każdego języka, nie bedziesz miał problemu z nauczeniem się składni. Grunt to ogarnąć programowanie obiektowe: co to klasa, co to obiekt, konstruktor, dziedziczenie itd. itp.

Znając dobrze Java lub C# na pewno znajdziesz płatne zajęcie na naszym rynku ;)

  • Popieram 1
Link to post
Share on other sites

 

 

Jednak widziałem jakieś narzędzie, które pozwala uruchamiać aplikacje napisane w C# na androidzie, ale nie pamiętam nazwy.

Pewnie chodzi ci o to http://xamarin.com/monoforandroid

Fajna rzecz, niestety płatna i w dodatku dość droga.

 

Do nauki bardziej już zaawansowanych rzeczy z platformy .NET mogę polecić stronkę http://www.microsoftvirtualacademy.com/

Tutaj natomiast dobry tutorial do nauki WPF http://wpftutorial.net/Home.html

 

Bo trzeba pamiętać, że sam język to tylko podstawa. Aby w pełni wykorzystać jego możliwości konieczna jest nauka konkretnego frameworku, czyli dla C# będzie to WPF, MVC 4 (z tych ciekawszych), czy WinForms i ASP.NET. Można powiedzieć że nauka języka to jest 1/4 drogi.

  • Popieram 1
Link to post
Share on other sites

 

 

Doradzić który język jest lepszy to jakby doradzać która dziewczyna ładniejsza ;D

Do porównanie idealnie do mnie trafiło. Na pierwszy ogień pójdzie C# - czysto subiektywny wybór no i programowanie w VS. Moim zdaniem to najlepsze IDE do C++ . Dziękuje wszystkim za odpowiedź.

Link to post
Share on other sites

nie ma języka idealnego, wszystko zależy od zastosowań

są firmy pro-M$ gdzie głównie używasz C# i C++ na .NET [C++/CLI], do tego coś w ASP.NET też się zdarza

są firmy, w których używasz Java, RoR, Python, Perl, czy inne wynalazki

ogólnie trzeba się skoncentrować na jednej "ideologii" i ją doskonalić

 

C# jest prosty i przyjemny w użytkowaniu, do tego samo środowisko [MS Visual Studio] jest całkiem dobrze zaprojektowane

co nie oznacza, że np Eclipse czy NetBeans i Java są złe :)

 

swoją drogą pamiętam, jak szukało się kiedyś ludzi z ogarniętym językiem Assembly do pisania sterowników :D

dziś większość pisze się w c/c++

Edytowane przez darasz89
  • Popieram 1
Link to post
Share on other sites

Sam obecnie uczę się właściwie już równolegle Javy i C#.
Moim zdaniem powinieneś zacząć od Javy, dlatego że w C# pod Visual Studio jest trochę uproszczeń, które owszem są wygodne ale fajnie by było wiedzieć co jak powstaje. Mowa tu np. o tworzeniu GUI. No chyba że zamierzasz odpalić sobie klasę Designer i samemu wywnioskować co i jak.

 

Co do tego, które wybrać, cóż. Sam zacząłem od Javy, teraz uczę się właściwie więcej C# niż Javy. Sama wiedza zdobyta w Javie plusuje w nauce C# czy jakiegokolwiek języka OOP, bo mechanizmy w dużej części są podobne, więc właściwie 'przystosowujesz się' poniekąd z automatu i zauważasz mnóstwo analogii.

 

W każdym razie, polecam jedno i drugie, nigdy nie wiadomo co się w życiu trafi.  :)

  • Popieram 2
Link to post
Share on other sites

Z tego co widziałem to w 2 tomie symfoni masz oop, c++ jest niskopoziomowy więc jak już zacząłeś się go uczyć to ucz się go dalej.

Jak chciałbyś bawić się okienkami w c++ to QT, ale to już wiedza z oop by się przydała, i umiejętność googlowania.

Gdy ogarniesz c++, wszystkie pętle, keywordy, operatory itd.... + umiejętnośc googlowania, to przesiadka na inny język to będzie góra tydzień.

pamiętaj, google to twój przyjaciel

Co do pracy to:

ASP.NET

php,html,css,js

c#

java android - spora kasa za pojedyncze zlecenia

 

co do trudności

c++ >= java > c#

c++ >= java ze względu na to że android nie działa jak windows, jest dużo śmiesznych reguł(np. aplikacji nie powinno się wyłączać, przy minimalizacji resetuje wszystkie zmienne itd.)

czasami java też crashuje poprawnie napisany kod, tu dodasz pustą linijke i nagle działa, dlatego średnio polecam na początek

  • Popieram 1
Link to post
Share on other sites

Co rozumiesz przez crashuje? Nigdy sie z czymś takim nie spotkałem...
Android nie będzie działał jak windows bo jest to system mobilny i nie może wszystkiego trzymać. Chociaż co do resetu zmiennych nie jestem pewien, musiałbym sprawdzić :P 

Link to post
Share on other sites

crashuje, zatrzymuje program i wyskakuje błąd.

często przy zabawie w interfejsie, chociaż ostatnio nie mniewałem

 

co do zmiennych, to trzeba robić service aby działał w foreground, aby nie zgubił, a przekazywanie zmiennych/danych przez broadcasta

to samo też nie możesz w główny wątek, oncreate wcisnąć dużo rzeczy bo będzie crashować

Edytowane przez jackraymund
  • Popieram 1
Link to post
Share on other sites

Z tego co widziałem to w 2 tomie symfoni masz oop, c++ jest niskopoziomowy więc jak już zacząłeś się go uczyć to ucz się go dalej.

Znam ogólne zasady programowania OOP, oczywiście wiele przede mną ale przynajmniej widzę zalety programowania tego typu.

 Z C++ nie rozstaje się, po prostu chce spróbować czegoś inne, czegoś nowego. Z tego co widzę C# wymaga programowania OOP.

Link to post
Share on other sites

jak chcesz czegoś nowego.

to może php,html,jquery

fajna odskocznia od niskiego poziomu

co do c# pamiętaj że nie jest multiplatformowy(np. java czy c++), bo jest na frameworku windows'a

java działa na zasadzie że kod który piszesz jest kompilowany do bitekodu i odczytywany przez virtualną maszyne javy, która jak wiadomo radzi sobie jak i telefonach, pctach, windowsie linuxie itd.

c++ wiadomo, niski poziom i problemu tutaj niema

c# do uruchomienia potrzebny jest .NET framework, który da się zainstalować tylko na windowsie(też nie przecze że jakoś się nieda na innych), lecz aplikacje powinieneś wydawać tak, aby użytkownik nie musiał się troszczyć o to czemu nie działa program.

Ogólnie chodzi mi o to że pod linuxem odpalić c# to troszke lipa(tak tak wiem, jest wine ale to utrudnienie dla uzytkownika).

Uzytkownika powinieneś postrzegać jako anty technologicznego starego pana.

 

 

Wracając do php, html.

Php może ci się okazać ciekawym rozwiązaniem, dość prosty język, a za razem często używanym i łączonym z c++ i innymi językami.

duze zastosowanie w zabezpieczeniach kodu, ogólnie to baza danych na własnym serwerze stwarza dużo możliwości

php wykonuje się raz, nieda się wczytać załadować połowy pliku php.

komunikacja c++ z php, poprzez requesty post lub get(c++ winhttp)

jquery też dobry język, każda interaktywna strona zawiera jquery, te forum też jest przesiąknięte tym językiem

 

jquery to taka biblioteka do javaskryptu. javaskrypt jest wczytywany po stronie przeglądarki, czyli na żywo możesz wyświetlać komunikaty, okienka, a nawet załadować w tle plik .php za pośrednictwem ajaxu(np. rozwijana tablica na facebooku)

Edytowane przez jackraymund
Link to post
Share on other sites

To jak sypiemy propozycjami to ja proponuję Pythona!  :wariat: Poważnie, super język. Bardzo ciekawe połączenie programowania obiektowego i funkcyjnego. Szczególnie fajna odmiana dla piszących na co dzień w Javie lub C#.

Ze swojej strony polecam książki Dive into Python oraz Dive into Python 3 (odpowiednio dla wersji 2.x oraz 3.x języka).

http://www.diveintopython.net/

http://www.diveinto.org/python3/

 

A co do PHP to przypomniał mi się ciekawy art o tym języku http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

Edytowane przez Luki91
Link to post
Share on other sites
  • 3 tygodnie później...

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Odpowiedz w tym wątku...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...