C++ czy c#

0

Witam, od niedawna zajmuję się programowaniem w C++, przeczytałem książkę Heliona "Po prostu C++" i teraz zastanawiam się czy dokonałem dobrego wyboru pomiędzy C++ i C#. Wiem że to może być głupie pytanie, ale gdzie mogę znaleźć różnice pomiędzy tymi językami, oraz który z nich bardziej nadaje się do pisania szybkich i wydajnych programów oraz gier w połączeniu z DirectX?
Dziękuję i czekam na odpowiedź :)

0

Zdecydowanie polecam C# .NET - ja np. staram się uciekać już od C++ - wystarczająco się w nim napisałem ;)

A co do DirectX to taki temat był
http://4programmers.net/Forum/viewtopic.php?id=74536
wystarczyło poszukać...

0

a mógłby ktoś podać przynajmniej jakieś zalety jednego nad drugim?
No i jeszcze jedno - też głupie (:P) czy w C++ Builder można zrobić to samo co w C++ tylko prosciej?

0
CDAN napisał(a)

czy w C++ Builder można zrobić to samo co w C++ tylko prosciej?
Borland C++ Builder to środowisko programistyczne
C++ to język programowania

sam widzisz, że pytanie nie jest sensowne

0
CDAN napisał(a)

Witam, od niedawna zajmuję się programowaniem w C++, przeczytałem książkę Heliona "Po prostu C++" i teraz zastanawiam się czy dokonałem dobrego wyboru pomiędzy C++ i C#.

Jak już zacząłeś uczyć się C++ to przy nim pozostań. Składnie obu tych języków są podobne więc późniejsze przejście na C# nie będzie kłopotliwe. Poza tym, ucząc się C++ przy okazji poznasz C i będziesz miał jakiś wstęp do C#;)

0
0x666 napisał(a)

Jak już zacząłeś uczyć się C++ to przy nim pozostań. Składnie obu tych języków są podobne więc późniejsze przejście na C# nie będzie kłopotliwe. Poza tym, ucząc się C++ przy okazji poznasz C i będziesz miał jakiś wstęp do C#;)

Tak to prawda, ale dopóki jeszcze się nie przyzwyczaiłem i mam jeszcze jaki taki wybór oraz chcę się nauczyć pisać szybkie programy itp.., wolę się przerzucić na ten lepszy/szybszy :)

0
CDAN napisał(a)

Tak to prawda, ale dopóki jeszcze się nie przyzwyczaiłem i mam jeszcze jaki taki wybór oraz chcę się nauczyć pisać szybkie programy itp..

A w czym większość programów, gier i systemów była pisana??? No chyba nie w C# ;) To czy program będzie szybki czy nie, w głównej mierze zależy od tego jak został napisany. C# to stosunkowo nowy język i na początek nie warto się w niego pchać.

0
0x666 napisał(a)

A w czym większość programów, gier i systemów była pisana??? No chyba nie w C# ;)

No raczej nie, jak Unreal się zwiesza, to widać, że w C++. :)

0x666 napisał(a)

To czy program będzie szybki czy nie, w głównej mierze zależy od tego jak został napisany.

[Od języka też. Pamiętaj, że na szybkość języka nie tylko wpływa na skompilowany kod wynikowy, ale również jakość oferowanych do niego bibliotek. DirectX .NET wykorzystywany z C# jest o wiele szybszy do DirectX COM dla C++]

Choć z drugiej strony ktoś powie, że przecież w C++ można skorzystać z DirectX .NET i, prawdę powiedziawszy, też będzie miał rację.

0x666 napisał(a)

C# to stosunkowo nowy język i na początek nie warto się w niego pchać.

Nowy. Fakt. C++ warto znać - fakt. Ale przy zaczynaniu nauki programowania w DirectX, nic bym tak nie radził, jak zrobienie tego w C#. Przecież większość przykładów, nawet dodanych z samymi bibliotekami, jest już w C#. W nowej wersji DirectX - jak wyczytałem na stronach Microsoftu, ma nie być już w ogóle programów przykładowych w innym języku niż C#, bo przecież to tylko środowisko .NET - language independent.

Co do kompilatorów obu nie ma problemu: są zarówno SharpDevelop - doskonały, jak i Microsoftowy Visual Studio Toolkit - sam kompilator zastosowany w Visual Studio - też darmowy.

Ale zawsze możesz mieć Delphi8 lub Delphi2005 i w nim pisać DirectX. To przecież .NET (i małe samobójstwo - no ale możesz).

0

W przyszlych wersjach windowsa powoli glownym jezykiem bedzie C# wraz z platforma .NET. Jezeli myslec przyszlosciowo to warto nauczyc sie C# i w nim programowac. poza tym sama nauka jezyka to nic w porownaniu do nauki wszystkich jego bibliotek.

0

Od języka też. Pamiętaj, że na szybkość języka nie tylko wpływa na skompilowany kod wynikowy, ale również jakość oferowanych do niego bibliotek. DirectX .NET wykorzystywany z C# jest o wiele szybszy do DirectX COM dla C++

Co do języka - zgadza się. Ale nie powiesz mi, że C# jest znacznie szybszy od C/C++. Co do COM i ogólnie WinAPI dla C++. Nie oszukujmy się, ale te interface'y nie są stworzone dla języków obiektowych. Programowanie pod nie bardziej przypomina pisanie w C niż w C++. Z resztą, mowa jest o języku C# i C++ a nie o środowisku .NET.

0

No to ja mam jeszcze jedno pytanko: czy w obu tych językach na obecnym poziomie można zrobić to samo, czy np. w C# jest mniej możliwości? Bo jeżeli woba języki są równożędne, a C# jest i szybszy i nastawiony na przyszłość, to odpowiedź który wybrać jest chyba jednoznaczna?
:)

0

a C# jest i szybszy i nastawiony na przyszłość, to odpowiedź który wybrać jest chyba jednoznaczna?

Tu masz artykuł. A tu odpowiedź na pytanie ;)

W C++ pisze się zdecydowanie dłużej i żmudniej, ale - przynajmniej obecnie - programy tworzone w tym języku są znacznie bardziej efektywne niż te, które można będzie pisać w C#

Mimo to największym zagrożeniem dla firm software'owych jest duże uzależnienie się od Microsoftu. Programista decydujący się na pisanie aplikacji w C# będzie bardzo mocno związany z narzędziami i systemami operacyjnymi tej firmy

0

Chyba czas C++ pomału dobiega końca: Microsoft wprowadza .NET, Borland wróży, że 90% aplikacji będzie w przyszłości pisana w Javie(a C# to jakby nie patrzeć - konkurencja dla Javy) a pozostałe 10% zostaje dla specjalistycznych projektów w C, więc coś w tym musi być. Właściwie to chyba dobrze, bo nauka C++ do przyjemnych nie należy, a pisanie w nim czegoś większego wymaga ogromnej wiedzy a i sama przyjemność z kodzenia jest mniejsza np. w porównaniu z Pythonem (C# nie znam więc nie będe porównywał ;p).
"Languages come and go but algorithms stand the test of time"

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