OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 17 Февраль, 2019 20:37

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 123 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
СообщениеДобавлено: Вторник, 27 Февраль, 2007 16:16 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 189
Откуда: Россия, Томск
Коллеги!

Есть две разработки для улучшения внешнего вида программынх текстов на КП: Beautifier в коллекции Г.Зинна и Master С.Губанова.
Возникла идея попробовать их частично совместить, т.е. к Улучшателю добавить кое-какие функции по раскраске, и навесить полученное опцией на Школьный Блэкбокс. Поручить это дело можно моему ученику, он должен осилить. Как учебный проект будет ему полезен.

Вопрос: будет ли методическая польза от такой прилады? Мне кажется, что польза будет, опрятность всяко лучше неряшливости. К опрятности надо приучать будущих программистов с юных лет и вместе с тем давать им инструменты, которые помогают ее соблюдать.

Вопрос 2: какие опции повышения читабельности (контраста) программного текста следует предусмотреть для применения в начальном (школьном - 4-8 классы) курсе программирования? Каковы оптимальные гарнитура и размер шрифта, жирность, цвет ключевых слов и языковых конструкций и т.п.? Ясно, что увлекаться раскраской и доводить текст до яркости петушиного хвоста не следует, но всё же...

Мне интересно было бы узнать в первую очередь мнение опытных преподавателей, работающих со школьниками


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 27 Февраль, 2007 17:34 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9084
Откуда: Россия, Орёл
Анатолий Иванович - мое мнение: опрятность - это следование стандарту и минимализм.
Есть стандартные правила оформления:
1) Ключевые слова не выделяются, они уже заглавные.
2) Экспорт и нелокальные переходы (RETURN, EXIT) - жирностью.
3) Комментарии - курсивом.

А цвет? Цвет - это мощное средство выделения. Оно может и должно приберегаться для особых случаев. Цвет используется для смысловых акцентов - выделяйте изменения, выделяйте основную мысль.
Пример - в "серьезных" применениях: я выделю изменения в сервис-паках синим. Код синхронизации в низкоруровневых многопоточных модулях - красным.

Цвет - это не для оформления! Цвет - для выделения!
Если вы растратите ресурс цвета для оформления (т.е. систематического применения по шаблону), то что вы будете применять для выделения (т.е. эпизодического, акцентирующего применения)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 28 Февраль, 2007 09:46 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 189
Откуда: Россия, Томск
Илья Ермаков писал(а):
Цвет - это не для оформления! Цвет - для выделения!
Если вы растратите ресурс цвета для оформления (т.е. систематического применения по шаблону), то что вы будете применять для выделения (т.е. эпизодического, акцентирующего применения)?


Илья!
Правила стандартного оформления текста я знаю. Но достигаемый ими эффект кажется недостаточным для указанного мной возраста "программистов". В первые год-два ученики с трудом запоминают вид основных языковых конструкций и помощь им, например, в виде дополнительного выделения ключевых слов жирным шрифтом кажется не лишней.
Для выделения временного текста мы применяем красный цвет, часто намного более крупным шрифтом. Забыть удалить такой просто невозможно :)
Ступенчатые отступы, обрамление знаков операций, отношений и присваивания пробелами - норма в моей практике. Но хочется еще каких-то усовершенствований, чтобы наш любимый КП/ББ стал просто неотразим в школьной среде!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 02 Март, 2007 09:10 

Зарегистрирован: Суббота, 09 Декабрь, 2006 08:56
Сообщения: 35
Откуда: Беларусь
Здравствуйте.
Тема выделения и оформления на начальном этапе для школьников среднего звена достаточно важна. А кому она со временем надоест, можно и отказаться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 02 Март, 2007 12:25 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7969
Откуда: Троицк, Москва
А.П. писал(а):
Но хочется еще каких-то усовершенствований, чтобы наш любимый КП/ББ стал просто неотразим в школьной среде!!


Просто Вы слишком привыкли, хочется новенького.

