C# vs C++ czyli święta wojna

0

Witam.
:)
Wiem, że takich tematów jest tutaj od groma ale większość po pierwszej odpowiedzi przerabia temat z C# vs C++ na Windows vs Linux.
Nie o to mi chodzi. Ja chcę uzyskać odpowiedź, który język jest bardziej na rynku pracy pożądany i dlaczego własnie ten i jak wygląda praca takiego programisty C#/C++?

Z tego co już czytałem na tym forum i kilku innych stronach internetowych to za C# przemawia:
[+]Szybkość tworzenia aplikacji,
[+]Dużo przydatnych bibliotek,
[+]Wsparcie potężnej korporacji (Microsoft),
[-]Rynek pracy jest przepełniony programistami C# (?)
[-]Jest językiem zbyt wysokiego poziomu

Za C++
[+]Większa kontrola pisanego kodu,
[+]Mniej programistów przez co zarabiają więcej i NIE MA takiego parcia na rynku pracy,
[+]Można pisać wydajne gry (:P),
[+]Wieloplatformowość,
[-]Znacznie wolniej pisze sie kod,
[-]Ogólnie trudniejszy do ogarnięcia

To wszystko wyczytałem na innych stronach internetowych i wywnioskowałem po opinii kilku ludzi na tym forum tutaj.
Ja natomiast chciałbym się dowiedzieć od Was takich rzeczy...
-Czy jeżeli na studiach będzie wałkowany C++ to np. pracę inżynierską można pisać w C#?
-Jakie znacie większe projekty w C#?
-Jak na rynku pracy są postrzegani programiści C# (czy to prawda, że jest już bardzo okupowany?) ?
-Czy w innych krajach również technologie .NET są tak bardzo potrzebne na rynku pracy?

Aplikacje, które ja bym chciał pisać to czysto użytkowe - jakiś system do obsługi plików, odtwarzać multimedialny, prostą przeglądarke, jakąś proste gierki typu pong, komunikator jakiś itp. Do tego się bardziej nadaje C# czy C++?
**Proszę Was nie kłóćcie się czy Windows czy Linux tylko udzielcie mi odpowiedzi na pytania, które tu zadałem.... ja wiem, że C# na Linuxie nie odpale i wiem, że jest Mono które to niby obsługuje ale mnie w tej chwili interesuje to o co zapytałem w tym temacie czyli C# czy C++ a nie Windows czy Linux.....**foofoo

0

Aplikacje, które ja bym chciał pisać to czysto użytkowe - jakiś system do obsługi plików, odtwarzać multimedialny, prostą przeglądarke, jakąś proste gierki typu pong, komunikator jakiś itp. Do tego się bardziej nadaje C# czy C++?

Zarówno C++ jak i C# się do tego nadaje, z tą różnicą że w C# zrobisz to łatwiej szybciej i przyjemniej.

0
sev napisał(a)

Aplikacje, które ja bym chciał pisać to czysto użytkowe - jakiś system do obsługi plików, odtwarzać multimedialny, prostą przeglądarke, jakąś proste gierki typu pong, komunikator jakiś itp. Do tego się bardziej nadaje C# czy C++?

No ogólnie wszystko to znacznie łatwiej zrobić w C#, ale przy niektórych niższych poziomowo rzeczach trzeba bawić się w import funkcji z Win32 co już nie jest takie fajne, a C++ to lepiej obsłuży.
Tak czy siak C# jest na rynku już długi czas i ma potężne biblioteki i potężne wsparcie.
Tyle ode mnie, więcej nie wiem :P

0
sev napisał(a)

C++(...) [-]ogólnie trudnieszy do ogarnięcia

Nie powiedziałbym.
Możesz tworzyć obiekty na stosie tak jak to jest z typami wbudowanymi.
W C++ jasno i wyraźnie w definicji widać,co jest referencją,co wskaźnikiem a co po prostu obiektem.
Nie ma jajec powstających przy przesyłaniu obiektów jako parametrów funkcji-C# struktury kopiuje,do klas robi referencje,w C++ wyraziście to definiujesz sam.
Nie potrzeba się pierdzielić jakimiś wynalazkami w postaci IDisposable,bo destruktor działa tak jak należy,i ma się wpływ na to,kiedy zostanie wywołany.
C++ posiada bardzo użyteczne słowo kluczowe friend,odpowiednik C# jest po prostu żałosny.
Nie pamiętam niestety szczegółów,ale C# zdaje się miał też jakieś problemy przy przeciążaniu operatorów.

