(no subject)

Wednesday, 7 September 2011 17:11
gns_ua: (Default)
[personal profile] gns_ua
то что ты сейчас пытаешься сделать (использовать ассемблер в программах на 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

А я говорил!

2011-09-07 19:35 (UTC)
- Posted by [identity profile] gns-ua.livejournal.com
Конечно внутри jmp! В haskell нет goto, но после компиляции внутри, разумеется, будут jmp.

Не о том ведь речь.

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

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

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

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

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

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

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

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

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

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

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

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

2011-09-08 10:52 (UTC)
- Posted by [identity profile] gns-ua.livejournal.com
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

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

Profile

gns_ua: (Default)
gns_ua

April 2017

M T W T F S S
     12
3456789
10111213141516
17181920212223
24252627282930

Expand Cut Tags

No cut tags