OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 15 Июнь, 2025 13:40

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




Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: файловая система Блэкбокса
СообщениеДобавлено: Вторник, 23 Март, 2010 19:36 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
На педсовете Валерий Викторович распужал учителей заявлением, что работа с файлами в ББ плохая. Во-первых, зачем там вообще было философствовать на эту тему.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Вторник, 23 Март, 2010 20:45 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Видимо, речь про то, что без ООП задействовать стандартные средства ББ не получается.
А ООП ещё надо объяснить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Вторник, 23 Март, 2010 22:15 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Не...
1. Не вешайте на меня, гражданин насяльника, мокруху... :) Я никаких претензий не предъявлял.
2. В паскале (и в С/С++) простые концепции файлов. К которым все привыкли.
Текстовые и файлы записей. В С/С++ вообще просто потоки символов.
Есть стандартный консольный ввод-вывод к которому народ привыкал более 20 лет.
Консольный ввод-вывод очень легко и просто заменяется. Более того, коммандер, где вызов и данные прописываются мне представляется гораздо удобнее, чем обычный консольный ввод-вывод.
А вот с файлами не так все просто.
Откроем книжку Потопахина, страница 115, листинг 120.
0. Требуется три объекта: файл, локатор и ридер-райтер.
1. Определить папку. Для этого нужен отдельный объект-локатор.
В турбопаскале эта операция может отсутствовать. Тогда файл просто пишется в ту же папку, откуда запустилась программа. Это - свойство операционной системы, поэтому все знают, что такое текущий диск и текущая папка.
2. Для записи в файл требуется отдельный от файла объект, который надо связывать с объектом-файлом.
3. Для каждого типа данных - собственная процедура ввода-вывода.
4. Требуется регистрация файла.
Я согласен, когда привыкнешь - вроде и ничего. Но первоначально - непривычно. Понятно, что это следствие того, что ББ практически отсекает от операционной системы. Но...
у обычного учителя возникает сразу много вопросов:
1. Эти самые ридеры-райтеры они текстовые файлы пишут-читают или двоичные?
2. А как запись вывести-ввести?
3. А если при вводе-выводе сбой - чего делать?
4. А массив одной операцией можно ввести-вывести?
Понятно, что для этого ему надо изучать модуль Files, модуль Stores. Но по хелпу преподу-информатику это сделать сложно. Лучше, если в некоем учебном пособии будет написана глава: Ввод-вывод, где будет раздел Работа с файлами.

У нас два продвинутых препода в Астрахани, которые поставляют нам неплохих студентов. Одному я даже книжку Вирта просто подарил. Неоднократно о ББ рассказывал. О книге Потопахина тоже говорил. Но пока речи о переходе на ББ даже у них речи не идет. Сложно освоить без простых учебных пособий.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Вторник, 23 Март, 2010 23:23 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
Не...
1. Не вешайте на меня, гражданин насяльника, мокруху... :) Я никаких претензий не предъявлял.
Ага! Отредактировано! 8)

"нетрадиционно" = "недостаток" ??? а может, наоборот, достоинство?

Разве в школьном комплекте нет модуля с примитивным IO?
Разве в школе что-то еще нужно?
Добавить что-то еще туда -- как двумя пальцами за ухом почесать, боже мой.

Задачки с файлами записей и т.п. -- скорее, искусственные, и мотивированы как раз этим средством старого паскаля. Написать несколько строк ввода-вывода для любого типа записей -- опять же, боже мой, лишнее упражнение на нажатие p, F5.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 00:00 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Info21 писал(а):
Разве в школьном комплекте нет модуля с примитивным IO?
хотел было идею предложить... а уже всё есть : )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 01:20 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
у обычного учителя возникает сразу много вопросов:
1. Эти самые ридеры-райтеры они текстовые файлы пишут-читают или двоичные?
2. А как запись вывести-ввести?
3. А если при вводе-выводе сбой - чего делать?
4. А массив одной операцией можно ввести-вывести?

Это у *обычного* учителя??

Сбой -- поля res у локаторов.

4. -- это *проблема*?

