Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

  • Список
  •  » Флейм
  •  » Программистам: использование разделителей типа «;» в тексте программ

0    0    #1
17.09.2007 13:59

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Программистам: использование разделителей типа «;» в тексте программ

Учитывая всплеск активности по теме «goto», хочется попробовать расспросить народ о том, кто что думает о необходимости использования разделителей типа «;» в тексте программы? Как мешает жизни разделитель типа того же перевода строки. При этом, хочешь несколько операций в одной строке? — используй разделитель типа «;». Хочешь для наглядности разбить слишком длинную строку на несколько? — оставляй висящим знак операции или используй какой-нибудь символ для склейки строк (чтобы компилятор врубился). Есть у кого какие мысли?

Неактивен

0    0    #2
17.09.2007 14:06

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Программистам: использование разделителей типа «;» в тексте программ

Перевод строки, как и пробел, обычно называется whitespace и игнорируется компилятором. Явно завершать оператор - лучший способ на мой взгляд.

Неактивен

0    0    #3
17.09.2007 14:10

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Программистам: использование разделителей типа «;» в тексте программ

Я не говорю про существующие компиляторы.

Неактивен

0    0    #4
17.09.2007 17:54

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Программистам: использование разделителей типа «;» в тексте программ

В Луа, например, точек с запятой нет.

Речь идёт о компиляторе для твоей платформы, я так понимаю?

Неактивен

0    0    #5
17.09.2007 18:16

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: Программистам: использование разделителей типа «;» в тексте программ

По-моему, исключительно дело привычки. В Visual Basic, например, строки разделяются переводом строки, для склейки используется символ подчеркивания с пробелом. Точка с запятой - тоже совершенно нормально. Больших проблем у меня с этим не возникало никогда.

Опять же, помню, еще в институте мне вдолбили, что использование нескольких операторов в одной строке снижает читаемость кода (хотя и экономит бумагу и дисковое пространство;), поэтому я - человек зомбированный и всегда стараюсь размещать по оператору на строке. А вот если их по нескольку на строку лепить, то тут, конечно, точка с запятой дает явные преимущества.

Неактивен

0    0    #6
19.09.2007 06:20

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: Программистам: использование разделителей типа «;» в тексте программ

Глазам своим не верю: прошло уже больше полутора суток, а дискуссия словно замерла! Где же бескомпромиссные посты от истинных знатоков на тему "обратный дабл-слэш рулит" и "только вопросительный знак"? Энтузиасты ИЛ, откликнитесь! Пора всколыхнуть это болото!

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

1. Ввести жесткое требование размещать не более одного оператора в строке, ограничив максимальную длину строки 10-15 символами. И никаких переносов! Краткость - сестра таланта, в том числе программистского. Чтобы избежать проблем с выводом обширных фрагментов текста, которыми так славится наш любимый жанр, потребуется организовать их (фрагментов) подгрузку из внешних файлов на этапе компиляции. Помимо всего прочего, такой подход будет способствовать образованию идеальных с точки зрения написания текстовых квестов пар "программист-писатель", поскольку более четко разграничит их функции и позволит работать обоим участникам авторского тандема независимо, не мешая друг другу.

2. Сделать символ-разделитель тотально настраиваемым, для чего предусмотреть разветвленный набор опций, выделенный в отдельное меню или тул-бар. Для продвинутых авторов дополнить IDE графическим редактором, позволяющим прорисовывать символ разделения в TrueColor с использованием как растровой, так и векторной графики, а также вешать его на любую "горячую" клавишу по выбору пользователя. Разумеется, потребуются также средства для калибровки цветопередачи, чтобы листинг программы не терял своей читабельности при распечатке.

3. Вместо специальных символов использовать в качестве признака разделения цвет. Текст программы мог бы в этом случае выглядеть примерно так:

if u=7 thenprint("Hello, world"
)
inc(i)x:=y+1ClrScr
elseGetAttrCode
PutPixel(x,y)
dec(i)
endif


Помимо того, что при этом автор практически не будет ограничен в стиле программирования, такая система однозначно должна понравиться творческим натурам, так как позволит создавать из текстов программ настоящие произведения искусства (в духе ASCII-арта).

4. Наконец, использовать в качестве разделителя русский "неопределенный артикль" из трех букв. В среду разработки можно будет встроить небольшую распознавалку речи, единственной функцией которой будет улавливание этого "артикля"-разделителя, произносимого автором вслух, и вставка его в нужном месте программы. Многим это предложение может показаться примитивным и лишенным фантазии, но вдумайтесь, как это будет самобытно и патриотично, насколько повысит читабельность кода! А главное - в какой степени развитие этой идеи приблизит наш жанр к народу, возможно, позволив ему наконец снискать массовую популярность в России!

Отредактировано uux (19.09.2007 06:25)

Неактивен

0    0    #7
19.09.2007 10:12

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Программистам: использование разделителей типа «;» в тексте программ

4. Наконец, использовать в качестве разделителя русский "неопределенный артикль" из трех букв.

Да, да! Я ЗА!
Гениально!

Неактивен

0    0    #8
21.09.2007 17:40

kickme
Участник
Зарегистрирован: 12.09.2007
Сообщений: 3

Re: Программистам: использование разделителей типа «;» в тексте программ

3. Вместо специальных символов использовать в качестве признака разделения цвет.

Божья искра! smile

Неактивен

0    0    #9
28.09.2007 16:00

/gray_flannel
Участник (+8)
Откуда: Киев
Зарегистрирован: 08.08.2007
Сообщений: 52
Вебсайт

Re: Программистам: использование разделителей типа «;» в тексте программ

С моей точки зрения точка с запятой в конце строки - пережиток прошлого века (такой же как си++ бвахахаха smile). У меня на работе закоренелые сишники даже луашный код оформляют с точками запятой - чтобы потом легко было перенести код в с++.

Отредактировано /gray_flannel (28.09.2007 16:00)

Неактивен

0    0    #10
01.10.2007 10:00

Sfunx
Участник
Зарегистрирован: 22.08.2007
Сообщений: 11

Re: Программистам: использование разделителей типа «;» в тексте программ

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

Несколько операторов в строке - рационально бывает. Например:

a=f(x);b=k(y);c=b+k; - вполне красиво смотрятся в одной строке.

Неактивен

0    0    #11
01.10.2007 10:59

SolitaryPilgrim
Участник
Зарегистрирован: 01.10.2007
Сообщений: 6

Re: Программистам: использование разделителей типа «;» в тексте программ

Уже на автомате.
Паскаль, PHP - везде есть точка с запятой.
Привык.
А каждую команду в отдельной строке - по-началу будет куча ошибок (не так перенес, не полностью написал и т.д.) и сиди думай, где это я заблудился в трёх соснах.

Неактивен

0    0    #12
01.10.2007 18:27

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Программистам: использование разделителей типа «;» в тексте программ

Читабельность лучше, когда каждая команда на отдельной строке. И вообще текст лучше форматировать по стандарту, с правильно проставленными пробелами:

Код:

int a = 0;
for (int i = 0; i < n; i++)
{
    a += f(x) + b(y);
    if (a < z)
        c = a;
}

Читается гораздо легче чем

Код:

int a=0;
for(int i=0;i<v;i++) { a+=f(x)+b(y);if(a<z)c=a ;}

Неактивен

0    0    #13
11.10.2007 11:55

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: Программистам: использование разделителей типа «;» в тексте программ

В паскале, код вообще пишешь, как предложения. Все операторы оканчивающие на точку с запятой указывают на конкретно одно действие и что еще есть несколько после него, а точка после END, указывает на конец самой проги. Так что главное, чтобы смысл ; имела весомый в языке, а так это уже как стандарт, сразу можно определиться, что здесь конец описания одного оператора.

Неактивен

  • Список
  •  » Флейм
  •  » Программистам: использование разделителей типа «;» в тексте программ

Powered by PunBB
© copyright 2001–2024 iFiction.Ru