-
Data: 2023-05-18 16:24:49
Temat: Re: Dziwny problem z kodem w C (gcc mips/pic32)
Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 18/05/2023 16:08, Dawid Rutkowski wrote:
>>> Wyciąłem, bo pisząc o zaczęciu nie miałem na myśli wykonania kroku,
>>> który tak naprawdę nic nie zmienia.
>> Krok ten zmienia bardzo wiele. Nagle nie masz wymówki, że się nie da
>> pisać lepiej.
> Niestety da się również pisać gorzej.
Tak, ale to już problem białkowy, a nie ograniczenia języka. Wystapuje w
każdym języku. No może poza perlem, tam pisanie bardzo dobrze jest
nieodróznialne od pisania najgorzej.
> Wciąż nie możesz zrozumieć, że pisząc o C++ musisz mieć w świadomości,
> że to jest cały C++, a nie tylko wybrane przez ciebie, ułatwiające życie
mechanizmy.
Bzdura do kwadratu.
Piszesz w C.
Masz problem, który można elegancko i czytelnie rozwiązać C++.
Używasz C++ w tym jednym miejscu.
Reszta dnia wolnego.
> Ale nie C++.
Czyli to problem ideologiczny. Nie możesz uwierzyć, że można pisać po
staremu i tam gdzie C++ się przydaje - użyć go. Musi być albo skrajna
prawica albo lewica. Recjonalizm zakazany.
> Może nie masz traumy ze studiów ze zmuszaniem do stosowania bzdur
> jako sztuki dla sztuki.
Po prostu ich nie rozumiesz i to całkowicie zrozumiałe. Jak zaczniejsz
używać, szczególnie jeśli ktoś pokaże Ci jak, zrozumiesz, że pewne
konstrukcje w C są najzwyczajniej niebezpieczne i prowadzą do sytuacji
niewykryanych przez kompilator, jak w tym watku.
Pisanie w C to pisanie w asemblerze, podługując się nieskopoziomowymi
instrukcjami.
Pisanie we współczesnym C++ polega na wyrażaniu potrzeb w sposób
wysokopoziomowy. Zamaist "potrzebuję wiedziec ile to zajmuje ramu i
potem se podziele" piszesz "potrzebuje wiedzieć jakie to jest duże". To
jest bezpieczniejsze.
Do tego stopnia, że w jednym z coding standardów jakie miałem okazję
czytać, używanie sizeof w pętli for jest wykrywane przez linter na
etapie review. Ktoś widocznie miał dośc poprawiania takich bzdur.
> Mnie to prześladowało
Więc to problem ideologiczny.
> Możliwe, że jestem niedouczony, ale z Javy poszedł jak z płatka, a z C++
> normalnie wytrzeszcz: "to tak można?!?!jeden!"
Czyli możesz się w wolnej chwili doedukować. Powiększawie warsztatu
programistycznego to tylko plusy. Tym bardziej, że za friko.
> I mi brakuje właśnie czegoś takiego jak kompilowana java na uC.
> Było coś w podobie zwanego JavaME - ale padło.
Nie chcesz tego. Semantyka referencji i zarządzanie pamięcią w Javie nie
nadaja się do mikrokontrolerów, szczególnie do zastosowań realtime, mimo
wielu prób wciśnięcia Javy do małych uC. Za to C++ jak najbardziej
pasuje, bo jest zdecydowanie bliżej sprzętu.
> Jak piszesz samemu to możesz sobie dyscyplinę typu: "używam TYLKO tego, tego i tego
z C++" narzucić.
Tak. To się nazywa coding standard, review, lint. Nie masz takiego
zestawu w firmie?
> Ale w zespole zaraz zaczną odwalać bzdury, "bo w C++ tak można".
Nie. Od tego jest code review + coding standard. Choć przyznaje, że to
pytanie/opinia czasem się pojawi, szczególnie jak zakaz idityczny. Na
przykład "nie wolno używać C++ bo go nie rozumiem".
> Tak jak kiedyś byłem na rozmowie o pracę z takimi dwoma, co mieli biuro w KC,
> chodziło o J2ME i mocno komentowali o takich, co na J2ME alokują sobie tablice po
2MB...
I znowu ten sam argument bez śladu sensu. To, że ktoś w C++ allokuje za
dużo, to wina biedy intelektualnej programisty, a nie wina C++. C++ to
tylko powiększenie składni o masę użytecznych rzeczy. Nie chroni przed
debilizmem. Ale czasem wrzaśnie na etapie kompilacji o jakimś fuckupie,
gdzie C przełknie bez popijania. I jak wstawisz w to zdanie "Java"
zamiast "C++" to dalej będzie prawda.
Następne wpisy z tego wątku
- 18.05.23 16:40 heby
- 18.05.23 16:54 Dawid Rutkowski
- 18.05.23 17:29 Marek
- 18.05.23 17:35 heby
- 18.05.23 17:37 heby
- 18.05.23 18:11 Marek
- 18.05.23 18:16 Marek
- 18.05.23 18:18 Marek
- 18.05.23 18:19 heby
- 18.05.23 18:29 heby
- 18.05.23 18:30 heby
- 18.05.23 18:44 Marek
- 18.05.23 18:46 Marek
- 18.05.23 18:47 Marek
- 18.05.23 18:53 heby
Najnowsze wątki z tej grupy
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
- Superkondensator. Czy to się uda?
- Stare filmy o technice
- Zasilanie własnych konstrukcji przez PoE
- Jak działa domofon?
- Co oni mierzą miernikiem
- 40 lat OrCAD-a
- Multimetr z bluetooth
- Ciekawa mapka z BTS-ami
- Lampy uliczne LED z kubkiem
- Pęczniejące LiPo
- wyłącznik ścienny
- "Wybitna" inteligencja AI
Najnowsze wątki
- 2025-10-27 Taka CISZA a z banków ZNIKAJĄ PIENIĄDZE
- 2025-10-27 Warszawa => Generative AI Engineer <=
- 2025-10-27 Warszawa => Gen AI Engineer <=
- 2025-10-27 Warszawa => Dyrektor IT <=
- 2025-10-27 Warszawa => Spedytor Międzynarodowy <=
- 2025-10-27 Warszawa => BI Developer / Analityk BI <=
- 2025-10-27 Hazard
- 2025-10-26 kupiłem pendrajwa 256gb
- 2025-10-26 Masz 20 sekund na poddanie się :)
- 2025-10-26 automat czy manual
- 2025-10-25 W UK (groźnego) seksualnego przestępce (z Etiopii) aż na JEDEN ROK (rasiści) skazali
- 2025-10-25 Warszawa => Senior Cloud Engineer - AWS <=
- 2025-10-24 Prawdziwy obraz społeczeństwa Gazy.
- 2025-10-24 Atra_ment Canona GI-41 vs 45 itp...
- 2025-10-24 Warszawa => International Freight Forwarder <=




Ceny mieszkań w Polsce spadają, Warszawa mniej dostępna niż Bruksela