Страница 2 из 3
Re: Пожелания
Добавлено: 26.02.2013 00:14:33
Лекс Айрин
Mirage, тогда уж лучше notepad++ он хоть имеет подсветку синтаксиса и линии блоков.
Re: Пожелания
Добавлено: 26.02.2013 00:40:16
svk12
Редактор IDE ничуть не хуже, чем notepad++, подсвечивает соответствующие операторные скобки
и рисует соединяющую их вертикальную линию - при включённом сворачивании, естественно.
ПМСМ, проблема высосана из пальца. Следить за правильностью оп.скобок должен любой программер,
претендующий на владение языком. Это вопрос правописания на уровне 2-3-го классов СШ.
Re: Пожелания
Добавлено: 26.02.2013 07:30:31
SSerge
ммм... Ерунду какую-то обсуждаем...
Помнится, был такой диалект бейсика, у которого логические блоки замыкались как endif, endfor, endwhile и ... endelse. Помнится, при программировании это доставляло неимоверно вплоть до настоящей расовой ненависти.
Зато у нас в паскале содержится слово THEN, логически не имеющее ни малейшего смысла, но нужное компилятору, чтобы отделить условие оператора IF от остального, потому что условие IF идеологи языка в скобки решили не заключать.
Зато есть у нас в паскале такой анахронизм, как case-insensitive идентификаторы, что позволяет в тексте творить вполне определенный бардак и - порою - наведенные ошибки.
Тут вспомнили фортран...

Знавал я одного программера, перешедшего с фортрана... Он тексты своих программ писал сплошняком, чтобы больше входило на экран - и это ему чертовски нравилось и он считал это удобным.

Честно говоря, долго думая, не могу даже представить, что в фортране такого выдающегося, что по нему до сих пор ностальгируют... Кроме разве что непереводимых прикладных библиотек, большая часть которых возможно и не на фортране вовсе написана.
Re: Пожелания
Добавлено: 26.02.2013 21:37:45
Mirage
Насчет условия IF в скобках - меня это достаёт в Яве. Несмотря на удобные IDE.
А что касается then, так он читабельности добавляет, в отличии от скобок. Вот begin лишний, да.
Re: Пожелания
Добавлено: 01.03.2013 09:22:29
yantux_netbook
alexs писал(а):Проблема искусственная. Из серии создам сам себе трудности - а потом буду преодолевать их.
Первое правило оформление кода - текст процедуры должен целиком помещаться на экране без перелистывания! Если процедура больше - рефакторинг кода просто необходим. Если придерживаться этого стандарта - не будет проблем с большим количеством блоков кода.
Ну и естественно - не стоит писать весь код в одну строку

. А то сразу предвижу примеры из этой области.
1 логическая операция - 1 строка.
Не считаю проблему искусственной. Тоже самое можно сказать в отношении ассемблера. В плане операторов ассемблер вполне может всё то, что и языки более высокого уровня. Тогда зачем языки более высокого уровня?
Re: Пожелания
Добавлено: 01.03.2013 11:21:00
Padre_Mortius
Зато есть у нас в паскале такой анахронизм, как case-insensitive идентификаторы, что позволяет в тексте творить вполне определенный бардак и - порою - наведенные ошибки.
Бардак как раз выше при case-sensitive идентификаторах. Не надо эту дрянь в паскаль тащить, в С++ от нее тошно, особенно на сложных идентификаторах.
Re: Пожелания
Добавлено: 01.03.2013 15:48:12
SSerge
Padre_Mortius писал(а):Не надо эту дрянь в паскаль тащить
С учетом того, что наименования функций во всех системных библиотеках - исключительно case sensitive, причем на всех известных операционках - конечно дрянь.

