PHP blablabla:

123
A
На сайте с 19.07.2010
Offline
130
#11
proksey-net:
Там конечно тоже есть jmp - аналог goto, но все-таки там еще куча условных переходов типа jne

Эх. романтика.... когда стек перетирает код и код уже выполняется/изменяется в стеке и все это можно наблюдать, т.к. используется экранная память. 😂

.............
SeVlad
На сайте с 03.11.2008
Offline
1609
#12
DenisVS:
goto, начало деградации.

Через много лет, после того я более-менее уже выучил свой первый "ЯП" - бейсик на спектруме.. и даже написал кучку производственных программ, но потом был многолетний провал в общении с ПК.. Так вот, через много лет, когда я "вернулся", то услышал хорошую фразу: "бэйсик-программисты - инвалиды программирования". Глубину оной я понял только когда начал изучать Паскаль - никак от этого гуту не мог отделаться. Столько нервов попортил :)

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
DV
На сайте с 01.05.2010
Offline
644
#13

admak, асм в совсем других условиях практиковали, крайнего дефицита памяти.

Когда-то тоже писал, без компьютера :)

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
A
На сайте с 19.07.2010
Offline
130
#14
DenisVS:
Когда-то тоже писал, без компьютера :)

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

Затем бумага с машинными кодами шла к програматору в котором эти коды вбивались и записывались на РФ2 (микросхема ПЗУ)

Сейчас это звучит, как-то дико и фантастично. :)

DV
На сайте с 01.05.2010
Offline
644
#15
admak:
записывались на РФ2 (микросхема ПЗУ)

Наш человек! У меня до сих пор УФ стиралка из ДРЛ имеется, под 27512 делал.

PN
На сайте с 22.08.2012
Offline
103
#16
DenisVS:
Наш человек! У меня до сих пор УФ стиралка из ДРЛ имеется, под 27512 делал.

а я помню мои игры под DOS на Turbo Pascal:)

Мой совет помог? Не скупись! Bitcoin 1Lseddet1o1B6odgXQHbGaWGwRkt1Db8Ef Ethereum 0x450f1a17461e25194B7F9226cDEe70173F39e1e1
edogs software
На сайте с 15.12.2005
Offline
775
#17
SeVlad:
Через много лет, после того я более-менее уже выучил свой первый "ЯП" - бейсик на спектруме.. и даже написал кучку производственных программ, но потом был многолетний провал в общении с ПК.. Так вот, через много лет, когда я "вернулся", то услышал хорошую фразу: "бэйсик-программисты - инвалиды программирования". Глубину оной я понял только когда начал изучать Паскаль - никак от этого гуту не мог отделаться. Столько нервов попортил :)

Не скажите. Вся эта истерика с "нельзя применять goto" она на 90% оправдана модой и желанием попонтоваться "а я не применяю goto, я не лох" и на 10% криворукими программистами которые и без goto так накосячят, что от goto уже хуже не будет. Правильное применение goto очень даже кошерно. С тем же успехом можно чморить php за "нестрогую типизацию" или "неправильную реализацию классов".

Тут надо отметить, что даже на том же бейсике goto правильными программистами применялось правильно. В конце концов в ассемблере вообще нет ничего кроме goto и ничего - так что все в конце концов сводится к goto, как ни рыпайся:)

---------- Добавлено 13.06.2015 в 21:36 ----------

proksey-net:
Ассемблер я тоже люблю, однако, не соглашусь, что там сплошные джампы. Там конечно тоже есть jmp - аналог goto, но все-таки там еще куча условных переходов типа jne, а это уже подобие while. Так что используйте циклы:)
jne это не подобие while это подобие if not goto :)
Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
PN
На сайте с 22.08.2012
Offline
103
#18
edogs:
jne это не подобие while это подобие if not goto :)

тогда по Вашей логике while это так:


while (x==5)
{
print 'test';
}

=


wh:
print 'test';
if (x==5)
goto wh;

Никто не говорит, что goto - плохой стиль программирования. Программируйте циклы на goto вместо for, foreach, while, do..while. Разговор о том, что когда goto скачет из одной функции в другую - вот это уже плохой стиль! А пишут for, foreach, while просто потому, что это проще, чем метка и goto. Это все равно что x может принимать значения от 1 до 5 и мы вместо

if x==2

напишем

if x!=1 and x!=3 and x!=4 and x!=5

DV
На сайте с 01.05.2010
Offline
644
#19

edogs, собственно, в ваших словах не вижу противоречий с "не надо применять goto".

Оно можно и нужно, когда циклы получаются монструозными, в упомянутых микроконтроллерах, на допотопных/embedded компьютерах.

Ну а в нормальных языках на современной ЭВМ оно как бы символично, означает "мне лень/от синтаксиса циклов мне плохо/мне уже трудно удержать в голове структуру моего разросшегося кода, проще перейти по указателю".

PN
На сайте с 22.08.2012
Offline
103
#20
DenisVS:
edogs, собственно, в ваших словах не вижу противоречий с "не надо применять goto".
Оно можно и нужно, когда циклы получаются монструозными, в упомянутых микроконтроллерах, на допотопных/embedded компьютерах.
Ну а в нормальных языках на современной ЭВМ оно как бы символично, означает "мне лень/от синтаксиса циклов мне плохо/мне уже трудно удержать в голове структуру моего разросшегося кода, проще перейти по указателю".

у меня даже в мыслях не возникает писать goto, я сразу прикидываю цикл при проектировке любой программы. И даже, когда я писал на ассемблере, я не делал чистый goto - все равно делал подобие циклов - т.е. конструкция, строго заключенная в некие рамки. Например, метка loop:, команды, метка endloop:. И внутри либо условный переход на loop, либо на endloop, но НЕ за пределы этой конструкции. В общем, делал такие же циклы. Мне даже логически сложнее было бы придумать конструкцию с выходом goto за пределы цикла.

Так что дело тут вовсе не в моде, а в том, что это крайне неудобно. Все примеры, которые приведены в Интернете в оправдание goto, в жизни не встречаются, поверьте! PHP поддерживает, например, двойной выход из цикла (break 2). Это вам заменит goto даже без флажков. А если и обойтись без break 2, то флажок тоже полезен, потому что Вы видите логику работы программы. По флажкам можно понять больше, чем по комментариям, которые никто не пишет.

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий