Здравствуйте, Chrome, Вы писали:
C>Что надо делать отступы в соответствии с уровнем вложенности, ставить пробелы где положено, не размещать несколько мыслей в одной строке и т д. C>То, что сейчас называется стандартами кодирования.
C>И вроде ни у кого не вызывает сомнения, что эти стандарты следует соблюдать. C>Однако средства разработки по прежнему оставляют этот аспект на усмотрение программиста.
Следует соблюдать, но все-таки это не догма. Например, нечто такое:
// Тут я пробелами показываю структуру, что в линейном коде отобразить сложно
parent.appendChild(p);
p.appendChild(div);
div.appendChild(span);
p.appendChild(otherDiv);
p.appendChild(table);
// Альтернатива, увидеть структуру сложно
parent.appendChild(p);
p.appendChild(div);
div.appendChild(span);
p.appendChild(otherDiv);
p.appendChild(table);
// А тут пробелы используются для логической группировки
X := (A+1) * (A*X*X + B*X + C);
X := ( A + 1 ) * ( A * X * X + B * X + C); // Для сравнения, так отформатировал бы VB
for c1 := 0 to 51 do
for c2 := c1+1 to 51 do
for c3 := c2+1 to 51 do
for c4 := c3+1 to 51 do
for c5 := c4+1 to 51 do
begin// Обработка последовательности c1, c2, c3, c4, c5
// Какой вариант мне приятнее для восприятия, чем с отступамиend;
// А вот альтернатива for (c1=0; c1<52; ++c1)
for (c2=c1+1; c2<52; c2++)
for (c3=c2+1; c3<52; c3++)
for (c4=c3+1; c4<52; c4++)
for (c5=c4+1; c5<52; c5++)
{
// Совсем уехали вправо
}
Ну и психологическая проблема: если я не могу написать так, как считаю нужным в данном конкретном случае, то такую систему в топку.
В былые времена, когда деревья были большие а трава зеленая...
Программистов уговаривали, что форматировать код — это хорошо.
Умные люди тратили свое время, что бы донести мысль, которая в наши дни очевидна и вроде бы не подлежит сомнению.
Что надо делать отступы в соответствии с уровнем вложенности, ставить пробелы где положено, не размещать несколько мыслей в одной строке и т д.
То, что сейчас называется стандартами кодирования.
И вроде ни у кого не вызывает сомнения, что эти стандарты следует соблюдать.
Однако средства разработки по прежнему оставляют этот аспект на усмотрение программиста.
Захотел написать код без отступов — пожалуйте. Захотел в одну строчку — на здоровье.
То есть вам конечно, всячески помогают делать правильно, не и неправильно делать не запрещают.
Это плохо, по моему. Во всяком случае в проектах, где больше одного человека.
Как думаете, со временем свобода форматирования полностью отомрет?
Ну максимум, что мне кажется позволительным, это вставить несколько пустых строк, что бы выделять логические участки.
А все остальное должно быть жестко автоформатировано.
Кстати было это в Visual Basic 6.0 неплохо реализовано, уходишь с текущей строки — она форматируется и ошибки подсвечивает.
Так же интересно, обязательные скобочки, выделяющие блоки кода, все эти {}, begin end
— уже живые мертвецы? Сущесвуют просто по инерции?
Ведь отступов для достижения той же цели достаточно, и они являются необходимыми в свете вышеизложенных мыслей.
Есть у скобочек причины для выживания в синтаксисе будущих языков?
Здравствуйте, no4, Вы писали:
no4>Я тоже раньше так думал. Пробовал ли ты привыкнуть к этому? С моей точки зрения, скобочки — просто привычный костыль. Конечно первое время глаз относится недоверчиво — так как привык проверять отступы по дублирующим их скобочкам. А потом привыкаешь и скобки наоборот начинают раздражать.
Очень чревато ошибками. Например при Cut/Paste кода из одного места в другое легко ошибиться в отступах. Забыть внести строчку в цикл или наоборот лишнюю добавить. Скобочки в этом отношении надежнее.
Здравствуйте, Chrome, Вы писали:
C>И вроде ни у кого не вызывает сомнения, что эти стандарты следует соблюдать. C>Однако средства разработки по прежнему оставляют этот аспект на усмотрение программиста. C>Захотел написать код без отступов — пожалуйте. Захотел в одну строчку — на здоровье. C>То есть вам конечно, всячески помогают делать правильно, не и неправильно делать не запрещают. C>Это плохо, по моему. Во всяком случае в проектах, где больше одного человека.
А что делать, если вам достался в наследство товарный вагон кода, отформатированного не так, как принято в вашей организации (или в организации, разработавшей средства разработки)? Городить огород из разных стилей? Но это кошмар получится. Переформатировать старый код по-новому? Но при этом во-первых вы потеряете возможность сравнивать ваши изменения с оригиналом, а во-вторых, потеряете форматирование комментариев, которое тоже могло как-то использоваться в качестве выразительного средства.
Вот и получается, что невозможно выбрать какой-то единый стиль, а все остальные отменить. Ну и явно преобладающего стиля тоже как-то нет, все пишут по-разному.
C>Так же интересно, обязательные скобочки, выделяющие блоки кода, все эти {}, begin end C> — уже живые мертвецы? Сущесвуют просто по инерции? C>Ведь отступов для достижения той же цели достаточно, и они являются необходимыми в свете вышеизложенных мыслей.
Здравствуйте, no4.
no4>Всё-таки в скобочных языках программисты все равно делают отступы, чтобы сразу видеть вложенности в коде, а вот скобочки в отступных языках никто(1) для себя не пишет — хотя могли бы, например, комментариями.
1. Шансов ошибиться скобочками куда меньше, чем шансов огрести проблем с отступами — скобочек банально меньше.
2. Нет разброда в том что считать отступом и сколько раз.
3. Ни одна софтина не заменяет скобочки на что-то другое (см холивары про табуляцию).
4. Семантика программы не должна определяться невидимыми символами/форматированием.
5. Отступы у скобчатых получаются в нагрузку и не несут смысловой нагрузки (уже написано выше).
Разумеется, любую идею можно довести до абсурда — отступы в маткаде не то чтобы страшнее (ПРЕВЕД ((ЛИСП) !)). Хотя вайтспейс всё равно круче.
Здравствуйте, Константин Б., Вы писали:
КБ>Здравствуйте, no4, Вы писали:
no4>>Я тоже раньше так думал. Пробовал ли ты привыкнуть к этому? С моей точки зрения, скобочки — просто привычный костыль. Конечно первое время глаз относится недоверчиво — так как привык проверять отступы по дублирующим их скобочкам. А потом привыкаешь и скобки наоборот начинают раздражать.
КБ>Очень чревато ошибками. Например при Cut/Paste кода из одного места в другое легко ошибиться в отступах. Забыть внести строчку в цикл или наоборот лишнюю добавить. Скобочки в этом отношении надежнее.
По-моему как раз использование Cut/Paste чревато ошибками
Здравствуйте, Курилка, Вы писали:
К>Здравствуйте, Константин Б., Вы писали:
КБ>>Здравствуйте, no4, Вы писали:
no4>>>Я тоже раньше так думал. Пробовал ли ты привыкнуть к этому? С моей точки зрения, скобочки — просто привычный костыль. Конечно первое время глаз относится недоверчиво — так как привык проверять отступы по дублирующим их скобочкам. А потом привыкаешь и скобки наоборот начинают раздражать.
КБ>>Очень чревато ошибками. Например при Cut/Paste кода из одного места в другое легко ошибиться в отступах. Забыть внести строчку в цикл или наоборот лишнюю добавить. Скобочки в этом отношении надежнее.
К>По-моему как раз использование Cut/Paste чревато ошибками
Т.е. если вам нужно перенести кусок кода его по новой набиваете? Или вы сразу все пишете правильно?
Здравствуйте, Pzz, Вы писали:
Pzz>Но при этом во-первых вы потеряете возможность сравнивать ваши изменения с оригиналом,
Не потеряю. Достаточно перед сравнением переформатировать старую версию на лету.
Pzz>а во-вторых, потеряете форматирование комментариев, которое тоже могло как-то использоваться в качестве выразительного средства.
Сколько ты встречал такого кода?
Да, иногда бывает подобие ASCII Art в коде, но я такое при работе не встречал, только давно, когда читал исходники чего-то манипулирующего битами.
Pzz>Вот и получается, что невозможно выбрать какой-то единый стиль, а все остальные отменить. Ну и явно преобладающего стиля тоже как-то нет, все пишут по-разному.
В нормальных командах используют рекомендации от производителя средства разработки и прогоняют код через всякие стайлкопы.
C>>Ведь отступов для достижения той же цели достаточно, и они являются необходимыми в свете вышеизложенных мыслей.
Pzz>Так сделано в питоне. На мой взгляд — глупость.
И еще — F#, Haskell, Boo
Я тоже раньше так думал. Пробовал ли ты привыкнуть к этому? С моей точки зрения, скобочки — просто привычный костыль. Конечно первое время глаз относится недоверчиво — так как привык проверять отступы по дублирующим их скобочкам. А потом привыкаешь и скобки наоборот начинают раздражать.
Всё-таки в скобочных языках программисты все равно делают отступы, чтобы сразу видеть вложенности в коде, а вот скобочки в отступных языках никто(1) для себя не пишет — хотя могли бы, например, комментариями.
(1) "Никто" употребляется в разговорном смысле "известное мне большинство"
Здравствуйте, Chrome, Вы писали:
C>Здравствуйте, Clevelus, Вы писали:
C>>В Visual Studio Меню->Правка->Форматировать документ и нет проблем.
C>Вопрос был — зачем позволять программисту нарушать стандартное форматирование?
Представьте, когда серетарь набирает текст в текстовом редакторе — она сразу следует шаблону? Нет! Сначала идет набор текста, исправление ошибок и только потом форматирование.
Откуда редактор знает в какой стадии находится редактирование файла с кодом? Более того, когда в коде ошибки то его в некоторых случаях вообще невозможно правильно отформатировать.
Форматировать или нет ( и как ) определяется политикой в организации. Во многих перед сохранением документа в репозиторий нужно его отформатировать в соответствии с правилами (в студии просто нажать кнопку ).
Более того, форматирование кода, в общем случае, также включает в себя как называть переменные и функции ... и т.д.
Доброго времени суток! Мир Вам! С уважением Clevelus.
Если мой ответ понравился — оцените, ни на что не влияет, но будет приятно.
Здравствуйте, Hobot Bobot, Вы писали:
HB>Здравствуйте, Chrome, Вы писали:
C>>Так же интересно, обязательные скобочки, выделяющие блоки кода, все эти {}, begin end C>> — уже живые мертвецы? Сущесвуют просто по инерции? C>>Ведь отступов для достижения той же цели достаточно, и они являются необходимыми в свете вышеизложенных мыслей.
HB>Посмотри на Питон. Как по мне — терпимо, но со скобочками нагляднее
С Питоном я разок прокололся при написании скриптов под scons. Кто же знал, что отступы имеют такой сакральный смысл.
Но потом к Питону привык и считаю этот язык очень полезным в быту.
Здравствуйте, Alexander G, Вы писали:
AG>Достаточно часто получается более выразительно писать с нарушением стандартов, чем с их соблюдением. AG>Хотя бы подряд идущие функции и метки таблицей:
AG>
AG>case SomeValue: SomeFunction( 100000, 12, 45); break;
AG>case SomeOtherValue: SomeFunction( 1, 24, 33); break;
AG>/* и куча такого */
AG>/* написание в одну строчку и таблицей повышает читабельность */
AG>
Оно конечно выглядит красиво но добавление
case SomeOtherLongerValue: SomeFunction( 1, 24, 33); break;
вызовет необходимость переформатировать все кейсы, что в свою очередь повлечет за собой потенциальные конфликты при мерже.
да и отступление от норм в одном месте может служить поводом к их нарушению в других местах.
Здравствуйте, Chrome, Вы писали:
C>... C>Ну максимум, что мне кажется позволительным, это вставить несколько пустых строк, что бы выделять логические участки. C>А все остальное должно быть жестко автоформатировано. C>Кстати было это в Visual Basic 6.0 неплохо реализовано, уходишь с текущей строки — она форматируется и ошибки подсвечивает.
В Eclipse, например, можно включить автоматическое форматирование при сохранении. И не только форматирование, но и некоторые другие "подчистки" кода. Я его почти всегда держу включенным.
Здравствуйте, no4, Вы писали:
S>>1. Шансов ошибиться скобочками куда меньше, чем шансов огрести проблем с отступами — скобочек банально меньше. no4>Это результат опыта?
Скорее результат привычки. С точки зрения теории вероятности — сами понимаете — больше символов => больше места для ошибок
Ну и кроме того, чтобы получить странные результаты со скобочками — нужно ошибиться 2 раза.
S>>2. Нет разброда в том что считать отступом и сколько раз. no4>Где разброд? Везде зафиксировано, что считать отступом — где в компиляторах, а где в соглашениях.
Таки 2 или 4 пробела?
S>>3. Ни одна софтина не заменяет скобочки на что-то другое (см холивары про табуляцию). no4>Ну это должно быть зафиксировано в правилах. Например компилятор F# ругается, если ты делаешь отступы табами а не пробелами (я это обнаружил только при редактировании fsyacc-файлов — лдля собственно самого F# студия сама всё поддерживает ). no4>Единственная проблема — с форумами всякими, но вполне терпимая.
Ок. Тогда другой аргумент:
Для шарпа можно вообще автоматом удовлетворять даже правилам параноидального StyleCop'a — ставим http://code.msdn.microsoft.com/PowerCommands и вуаля — автоворматирование при сохранении.
Для отступ-driven языков за отступами (и форматированием) должен следить программист. Лишние грабли.
S>>4. Семантика программы не должна определяться невидимыми символами/форматированием. no4>Если ты не видишь отступы — зачем ты их делаешь?
Ставим не моноширинный шрифт — видим?. ССЗБ, согласен.
no4>Отсутпы делают даже в скобочных языках и именно потому, что они видимы сразу. S>>5. Отступы у скобчатых получаются в нагрузку и не несут смысловой нагрузки (уже написано выше).
no4>Интересно, по вашему программисты на питон и F# не понимают своего щастья и мучаются?
Это функциональные языки, и там параметры, расписанные на несколько строк — экзотика. Да и сами ФП — пока экзотика. Для мейнстрима (читай императивщины) не пойдёт.
Здравствуйте, Константин Б., Вы писали:
КБ>Здравствуйте, no4, Вы писали:
no4>>Я тоже раньше так думал. Пробовал ли ты привыкнуть к этому? С моей точки зрения, скобочки — просто привычный костыль. Конечно первое время глаз относится недоверчиво — так как привык проверять отступы по дублирующим их скобочкам. А потом привыкаешь и скобки наоборот начинают раздражать.
КБ>Очень чревато ошибками. Например при Cut/Paste кода из одного места в другое легко ошибиться в отступах. Забыть внести строчку в цикл или наоборот лишнюю добавить. Скобочки в этом отношении надежнее.
Хех, я однажды на такое нарвался. Запостил патч в тикет, саппорт его наложил, но читали из основного показа тикета в RT, где пробелы в начале строк убираются. Саппортовец придумал отступы по-своему, результат был ужасен. Когда ему показал кнопочку "показать письмо в оригинальном виде" — воспринялось как открытие века.
Случай, конечно, маргинальный, но скобки бы тут спасли.:)
Здравствуйте, Chrome, Вы писали:
C>Так же интересно, обязательные скобочки, выделяющие блоки кода, все эти {}, begin end C> — уже живые мертвецы? Сущесвуют просто по инерции? C>Ведь отступов для достижения той же цели достаточно, и они являются необходимыми в свете вышеизложенных мыслей.
Посмотри на Питон. Как по мне — терпимо, но со скобочками нагляднее
What a piece of work is a man! how noble in reason! how infinite in faculty! in form and moving how express and admirable! in action how like an angel! in apprehension how like a god! the beauty of the world! the paragon of animals!
Здравствуйте, Hobot Bobot, Вы писали:
HB>Здравствуйте, Chrome, Вы писали:
C>>Так же интересно, обязательные скобочки, выделяющие блоки кода, все эти {}, begin end C>> — уже живые мертвецы? Сущесвуют просто по инерции? C>>Ведь отступов для достижения той же цели достаточно, и они являются необходимыми в свете вышеизложенных мыслей.
HB>Посмотри на Питон. Как по мне — терпимо, но со скобочками нагляднее
В Haskell можно как в Питоне, а если захочется (ну мало-ли по пьяни там или ещё как), то можно и скобочки нарисовать
А в киеве дядька...
Я перечислил грабли связанные с программированием отступами в мейнстриме.
Вы поделились ссылкой на опыты по натаскиванию новичков.
?????
[PROFIT]
Да ещё финальный пассаж "я поражён как правильное форматирование помогает студентам писать программы"... автор явно метит в капитаны
Здравствуйте, no4, Вы писали:
no4>Я тоже раньше так думал. Пробовал ли ты привыкнуть к этому? С моей точки зрения, скобочки — просто привычный костыль. Конечно первое время глаз относится недоверчиво — так как привык проверять отступы по дублирующим их скобочкам. А потом привыкаешь и скобки наоборот начинают раздражать.
Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, no4.
no4>>Всё-таки в скобочных языках программисты все равно делают отступы, чтобы сразу видеть вложенности в коде, а вот скобочки в отступных языках никто(1) для себя не пишет — хотя могли бы, например, комментариями.
S>1. Шансов ошибиться скобочками куда меньше, чем шансов огрести проблем с отступами — скобочек банально меньше.
Это результат опыта?
S>2. Нет разброда в том что считать отступом и сколько раз.
Где разброд? Везде зафиксировано, что считать отступом — где в компиляторах, а где в соглашениях.
S>3. Ни одна софтина не заменяет скобочки на что-то другое (см холивары про табуляцию).
Ну это должно быть зафиксировано в правилах. Например компилятор F# ругается, если ты делаешь отступы табами а не пробелами (я это обнаружил только при редактировании fsyacc-файлов — лдля собственно самого F# студия сама всё поддерживает ).
Единственная проблема — с форумами всякими, но вполне терпимая.
S>4. Семантика программы не должна определяться невидимыми символами/форматированием.
Если ты не видишь отступы — зачем ты их делаешь? Отсутпы делают даже в скобочных языках и именно потому, что они видимы сразу.
S>5. Отступы у скобчатых получаются в нагрузку и не несут смысловой нагрузки (уже написано выше).
S>Разумеется, любую идею можно довести до абсурда — отступы в маткаде не то чтобы страшнее (ПРЕВЕД ((ЛИСП) !)). Хотя вайтспейс всё равно круче.
S>В общем для мейнстрима не пойдёт
Прежде чем делать выводы стоило бы привыкнуть к обоим вариантам а потом выбирать. Скобочки просто привычный костыль.
Интересно, по вашему программисты на питон и F# не понимают своего щастья и мучаются?
Здравствуйте, no4, Вы писали:
S>>4. Семантика программы не должна определяться невидимыми символами/форматированием.
no4>Если ты не видишь отступы — зачем ты их делаешь? Отсутпы делают даже в скобочных языках и именно потому, что они видимы сразу.
У меня вот лично слабое зрение, я не вижу разницы между пробелами и табами.
Мне самому нравится как в Питоне отступы сразу и отступы и семантика. Но с другой стороны я поимел проблем из-за незаметного перехода пробел/таб, особенно при переносе с компа на комп и дальнейшим редактированием в редакторе с другими настройками.
Здравствуйте, Sinix, Вы писали:
no4>>Интересно, по вашему программисты на питон и F# не понимают своего щастья и мучаются? S>Это функциональные языки, и там параметры, расписанные на несколько строк — экзотика. Да и сами ФП — пока экзотика. Для мейнстрима (читай императивщины) не пойдёт.
А на вопрос ответьте, интересно же. В Haskell, например, можно писать со скобочками и точками с запятыми, но, сюрприз, так не делает никто.
Здравствуйте, VoidEx, Вы писали:
no4>>>Интересно, по вашему программисты на питон и F# не понимают своего щастья и мучаются? S>>Это функциональные языки, и там параметры, расписанные на несколько строк — экзотика. Да и сами ФП — пока экзотика. Для мейнстрима (читай императивщины) не пойдёт.
VE>А на вопрос ответьте, интересно же. В Haskell, например, можно писать со скобочками и точками с запятыми, но, сюрприз, так не делает никто.
А я не ответил? Попробуем разжевать: для фп-style отступы — милое дело, ибо код компактней, смысловая нагруженность повыше, а императивщины — кот наплакал. Напомню, речь с самого начала шла о насильственном форматировании для мейнстрима. Так что не взлетит.
Здравствуйте, Lloyd, Вы писали:
A>>Chrome, Вам присуждается почётное звание Formatting Nazi: A>>
L>Это устоявшееся выражение? А откуда оно?
Явно калька отсюда: http://lurkmore.ru/Grammar_nazi
Я бы, правда, не шутил особо на тему nazi (хотя lurkmore — ресурс прикольный). По крайней мере, пока ещё живы те, кто с ними воевал. Воевал — не в смысле пререкался в форумах, а по настоящему.
Здравствуйте, Chrome, Вы писали:
C>Как думаете, со временем свобода форматирования полностью отомрет?
Нет.
Достаточно часто получается более выразительно писать с нарушением стандартов, чем с их соблюдением.
Хотя бы подряд идущие функции и метки таблицей:
case SomeValue: SomeFunction( 100000, 12, 45); break;
case SomeOtherValue: SomeFunction( 1, 24, 33); break;
/* и куча такого */
/* написание в одну строчку и таблицей повышает читабельность */
Особенно верно для всяких DSL средствами языка. Например, таких
Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, no4, Вы писали: no4>Это результат опыта? S>Скорее результат привычки.
Я имел ввиду, что пробовали ли вы написать какое-нибудь количество кода на отступном языке или вас страшит сама идея снаружи, не попробовав.
S>>>2. Нет разброда в том что считать отступом и сколько раз. no4>>Где разброд? Везде зафиксировано, что считать отступом — где в компиляторах, а где в соглашениях. S>Таки 2 или 4 пробела?
в питоне — 4. http://www.python.org/dev/peps/pep-0008/
no4>>Единственная проблема — с форумами всякими, но вполне терпимая. S>Ок. Тогда другой аргумент: S>Для шарпа можно вообще автоматом удовлетворять даже правилам параноидального StyleCop'a — ставим http://code.msdn.microsoft.com/PowerCommands и вуаля — автоворматирование при сохранении. S>Для отступ-driven языков за отступами (и форматированием) должен следить программист. Лишние грабли.
Разве важно, за отступами или за скобочками следит программист? Главное
S>>>4. Семантика программы не должна определяться невидимыми символами/форматированием. no4>>Если ты не видишь отступы — зачем ты их делаешь? S>Ставим не моноширинный шрифт — видим?. ССЗБ, согласен.
Спасибо что не WinDings
no4>>Отсутпы делают даже в скобочных языках и именно потому, что они видимы сразу. S>S>>5. Отступы у скобчатых получаются в нагрузку и не несут смысловой нагрузки (уже написано выше).
no4>>Интересно, по вашему программисты на питон и F# не понимают своего щастья и мучаются? S>Это функциональные языки, и там параметры, расписанные на несколько строк — экзотика.
Питон не является функциональным языком. В выражениях, кстати, отступы не используются для обозначения вложенности — только в императивных конструкциях.
Что имеется ввиду под "параметры" — параметры вызова функций?
S>Да и сами ФП — пока экзотика. Для мейнстрима (читай императивщины) не пойдёт.
Питон очень много где применяется, и он — императивщина.
Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, no4, Вы писали:
no4>>Отсутпы делают даже в скобочных языках и именно потому, что они видимы сразу. S>S>>5. Отступы у скобчатых получаются в нагрузку и не несут смысловой нагрузки (уже написано выше).
"В нагрузку", это значит, чтоб читать потруднее было? Какую же нагрузку они несут? Особенно если учесть, что они невидимы? Зачем в текст вставляют что-то невидимое, и для компилятора не играющее роли?
Здравствуйте, Sinix, Вы писали: S>Это функциональные языки, и там параметры, расписанные на несколько строк — экзотика.
Вовсе нет. В хаскеле часто так делается при документировании хэддоком: http://www.haskell.org/haddock/doc/html/ch03s02.html.
Здравствуйте, Chrome, Вы писали:
C>Вопрос был — зачем позволять программисту нарушать стандартное форматирование?
Есть такая штука — решарпер. И есть у него ряд рефакторингов, когда код переносится куском из одного места в другое. И как то, давным давно, решарпер переформатировал весь переносимый кусок целиком. Что вызвало кучу нареканий со стороны пользователей. Так что сейчас решарпер переформатирует только края перемещаемого куска + делает отступы у всего куска целиком.
Вот такие вот наблюдения.
... << RSDN@Home 1.2.0 alpha 4 rev. 1302 on Windows 7 6.1.7600.0>>
Здравствуйте, no4, Вы писали:
Pzz>>Так сделано в питоне. На мой взгляд — глупость. no4>И еще — F#, Haskell, Boo no4>Я тоже раньше так думал. Пробовал ли ты привыкнуть к этому? С моей точки зрения, скобочки — просто привычный костыль. Конечно первое время глаз относится недоверчиво — так как привык проверять отступы по дублирующим их скобочкам. А потом привыкаешь и скобки наоборот начинают раздражать.
Смысл скобок начинаешь понимать, когда стоишь на последнем операторе нескольких блоков и хочешь перейти к началу блока, но не можешь объяснить редактору, какого именно блока.
В языке со скобками всё просто — стал на скобку, нажал '%' и на месте (рассказываю для vim). А тут? Требуется новый костыль.
С другой стороны, пока что мне наличие elif важнее (его отсутствие в Си и наследниках — глупость несусветная)
no4>Всё-таки в скобочных языках программисты все равно делают отступы, чтобы сразу видеть вложенности в коде, а вот скобочки в отступных языках никто(1) для себя не пишет — хотя могли бы, например, комментариями.
Иногда таки приходится.
no4>(1) "Никто" употребляется в разговорном смысле "известное мне большинство"