Dlaczego Linuksy pisane są nadal w C, a nie w C++?
Wiadomo że ten uniksowy system składa się z części asemblerowej i kodzie w języku C. Tak mnie ciekawi że skoro C łyknie prawie wszystko co skompiluje
s.....3 z- #
- #
- #
- #
- 245
Wiadomo że ten uniksowy system składa się z części asemblerowej i kodzie w języku C. Tak mnie ciekawi że skoro C łyknie prawie wszystko co skompiluje
s.....3 z
Komentarze (245)
najlepsze
http://harmful.cat-v.org/software/c++/linus
@Ragnarokk: Pozwolę się nie zgodzić, uprzejmość zawsze jest celowa. Ten sam przekaz napisany w uprzejmy sposób mógłby zostać przyjęty przez koderów C++ z życzliwością a nawet stać się źródłem inspiracji, zamiast antagonizować środowisko
@maniak713: To jest nawet lepszy język do niskiego poziomu niż C, daje dużo większe możliwości kontroli kodu już na etapie kompilacji. Chcesz mieć silne typowanie? To masz bez żadnego narzutu na wykonywany kod. Chcesz mieć destruktory? To masz je w języku a nie korzystasz z rozwiązań specyficznych dla gcc. Nie chcesz RTTI, to nie używasz, nie
@Neurotok: no nie jestem tego taki pewny, wydajność i czas kompilacji - racja, ale debugowanie można w sporej części wyeliminować dobrym podejściem do testów (TDD) i projektu (częściowo konsekwencja TDD ale można to też osiągnąć bez TDD)
@Neurotok: ten czas wydaje się mocno zbyt duży, na pewno masz sprawny komputer? https://forum.qt.io/topic/22606/how-long-take-it-to-compile-qt5
Wyjątki i błędy
Error codes vs C++ Exceptions:
It's far more readable and — as a bonus — compiler is likely to produce more efficient code.
- już nie jest to prawdą, za sprawą SEH.
Co więcej, metoda C jest w obecnych czasach problematyczna: ustawianie zwracanych wartości przez podany wskaźnik, ciągłe sprawdzanie warunkami czy występuje błąd - system wyjątków obecnego C++
– Bjarne Stroustrup
Mimo tego polecam poczytać o template'ach w embedded. Można uzyskać bardzo ładny kod
@friko9: Podaj namiary na jakieś materiały
Wygląda to na sensowny zestaw reguł jak na kernel, aczkolwiek klasyczny programista C++ będzie kwiczał na wieść o braku metod wirtualnych ;) W zasadzie nie widzę na liście "zakazanych" nic wartościowego, może oprócz metod wirtualnych; takie np. RTTI czy dynamic_cast to i tak gówno :P
Czuję
fajna reklama, czyżby ad sense trafił?
@kurczaczak: dzięki za świetne wyjaśnienie. Już wszystko wiadomo.