0
sev napisał(a)

[-]Jest językiem zbyt wysokiego poziomu

Nie ma czegoś takiego jak "język zbyt wysokiego poziomu".

[+]Mniej programistów przez co zarabiają więcej i NIE MA takiego parcia na rynku pracy,

Skąd te informacje, że jest ich mniej, i że rynek pracy jest przepełniony programistami C#?
A różnice w zarobkach zależą od tego co i jak się robi, a nie od tego, w jakim języku się pisze.

-Czy jeżeli na studiach będzie wałkowany C++ to np. pracę inżynierską można pisać w C#?

Tak.
A poza tym na studiach nie wałkuje się jednego języka.

-Jakie znacie większe projekty w C#?

ZGW, ADNE, HOH i jeszcze kilka innych z pracy. Tylko co Ci po tej wiedzy, skoro nigdy w życiu ich nie zobaczysz? :)

3

za C# przemawia:
[-]Jest językiem zbyt wysokiego poziomu

Huh?

Za C++:
[+]Mniej programistów przez co zarabiają więcej i [błąd ortograficzny] takiego parcia na rynku pracy,

To cię zdziwię, praktycznie nie ma programisty który się nie otarł o C++ (w szkolę, na uczelni). Co najwyżej większość woli jednak pisać w czymś innym. Ale gdybyś opanował C++ na poziomie naprawdę zaawansowanym to pieniądze mogłyby być faktycznie z tego niezłe.

[+]Można pisać wydajne gry (:P),

Zdziwię Cię, w C# też można. W interpretowanym Pythonie też można. Trzeba po prostu, jeśli się to okaże konieczne (a prawdopodobnie nie), wykonywać faktycznie czasochłonne obliczenia w sposób do tego przeznaczony.

Zawsze możesz się zająć na przykład Pythonem. Będzie jeszcze szybsze tworzenie, jeszcze wyższy poziom i jeszcze wolniejszy kod.
Albo Haskellem. Będzie praktycznie zerowa konkurencja na rynku pracy i praktycznie zerowe wsparcie bo mało kto ten język zna.
Albo Asemblerem. Nie jest zdecydowanie "językiem zbyt wysokiego poziomu" no i jeszcze wolniej pisze się kod.
Albo COBOLEM. Może gdzieś tam znajdzie się jakiś 50 letni system który trzeba utrzymywać (w końcu dinozaury w tym piszące przecież wymrą), a wtedy zatrudnienie na kolejne 50 lat zapewnione :>

5

Ale gdybyś opanował C++ na poziomie naprawdę zaawansowanym to pieniądze mogłyby być faktycznie z tego niezłe.

Jeszcze nie słyszałem, żeby ktoś zarabiał niezłe pieniądze za samo opanowanie języka programowania. Natomiast za opanowanie niszowej dziedziny jak najbardziej (algorytmy, reverse engineering, programowanie rozproszone, etc.).

0

to zależy co chcesz pisać :)
Jeśli lubisz aplikacje okienkowe pod Windowsa to zdecydowanie pomocne będzie środowisko .NET i C#, jeśli chcesz napisać wspaniałą grę to pewnie bardziej C++, ale to tylko język, do tego mnóstwo bibliotek i innych rzeczy.
Pisząc, że C++ jest ogólnie trudniejszy piszesz głupoty :P

0

Najłatwiejszy (z języków kompletnych w sensie Turinga) jest zdecydowanie BrainFuck, ledwo osiem instrukcji, ale niestety jakoś wygodnie się w nim nie pisze. A może jednak we wszystkich językach pisze się jednakowo wygodnie i są jednakowo skomplikowane?

0

Dzięki wszystkim za wypowiedzi;)
Przekonałem się do C# teraz będę szukał jakiejś ciekawej publikacji... w sumie znalazłem jednak funduszy chwilowo brak.
@madmike co myślisz o przypięciu tego tematu? Moim zdaniem jest ciekawie napisany i mogą sie ludzie tutaj dłużej wypowiadać... :)

P.S Z C++ też nie zrezygnuje ale nie będę z nim tak bardzo wiązał przyszłości ;)

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