Пожелания

Проектирование и разработка идеального средства программирования.

Модератор: Модераторы

Re: Пожелания

Сообщение Лекс Айрин » 26.02.2013 00:14:33

Mirage, тогда уж лучше notepad++ он хоть имеет подсветку синтаксиса и линии блоков.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Пожелания

Сообщение svk12 » 26.02.2013 00:40:16

Редактор IDE ничуть не хуже, чем notepad++, подсвечивает соответствующие операторные скобки
и рисует соединяющую их вертикальную линию - при включённом сворачивании, естественно.
ПМСМ, проблема высосана из пальца. Следить за правильностью оп.скобок должен любой программер,
претендующий на владение языком. Это вопрос правописания на уровне 2-3-го классов СШ.
svk12
постоялец
 
Сообщения: 407
Зарегистрирован: 09.06.2008 18:42:47

Re: Пожелания

Сообщение SSerge » 26.02.2013 07:30:31

ммм... Ерунду какую-то обсуждаем...
Помнится, был такой диалект бейсика, у которого логические блоки замыкались как endif, endfor, endwhile и ... endelse. Помнится, при программировании это доставляло неимоверно вплоть до настоящей расовой ненависти.

Зато у нас в паскале содержится слово THEN, логически не имеющее ни малейшего смысла, но нужное компилятору, чтобы отделить условие оператора IF от остального, потому что условие IF идеологи языка в скобки решили не заключать. :D

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

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

Re: Пожелания

Сообщение Mirage » 26.02.2013 21:37:45

Насчет условия IF в скобках - меня это достаёт в Яве. Несмотря на удобные IDE.
А что касается then, так он читабельности добавляет, в отличии от скобок. Вот begin лишний, да.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: Пожелания

Сообщение yantux_netbook » 01.03.2013 09:22:29

alexs писал(а):Проблема искусственная. Из серии создам сам себе трудности - а потом буду преодолевать их.

Первое правило оформление кода - текст процедуры должен целиком помещаться на экране без перелистывания! Если процедура больше - рефакторинг кода просто необходим. Если придерживаться этого стандарта - не будет проблем с большим количеством блоков кода.
Ну и естественно - не стоит писать весь код в одну строку :-). А то сразу предвижу примеры из этой области.
1 логическая операция - 1 строка.


Не считаю проблему искусственной. Тоже самое можно сказать в отношении ассемблера. В плане операторов ассемблер вполне может всё то, что и языки более высокого уровня. Тогда зачем языки более высокого уровня?
yantux_netbook
новенький
 
Сообщения: 15
Зарегистрирован: 30.10.2012 23:13:24

Re: Пожелания

Сообщение Padre_Mortius » 01.03.2013 11:21:00

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

Бардак как раз выше при case-sensitive идентификаторах. Не надо эту дрянь в паскаль тащить, в С++ от нее тошно, особенно на сложных идентификаторах.
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Пожелания

Сообщение SSerge » 01.03.2013 14:24:30

Padre_Mortius писал(а):Не надо эту дрянь в паскаль тащить


С учетом того, что наименования функций во всех системных библиотеках - исключительно case sensitive, причем на всех известных операционках - конечно дрянь. :mrgreen: Нужно всеми силами держаться за наследие могучего фортрана и терминалов CM ЭВМ, да еще чтобы можно было писать:

Код: Выделить всё
ПРОГРАМ ТУПИ;
VAR Q,TY;
БЕГИН
  Я:=СЯРТ(2.0);
  ТЫ:=Я+Я+СИН(Я);
  ВРИТЕLN('НАПИСАНО:',ТЫ);
ЕНД.


Кстати, не смешно. Вполне корректный и компилируемый код, в некоторых исторических условиях.
А идентификаторы надо писать все таки однозначно с полным соблюдением регистра, а не как вздумается в разных местах.
Эту, как вы говорите, "дрянь" почему то внедрили во все языки высокого уровня, появившиеся гораздо позже паскаля, включая скриптовки

Добавлено спустя 1 час 23 минуты 42 секунды:
Вообще, здраво рассуждая, мечтать о Case-sensitive в самом языке бессмысленно, поскольку потеряется обратная совместимость кода. А вот иметь директиву, которая будучи включена в тектс модуля, заставила бы компиялтор выдавать предупреждения при наличии в тексте переменных, написанных не так, как при их определении, юыло бы здравой идеей
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Пожелания

Сообщение alexs » 02.03.2013 12:48:14

yantux_netbook писал(а):Не считаю проблему искусственной. Тоже самое можно сказать в отношении ассемблера. В плане операторов ассемблер вполне может всё то, что и языки более высокого уровня. Тогда зачем языки более высокого уровня?

Я говорил про совсем другое.
Не надо писать большие процедуры. Процедура выполняет 1 логическое действо. И если у вас получается процедура слишком большая - значит вы плохо провели декомпозицию задачи.

Насчёт асемблера - вообще не в тему разговора. Не будем ещё это флем поднимать тут...
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Пожелания

Сообщение Лекс Айрин » 02.03.2013 12:50:29

alexs, он, похоже, просто не поймет нас. Ему проще изобретать велосипед.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Пожелания

Сообщение yantux » 02.03.2013 23:33:05

Лекс Айрин писал(а):alexs, он, похоже, просто не поймет нас. Ему проще изобретать велосипед.


Про велосипед мне ответить не чего, т.к. я не спец по языкам. А кроме фортарана похоже ни кто операторы не метил, чтобы не путаться в них.

Добавлено спустя 15 минут 47 секунд:
alexs писал(а):Я говорил про совсем другое.
Не надо писать большие процедуры. Процедура выполняет 1 логическое действо. И если у вас получается процедура слишком большая - значит вы плохо провели декомпозицию задачи.

Насчёт асемблера - вообще не в тему разговора. Не будем ещё это флем поднимать тут...


Да, я в общем понял позицию большинства по этому вопросу.

Меня лично раздражает даже такой код:

Код: Выделить всё
begin
код 1
   begin
     код 2
      begin
        код 3
      end;
     код 4
   end;
код 5
end;



поэтому какая либо связка между begin и end я считаю жизненно необходимой, чтобы читая нижние end-ы не приходилось вспоминать, перелистывать вверх, чтобы вспомнить предыдущие begin-ы и считать их.

В целом у меня вопросов больше нет.
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

Re: Пожелания

Сообщение Лекс Айрин » 03.03.2013 12:52:29

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


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

Есть еще малораспространенный диалект бейсика. Яндекс подсказывает, что это Small Basic. Так же в нем есть конструкция:
Код: Выделить всё
if
then
else
ifelse
endif

endif есть в Pure Basic.

Писать на этих них безобразный код также легко как и на остальных языках.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Пожелания

Сообщение yantux » 03.03.2013 23:45:54

Лекс Айрин писал(а):
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);
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

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);

Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Пожелания

Сообщение B4rr4cuda » 04.03.2013 22:15:29

Лекс Айрин писал(а):А Если будет код типа:

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

Добавлено спустя 4 минуты 22 секунды:
Кстати, в языке Ада енды указывают на блок, который они завершают.. Для дополнительной страховки.. Боже храни этих терпеливых людей, на нем пишуших)
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: Пожелания

Сообщение Лекс Айрин » 04.03.2013 22:25:25

B4rr4cuda, я специально привел пример неудобочитаемого кода, для которого невозможно добиться ясности подписывая операторные скобки.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Пред.След.

Вернуться в Компилятор / язык программирования

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru