-
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
- Aku do UPS
- czy ludzie przestali słuchać muzyki?
- zabawa czatem :)
- Modernizacja instalacji elektrycznej w wielkiej płycie
- Co to za dziwne "białe namioty" co stawiają je w różnych dziwnych miejscach?!?
- RF-Harvester
- jest taki kryzys panie
- Francuska elektrownia atomowa zamknięta. Powodem "nieprzewidywalny" rój meduz
- Lutowanie linek szczotek węglowych w silniku odkurzacza
- Lutowalność połączeń
- mini 400 atari
- Manipulator Satel CA-10-KLED -- CLK, DATA, i... dupa
- Czy cos fi przechodzi przez trafo separujące?
- śrubka masy
- Ciekawostka na dziś lock bity
Najnowsze wątki
- 2025-08-23 zabawa w obligacje
- 2025-08-22 Cenzura na wolnemedia.net - likwidacja codziennej sekcji "Sygnały zauważone"
- 2025-08-22 Aku do UPS
- 2025-08-22 Przygoda hotelowa
- 2025-08-22 "Czy pan Frog ..."
- 2025-08-22 Katowice => Programista Kotlin <=
- 2025-08-22 Warszawa => Sales Executive / KAM <=
- 2025-08-22 Warszawa => Inżynier oprogramowania .Net <=
- 2025-08-22 Warszawa => Starszy Programista C <=
- 2025-08-22 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-08-22 Lublin => Delphi Programmer <=
- 2025-08-22 Warszawa => DevOps Engineer (AWS) <=
- 2025-08-21 Nowe style na energokod.pl
- 2025-08-21 czy ludzie przestali słuchać muzyki?
- 2025-08-21 Rozprawa sądowa o parkowanie.