И т.д. Опять из мух слонов раздуваем.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 09:36 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Федор Василич!
Ну что вы равняете себя и программеров со школьным учителем информатики. Я учил некоторых. Много лет назад, на паскале. Ну, ей Богу, Кесарю-кесарево, а слесарю-слесарево. И записывать слесарей в Кесари - не следует.
Я ж говорю, что даже два продвинутых препода - пока не переходят.
Для преподов нужно учебное пособие, простое, как валенок. Чтобы там было написано: так, этак и вот так. И никак иначе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 10:45 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
Ну что вы равняете себя ...
Удивляюсь я постоянно Вашим тезисам.
Слава богу, про разных училок и на что оне способные я уже гораздо более в курсе, чем почти все тут минус В.В.Потопахин.

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

Пособие как валенок? Пишите! Это Вам гораздо ближе по профилю, чем мне. А тривиальные вещи объяснять, да еще в форме упрека, <подбираю слово ... вот 8)> неадекватно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 13:56 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Info21 писал(а):
Валерий Лаптев писал(а):
Ну что вы равняете себя ...
Удивляюсь я постоянно Вашим тезисам.
Слава богу, про разных училок и на что оне способные я уже гораздо более в курсе, чем почти все тут минус В.В.Потопахин.

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

Пособие как валенок? Пишите! Это Вам гораздо ближе по профилю, чем мне. А тривиальные вещи объяснять, да еще в форме упрека, <подбираю слово ... вот 8)> неадекватно.

Федор Василич! По поводу упреков вы уже на воду дуете... :) Опять же - "не надо на меня мокруху вешать, насяльника". :mrgreen:
Я ж к вам претензий не предъявляю за упрек о моем посте на педсовете. :) Я это даже как упрек не воспринимаю. Давайте и вы так же будуте.
А по поводу училок - вы ж сами говорите, что гораздо боле меня знаете. Я тут только с одной общаюсь. Она из Белгорода - долго преподавала (лет 7) информатику в старших классах. Первое ее наблюдение: наличие программирования в программе обучения довольно хорошо развивает мозги школьникам. Они потом в других разделах информатики ориентируются на счет раз. Да и по математике получше выглядят в среднем. Имела возможность сравнивать.
Второе ее наблюдение: в обычном среднем классе из 25-30 учеников с интересом изучают программирование примерно 2 человека.
Книжку писать мне пока тоже недосуг - если только в конце года начать получится.


Последний раз редактировалось Валерий Лаптев Среда, 24 Март, 2010 14:12, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 14:11 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Info21 писал(а):
Валерий Лаптев писал(а):
Не...
1. Не вешайте на меня, гражданин насяльника, мокруху... :) Я никаких претензий не предъявлял.
Ага! Отредактировано! 8)
"нетрадиционно" = "недостаток" ??? а может, наоборот, достоинство?

Разве в школьном комплекте нет модуля с примитивным IO?
Разве в школе что-то еще нужно?
Добавить что-то еще туда -- как двумя пальцами за ухом почесать, боже мой.

Задачки с файлами записей и т.п. -- скорее, искусственные, и мотивированы как раз этим средством старого паскаля. Написать несколько строк ввода-вывода для любого типа записей -- опять же, боже мой, лишнее упражнение на нажатие p, F5.

Ну, про IO я написал, что это хорошо.
Про файлы, нужны ли они школьникам - даже не знаю. А вот преподу нужны. Вы ж знаете, что преподавать можно только тогда, когда знаешь и умеешь раз в 10 больше того, что реально преподаешь.
Я, например, возьмусь преподавать на КП+ББ только после того, как чего-то большое доделаю. Дихард, например.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 18:21 

Зарегистрирован: Четверг, 23 Апрель, 2009 18:01
Сообщения: 219
Интуитивно подход ББ/Оберона к файлам не воспринимается. Сугубо личные наблюдения. Если бы мне вдруг пришлось учить кого-то азам программирования, определённо написал бы переходники.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 19:13 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
(Ну что значит интуитивно. Раскин и другие корифеи интерфейсов вообще рекомендуют исключить это слово из лексикона.)

Что там спорно-непривычно? Открытия-закрытия-сохранения? Ну и что? Открытие - закрытие - это оконечные кусочки, на верхнем уровне, в любом приложении.

Основная часть получает Files.File - и ей наплевать, что это за файл и откуда (может, вообще в памяти). Сам File + Reader + Writer - безупречны.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 20:21 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Berserker писал(а):
Интуитивно подход ББ/Оберона к файлам не воспринимается. Сугубо личные наблюдения...
Ваши наблюдения здесь не годятся. Нужны наблюдения человека, которого с нуля обучают.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 20:56 

