Страница 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 идеологи языка в скобки решили не заключать. :D

Зато есть у нас в паскале такой анахронизм, как case-insensitive идентификаторы, что позволяет в тексте творить вполне определенный бардак и - порою - наведенные ошибки.

Тут вспомнили фортран... :mrgreen: Знавал я одного программера, перешедшего с фортрана... Он тексты своих программ писал сплошняком, чтобы больше входило на экран - и это ему чертовски нравилось и он считал это удобным. :D Честно говоря, долго думая, не могу даже представить, что в фортране такого выдающегося, что по нему до сих пор ностальгируют... Кроме разве что непереводимых прикладных библиотек, большая часть которых возможно и не на фортране вовсе написана.

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, причем на всех известных операционках - конечно дрянь. :mrgreen: Нужно всеми силами держаться за наследие могучего фортрана и терминалов 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. Так же в нем есть конструкция:

Код: Выделить всё

 if
then
else
ifelse
 endif

endif есть в Pure Basic.

Писать на этих них безобразный код также легко как и на остальных языках.

Re: Пожелания

Добавлено: 03.03.2013 23:45:54
yantux
Лекс Айрин писал(а):
yantux писал(а): А кроме фортарана похоже ни кто операторы не метил, чтобы не путаться в них.


А ничего так, что фортран один из старейших языков?


Если честно, то я даже не знаю, как в Фортране метят операторы аля begin end.


Лекс Айрин писал(а):Есть еще малораспространенный диалект бейсика. Яндекс подсказывает, что это Small Basic. Так же в нем есть конструкция:

Код: Выделить всё

 if
then
else
ifelse
 endif

endif есть в Pure Basic.

Писать на этих них безобразный код также легко как и на остальных языках.


То же самое есть в vhdl:

Код: Выделить всё

if ... then
endif;


но это всё не то, я имелл ввиду:

Код: Выделить всё

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, я специально привел пример неудобочитаемого кода, для которого невозможно добиться ясности подписывая операторные скобки.