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ź :)
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ć...
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?
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
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#;)
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 :)
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ć.
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).
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.
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.
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?
:)
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
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"