С неотразимостью мы все тут согласимся, но не за счет же сути.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 02 Март, 2007 13:38 
Аватара пользователя

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 13:17
Сообщения: 84
Откуда: Россия, Мурманск
info21 писал(а):
Просто Вы слишком привыкли, хочется новенького.

С неотразимостью мы все тут согласимся, но не за счет же сути.

Тут вопрос не в неотразимости и не в новеньком. Вопрос в эргономичности. Сравните среду Turbo Pascal 5.5 и Turbo Pascal 7.0. В 7-ке тексты явно читаются легче. В BlackBox кое-какое выделение есть, но его мало. Когда смотришь в модуль реализации неэкспортированных процедур, глазу вообще зацепиться не за что. Ваши, много раз слышанные, концептуальные возражения мне понятны, но мне кажется надо искать компромисс. Работая с плоским текстом, банально быстрее утомляешься. И верхний регистр тут не сильно помогает. Раскраску ведь придумали не для красоты. Это действительно удобно и способствует снижению утомляемости как глаз так и мозга. Я считаю, стандартные правила оформления исходного текста необходимо расширить. Несильно, но так, чтобы в любой процедуре встречались конструкции, выделенные жирностью/цветом. Иначе просто тяжело с таким текстом работать. Нет, конечно, человек ко всему привыкает, но зачем загонять его в прокрустово ложе? Тем более это относится к детям, у которых и так утомляемость повышена, а усидчивость и концетрация внимания наоборот, понижена, по сравнению с навьюченными, повидавшимя всякое, взрослыми. :) ИМХО конечно, но к обсуждению - welcome.

P.S. Кстати, как вам было читать моё ничем не выделенное (даже абзацами) плоское-приплоское сообщение? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 02 Март, 2007 13:47 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9084
Откуда: Россия, Орёл
Да это все понятно...

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 02 Март, 2007 14:08 
Аватара пользователя

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 13:17
Сообщения: 84
Откуда: Россия, Мурманск
Илья Ермаков писал(а):
Тут такой момент - надо расширить TextViews так, чтобы подсветка синтаксиса не была частью форматирования текста, то есть, не сохранялась перманентно в документе, а зависела от настроек среды у конкретного индивидуума....

Это - да! Полностью согласен. А то выделение/оформление, которое применит к частям текста уже сам пользователь - сохраняется в файле и имеет приоритет над встроенной подсветкой. Идеальный вариант. Тогда и овцы будут целы и волки сыты. Аскеты могут поотключать подсветку и пользоваться только ручным выделением. Кому надо/хочется - настроит подсветку так, как ему нравится, не задевая чувств других людей (при обмене исходниками).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 02 Март, 2007 21:47 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
sacred писал(а):
Когда смотришь в модуль реализации неэкспортированных процедур, глазу вообще зацепиться не за что. Ваши, много раз слышанные, концептуальные возражения мне понятны, но мне кажется надо искать компромисс...

Лично для меня в таком коде возникали трудности вида: глаз не цепляется за процедуры (не эксп.) Форматтер, которые есть в коллекции Зина (в котором кстати написано, что он сделан согласно правил оформления в ББ) есть возможность выделять имена процедур цветом. Вс е имена - одним цветом, эксп. - жирным (однако в соглашениях по оформлению я такого не видел).
Поэтому пользуюсь таким способом: отформатировал код форматтером с выделением цветом, чтобы глаз цеплялся, почитал и не сохранил. Обычно-то изучаешь чужой код. А свой - чего его изучать, писать надо стараться так, чтобы потом изучать не пришлось ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 03 Март, 2007 13:30 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 189
Откуда: Россия, Томск
sacred писал(а):
...Вопрос в эргономичности...


Спасибо за уточнение! Именно эргономичность инструмента для изучения и освоения программирования я и имел в виду, говоря о неотразимости. Убежден, что Школьная версия ББ должна быть максимально адаптирована к возрастным особенностям своего главного пользователя - ребенка. Соответствующие настройки и дополнительные прилады выполнить несложно. Надо только иметь четкие рекомендации науки и практики в этой области.

