Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Czym się różni?


ECLC

Rekomendowane odpowiedzi

Opublikowano

C++ jest językiem starszym, trochę trudniejszym, ale lżejszym. C# jest to natomiast "dziecko" M$ które współpracuje tylko z Windowsem (bądź Linuxem poprzez mono), jest prostszy w nauce, ale mniej wydajny.

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir nicht ganz sicher."
~A. Einstein

Opublikowano

To prawda w 2/3 to co mówi pan up, jednak c# współpracuje dodatkowo z Androidem (xamarin) oraz Windows Phone. Co do optymalizacji - wszystko robi za nas garbage collector, także nie ma się o co martwić ;-). No i ta piękna dokumentacja od msdn.

Dodatkowo C# posiada możliwość tworzenia stron w aspx, w tym samym powstała dokumentacja dla c#.

8LTfBGw.jpg

Opublikowano

@Crisey
Czemu per pan? o.O
Android to Linux, a Xamarin używa Mono ;)
A co do optymalizacji, nadal aplikacje w c++ działają dużo szybciej oraz ważą dużo mniej, ale c# jest dużo prostszy/przyjemniejszy ;)
Jeszcze odnosząc się do stron - można... ale bez .Net framework się nie odpali :F

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir nicht ganz sicher."
~A. Einstein

Opublikowano

@Crisey

Czemu per pan? o.O

Android to Linux, a Xamarin używa Mono ;)

A co do optymalizacji, nadal aplikacje w c++ działają dużo szybciej oraz ważą dużo mniej, ale c# jest dużo prostszy/przyjemniejszy ;)

No a jak mam mówić, kolega? Nie znam Ciebie na tyle dobrze ;p.

To prawda, android to linux, a xamarin to c# z małą domieszką javy (pisze się w mono, masz rację).

8LTfBGw.jpg

Opublikowano

Co do optymalizacji - wszystko robi za nas garbage collector, także nie ma się o co martwić ;-). No i ta piękna dokumentacja od msdn.

Co ma garbage collector do optymalizacji? On tylko automatycznie zwalnia dynamicznie przydzieloną pamięć, co w C++ robi się ręcznie. Jaki to ma pozytywny wpływ na prędkość działania programu? Jeśli już to negatywny, bo przecież sam mechanizm tego odśmiecacza pamięci nie istnieje w nicości i też musi coś obliczać ;).

 

Dokumentacja standardowych bibliotek C++ jest np. na cpprefererence i również jest piękna, a obsługi windowsa jest w MSDN i jest równie piękna.

Opublikowano

Co ma garbage collector do optymalizacji? On tylko automatycznie zwalnia dynamicznie przydzieloną pamięć, co w C++ robi się ręcznie. Jaki to ma pozytywny wpływ na prędkość działania programu? Jeśli już to negatywny, bo przecież sam mechanizm tego odśmiecacza pamięci nie istnieje w nicości i też musi coś obliczać ;).

 

Dokumentacja standardowych bibliotek C++ jest np. na cpprefererence i również jest piękna, a obsługi windowsa jest w MSDN i jest równie piękna.

Negatywny wpływ? Sorry, tutaj muszę Cie przeprosić, bo nie masz racji.

Przeczytaj to:

http://4programmers.net/C_sharp/Artykuły/Garbage_Collector

https://msdn.microsoft.com/pl-pl/library/garbage-collector-cz-1.aspx

https://msdn.microsoft.com/pl-pl/library/garbage-collector-cz-2.aspx

https://msdn.microsoft.com/pl-pl/library/garbage-collector-cz-3-zasoby-niezarzadzane.aspx

https://msdn.microsoft.com/pl-pl/library/garbage-collector-cz-4-wycieki-pamieci.aspx

8LTfBGw.jpg

Opublikowano

Osobiście po prostu dużo wygodniej pisze mi się w C#, chodź może to kwestia przyzwyczajenia/doświadczenia. Wybierz język który odpowiada temu co chcesz robić, np. pisząc cheaty do gier lepiej zaczynać z C++.

Opublikowano

Wiem co to są GC i jak one działają. Gdy w C++ robisz coś na stercie to robisz to tak:

int* wskaznik = new int;
*wskaznik = 5;
delete wskaznik;

W C#(ofc. po ewentualnych zmianach składni) nie musiałbyś robić ostatniej linijki, bo chodzący w tle proces robi to za ciebie. W jakimś minimalnym, niezauważalnym stopniu wpływa on na wydajność - negatywnie. Na pewno wykonanie dodatkowych obliczeń i sprawdzanie całego procesu w poszukiwaniu tych wskaźników nie powoduje że program zaczyna działać szybciej - to sprzeczne(zwiększenie ilości obliczeń = krótszy czas działania? lol). Po prostu C# robi usuwanie pamięci za ciebie i ma to niezauważalny wpływ na wydajność.

 

Ba - nawet te źródła to pokazują:

IC660515.png

Jak widzisz, wątki zostają na chwile zawieszone. Dzieje się to wiele razy, ale jest na tyle szybkie, że niezauważalne.

 

A poza tym, w ostatnim artykule było o wyjątkach. Czyli w C++ zawsze trzeba zwalniać pamięć - jasna i prosta zasada. C#? Jest to robione za ciebie z wyjątkiem kilku sytuacji, w których musisz zrobić to ręcznie. Aha?

Opublikowano

nadal aplikacje w c++ działają dużo szybciej oraz ważą dużo mniej, ale c# jest dużo prostszy/przyjemniejszy ;)

No... Nie na tym polega ta różnica. Jakby tak to wyglądało to nikt by w C# nie pisał. Jest bardziej wysokopoziomowy - mamy mniej do czynienia z niskopoziomowymi czynnościami takimi jak zwalnianie pamięci. Ma też większą bibliotekę. Po prostu jest rozwijany w inną stronę i do innych celów.

 

Co do optymalizacji - wszystko robi za nas garbage collector

o_o

708121422388637873334.png

Opublikowano

Ok, dzięki wszystkim za pomoc :P Chyba zacznę od C++ 

 

Do zamknięcia

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...