Przewaga C/C++ nad innymi językami.

0

Powiem szczerze, że ze wszystkich języków jakie poznałem do tej pory najbardziej mi się podoba C/C++, wg mnie jest najbardziej logiczny. Wiem też że gry są tworzone w C++, systemy wbudowane w C/C++. Jako że programowanie gier niezbyt mnie nie interesuje, chyba że tylko 2d, ale 2d to sobie mogę i w Javie napisać, i będzie ok. Systemy wbudowane by mnie interesowały. Zupełnie jednak nie rozumiem dlaczego niektóre firmy aplikacje biznesowe tworzą w C++, jak mogli by to zrobić, szybciej w Javie i C#? Chyba, że się mylę? Co jest jeszcze tworzone w C++?

4

ze wszystkich języków jakie poznałem do tej pory najbardziej mi się podoba C/C++

Okej, tyle ze nie ma takiego jezyka jak C/C++.

Co jest jeszcze tworzone w C++?

Prace na zaliczenie.

1

jest najbardziej logiczny

To już wiemy którego przedmiotu na studiach nie zdasz. Będzie to logika :D Bo różne rzeczy o C++ można powiedzieć, ale z tą logicznością...

Nikt nie tworzy systemów biznesowych w C++.

0

Dżizys krajst, nie da się łatwo zrozumieć tego pytania.

Szukałem pozytywnych cech C++ nad np. Javą - poza lekko już przeterminowanym argumentem dotyczącym szybkości Javy wymyśliłem tylko możliwość bezpośredniego operowania na Windows API bez korzystania z zewnętrznych bibliotek.

A teraz odwrotnie, czyli pozytywne cechy Javy ponad C++: OOP (Boże drogi, nie potrafię do tej pory załapać, dlaczego w C++ ludzie oddzielają plik nagłówkowy klasy... od samej klasy), brak wskaźników (WTF? Sorry, ale zmiennej wskazującej na położenie innej zmiennej nie potrafię pojąć.), kibel z automatyczną spłuczką (nie musisz martwić się o destruktory obiektów), "compile once run everywhere" (kompilujesz program, a uruchomisz go wszędzie, gdzie znajdziesz zainstalowane JVM). Mógłbym wymieniać i wymieniać.

0
Shalom napisał(a):

jest najbardziej logiczny

To już wiemy którego przedmiotu na studiach nie zdasz. Będzie to logika :D Bo różne rzeczy o C++ można powiedzieć, ale z tą logicznością...

Nikt nie tworzy systemów biznesowych w C++.

Logikę i teorie mnogości zaliczyłem na 5.0 w poprzednim semestrze.:P
Z tym ze jest logiczny może trochę przesadziłem, po prostu łatwiej było mi się nauczyć C++ niż Jave.

1

Podejrzewam, że łatwiej było Ci się nauczyć C++ ze względu na to, że jest bardziej strukturalny, a obiektowość jest tam uboga, więc nie trzeba się zbytnio zgłębiać w relacje między klasami.
Natomiast podejrzewam, że w przypadku poważniejszych projektów, niż program na studia, wycieki pamięci i operacje na wskaźnikach mogą być dość denerwujące. Teoretycznie mamy większą kontrolę, ale też więcej roboty i brak prawdziwej obiektowości.
Jeśli chodzi o zastosowania C++, to myślę, że najczęściej wykorzystuje się go w grach i systemach wbudowanych, o których wspomniałeś ze względu na większe możliwości optymalizacji i zwiększenia wydajności (jak ktoś się uprze, to może nawet wstawki w asemblerze pisać). W innych projektach raczej wykorzystuje się bardziej wysokopoziomowe języki.

0

Jak już o javie i c++
Według mnie na + dla c++

  • pointery - w przeciwieństwie do tego co kolega @ShookTea napisał wyżej, to że się czegoś nie pojmuje nie znaczy od razu, że jest to złe. Pointery to świetna rzecz.
  • dużo bardziej rozwinięty metaprogramming
  • przeładowywanie operatorów (nie dam rady żyć bez tego)
  • domyślne parametry funkcji
  • w javie gc jest niedeterministyczny i nie da się go od tak wyłączyć, w c++ są smart pointery jakby ktoś potrzebował (deteministyczne) (chyba można to podpiąć po zalążek kontrolowalnego gc)
  • w c++ chyba jest więcej możliwości do zachowania const-corectness
  • macie tam coś w stylu 'auto' w tej javie?
    - enumy
  • unie
  • możliwość definiowania literałów - zawsze może się przydać
    tyle na tą chwilę
    O javie można powiedzieć chyba tyle, że ma bardziej rozbudowaną bibliotekę standardową
3

..ahh te pytania z serii "wybrałem sobie język", "komputer do programowania" , "system do programowania" , "najlepsza książka do programowania" , "język a vs język b". aż mnie dziwi, że niektórym starszym stażem chce się w ogóle na te pytania odpisywać i tak "gawędzić" ;p

0
Shalom napisał(a):

Nikt nie tworzy systemów biznesowych w C++.

Pamiętam jak w ubiegłym semestrze jeden z dr mówił, że przez 10 lat pracował w firmie co właśnie tworzyła i dalej tworzy systemy biznesowe w C++. Pytanie dlaczego właśnie w c++?
Są jeszcze jakieś inne dziedziny gdzie króluje C++, oprócz gier, systemów wbudowanych?

0

C++ nie kroluje w grach ogolem, tylko w specyficznej kategorii gier. W systemach wbudowanych tymbardziej.

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