Wpis z mikrobloga

Czy tylko dla mnie język C++17/20 jest dużo bardziej skomplikowany od Rusta?

Niby wiele elementów w nowszych wersjach służy uproszeniu kodowania, ale i tak patrząc na niektóre otwartoźródłowe projekty w C++ powoduje to, że część kodu jest napisana przy użyciu różnych stylów(niekiedy używany jest unique_ptr a niekiedy zwykły etc.).

#rustlang #cpp
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@qarmin: to jest prawda. Niestety każdy projekt w C++ używa własnych konwencji i bibliotek. Do tego większość dużych firm (Google: Abseil, Facebook: folly) mają własne biblioteki standardowe, bo ta z C++ jest stara/niereformowalna/za mała. Rust ma tą zaletę, że jest młody więc nie trafimy na bibliotekę z lat 90 + dostarcza podstawowe building blocki. Każdy w Ruscie wie, że do opcjonalnych wartości używa się Opt czy read only stringi przepycha
  • Odpowiedz
@qarmin: No jest. C++ ma 40lat bagażu, zachowuje kompatybilność wsteczną i ma filozofie by pozwalać na wszystko programiście nawet jak ten chce się z---------ć.

Rust ma przemyślany design, wychodzi z słusznego załozenia że większość programistów to idioci i nawet taki feature jak domyślne argumenty funkcji czy przeciążanie to w ich rękach niebezpieczne narzędzie, wymusza dobre praktyki przez statyczną analizę kodu i zazwyczaj jest jest sposób na zrobienie czegoś poprawnie. O
  • Odpowiedz
via Wykop Mobilny (Android)
  • 2
@qarmin: @Passer93: @Saly: to zależy. Po prostu w starszym c++ istniało mnóstwo różnych konwencji, czy dziwnych zastosowań biblioteki std. Poczytajcie sobie np jak w c++98/03 wyglądało metaprogramowanie to się za głowę złapiecie(c++ modern design Alexandrescu), te wszystkie constexpr, koncepty, rozbudowany type-traits itd to jest jedynie ułatwienie, aby można było używać metaprogramowania w ludzki sposób. To samo z resztą tych bajerów.
Dlatego dla starych wyjadaczy tego języka
  • Odpowiedz
@qarmin: Bawi mnie trochę to stwierdzenie, jak by Rust wcale nie powstał jako nowoczesny język pomijający problemy i pułapki języka C++ ( ͡° ͜ʖ ͡°)- Ale fakt faktem, że Rust nie jest tak do końca prosty i trudność niektórych rozwiązań jest przesunięta na skomplikowany system traitów z różnych, czasami zewnętrznych bibliotek.
W każdym bądź razie ja jako stary wyjadacz C++ stwierdzam
  • Odpowiedz