Инструменты пользователя

Инструменты сайта


msx:basic_dialogue_programming_language:008

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
msx:basic_dialogue_programming_language:008 [2022-09-19 22:05]
GreyWolf [VIII.6. О стиле программирования [57]]
msx:basic_dialogue_programming_language:008 [2023-02-19 16:21] (текущий)
GreyWolf
Строка 5: Строка 5:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 \\ Я услышал и забыл. \\ \\ Я услышал и забыл. \\
 Я увидел и запомнил. \\ Я увидел и запомнил. \\
Строка 102: Строка 102:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Чтобы избегать //​ошибок//,​ надо набираться //​опыта//,​ Чтобы избегать //​ошибок//,​ надо набираться //​опыта//,​
 чтобы набираться //​опыта//,​ надо делать //​ошибки//​. чтобы набираться //​опыта//,​ надо делать //​ошибки//​.
Строка 115: Строка 115:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Самая коварная уловка дьявола состоит в том, ​ Самая коварная уловка дьявола состоит в том, ​
 чтобы убедить нас, будто его не существует. чтобы убедить нас, будто его не существует.
Строка 134: Строка 134:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Если вам кажется,​ что ситуация улучшается,​ Если вам кажется,​ что ситуация улучшается,​
 значит,​ вы чего–то не заметили! значит,​ вы чего–то не заметили!
Строка 178: Строка 178:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Программисту не всегда нужна ЭВМ, иногда полезнее удобное кресло и спокойная обстановка. Программисту не всегда нужна ЭВМ, иногда полезнее удобное кресло и спокойная обстановка.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 234: Строка 234:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Никогда не берите на корабль два хронометра,​ берите один или, если есть возможность,​ три, но не два. Никогда не берите на корабль два хронометра,​ берите один или, если есть возможность,​ три, но не два.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 243: Строка 243:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 …путём тестирования никогда нельзя установить отсутствие ошибок в программе. Дело в том, что невозможно определённо утверждать,​ что при проверке найдена последняя ошибка в программе;​ следовательно,​ никогда нельзя быть уверенным,​ что может быть найдена и первая ошибка …путём тестирования никогда нельзя установить отсутствие ошибок в программе. Дело в том, что невозможно определённо утверждать,​ что при проверке найдена последняя ошибка в программе;​ следовательно,​ никогда нельзя быть уверенным,​ что может быть найдена и первая ошибка
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 296: Строка 296:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Вы должны радоваться,​ что мост разрушился,​ — я планировал построить ещё тринадцать по тому же проекту. Вы должны радоваться,​ что мост разрушился,​ — я планировал построить ещё тринадцать по тому же проекту.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 390: Строка 390:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Перевести программу из хорошего состояния в отличное неизмеримо труднее,​ чем из плохого в удовлетворительное. Перевести программу из хорошего состояния в отличное неизмеримо труднее,​ чем из плохого в удовлетворительное.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 494: Строка 494:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 О несчастном случае мой подзащитный впервые узнал лишь тогда, когда этот случай произошёл. О несчастном случае мой подзащитный впервые узнал лишь тогда, когда этот случай произошёл.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 544: Строка 544:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Если Вы думаете,​ что разработка и кодирование программы — вещь трудная,​ то Вы ещё ничего не видели. Если Вы думаете,​ что разработка и кодирование программы — вещь трудная,​ то Вы ещё ничего не видели.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 605: Строка 605:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Всякий необходимо причиняет пользу,​ употреблённый на своём месте. Напротив того: упражнения лучшего танцмейстера ​ в химии неуместны;​ советы опытного астронома в танцах глупы. Всякий необходимо причиняет пользу,​ употреблённый на своём месте. Напротив того: упражнения лучшего танцмейстера ​ в химии неуместны;​ советы опытного астронома в танцах глупы.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 714: Строка 714:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Щёлкни кобылу в нос — она махнёт хвостом. Щёлкни кобылу в нос — она махнёт хвостом.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 737: Строка 737:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 —Вам известны мои методы. Примените их! —Вам известны мои методы. Примените их!
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 753: Строка 753:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Разделяй и властвуй! Разделяй и властвуй!
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 844: Строка 844:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Don't worry, computer bugs don't byte. Don't worry, computer bugs don't byte.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 1196: Строка 1196:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Следствие 17: некомпетентность не знает преград ни во времени,​ ни в пространстве. Следствие 17: некомпетентность не знает преград ни во времени,​ ни в пространстве.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 1223: Строка 1223:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Происходит не просто нечто более странное,​ чем мы предполагали:​странность происходящего превышает и то, чего мы не смели предположить. Происходит не просто нечто более странное,​ чем мы предполагали:​странность происходящего превышает и то, чего мы не смели предположить.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 1255: Строка 1255:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Программа,​ свободная от ошибок,​ есть абстрактное теоретическое понятие. Программа,​ свободная от ошибок,​ есть абстрактное теоретическое понятие.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 1290: Строка 1290:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Когда кто выходит из дому, пусть поразмыслит о том, что намерен делать,​ а когда снова войдёт в дом, пусть поразмыслит о том, что сделал. Когда кто выходит из дому, пусть поразмыслит о том, что намерен делать,​ а когда снова войдёт в дом, пусть поразмыслит о том, что сделал.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 1401: Строка 1401:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Структура (от лат. "​structura"​ — "​строение,​ расположение,​ порядок"​),​ совокупность устойчивых связей объекта,​ обеспечивающих его целостность и тождественность самому себе, т.е. сохранение основных свойств при различных внешних и внутренних изменениях. Структура (от лат. "​structura"​ — "​строение,​ расположение,​ порядок"​),​ совокупность устойчивых связей объекта,​ обеспечивающих его целостность и тождественность самому себе, т.е. сохранение основных свойств при различных внешних и внутренних изменениях.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 1480: Строка 1480:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Вы говорите,​ что я повторяюсь. \\ Вы говорите,​ что я повторяюсь. \\
 Но я повторю. Но я повторю.
