Myślałem, że przeczytam typowy stek bzdur, a o dziwo, w większości się z gościem zgadzam. Nie wiem czy jest jakikolwiek sens powrotu do assemblera i czy ten ForwardCom to nie jest wymyślanie C (C, nie C++) od nowa, ale i tak art dobry.
C++ żyje głównie dlatego, że jest całe mnóstwo legacy codu, który ktoś musi utrzymywać a którego nie opłaca się przepisywać. Tendencja w nowych projektach jednak jest jaka jest - C++ to rzadko pierwszy wybór w takich sytuacjach. I słusznie, bo po co jak nie trzeba? Są lepsze narzędzia, które łatwiej później utrzymać.
@nostalgiwolf zgadza się, często jest to po prostu c. Ale c++ to nadal jakieś 25% projektów, tak na oko. Chociaz ilościowo urządzeń na rynku może już inaczej. Moc obliczeniowa to jedno, ale SDK, framework dostarczony przez producenta to drugie i to on narzuca konkretny język.
a to nie jest trochę tak, że C++ nie ma swojego miejsca? Chcesz niskopoziomowe jest ciągle żywy i mający się dobrze C, chcesz analizować dane, tworzyć modele obliczeniowe => python, web JS(ha tfu), chcesz enterprise to C# i Java itd.
@nostalgiwolf: Nie są to jakieś specjalne rewelacje. Na wikipedii na przykład w ramce u góry po prawej jest sekcja "Written in" i każdy z trzech wymienionych produktów ma tam C++ (oraz oczywiście inne języki).
c++ to język bardziej sprzętowy tj c. Kompletnie nie nadający się na realia internetu i większych rozwiązań. Poziom abstrakcji poszedł jeszcze dalej. Lada chwila programowaniem będzie język angielski lub naturalny. z resztą python już takim językiem jest.
@KajakDrewniany: aplikacje webowe będą pisane przez no-code. I będzie potrzeba coraz mniej programistów, ew. do pisania tych aplikacji no-code lub utrzymywania legacy.
Jakiś rok temu wyszła norma dla bezpiecznych systemów, języków programowania a Biden wprowadził ją do amerykańskiej administracji i części strategicznych biznesów. Więc z tych pól zastosowania C++ wkrótce zniknie bo brak mu: type-safety, memory-safety i thread-safety. No ale zaletą C++ od zawsze miały być wydajność i ten specyficzny syntax-sugar. ( ͡°͜ʖ͡°)
Ma składnię Rusta ale nie produkuje 5 MB "hello world!".
@osetnik: gufno prawda, 5MB to ma hello world skompilowane z pełnym debug info i linkując statycznie cały stdlib bez optymalizacji linkowania. W C++ jest tak samo. Zrób sobie stripa na finalnej binarce i już masz kilobajty a nie megabajty. Używając odpowiednich flag kompilacji da się zejść do 4 kB.
Poza tym to nie rośnie proporcjonalnie. U nas projekt mający 300+ zależności,
@hoodoovoodoo: Super, udowodniłeś, że dwa różne toolchainy mają różne defaulty. Nowe, nie znałem.Rust domyślnie generuje debug info, a w g++ musisz dać flagę aby wygenerowało. Z tych 5 MB, 90% to informacje dla debuggera.
Ludzie, którzy piszą soft gdzie kilobajty mają znaczenie (zapewne embedded, bo we wszystkim innym 5 MB to pikuś i nikogo nie obchodzi) umieją przeczytać dokumentację i skonfigurować prawidłowo kompilator pod swoje potrzeby.
Komentarze (267)
najlepsze
@nostalgiwolf: Nie są to jakieś specjalne rewelacje. Na wikipedii na przykład w ramce u góry po prawej jest sekcja "Written in" i każdy z trzech wymienionych produktów ma tam C++ (oraz oczywiście inne języki).
@Joshuaa: no ale grube obliczenia właśnie lecą w c++, a w pythonie są zrobione tylko bindingi
Te 5 MB, żeby wypisać jedną linię tekstu w konsoli to jest hit. I taki jest właśnie Rust.
@osetnik: gufno prawda, 5MB to ma hello world skompilowane z pełnym debug info i linkując statycznie cały stdlib bez optymalizacji linkowania. W C++ jest tak samo. Zrób sobie stripa na finalnej binarce i już masz kilobajty a nie megabajty. Używając odpowiednich flag kompilacji da się zejść do 4 kB.
Poza tym to nie rośnie proporcjonalnie. U nas projekt mający 300+ zależności,
Ludzie, którzy piszą soft gdzie kilobajty mają znaczenie (zapewne embedded, bo we wszystkim innym 5 MB to pikuś i nikogo nie obchodzi) umieją przeczytać dokumentację i skonfigurować prawidłowo kompilator pod swoje potrzeby.
// edit właśnie sprawdziłem:
rustc
@johann-meier: XD - junior? czy troll