Programowanie > Językoznawstwo

C++ i kod natywny kontra C# i kod managed

(1/11) > >>

Reg:
Rozpoczynam dyskusję nad wyższością C++ nad C# albo odwrotnie, kodu natywnego nad zarządzanym i odwrotnie, technologii .NET nad innymi bibliotekami i odwrotnie. Zgodnie z regulaminem forum taki temat powinien istnieć i tylko tutaj można dyskutować na ten kontrowersyjny temat. Żadnych ataków personalnych, żadnych nerwów i bluzgów, same rzeczowe argumenty, które czytającym dostarczą wiedzy i pomogą wyrobić sobie własną opinię.

IronFlower:
Ciężko odpowiedzieć na takie pytania... prawda jest jedna, skoro Microsoft stworzył C# to zrobi wszystko aby zaczęto go używać (nie patrząc na to czy jest dobry czy nie). Z tego co mi wiadomo natywnym językiem dla przyszłych "okien" ma być właśnie C#. Warto więc znać tę technologię nie zapominając o tych starszych mimo wszystko przydatnych. językach czyli C, C++...

Co do nauki tych języków, i który lepiej zacząć się uczyć, to wydaje mi się, że dobrym rozwiązaniem jest rozpoczącie od C++. Może wynika to z drogi jaką sam przeszedłem, ale widzę, że łatwiej (niewyobrażalnie) przejść z C++ na C# niż na odwrót. Choć jak wiadomo w programowaniu liczą się pomysły a nie język :) i tak jak w mowie ludzkiej 2 + 2 ma taki sam sens w każdym języku :) inne są tylko słowa kluczowe ;)

Pozdrawiam

counterClockWise:
Ja nie potrafiłbym się zmusić już, żeby pisać coś w C++.

Plusy:
-------
C# jest językiem, w ktorym pisze się naprawde szybko, na dużą skalę można zaoszczędzić nawet kilka dni pisania.
Na pewno jest mniej błędogenny - np. wyższe rygory sprawdzania poprawności składni (vide if(x=1)),
wyeliminowanie błędogennego polimorfizmu, wyeliminowanie strasznie błędogennych wskaźników,
zrezygnowanie z headerów, banalne użycie tablic wielowymiarówych, serializacji klas  itd
+ Garbage Collector, który jest naprawde dobry.

Jest nowocześniejszy i bardziej przyjazny - logiczne asemblies, wszystko jest obiektem - można walnać sobie kropkę i patrzeć czego możemy użyć.

Poza tym programy napisane w C# i .NET zwykle zajmują mniej pamięci na dysku.

Minusy
--------
Managed code jest wolniejszy (to jest główny minus), jednak zazwyczaj nie jest to wyraźnie zauważalne. Przy odpowiedniej technice pisania efektywność jest zbliżona (optymalne rozwiażania, zwalnianie reczne zasobów).

Jeżeli chodzi o C# i .NET (nie sam C#) - niestety łatwo jest podejrzeć czymś kod (trzeba używać zaciemniaczy).

Klient musi mieć zainstalowany .NET Framework :)

KriS:

--- Cytat: counterClockWise w Luty 10, 2006, 17:11:39 ---Plusy:
-------
C# jest językiem, w ktorym pisze się naprawde szybko, na dużą skalę można zaoszczędzić nawet kilka dni pisania.

--- Koniec cytatu ---

Hmm? IMHO szybciej, wygodniej i bezpieczniej sie pisze w c++ (szablony, odpowiednie biblioteki itd). Nie wiem w jaki sposob kolejny jezyk MOP (money oriented programming), bedacy kolejnym wykastrowanym c++ moze byc wygodniejszy.


--- Cytat: counterClockWise w Luty 10, 2006, 17:11:39 ---Na pewno jest mniej błędogenny - np. wyższe rygory sprawdzania poprawności składni (vide if(x=1)),

--- Koniec cytatu ---

Visual C++ wywali odpowiedniego warninga.


--- Cytat: counterClockWise w Luty 10, 2006, 17:11:39 ---wyeliminowanie błędogennego polimorfizmu, wyeliminowanie strasznie błędogennych wskaźników,

--- Koniec cytatu ---

Bledogenne to jest wszystko, jezeli sie nie umie tego uzywac :).


--- Cytat: counterClockWise w Luty 10, 2006, 17:11:39 ---zrezygnowanie z headerów,

--- Koniec cytatu ---

Czyli np zrezygnowania z mozliwosci szybkiego zapoznania sie z interfejsem klasy.


--- Cytat: counterClockWise w Luty 10, 2006, 17:11:39 ---banalne użycie tablic wielowymiarówych, serializacji klas  itd
+ Garbage Collector, który jest naprawde dobry.

--- Koniec cytatu ---

Odpowiednie biblioteki / odpowiedni kod tez to potrafia.


--- Cytat: counterClockWise w Luty 10, 2006, 17:11:39 ---Jest nowocześniejszy i bardziej przyjazny - logiczne asemblies, wszystko jest obiektem - można walnać sobie kropkę i patrzeć czego możemy użyć.

--- Koniec cytatu ---

Hmm, ktore to sa zalety? Nowoczesnoc? Tylko OOP?

counterClockWise:

--- Cytat: KriS w Luty 10, 2006, 17:53:31 ---Hmm? IMHO szybciej, wygodniej i bezpieczniej sie pisze w c++ (szablony, odpowiednie biblioteki itd). Nie wiem w jaki sposob kolejny jezyk MOP (money oriented programming), bedacy kolejnym wykastrowanym c++ moze byc wygodniejszy.

--- Koniec cytatu ---

A mnie i większości osób u mnie na roku szybciej się pisze w C#.
O jakie biblioteki Ci chodzi? Mam nadzieje, że o te które są w standardzie języka. Bo każdy może zgromadzić sobie rzeszę bibliotek napisanych w życiu i w niczym nowym nie będzie pisał szybciej, skoro poświęcił się jednej technologii.


--- Cytat: KriS w Luty 10, 2006, 17:53:31 ---Visual C++ wywali odpowiedniego warninga.

--- Koniec cytatu ---

Zgadza sie. Jednak niektórych powiedzmy nie stać na Visuala. Albo kodują pod linuxem i używają tylko open-sourcowego oprogramowania.
Visual jest dosyć drogi. Ja mam tylko licencję niekomercyjną.


--- Cytat: KriS w Luty 10, 2006, 17:53:31 ---Bledogenne to jest wszystko, jezeli sie nie umie tego uzywac :).

--- Koniec cytatu ---

Ja nie miałem nigdy z tym problemów, ale patrząc nie tylko na własny nos, lecz bardziej globalnie to jest jednak zaleta dla wielu osób.

Uważasz, że C# jest bez sensu?
Że nie był wprowadzony bez potrzeby?
Jest ponad 20 lat młodszy od wysłużonego C++.
Pytam otwarcie, nie mam zamiaru bronić jakiegoś zdania, pytam poznawczo  :)

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

Idź do wersji pełnej