Строка 1664: Строка 1664:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Известно,​ что отладка в два раза сложнее написания программы. Поэтому,​ если Вы были предельно хитроумны при написании программы,​ то что же Вы будете делать при её отладке?​ Известно,​ что отладка в два раза сложнее написания программы. Поэтому,​ если Вы были предельно хитроумны при написании программы,​ то что же Вы будете делать при её отладке?​
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 1747: Строка 1747:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Форме дай щедрую дань\\ Форме дай щедрую дань\\
 Временем:​ важен в поэме\\ Временем:​ важен в поэме\\
Строка 1858: Строка 1858:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
   - Если программа неверна,​ то её быстродействие не имеет значения. Убедитесь в её правильности прежде,​ чем Вы начнёте её "​улучшать"​.   - Если программа неверна,​ то её быстродействие не имеет значения. Убедитесь в её правильности прежде,​ чем Вы начнёте её "​улучшать"​.
   - Сохраняйте программу ясной и понятной,​ не пытайтесь повысить её быстродействие в процессе кодирования. Преждевременная оптимизация — корень всех бед.   - Сохраняйте программу ясной и понятной,​ не пытайтесь повысить её быстродействие в процессе кодирования. Преждевременная оптимизация — корень всех бед.
Строка 1877: Строка 1877:
  
 [[bibliography#​b59|[59]]] [[bibliography#​b59|[59]]]
- 
 <WRAP group  99%> <WRAP group  99%>
-<WRAP half column><​WRAP ​justify+<WRAP half column> \\ </​WRAP>​ 
-Меня вы научили говорить \\ +<WRAP half column><​WRAP ​right
-На вашем языке. Теперь я знаю, \\ +Меня вы научили говорить ​ 
-Как проклинать, ​— спасибо и за это. \\ +\\ На вашем языке. Теперь я знаю, ​ 
-Пусть унесёт чума обоих вас \\ +\\ Как проклинать, ​спасибо и за это. ​ 
-И ваш язык.+\\ Пусть унесет чума обоих ​вас 
 +\\ И ваш язык.
 <WRAP rightalign>​ <WRAP rightalign>​
-—//​У.Шекспир. Буря (пер.М.Донского)//+—//​У.Шекспир//​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
-</​WRAP>​ +</WRAP></​WRAP>​ 
-<WRAP half column><​WRAP ​justify+ 
-Взирая на солнце,​ прищурь глаза свои и ты смело разглядишь в нем пятна.+<WRAP group  99%
 +<WRAP half column> ​\\ </WRAP
 +<WRAP half column><​WRAP right
 +Взирая на солнце,​прищурь глаза свои ​ 
 +\\ и ты смело разглядишь в нем пятна.
 <WRAP rightalign>​ <WRAP rightalign>​
 —//​Козьма Прутков//​ —//​Козьма Прутков//​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
 +
  
 Школьный курс информатики преследует две цели: Школьный курс информатики преследует две цели:
Строка 1950: Строка 1955:
 Почему же, несмотря на столь серьёзную опасность [[basic:​basic|]],​ он так популярен?​ Почему же, несмотря на столь серьёзную опасность [[basic:​basic|]],​ он так популярен?​
  
-Перечислим основные аргументы,​ выдвигаемые его защитниками и попытаемся их прокомментировать.+Перечислим основные аргументы,​ выдвигаемые его защитникамии попытаемся их прокомментировать.
  
-  * [[basic:​basic|]] прост в изучении. Это единственное достоинство языка как такового. Но это та самая простота,​ которая хуже воровства,​ "​простота орудий каменного века"​. [[basic:​basic|]] простпотому,​ что в нем нет сложных элементов (в первую очередь вспомогательных алгоритмов и некоторых алгоритмических конструкций),​ без овладения которыми поставленные цели не достигаются.+  * [[basic:​basic|]] прост в изучении. Это единственное достоинство языка как такового. Но это та самая простота,​ которая хуже воровства,​ "​простота орудий каменного века"​. [[basic:​basic|]] прост потому,​ что в нем нет сложных элементов (в первую очередь вспомогательных алгоритмов и некоторых алгоритмических конструкций),​ без овладения которыми поставленные цели не достигаются.
   * При работе на [[basic:​basic|]] диалог с компьютером происходит быстро и просто. \\ Это достоинство не языка, а его реализации.   * При работе на [[basic:​basic|]] диалог с компьютером происходит быстро и просто. \\ Это достоинство не языка, а его реализации.
   * [[basic:​basic|]] имеется на многих компьютерах,​ он широко распространён. Однако это не достоинство,​ а большая беда. Фактически мы сталкиваемся здесь с осуждённым в промышленности диктатом производителя. Изготовители ЭВМ и программного обеспечения рекламируют [[basic:​basic|]],​ так как [[basic:​basic|]]–системы проще в изготовлении и могут быть перенесены с западных компьютеров.   * [[basic:​basic|]] имеется на многих компьютерах,​ он широко распространён. Однако это не достоинство,​ а большая беда. Фактически мы сталкиваемся здесь с осуждённым в промышленности диктатом производителя. Изготовители ЭВМ и программного обеспечения рекламируют [[basic:​basic|]],​ так как [[basic:​basic|]]–системы проще в изготовлении и могут быть перенесены с западных компьютеров.
Строка 1965: Строка 1970:
 <WRAP group  99%> <WRAP group  99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Карл Пятый, римский император,​ говаривал,​ что ишпанским языком с богом, французским — с друзьями,​ немецким — с неприятельми,​ италиянским — с женским полом говорить прилично. Но если бы он российскому языку был искусен,​ то, конечно,​ к тому присовокупил бы, что им со всеми оными говорить пристойно. Ибо нашёл бы в нем великолепие ишпанского,​ живость французского,​ крепость немецкого,​ нежность италиянского и, сверх того, богатство и сильную в изображениях краткость греческого и латинского языка… Карл Пятый, римский император,​ говаривал,​ что ишпанским языком с богом, французским — с друзьями,​ немецким — с неприятельми,​ италиянским — с женским полом говорить прилично. Но если бы он российскому языку был искусен,​ то, конечно,​ к тому присовокупил бы, что им со всеми оными говорить пристойно. Ибо нашёл бы в нем великолепие ишпанского,​ живость французского,​ крепость немецкого,​ нежность италиянского и, сверх того, богатство и сильную в изображениях краткость греческого и латинского языка…
  
 Сильное красноречие Цицероново,​ великолепная Виргилиева важность,​ Овидиево приятное витийство не теряют своего достоинства на российском языке… Сильное красноречие Цицероново,​ великолепная Виргилиева важность,​ Овидиево приятное витийство не теряют своего достоинства на российском языке…
 <WRAP rightalign>​ <WRAP rightalign>​
-—//М. Ломоносов. Российская грамматика//​+—//​М.Ломоносов. Российская грамматика//​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
Строка 2001: Строка 2006:
 |Простота изучения| ​ 3  |  3  |  4  |  4  |  5  |  1  |  3  | |Простота изучения| ​ 3  |  3  |  4  |  4  |  5  |  1  |  3  |
 |Наличие литературы| ​ 5  |  3  |  3  |  4  |  4  |  2  |  1  | |Наличие литературы| ​ 5  |  3  |  3  |  4  |  4  |  2  |  1  |
-|Поддержка фирмами разработчиками микропроцессорных систем| ​ 5  |  4  |  4  |  4  |  4  |  3  |  4  |+|Поддержка фирмамиразработчиками микропроцессорных систем| ​ 5  |  4  |  4  |  4  |  4  |  3  |  4  |
 |Универсальность (широта диапазона решаемых задач)| ​ 3  |  3  |  3  |  3  |  2  |  5  |  3  | |Универсальность (широта диапазона решаемых задач)| ​ 3  |  3  |  3  |  3  |  2  |  5  |  3  |
 |Удобство для системного программирования| ​ 5  |  5  |  4  |  3  |  1  |  4  |  5  | |Удобство для системного программирования| ​ 5  |  5  |  4  |  3  |  1  |  4  |  5  |
Строка 2017: Строка 2022:
 В заключение три цитаты:​ В заключение три цитаты:​
   - <​WRAP>​ Практически невозможно научить хорошему программированию студентов,​ ориентированных первоначально на бейсик;​ как потенциальные программисты они умственно оболванены без надежды на исцеление   - <​WRAP>​ Практически невозможно научить хорошему программированию студентов,​ ориентированных первоначально на бейсик;​ как потенциальные программисты они умственно оболванены без надежды на исцеление
-<WRAP rightalign>​ --- Э.Дейкстра,​ ASMSIGPLAN Notice, 1982, 7, P.13–15</​WRAP>​+<WRAP rightalign>​ --- Э.Дейкстра,​ ASMSIGPLAN Notice, 1982, 7, P.13–15</​WRAP>​
 </​WRAP>​ </​WRAP>​
   - <​WRAP>​ …коль уж становиться программистом,​ то программистом хорошим;​ такого программиста отличает постоянное желание стать ещё лучшим программистом,​ а единственно верный путь для этого — стремиться в совершенстве овладеть несколькими языками,​ т.е. сделаться хорошим лингвистом в программировании. Безусловно,​ можно доказать,​ что несомненный вред нанесли и наносят те, довольно хорошие программисты,​ которые,​ став слишком самодовольными или консервативными,​ полагают,​ что язык, которым они пользуются,​ во всех смыслах является последним словом   - <​WRAP>​ …коль уж становиться программистом,​ то программистом хорошим;​ такого программиста отличает постоянное желание стать ещё лучшим программистом,​ а единственно верный путь для этого — стремиться в совершенстве овладеть несколькими языками,​ т.е. сделаться хорошим лингвистом в программировании. Безусловно,​ можно доказать,​ что несомненный вред нанесли и наносят те, довольно хорошие программисты,​ которые,​ став слишком самодовольными или консервативными,​ полагают,​ что язык, которым они пользуются,​ во всех смыслах является последним словом
Строка 2023: Строка 2028:
 </​WRAP>​ </​WRAP>​
   - <​WRAP>​ **Предмет,​ достойный целого курса лекций,​ вы превратили в собрание //​рассказиков//​.**   - <​WRAP>​ **Предмет,​ достойный целого курса лекций,​ вы превратили в собрание //​рассказиков//​.**
-<WRAP rightalign>​ --- Конан Дойль. Медные буки</​WRAP>​+<WRAP rightalign>​ ---  А.Конан Дойль. Медные буки</​WRAP>​
 </​WRAP>​ </​WRAP>​
  
msx/basic_dialogue_programming_language/008.1663614309.txt.gz · Последние изменения: 2022-09-19 22:05 — GreyWolf