Нужно всеми силами держаться за наследие могучего фортрана и терминалов CM ЭВМ, да еще чтобы можно было писать:
Код: Выделить всё
ПРОГРАМ ТУПИ;
VAR Q,TY;
БЕГИН
Я:=СЯРТ(2.0);
ТЫ:=Я+Я+СИН(Я);
ВРИТЕLN('НАПИСАНО:',ТЫ);
ЕНД.
Кстати, не смешно. Вполне корректный и компилируемый код, в некоторых исторических условиях.
А идентификаторы надо писать все таки однозначно с полным соблюдением регистра, а не как вздумается в разных местах.
Эту, как вы говорите, "дрянь" почему то внедрили во все языки высокого уровня, появившиеся гораздо позже паскаля, включая скриптовки
Добавлено спустя 1 час 23 минуты 42 секунды:Вообще, здраво рассуждая, мечтать о Case-sensitive в самом языке бессмысленно, поскольку потеряется обратная совместимость кода. А вот иметь директиву, которая будучи включена в тектс модуля, заставила бы компиялтор выдавать предупреждения при наличии в тексте переменных, написанных не так, как при их определении, юыло бы здравой идеей
Re: Пожелания
Добавлено: 02.03.2013 12:48:14
alexs
yantux_netbook писал(а):Не считаю проблему искусственной. Тоже самое можно сказать в отношении ассемблера. В плане операторов ассемблер вполне может всё то, что и языки более высокого уровня. Тогда зачем языки более высокого уровня?
Я говорил про совсем другое.
Не надо писать большие процедуры. Процедура выполняет 1 логическое действо. И если у вас получается процедура слишком большая - значит вы плохо провели декомпозицию задачи.
Насчёт асемблера - вообще не в тему разговора. Не будем ещё это флем поднимать тут...
Re: Пожелания
Добавлено: 02.03.2013 12:50:29
Лекс Айрин
alexs, он, похоже, просто не поймет нас. Ему проще изобретать велосипед.
Re: Пожелания
Добавлено: 02.03.2013 23:48:52
yantux
Лекс Айрин писал(а):alexs, он, похоже, просто не поймет нас. Ему проще изобретать велосипед.
Про велосипед мне ответить не чего, т.к. я не спец по языкам. А кроме фортарана похоже ни кто операторы не метил, чтобы не путаться в них.
Добавлено спустя 15 минут 47 секунд:alexs писал(а):Я говорил про совсем другое.
Не надо писать большие процедуры. Процедура выполняет 1 логическое действо. И если у вас получается процедура слишком большая - значит вы плохо провели декомпозицию задачи.
Насчёт асемблера - вообще не в тему разговора. Не будем ещё это флем поднимать тут...
Да, я в общем понял позицию большинства по этому вопросу.
Меня лично раздражает даже такой код:
Код: Выделить всё
begin
код 1
begin
код 2
begin
код 3
end;
код 4
end;
код 5
end;
поэтому какая либо связка между begin и end я считаю жизненно необходимой, чтобы читая нижние end-ы не приходилось вспоминать, перелистывать вверх, чтобы вспомнить предыдущие begin-ы и считать их.
В целом у меня вопросов больше нет.
Re: Пожелания
Добавлено: 03.03.2013 12:52:29
Лекс Айрин
yantux писал(а): А кроме фортарана похоже ни кто операторы не метил, чтобы не путаться в них.
А ничего так, что фортран один из старейших языков?
Есть еще малораспространенный диалект бейсика. Яндекс подсказывает, что это Small Basic. Так же в нем есть конструкция:
endif есть в Pure Basic.
Писать на этих них безобразный код также легко как и на остальных языках.
Re: Пожелания
Добавлено: 03.03.2013 23:45:54
yantux
Лекс Айрин писал(а):yantux писал(а): А кроме фортарана похоже ни кто операторы не метил, чтобы не путаться в них.
А ничего так, что фортран один из старейших языков?
Если честно, то я даже не знаю, как в Фортране метят операторы аля begin end.
Лекс Айрин писал(а):Есть еще малораспространенный диалект бейсика. Яндекс подсказывает, что это Small Basic. Так же в нем есть конструкция:
endif есть в Pure Basic.
Писать на этих них безобразный код также легко как и на остальных языках.
То же самое есть в vhdl:
но это всё не то, я имелл ввиду:
Код: Выделить всё
begin(first_block)
код 1
begin(second_block)
код 2
begin(third_block)
код 3
end(third_block);
код 4
end(second_block);
код 5
end(first_block);
Re: Пожелания
Добавлено: 04.03.2013 00:00:44
Лекс Айрин
yantux писал(а):но это всё не то, я имелл ввиду:
А Если будет код типа:
Код: Выделить всё
begin(first_block)
код 1
end(first_block);
код 2
begin(first_block)
код 3
end(first_block);
.....
begin(first_block)
код 4
end(first_block);
Re: Пожелания
Добавлено: 04.03.2013 22:19:51
B4rr4cuda
Лекс Айрин писал(а):А Если будет код типа:
Плохо воспринимается.. не зря все, кто пытается добиться легкочитаемого кода, отделяют логические блоки, добавляют пробелы между операторами и операндами.. разделяют фокус восприятия. В варианте выше - все слишком сумбурно..
Добавлено спустя 4 минуты 22 секунды:Кстати, в языке Ада енды указывают на блок, который они завершают.. Для дополнительной страховки.. Боже храни этих терпеливых людей, на нем пишуших)
Re: Пожелания
Добавлено: 04.03.2013 22:25:25
Лекс Айрин
B4rr4cuda, я специально привел пример неудобочитаемого кода, для которого невозможно добиться ясности подписывая операторные скобки.