Piękny język programowania

Piękny język programowania
MasterBLB
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1454
0

aplenos,nikt poza zatwardziałymi javowcami nie będzie tu twierdził,że java jest (tak generalnie,w każdym przypadku) szybsza od C++.
Ale,nie w tym tkwi jej moc,tylko w pełnej przenośności i niezależności od architektury

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
0

@up:
Stara wersja Javy. Weź pod uwagę to, że gdy pierwsze JVMy powstawały to popularne kompilatory C już były w miarę dojrzałe.

Nowszy benchmark: http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php
Różnica jest generalnie znacznie mniejsza.

Owszem Java wykonuje się średnio kilkadziesiąt procent dłużej, ale czy to takie strasznie ważne? W C/C++ programuje się znacznie wolniej i trudniej, łatwiej też popełnić błędy. A czas programistów jest ograniczony. Być może np mając ten sam czas na napisanie programu, w Javie da się w średnim przypadku napisać program o mniejszej złożoności obliczeniowej. I wtedy ta niewielka różnica w stałej (w złożoności obliczeniowej) nie robi już na nikim wrażenia.

Poza tym weź poprawkę na to, że popularne JVMy kompilują kod w locie (do kodu natywnego) za każdym odpaleniem VMki. Do czasu wykonania musisz w takim razie dorzucić czas kompilacji, aby porównanie było całkowicie fair.

  • Rejestracja: dni
  • Ostatnio: dni
0

@alpenos23

Benchamrk:
http://shootout.alioth.debian.org/u64/performance.php?test=chameneosredux

Total execution time for C++: 6.57 seconds

Total execution time for Java Server VM: 3.28 seconds

02
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1176
0

Mały przykład jak wygląda development w C++. Kolega miał do rozwiązania problem, który nie da się rozwiązać standardowymi metodami. Tak więc wymyślił, że zrobi to sobie algorytmem genetycznym. Zaklepał to w tydzień oczywiście w C++ bo to jest C++ hardcore. Algorytm jest dosyć skomplikowany i działa w chu* wolno (jeden dzień obliczeń) pomimo tego że go zoptymalizował i zrównoleglił.
Ja rozwiązywałem ten sam problem w tym samym czasie. Przetestowałem w tydzień kilka algorytmów w Matlabie, wybrałem najlepszy. Algorytm daje lepsze wyniki i w wykonuje się w 20 minut (w Matlabie) na znacznie większych danych. Teraz to mogę sobie spokojnie zaklepać w C++, żeby był jeszcze szybszy (i przynajmniej będę wiedział czy to dobrze zrobiłem bo mam do porównania wersję w Matlabie). Pisząc od początku w C++ w życiu bym tego nie osiągnął. Po prostu C++ przerzuca uwagę programisty na niskopoziomowe optymalizacje (bo to w C++ łatwo zrobić), a nie na problem który faktycznie rozwiązujesz.
A i programista o którym wspomniałem bynajmniej nie jest słabym programistą - w zasadzie uważam go za lepszego od siebie.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.