Стандартные соглашения оформления, предназначенные для взрослых профессионалов, недостаточно хороши для детского (10-13 лет) возраста, в котором, я полагаю, должно происходить первое знакомство с настоящим (не игрушечным) языком программирования. Я нередко сталкиваюсь с ошибками, которые допускают мои ученики именно из-за недостаточной эргономичности стандартных настроек ББ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 02 Август, 2007 00:34 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 149
В BlackBox, как правило, негласно нарушается одно из правил оформления текстов программы - не используется моноширный шрифт. В ряде случаев он позволяет добавить выразительности. В книгах у Вирта и у Кернигана и Ритчи для программ использован именно он.

А.П. писал(а):
В первые год-два ученики с трудом запоминают вид основных языковых конструкций и помощь им, например, в виде дополнительного выделения ключевых слов жирным шрифтом кажется не лишней.

Может быть, применить подсветку синтаксиса? Мне частенько приходится набирать тексты программ в Far'е с "прикрученным" Color-ером и это очень удобно, когда среда показывает тебе, где обрыв комментария, и какая скобка какой соответствует. Если какой-то файл-мененджер может (и даже "древняя" среда Open Watcom C/C++ это "умеет", и бета-версия DevCPP, собранная энтузиастами), то чем BlackBox хуже?

Илья Ермаков писал(а):
Если вы растратите ресурс цвета для оформления (т.е. систематического применения по шаблону), то что вы будете применять для выделения (т.е. эпизодического, акцентирующего применения)?

Очень просто - выделять не буквы, а делать что-то вроде маркера (выделение цветом фона).

Евгений Темиргалеев писал(а):
Лично для меня в таком коде возникали трудности вида: глаз не цепляется за процедуры (не эксп.)

А вот тут можно использовать комментарии как элемент оформления и ASCII-арта ("отбойки", "бордюры")

P.S. Есть пары цветов, которые не различаются многими людьми, не стоит их парами разделять что-то важное:
жёлтый/светло-зелёный
красный-коричневый-зелёный (особенно в блёклом или тёмном виде)
сиреневый-синий (не очень часто, но встречается)
белый-очень светлый циан
оранжевый-салатовый (не все оттенки)

Такого рода ляпы дизайна были уже допущены в MS Word при проверке орфографии, Far Manager (EXE-файлы и выделенные файлы), в меньшей степени Turbo Pascal (подсветка синтаксиса, но почти некритично - в целом она довольно чёткая). В этом плане красный/синий или синий/оранжевый - вполне удачные пары.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Август, 2007 10:04 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
ScrollLock писал(а):
В BlackBox, как правило, негласно нарушается одно из правил оформления текстов программы - не используется моноширный шрифт. В ряде случаев он позволяет добавить выразительности. В книгах у Вирта и у Кернигана и Ритчи для программ использован именно он.

А.П. писал(а):
В первые год-два ученики с трудом запоминают вид основных языковых конструкций и помощь им, например, в виде дополнительного выделения ключевых слов жирным шрифтом кажется не лишней.

Может быть, применить подсветку синтаксиса? Мне частенько приходится набирать тексты программ в Far'е с "прикрученным" Color-ером и это очень удобно, когда среда показывает тебе, где обрыв комментария, и какая скобка какой соответствует. Если какой-то файл-мененджер может (и даже "древняя" среда Open Watcom C/C++ это "умеет", и бета-версия DevCPP, собранная энтузиастами), то чем BlackBox хуже?


Голосую всеми руками ЗА.

:idea: Помимо форматтера текстов программ очень нужно что-нибудь вроде построителя выражений в конструкторе запросов MS Access. Но не столько для построения выражений, сколько для быстрого написания хорошо структурированных и отформатированных программ, изучения синтаксиса языка и быстрого доступа к объектам и функциям из готовых компонент и их описаниям. Посмотрите этот построитель выражений - это замечательная вещь, правда, применять такую панель лучше не к тексту в маленьком окошке, а к полному тексту программы. Та инструментальная панель BlackBox'а, которую мне удалось отыскать и установить - вещь удобная, но совершенно не достаточная.

