gns_ua: (Default)
gns_ua ([personal profile] gns_ua) wrote2011-09-07 05:11 pm

(no subject)

то что ты сейчас пытаешься сделать (использовать ассемблер в программах на Delphi) — ошибка. Генетическая. Российская. Всей образовательной системы страны. Таких преподов надо увольнять сразу же. Если выжигать эту дурь из мозгов каленым железом не получается. Правильно им копейки платят. Они это заслужили.

http://lurkmore.ru/Pascal#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80.D1.8B_.D0.9F.D0.A0.D0.90.D0.92.D0.94.D0.AB_.D0.BF.D1.80.D0.BE_Delphi

А я говорил!

[identity profile] tassadar-ha.livejournal.com 2011-09-07 07:43 pm (UTC)(link)
Идея избегать излишних goto изначально же появилась как улучшение читаемости кода. И если читаемость страдает без goto, то почему бы его не использовать, как пример, для выхода из вложенных циклов.

[identity profile] gns-ua.livejournal.com 2011-09-07 07:47 pm (UTC)(link)
Не "читаемости", а "сопровождаемости". Разные вещи.

Мой пятнаднадцатилетний стаж говорит что без гото жить вполне можно, а вот гото увеличивает шансы построить спагетти-код и не заметить этого.

[identity profile] ctype.livejournal.com 2011-09-07 08:04 pm (UTC)(link)
тут ударение надо ставить на другом, б-кодер скатится в спагетти даже с самыми верными концептами
а я например страдаю без множественного наследования, с++ templates и макрософ ...

[identity profile] gns-ua.livejournal.com 2011-09-07 08:08 pm (UTC)(link)
Скатится, не без того.

Б-кодер и на петоне напишет спагетти с лёгкостью - я вот случайно написал давеча, теперь уже смотрю на свой собственный код как на говно. Но мне можно, я на незнакомом языке полгода назад начал писать ;-)

[identity profile] tassadar-ha.livejournal.com 2011-09-07 08:34 pm (UTC)(link)
Ну, я с 9 класса всякие системы удаленного администрирования ваял на досуге, так что, это уже 10 лет назад, получается :-) Кстати, первые более-менее серьезные проги как раз на Дельфи писал, а потом уже был C и Ассемблер. И - да, согласен, в 99% можно, но в том 1% - стоит не тупо следовать догме, а разобраться в плюсах и минусах обоих путей.

А вообще, это я в поддержание твоего тезиса о том, что хорошо бы понимать, откуда и когда возникает то или иное правило или закономерность.

[identity profile] gns-ua.livejournal.com 2011-09-07 07:53 pm (UTC)(link)
Ну, в смысле, я могу представить как гото будет самым правильным и очевидным решением - ну так и используй его!:) Я не из тех.

Но, вот, у нас в петоне нету гото. Синтаксис заставляет рефакторить, и я на это несколько раз уже натыкался. То есть в крайнем случае я зарайзю эксепшен, но пока удаётся обходиться.

( .... А ведь двадцать лет назад читая книжки про вред гото я охуевал - "а как без гото, йоба?" .. и десять лет назад .. )

[identity profile] st-archer.livejournal.com 2011-09-08 10:31 am (UTC)(link)
Хах. Вспоминается, как я на первом курсе изучал ассемблер (а до этого в школе у нас был продвинутый препод информатики и с 8 класса я пописывал на цпп) и все эти джампы выносили мне моск. Как результат: код я постоянно пытался писать в сишной стиле, что выходило со скрипом.

[identity profile] gns-ua.livejournal.com 2011-09-08 10:52 am (UTC)(link)
10 IF A>30 THEN GOTO 100
20 IF A>20 THEN GOTO 150
30 IF A>10 THEN GOTO 200
40 PRINT "A TOO SMALL!"
50 STOP
100 PRINT "A>30"
110 GOTO 300
150 PRINT "A>20"
160 GOTO 300
200 PRINT "A>10"
210 GOTO 300
250 REM "maybe something more"
300 PRINT "DONE"
310 PRINT STOP

[identity profile] v-l-a-d.livejournal.com 2011-09-08 08:13 pm (UTC)(link)
А ещё можно вспомнить технологию эмулирования switch-case при помощи GOTO X*50+100