Dlaczego #cpp jest #!$%@?? 1) nieczytelne komunikaty o bledach 2) kuleje pod względem struktur danych w stosunku do innych jezykow 3) wskazniki Gimme more
@Anesa: struktury w C++ robisz sobie samemu i najlepsze jest to że masz nad tym praktycznie nieograniczoną kontrolę pod względem pamieci. CO oznacza że część danych możesz np. bezpośrednio wrzucać w stworzone przez siebie struktury/obiekty bez żadnego parsowania.
Co do wskaźników - podobnie - dają Ci kontrolę nad pamięcią i umożliwiają proste podmiany sporej ilości danych.
Np. masz dwa bufory i z jednego korzystasz w jednym wątku, w drugim operujesz na
@Anesa: Komunikaty o błędach to nie kwestia języka a kompilatorów xD
Dla mnie największe minusy to: - proces standaryzacji przez który niektóre firmy moga blokować takie zmiany jak złamanie ABI - złożoność i rozmiar samego języka - brak standaryzacji operacji sieciowych i grafiki - model kompilacji (częściowo naprawiony przez moduły)
@Anesa: - możesz overloadować każdy operator i robić nieczytelne cuda operatorami - automatyczne castowanie między typami numerycznymi - null - templates są turing complete - parsowanie kodu C++ jest trudne
@mikessos: jak ktoś siedzi w projektach, w których nie ma możliwości korzystania z C++11 i wyżej, to tak, to jest problem. W przeciwnym wypadku problem znacznie maleje, bo ogranicza się głównie do integracji biblioteki napisanej w C (C++ != C), ale i wtedy z pomocą przychodzi RAII.
Sam w pracy głównie opieram się na dostępnych kontenerach i smart pointerach, które wykonują całą brudną robotę, a aplikacje muszą przetwarzać codziennie sporą ilość
W sumie największy rak ceplusa to, a mówią już o tym otwarcie niektórzy członkowie różnych WG, to niechęć do złamania ABI oraz #!$%@? kompatybilność wsteczna. ( ͡°ʖ̯͡°)
Od czasu studiów (skończyłem dawno temu, więc z tym prowadzącym to trafiłeś kulą w płot) w pracy zawodowej nie mam do czynienia z czystymi wskaźnikami ani jawnym zarządzaniem pamięcią. Jawne zarządzanie pamięcią to przeżytek, ma sens tylko w bardzo niskopoziomowym programowaniu (np w programowaniu systemowym). A Rustem się bawię w wolnym czasie.
1) nieczytelne komunikaty o bledach
2) kuleje pod względem struktur danych w stosunku do innych jezykow
3) wskazniki
Gimme more
Komentarz usunięty przez autora
Komentarz usunięty przez autora
Komentarz usunięty przez autora
@Anesa: to dwie największe zalety C++ i faktu jego przewagi nad częścią innych.
Co do wskaźników - podobnie - dają Ci kontrolę nad pamięcią i umożliwiają proste podmiany sporej ilości danych.
Np. masz dwa bufory i z jednego korzystasz w jednym wątku, w drugim operujesz na
Dla mnie największe minusy to:
- proces standaryzacji przez który niektóre firmy moga blokować takie zmiany jak złamanie ABI
- złożoność i rozmiar samego języka
- brak standaryzacji operacji sieciowych i grafiki
- model kompilacji (częściowo naprawiony przez moduły)
- automatyczne castowanie między typami numerycznymi
- null
- templates są turing complete
- parsowanie kodu C++ jest trudne
Komentarz usunięty przez autora
@Passer93: to jest minus - wskaźniki i konieczność ręcznego zarządzania pamięcią to źródło większości dziur w programach napisanych w C i C++
Komentarz usunięty przez autora
Komentarz usunięty przez autora
Sam w pracy głównie opieram się na dostępnych kontenerach i smart pointerach, które wykonują całą brudną robotę, a aplikacje muszą przetwarzać codziennie sporą ilość
@Malkof: xDDDDDDDDDD
Od czasu studiów (skończyłem dawno temu, więc z tym prowadzącym to trafiłeś kulą w płot) w pracy zawodowej nie mam do czynienia z czystymi wskaźnikami ani jawnym zarządzaniem pamięcią. Jawne zarządzanie pamięcią to przeżytek, ma sens tylko w bardzo niskopoziomowym programowaniu (np w programowaniu systemowym). A Rustem się bawię w wolnym czasie.