Если авторы перевода документации BlackBox'а думают, что начинающие в состоянии это прочесть и понять, то они очень сильно заблуждаются. :( А вот интерактивное взаимодействие начинающего программиста с таким вот обучающим интеллектуальным "построителем выражений" поможет очень быстро освоить и язык, и среду программирования. Все те мудрые мысли и подходы к программированию, которые обрывочно и совершенно непонятным языком (хотя примерно наполовину русским) изложены в документации и в этом форуме, совершенно естественным образом будут усваиваться в форме настраиваемых текстовых шаблонов, вставляемых в текст программы "построителем выражений". :D

Еще одна вещь, которая просто обязана быть в школьном BlackBox'е, - это мастер создания исполнимых файлов (как exe-шников, так и сборок, запускаемых из урезанного переносимого BlackBox'а). Комментарии, которые даются по этому вопросу с важным видом профессионалами, которые съели уже не одну собаку, мало что проясняют для начинающих. :?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Август, 2007 10:25 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9084
Откуда: Россия, Орёл
А что за построитель выражений в МС Аксесс? Просто я, например, не работал :-)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Август, 2007 11:47 

Зарегистрирован: Пятница, 29 Июнь, 2007 12:16
Сообщения: 98
Единственное, что меня раздражает - это то, что комментарии автоматически не выделяются. Я их обычно пишу довольно много и каждый раз лазить в меню задалбывает(когда читаешь текст зеленые комментарии хорошо видны и это очень удобно). В остальном автоматика в основном мешает. Ключевые слова и так пишутся большими буквами. Единственное, что я еще себе позволяю - это писать названия функций жирным шрифтом, чтобы потом глаз легко цеплялся.
Автоматический "увеличитель" и достраиватель выражений, который уже есть в ББ мне кажется вполне достаточным.
А вот паель для создания исполняемых файлов - весч здравая. Я сам ими не пользуюсь, но такую возможность иметь хотелось бы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Август, 2007 12:39 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 149
Darksnake писал(а):
А вот панель для создания исполняемых файлов - весч здравая. Я сам ими не пользуюсь, но такую возможность иметь хотелось бы.

Вполне здравая. Определённо нужен более подробный док и более продуманные модули/визарды по этому делу (а то олимпиадный модуль National клянчит и не компилирует). И хотелось бы иметь в среде всё-таки понятие проекта (пусть в виде визарда для особой системы папок), статических и динамических библиотек (хотя быть может это мой консервативный взгляд). Нужно ещё, чтобы компилятор печатал суть ошибок/предупреждений с номером строки/столбца - не всегда на глаз видно, что именно произошло.
А вообще история повторяется по спирали, и в этом BlackBox есть что-то от DOS Extenders - они тоже использовали собственный формат бинарников и специальный API, отличный от формата операционной системы. Ведь все эти ocf по существу - те же dll, только собственного "хитрого" формата, не PE.

P.S. И ещё нужна стандартная панель инструментов с кнопками-картинками (может быть, и сейчас как-то оно включается, но нужна по умолчанию) и средства навигации по коду (как в MS Visual Studio). В общем, в BlackBox-е надо ещё много чего доводить до ума.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Август, 2007 14:02 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Darksnake писал(а):
Единственное, что меня раздражает - это то, что комментарии автоматически не выделяются. Я их обычно пишу довольно много и каждый раз лазить в меню задалбывает(когда читаешь текст зеленые комментарии хорошо видны и это очень удобно). В остальном автоматика в основном мешает. Ключевые слова и так пишутся большими буквами. Единственное, что я еще себе позволяю - это писать названия функций жирным шрифтом, чтобы потом глаз легко цеплялся.
Автоматический "увеличитель" и достраиватель выражений, который уже есть в ББ мне кажется вполне достаточным.
А вот паель для создания исполняемых файлов - весч здравая. Я сам ими не пользуюсь, но такую возможность иметь хотелось бы.