Зарегистрирован: Четверг, 23 Апрель, 2009 18:01
Сообщения: 219
Если не новички тяжело воспринимают, то с какой кстати новички воспримут? Вбейте в гугле: "паттерн Carrier Rider Mapper" (я искал несколько недель назад). За сколько можно незнакомому с ним человеку объяснить его, а после показать, как это реализовано в Обероне? Чтобы дошло? При этом необходимость абстракции от типа носителя возникает в реальной практике и программист легко пишет свой класс VFS. По сути то же самое. Нужен простой документ с ясным объяснением, зачем разведены Reader/Writer (например, можно представить архив в виде файловой системы, а распаковка и упаковка данных - абсолютно разные операции, что на обычных файлах не видно), что такое Локатор и зачем он нужен (опять-таки, интуитивно не ясно), к чему такая система создания и сохранения файла (а сие есть вообще принцип Оберон-систем и каким боком его переняли в ББ не ясно), почему читаются данные побайтово и т.д.

Кстати, регистрация файла происходит в конце работы с ним. То бишь при вылете в середине данные пропадут?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 21:19 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Можно зарегистрировать файл, а потом его переоткрыть в эксклюзивном режиме - и писать на здоровье.


По поводу ридеров-райтеров. До ООП трудновато, да. После знакомства с ООП - никаких вопросов "зачем" возникать не должно. Потому что логичное разделение ролей между несколькими объектами. Раз разделять можно, значит, разделять нужно; для того, чтобы не разделять, нужна аргументация; для того, чтобы разделять, аргументации не нужно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 21:45 

Зарегистрирован: Четверг, 23 Апрель, 2009 18:01
Сообщения: 219
Цитата:
возникать не должно

У квалифицированного инженера или постигающего программиста? Скажу откровенно, с такой мыслью до сих пор не встречался:
Цитата:
Раз разделять можно, значит, разделять нужно; для того, чтобы не разделять, нужна аргументация; для того, чтобы разделять, аргументации не нужно.

И думаю, я не одинок. А принцип понял тогда, когда вспомнил про реализацию виртуальной файловой системы, которая делалась с целью нивелировать разницу между доступом к обычным файлам и, например, работой с файлом определённого формата, чьё содержимое можно представить в виде иерархической структуры папок и файлов. Как только это показать - смысл разделения Reader/Writer становится ясным. И подобный подход гибче, чем реализовывать объект VFS с методами Read/Write, который должен уметь и писать и читать одновременно (Delphi - концепция потоков байтов - TStream).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 21:49 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Да при чём тут файловые системы...
"Разделяй и властвуй" (в переводе Info21 "управляй") - куда очевиднее.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Среда, 24 Март, 2010 21:55 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Хотя, я несколько неправ, в том, что это "очевидно"...
Естественное "банановое" желание - иметь сразу и всё.
А делить - это лишние затраты энергии и при создании, и при использовании, и без ОПЫТА не совсем ясно, что от этого выигрывается.

Но тут речь про то, что этот опыт должен бы как-то общо прививаться. С самых первых шагов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Четверг, 25 Март, 2010 00:46 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 327
Откуда: Ленинград, Емельянов Алексей Николаевич
Ну не знаю, по моему все все просто: некоторая усложненность штатной файловой системы ББ обусловлена необходимостью поддержки составных документов. В школе следует использовать специальные, упрощенные, "учебные" средства, что вобщем то и есть, необходимо лишь расставить акценты.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: файловая система Блэкбокса
СообщениеДобавлено: Четверг, 25 Март, 2010 07:39 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
1. Насчет "все просто" - это после того, как разобрался. Новички - просто запомнят. Им надо написать: делай вот так! Правда среди них есть некоторые въедливые товарищи, которые постоянно задают вопросы типа "А почему...". И тут как сказал Илья, без ООП объяснить сложновато.
2. Программерам из другого мира сложно. Ведь обычно опытный программер изучает новый язык, рассматривая аналоги. Вы заметили, что очень многие приходящие про ввод-вывод вопросы задают? Это от того, что аналоги простых потоков не находят. И аналогов двоичных файлов с записями. Кто задерживается, как я, тот в конце-концов, разбирается. А те, у кого "просто интерес", не видят смысла изучать не совсем традиционный ввод-вывод, так как в "остальном" мире принято не так.
3. Прошу не воспринимать мой пост как упрек. Исключительно для выяснения истины... :)


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

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


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

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


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

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