C# czy WinApi

0

Witam. Właśnie zakończyłem czytanie Symfonii C++ i mam zamiar zacząć uczyć sie WinApi. Znalazłem jednak na jakimś forum informację, że nie ma już sensu programować w WinApi- lepiej do tego celu wykorzystywać C#. Tak więc nie za bardzo wiem co robić. Zacząć uczyć sie C# ? Czy pozostać na razie przy C++ i uczyć się WinApi ? Btw. do czego przydałby mi się jeszcze C++ gdybym zaczął uczyć sie C#, poza tym, że szybciej się go nauczę ?

0

O winapi zapomnij, gdybys je juz znal to by nie zaszkodzilo, ale uczyc sie je teraz nie ma sensu. Mozna rzec, ze to przezytek, zbior niepowiozanych funkcji, dopiero w c# wszystko jest pozamykane w klasy i obiekty, co znacznie ulatwia zycie i zwieksza przejzystosc aplikacji. Do tego dochodzi masa ulatwien przy tworzeniu okien, obslugi zdarzen itp. Znam jedno i drugie; wracac do winapi nie zamierzam; przesiadka na c# byla praktycznie bezbolesna (wczesniej znalem troche jave). No i samo c# oceniam lepiej od c++.

0

w żadnym wypadku nie musisz przesiadać się na C#, żeby pisać pod platformę .NET, bo o tym kolega powyżej mówił, owa platforma to tylko środek i można pod nią pisać choćby w C++, tzn. w C++ CLI (wcześniej zwany Managed C++), czyli C++ troszkę zmodyfikowanym w celu zgodności z NET'em, dodatkowo plusem jest to, że możesz łączyć kod natywny w starym C++ z kodem zarządzanym NET...

przykładowe zmiany w składni C++:
-jako, że w NET'cie jest pełna obiektowość to i wszystkie typy z C++ są obiektami, w C++ int to int, zmienna 4 bajtów, w C++ CLI taki int to obiekt klasy, tak wszystko to klasy, int posiada metody :> fajne nie :>
-dodany operator gcnew, zastępujący stary new, gcnew tworzy obiekt referencyjny przy użyciu grabage collectora(skrót: grabage collector new), czyli taki obiekt sam się zwolni nie trzeba używać delete, zostanie użyty mechanizm zarządzania pamięcią z NET'a, oczywiście w dalszym ciągu dostępny jest stary dobry new i delete ;)
-to takie dwie zmiany które rzuciły mi się od razu w oczy
-no i wszystko z NET'a dostępne jest bez żadnych incudów w odpowiednich przestrzeniach, oczywiście w dalszym ciągu możesz używać wszystkiego z C++

0

jeśli będziesz programował w c# i w.net to zawsze możesz użyć tam winapi. Wiec nic nie tracisz ale możesz zyskać.

0

jeśli cię to interesuje poczytaj sobie o qt4 w c++

0

Dzięki za dotychczasowe odpowiedzi. Mam jeszcze jedno pytanie. Czy jest jakiś dobry kurs c# po Polsku ?

Aha. Zapomniałem. Kolega jest na razie mniej więcej w 1.5 tomu symfonii(skończył właśnie destruktory, konstruktory etc.) i pyta czy jest sens nadal czytać, czy już teraz zacząć uczyć sie c# ?

0

W dzisiejszych czasach idąc do pracy należy znać przynajmniej 2 języki obce (jeden bardzo dobrze).
Wydaje mi się, że z językami programowania jest tak samo. Dobrze byłoby znać C++ i C# (na przykład).
W ten sposób potrafimy napisać aplikację w języku natywnym i zarządzanym.
Tak jak w pewnej książce napisano, znajomość C++ oznacza jednocześnie 90% znajomości C#.
Ja planuje najpierw dobrze opanować C++, potem przenieść się na C# i zacząć poznawać platformę .NET
W końcu na tej platformie będą się teraz opierały Windowsy :-)

0

Generalnie najlepiej jest zacząć od zorientowania się w asemblerze, C, C++, a potem przesiadać się na kobyły typu JAVA, C#... Znajomość języków, w których musisz wiedzieć co się dzieje i co robisz przydaje się w późniejszym pisaniu dobrych i szybkich programów. Tak samo radzę zerknąć na winapi, bo później będziesz z niego korzystał, tylko, że będzie pozamykane w komponenty i nie będzie Cię to interesować za bardzo (a szkoda, bo teraz dużo jest ludzi, którzy piszą tylko w C# i nie mają pojęcia jak napisać jakąś szybką i optymalną funkcję... I rodzą się z tego windowsy typu Vista itp....

0
Zyggmunt napisał(a)

Dzięki za dotychczasowe odpowiedzi. Mam jeszcze jedno pytanie. Czy jest jakiś dobry kurs c# po Polsku ?

Przejrzyj linki tutaj.

0

Ja tez zaczynałem symfonią i potem przerzuciłem sie na c#. Są pewne zagadnienia np: wyjątki, które lepiej się kapuje najpierw w c++. A poza tym c# i c++ są bardzo podobne więc ile nauczysz sie w c++ będziesz miał mniej do nauczenia się w c#.

0

Jesteście zabawni... C# i C++ to dwa całkiem inne języki o innych zastosowaniach.

0
gosc_z_pytaniem napisał(a)

W dzisiejszych czasach idąc do pracy należy znać przynajmniej 2 języki obce (jeden bardzo dobrze).

Ja znam angielsku w stopniu umożliwiającym czytanie dokumentacji. A z niemieckiego zdałem maturę, tylko że to dawno temu było i niewiele pamiętam.
W takim razie chyba czeka mnie bezrobocie :(

0
somekind napisał(a)
gosc_z_pytaniem napisał(a)

W dzisiejszych czasach idąc do pracy należy znać przynajmniej 2 języki obce (jeden bardzo dobrze).

Ja znam angielsku w stopniu umożliwiającym czytanie dokumentacji. A z niemieckiego zdałem maturę, tylko że to dawno temu było i niewiele pamiętam.
W takim razie chyba czeka mnie bezrobocie :(

Bez przesady... Mnie kiedys tez pracodawca tak bardzo dopytywal sie o znajomosc jezykow obcych. Jak zaczalem mowic po angielsku to sam nie wiele z tego rozumial :-D Juz sie przestal dopytywac...
Wracajac do tematu-warto nauczyc sie C++ i WinAPI chociaz w stopniu podstawowym, a dopiero pozniej C#

0

Co do diabła ma wspólnego nauka C# z nauką C++? Te języki łączy tylko miejscami podobna składnia...

0

odpowiedz na pytanie z tematu - zalezy w jakim celu sie uczysz, jesli chodzi Ci o szybkie i latwe pisanie aplikacji uzytkowych to c++ i winapi jest kiepskim pomyslem, za to C# nadaje sie do tego idealnie, pozdro

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