Разумеется, мастер создания исполнимых файлов - это приоритет номер один, а инструмент наподобие эксессовского "построителя выражений" - приоритет номер два (новая ОС - лишь номер три, хотя я прекрасно понимаю ее необходимость).

Но указанный инструмент совершенно необходим, если есть цель сделать BlackBox популярным:
1. Можно ведь месяцами тащить тележку по городам и весям, а можно лететь первым классом. Разница огромная.
2. Может быть, того, что есть в BlackBox'е, и достаточно профессионалам, но вовсе не начинающим программистам, которые наверняка знакомы с прекрасным интерфейсом других средств разработки.
3. Я не понял, какой "Автоматический "увеличитель" и достраиватель выражений, который уже есть в ББ " имеется в виду, но скорее всего мы говорим о совершенно разных вещах. Новый инструмент нужен вовсе не для построения выражений, а для написания программ в целом.

Насчет отключаемой подсветки текста. Имеет смысл выделять не ключевые слова (это не относится к подсветке составных операторов при указании курсором на их составную часть), а наоборот, идентификаторы, введенные программистом - аналогично тому, как красным цветом выделяются имена процедур. Свои цветовые обозначения можно ввести, например, для параметров циклов FOR, для глобальных и импортированных переменных и т.п. - чтобы их было легче найти в тексте.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Август, 2007 14:10 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9084
Откуда: Россия, Орёл
Да объяснит хоть кто-нибудь, что за автоматический достраиватель выражений имеется в виду? :-)
Все мозги разбил на части, все извилины заплёл!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Август, 2007 14:40 

Зарегистрирован: Пятница, 29 Июнь, 2007 12:16
Сообщения: 98
Не знаю, что есть в Access-е, я им не пользовался уже лет 6, в ББ есть команда Capitalize&Expand, которая позволяет не морочиться с ключевыми словами и автоматически создает формочки для основных структурных элементов(очень удобная штука). В последних Дельфах есть автоматический "дополнятель", который по куску слова выкидывает список с возможными продолжениями(при этом он анализирует введеную строку и в частности при введении называния объекта может выкинуть список его свойств и методов). Не могу сказать, что это так уж нужно - скорее уж путает, чем помогает.

Цитата:
И хотелось бы иметь в среде всё-таки понятие проекта


Я все время забываю, что его там нет... :( Мы пользуемся басиковским скриптом, который автоматически позволяет организовать проекты, но то, что этого нет в основной версии ББ - просто катастрофично. Без этого скрипта я бы уже загнулся, разбираясь где у меня что. Хватает того, что одних только версий одного и того же проекта одовременно живет штук 6.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Август, 2007 14:54 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9084
Откуда: Россия, Орёл
Нее, мужики, перекладывать управление версиями на среду - это жестоко :-)
Всё равно возможностей будет не хватать, а чтобы сделать более-менее мощный инструмент для этого, потратите уйму времени.
Тут нужно брать готовую систему версионирования. Поставьте Subversion (SVN) и не мучайтесь.
У нас в фирме SVN теперь для всего - для программных проектов на ББ, для документов, для публикаций... Очень удобно и безопасно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Август, 2007 15:04 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Илья Ермаков писал(а):
А что за построитель выражений в МС Аксесс? Просто я, например, не работал :-)


Это трудно описать словами - нужно попробовать. Скорость и простота разработки запросов в MS Access по сравнению с другими СУБД - просто сказочная. :roll: Разумеется, дело не только в "построителе выражений", но и в нем тоже.

В качестве иллюстрации привожу две ссылки (полезную и официальную):

Полезная: http://adm.jinr.ru/doc/access/page14.htm

Официальная: http://office.microsoft.com/ru-ru/access/HA101061751049.aspx#4

Но повторюсь: это надо попробовать (и попытаться обойтись без такого инструмента - это будет на порядокдольше - без всякого преувеличения).


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 123 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB