Wpis z mikrobloga

@rss: Standard C/C++ bardzo dobrze określa, kiedy dane pole pamięci jest domyślnie zerowane a kiedy nie. Nie wiem po co kompilator miałby mi np. wymuszać zerowanie pamięci do której zaraz potem chcę coś wczytać, skoro możliwe jest aby po prostu ją przydzielić i nie ruszać. To, że inni programiści nie umieją zajrzeć do dokumentacji i przeanalizować co robi ich program nie jest dla mnie sensownym powodem, aby dobrze napisane programy wykonywały
  • 0
@tpablo: piszesz o tym tak, jakby wyzerowanie było nie wiadomo jak skomplikowaną rzeczą (nikomu nie szkoda tych kilku dodatkowych linii w ASM). Poza tym nie zdziwiłbym się gdyby takie zerwanie było przeprowadzane (lub nie) w zależności od późniejszego wykorzystania zmiennej. :)
@rss: To, czy dodatkowe linie w asm są postrzegane jako duża szkoda, czy nie, zależy od zastosowania. Zerowanie w zależności od późniejszego wykorzystania zmiennej jest tutaj faktycznie pewnym rozwiązaniem, ale czy naprawdę twórcy narzędzi muszą uważać programistów za aż takich idiotów? Jawne wyzerowanie nie zajmuje przecież nigdy dużo kodu, ani na pewno nie czyni go mniej czytelnym (a wręcz przeciwnie).
To, czy dodatkowe linie w asm są postrzegane jako duża szkoda, czy nie, zależy od zastosowania


@tpablo: dokładnie tak, jednak śmiało można stwierdzić, że w większości przypadków to pomijalny koszt, a w tych nielicznych pozostałych momentach można po prostu nakazać kompilatorowi niezerowanie.

czy naprawdę twórcy narzędzi muszą uważać programistów za aż takich idiotów?


Hehe, jestem pewien, że dokładnie to samo mówili programiści języków niskopoziomowych, gdy pojawiały się pierwsze wysokopoziomowe. :D Nie
@rss: @tpablo: Wszystko ma swoje zastosowanie. W C++ dostaniesz niewyzerowaną tablicę i już - musisz myśleć o tym samemu, ale z drugiej strony, po co zerować kilobajty pamięci? Z drugiej, języki wysokopoziomowe są do tego żebyś szybko i bezboleśnie coś napisał, a wtedy zerowanie pomaga. I garbage collector. Itd.

Szybko pisać, czy pisać szybkie programy - to jest zasadnicze pytanie, a nie to czy zerowanie jest złe czy nie.