powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Программирование на Русском Языке!
25 сообщений из 301, страница 8 из 13
Программирование на Русском Языке!
    #36886236
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoи указать почему его не рекомендуется использовать,
Боюсь, в мире найдётся очень мало авторов книжек, всерьёз способных это сделать. Просто потому, что уже давно потерян контекст, в котором это положение было актуальным.

Я бы сравнил неиспользование goto c такой заповедью, как "не вари козлёнка в молоке матери его" (если не ошибся в цитате). Человек, привыкший покупать молоко в тетрапаковских пакетах в супермаркете, просто не сможет в рамках своих повседневных знаний объяснить "почему", и вынужден повторять "запомните это, дети патамушта понять это - нэвазможна потому что так Моисей заповедовал". Что мы в случае goto ежедневно и наблюдаем.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886270
Thermik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YossarianЯмб, Аналитик...

Мы обращались в фирму 1С с предложением ввести в язык (речь идет о версии 6.0) следующие конструкции :

ПОЧЕМУ БЫ И НЕ - проверяет условие еще раз (самый частый глюк старой 1С)
НЕПРЕМЕННО - выполняет оператор без сбоев и зависаний
ОТНЫНЕ - присваивает значение переменной так, чтобы оно там действительно оказалось.
ВО ЧТО БЫ ТО НИ СТАЛО - выводит текст отчета который без этого оператора выводится через раз.
НЕ СПАТЬ - отключает внутренний глюкогенератор
Я СКАЗАЛ - выполняет команду до тех пор, пока она не выполнится.

Почему-то фирма не прислушалась к нашему мнению...

Washington Irving

и "булеву" аглебру с элементами:

НИ ДА НИ НЕТ
ТРИ РАЗА НЕТ
НЕТ И НЕ ПРОСИ

(С) Квант
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886278
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886279
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotegorychда занафига?
Хотя бы для того, чтобы не видеть такого ужаса:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
bool break_all = false;
for(...) {
	for(...) {
		for(...) {
			...
			if(...) {
				break_all = true;
				break;
			}
		}
		if( break_all )
			break;
	}
	if( break_all )
		break;
}
Хотя "учить" -- это, конечно, громко сказано. Но выбивать стереотипную дурь "ни в коем случае ни при каких обстоятельствах не использовать goto" -- надо вполне. Особенно если речь идёт о каком-нибудь языке типа VB6 (в котором нет continue, и иногда попытка обойтись if-ами выглядит удручающе ужасной).

ну break - это тоже goto
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886313
junior  idiot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZyK_BotaNну break - это тоже goto
Ага. И вызов подпрограммы. И условный оператор (с тернарным заодно). И оператор выбора. И исключения.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886322
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotegorychда занафига?
Хотя бы для того, чтобы не видеть такого ужаса:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
bool break_all = false;
for(...) {
	for(...) {
		for(...) {
			...
			if(...) {
				break_all = true;
				break;
			}
		}
		if( break_all )
			break;
	}
	if( break_all )
		break;
}
Хотя "учить" -- это, конечно, громко сказано. Но выбивать стереотипную дурь "ни в коем случае ни при каких обстоятельствах не использовать goto" -- надо вполне. Особенно если речь идёт о каком-нибудь языке типа VB6 (в котором нет continue, и иногда попытка обойтись if-ами выглядит удручающе ужасной).
Знаете, вы привели именно тот случай, где некое подобие goto не повредит. А повредит он, только если его тыкать где ни попадя. В крайности то тоже ударяться не нужно.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886326
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotZyK_BotaNну break - это тоже goto
Ага. И вызов подпрограммы. И условный оператор (с тернарным заодно). И оператор выбора. И исключения.
И цикл тогда уж.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886331
Thermik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886348
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotZyK_BotaNну break - это тоже goto
Ага. И вызов подпрограммы. И условный оператор (с тернарным заодно). И оператор выбора. И исключения.
и я о том же.
раз мы пользуемся кастрированным goto(его частными случаями), то не плохо бы знать об общей форме.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886362
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLojunior idiotZyK_BotaNну break - это тоже goto
Ага. И вызов подпрограммы. И условный оператор (с тернарным заодно). И оператор выбора. И исключения.
И цикл тогда уж.
В операторах организации цикла есть loop но нет явного jmp (приминительно к х86).
По-моему и вызов подпрограммы (если мы говорим об инструкции CALL ) - то это не jmp (сиречь - goto). Вот break - да (переход за пределы цикла)....
И вообще - чо-то слишком много холивара вокруг одного "ин на"... Пора вернуться к теме...
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886394
junior  idiot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SIMPLicity_По-моему и вызов подпрограммы (если мы говорим об инструкции CALL ) - то это не jmp (сиречь - goto).
Разве call это не тупо push (адреса возврата) + jmp?
А ret -- pop (адреса возврата) + jmp?

XDiaBLo, я привёл один из случаев. Самый простой. Да и пытаться сводить программирование к "набору рецептов" -- тоже некрасивый путь. Нужно просто знать все возможности языка и в каждом конкретном случае выбирать наиболее приятную глазу, легко читаемую, понимаемую и поддерживаемую форму кода. И если для этого нужно использовать goto, то пусть для этого используется goto.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886411
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoЧто такое ТСО.
оптимизация хвостового вызова.

XDiaBLoZyK_BotaNps. ps. А о глобальных переменных тоже не нужно знать?
Лучше даже не знать.

а как тогда программы писать? в чисто ф-ном стиле?.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886417
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже где-то говорили в форуме про goto. Почти всё сказано. Его можно любить или не любить. Исключение лишних goto - это всего-лишь часть задач рефакторинга. Но без jmp ассемблер просто немыслим. А для бинарника, работающего в RealTime и на пределах технических возможностей процессора, каждый лишний jmp сбрасывает кеши команд. Это - таймауты. Это реальная беда с которой надо бороться при отладке производительности видеокодеков к примеру.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886418
junior  idiot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZyK_BotaNXDiaBLoZyK_BotaNps. ps. А о глобальных переменных тоже не нужно знать?
Лучше даже не знать.

а как тогда программы писать? в чисто ф-ном стиле?.
Пропертями статических классов %)))) что, пожалуй, и есть "глобальные переменные".
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886427
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaN
а как тогда программы писать? в чисто ф-ном стиле?.
или плодить кучу параметров?
я даже боюсь представить насколько мусорный получится код.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886457
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotSIMPLicity_По-моему и вызов подпрограммы (если мы говорим об инструкции CALL ) - то это не jmp (сиречь - goto).
Разве call это не тупо push (адреса возврата) + jmp?
А ret -- pop (адреса возврата) + jmp?


Ну вот, если чесно, пытался вспомнить - не помню - всётаки (по-моему), call , ret , iret не раскладываются на более мелкие машинные комманды. Возвраты - ret и iret - точно не раскладываются - по логике - там же выталкивается содержимое регистров адреса . Про call трендеть не буду - прости, но за последние 15 лет ни одного ассемблерного оператора не написал. ... far-far-away go .... И эта, в догонку, в x86 просто не существовало ни одной команды прямого занесения данных в адресные регистры - да и накуя? - кому надо - пользовался косвенным jmp. Ну можно было ещё помутить с занесением адреса в ячейку "ручками", ну да это изврат....
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886560
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiot:
>> Особенно если речь идёт о каком-нибудь языке типа VB6 (в котором нет continue, и иногда попытка обойтись if-ами выглядит удручающе ужасной).
когда доходит дело до таких языков, то очень быстро осваиваются приёмы правильного использования goto, так сказать, самостоятельно. Здесь нет особой изотерики, чтобы тратить время на "расширение кругозора".
И в качестве замечания добавлю, что break и continue - это таки неявные goto.

>> Но выбивать стереотипную дурь "ни в коем случае ни при каких обстоятельствах не использовать goto" -- надо вполне.
с этим согласен, я бы даже сказал, что вбивать эту мантру уже давно надо прекратить.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886640
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotSIMPLicity_По-моему и вызов подпрограммы (если мы говорим об инструкции CALL ) - то это не jmp (сиречь - goto).
Разве call это не тупо push (адреса возврата) + jmp?
А ret -- pop (адреса возврата) + jmp?

XDiaBLo, я привёл один из случаев. Самый простой. Да и пытаться сводить программирование к "набору рецептов" -- тоже некрасивый путь. Нужно просто знать все возможности языка и в каждом конкретном случае выбирать наиболее приятную глазу, легко читаемую, понимаемую и поддерживаемую форму кода. И если для этого нужно использовать goto, то пусть для этого используется goto.
Да пусть будет, если где-то нужно. Мне в чистом виде никогда не нужно было, со времён бейсика на спектруме. Но в циклах да, бывает полезно чтобы было.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886643
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNXDiaBLoЧто такое ТСО.
оптимизация хвостового вызова.

XDiaBLoZyK_BotaNps. ps. А о глобальных переменных тоже не нужно знать?
Лучше даже не знать.

а как тогда программы писать? в чисто ф-ном стиле?.
Что такого нельзя сделать, без глобальных переменных, в случае ООП?
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886671
junior  idiot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
XDiaBLoЧто такого нельзя сделать, без глобальных переменных, в случае ООП?
В случае ООП, "глобальная переменная" -- это статический класс.
Готовы от них отказаться?
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36886684
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotXDiaBLoЧто такого нельзя сделать, без глобальных переменных, в случае ООП?
В случае ООП, "глобальная переменная" -- это статический класс.
Готовы от них отказаться?
Статический класс это по крайней мере удобнее, особенно меня бесит всякие extern фигачить.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36887144
AlexTal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ещё был язык АП для машины Найри-2 (конец 70-х прошлого столетия)
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36887340
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoСтатический класс это по крайней мере удобнее, особенно меня бесит всякие extern фигачить.
static и extern возникали задолго до проблем рефакторинга и их появление можно объяснить условиями (программно-аппаратная конфигурация) действующими на тот момент.

Сегодня - эти условия изменились.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36887364
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonXDiaBLoСтатический класс это по крайней мере удобнее, особенно меня бесит всякие extern фигачить.
static и extern возникали задолго до проблем рефакторинга и их появление можно объяснить условиями (программно-аппаратная конфигурация) действующими на тот момент.

Сегодня - эти условия изменились.
Короче я от глобальных переменных избавляюсь любой ценой. Один раз даже в синглтон запрятал, но синглтон правда не только этим занимается, просто эта переменная там в основном и используется, в этом синглтоне.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36887475
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoКороче я от глобальных переменных избавляюсь любой ценой. Один раз даже в синглтон запрятал
...
Рейтинг: 0 / 0
25 сообщений из 301, страница 8 из 13
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Программирование на Русском Языке!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]