Wpis z mikrobloga

@Saly Carbon to wersja Cpp od Google, osobny język bedacy bezpośrednim następcą.

CppFront to eksperymentalne rozszerzenie kompilatora, wprowadzające nowa składnię i pozwalające złamać wsteczną kompatybilność. Kod nowej składni jest transpilowany do normalnego C++.
CppFront to eksperymentalne rozszerzenie kompilatora, wprowadzające nowa składnię i pozwalające złamać wsteczną kompatybilność. Kod nowej składni jest transpilowany do normalnego C++.


@Passer93: tego się trochę boję. Brzmi fajnie na papierze i jest proste do zrobienia ale potem zaczynają się schody, bo IDE nie ogarnia kodu, bo błędy kompilacji pokazują auto generowany kod itd. To nie lata 80, żeby coś co zrobił Stroustrup teraz zadziałało (choć przy dużej ilości szczęscią i zainteresowanych
@lionbest Nie są bo nie mają jak, C++ nie jest w stanie ewoluować, nie może łamać kompatybilności wstecznej a łamanie ABI jest zawsze blokowane w komitecie. Apple i Google mają #!$%@? i przestali praktycznie kontrybutowac do LLVM.

Trzeba szukać innych dróg, jedna z nich jest wyjście ze standaryzacja z ISO.
@Passer93: ja tam się jaram :P

W manifeście Carbona twierdzą, że chcą być jak TypeScript względem JavaScript, a tu CppFront bardziej pod to podchodzi.

Babel i PolyFille czy Shimy nie są wcale takim złymi rozwiązaniem na kompatybilność, bo odwracają kwestię tego, kto "martwi się" w którą stronę.

Z innej strony appki JS/TS są krótko żywotne, bo bardziej do tej pory się firmom opłacało robić coś podobnego, ale od nowa/podstaw, a niektóre
@Passer93: W 100% się zgadzam z tym, że to co jest dobrą praktyką powinno być wymuszane przez kompilator by-default. Sporo tych rzeczy które on tam zrobił to już teraz można wprowadzić na poziomie kompilatora bez znacznych udziwnień języka.

Ten cpp2 może być nawet użyteczny dla juniorów czy kiedy piszesz coś co nie musi być super hiper wydajne jak tworzenie UI. Jednak spora część programów pisana jest w C/C++ po to żeby
@Passer93: ja od dawna mówię że powinien powstać osobny język, który by się nazywał np c++20+ i byłby to c++20, ale z usunięta całą kompatybilnością wsteczną. Taki język byłby rozwijany osobno aplikując do niego następcę standardu i stosowany tam gdzie ta kompatybilność nie jest potrzebna.
@BeginEnd: Cpp2 będzie użyteczne dla każdego kto pisze w c++, bo nie ważne jakim jest się ekspertem w c++ to nigdy się nie jest tak naprawdę ekspertem w tym języku xD
To też znacznie ułatwi kształcenie nowych progamistów bo nie trzeba będzie im tłumaczyć miliona dziwnych rzeczy, tylko bedą mogli zacząć od Cpp2 który jest o wiele prostszy, a zwykły Cpp będzie dla nich czymś w rodzaju IR kompilatora :D
Film
via Wykop Mobilny (Android)
  • 0
@JakTamCoTam: a co z softem który jest utrzymywany? Mowa o takiej ilości kodu że ja #!$%@?.
Wymyślanie nowego języka nic nie daje, zresztą po co jak masz takiego rusta.
Właśnie chodzi o to żeby zachować kompatybilność wsteczną. C++20 każdy by miał w dupie gdyby nie był kompatybilny z wcześniejszymi wersjami.