OberonCore
https://forum.oberoncore.ru/

Обсуждение необх-ти разъяснения низкоур-х основ в учебниках
https://forum.oberoncore.ru/viewtopic.php?f=80&t=2118
Страница 1 из 4

Автор:  Galkov [ Понедельник, 23 Ноябрь, 2009 17:15 ]
Заголовок сообщения:  Обсуждение необх-ти разъяснения низкоур-х основ в учебниках

Выделено из viewtopic.php?f=75&t=2076

У меня тоже есть пожелание...

Хочу знать все про "почти прямое" отражение языковых конструктов в коды. О наличие которого возникли подозрения в процессе прочтения форума.

Ну а если обобщать: разная целевая аудитория - разные акценты были БЫ более адекватны, видимо. Гипотеза: возможно, что я не единственный, кто хочет "изучать химию, опираясь на знания атомно-молекулярного строения вещества"
((метафора, конечно же :) ))

Автор:  Valery Solovey [ Понедельник, 23 Ноябрь, 2009 18:32 ]
Заголовок сообщения:  Re: Пожелания писателям учебников

Это пожелание относится не к тем, кто пишет книги о языке программирования, а к тем, кто составляет документы о правилах трансляции с данного языка на данную аппаратуру.

Автор:  Galkov [ Понедельник, 23 Ноябрь, 2009 22:37 ]
Заголовок сообщения:  Re: Пожелания писателям учебников

Valery Solovey писал(а):
Это пожелание относится не к тем, кто пишет книги о языке программирования, а к тем, кто составляет документы о правилах трансляции с данного языка на данную аппаратуру.

Не согласен, категорически.
Вот однажды упоминал смешной случай...
Так это я там (на мастерах Дельфи) не с лохами беседовал !!!! Чел - участник разработки !!!!
Для меня было шоком, когда я понял, что понимание того, что int64 состоит из двух dword-ов - некие неземные знания для современной генерации программеров

Откуда такая фигня берется??? Как раз оттуда, что вышеупомянутые знания, ОКАЗЫВАЕТСЯ, нужны только "тем, кто составляет документы о правилах трансляции с данного языка на данную аппаратуру" :wink:
Мне кажется, что не знать об "атомно-молекулярном строении вещества" - нельзя, даже если ты и не собираешься быть физиком/химиком.
Просто, нельзя, и все

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

Автор:  Valery Solovey [ Понедельник, 23 Ноябрь, 2009 23:12 ]
Заголовок сообщения:  Re: Пожелания писателям учебников

Я не говорил, что это должен знать только составитель документов. Я имел в виду, что этому не место в книге по общим принципам.

Если одного человека интересуют такие подробности, то это не значит, что они пригодятся другому человеку. Это раз. А два - такую информацию проще получать из структуры, приближённой справочной. Таким образом, и тот, кто хочет получить такие сведения, будет в выигрыше, если эти данные будут расположены в отдельном документе.

Автор:  Galkov [ Вторник, 24 Ноябрь, 2009 00:11 ]
Заголовок сообщения:  Re: Пожелания писателям учебников

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

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

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

ЗЫ: Да, и создавать еще одну тему "Пожелания писателям справочников" - неразумно, наверное.

Автор:  Valery Solovey [ Вторник, 24 Ноябрь, 2009 01:40 ]
Заголовок сообщения:  Re: Пожелания писателям учебников

Galkov писал(а):
знания о том, что интерфейс (в смысле COM) есть лишь ячейка памяти, содержащая адрес на кусок памяти, в котором первая же ячейка содержит адрес массива ячеек с адресами методов того объекта, который и локализован в вышеупомянутом куске памяти - не настолько сложная информация, чтобы ее оберегать от начинающих программистов.
Одно предложение всего лишь, хотя и точное.
Во-первых, фраза неточна. Не указан размер ячейки. Как это понимать? Байт? Два байта? Размер может плавать? Сложно в таких условиях говорить о точности. Не говоря уже о том, что я фразу понял только с 4 раза (однако и спать уже пора...).
Во-вторых, одним эта информация может быть не нужна, а другим пригодится только в конце этапа проектирования.
В-третьих, интерфейс не обязан быть представлен именно так, как описали Вы.
Galkov писал(а):
Так вот, тот стиль, на котором Вы настаиваете, мне представляется неправильным. Скажу больше - мне кажется, что это мэйнстримовскре направление поощрения неграмотности. И так уже интернет кишит разработчиками, которые могут утверждать, что нечто "работает быстрее, чем на ассемблере"... И тому подобную чушь...
Этот "стиль" ни к чему подобному не подталкивает. А "мэйнстримовая неграмотность" - это не отсутствие знаний, а отсутсвие систематизации в них. Это когда проектирование ведётся между словом после очередной написанной строчки кода. И к такой неграмотности можно прийти по примерам книг, где между словом будут вспоминать о ячейках, которых нет в большинстве задач для компьютера.
Galkov писал(а):
Типа: ну нет практического смысла в знании, что Земля крутится вокруг Солнца - значит пусть эта информация хранится только в справочниках, для особо продвинутых специалистов.
Такие вещи должны знать ВСЕ, а не только особо продвинутые.
Все инженеры пользуются справочниками, а не только "особо продвинутые".

Автор:  Илья Ермаков [ Вторник, 24 Ноябрь, 2009 08:36 ]
Заголовок сообщения:  Re: Пожелания писателям учебников

Насчёт необходимости при обучении использования "молекулярно-атомных" объяснений, пожалуй, соглашусь.

Те же указатели останутся "загадочным колдунством", если не объяснить на рисунках наглядно, как в линейном пространстве памяти мы можем посвязать объекты по адресам, затем объяснить проблемы нетипизированной адресации, необходимость отдельной области (кучи) для выделения в ней адресуемых объектов, затем - GC... Тогда всё понятно. Иначе - как в статье про французские школы, где дети заявляют, что "2 + 3 - это столько, 3 + 2, потому что сложение коммутативно", но сложить не могут :)

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

Автор:  Valery Solovey [ Вторник, 24 Ноябрь, 2009 11:53 ]
Заголовок сообщения:  Re: Пожелания писателям учебников

Илья Ермаков писал(а):
И считаю, что инструмент должен быть просто моделью машины. Машина с качественными средствами структурирования программ и средствами расширения. А абстракции - это уже дело разработчика, в проекте и библиотеках.
Ну так если Оберон - модель машины с качественными средствами структурирования, то причём здесь ячейки памяти? Где в нём ячейки памяти?

Я так понимаю, что на заре развития компьютеров о качественных ЯВУ говорить не приходилось, и обучение проводилось на основе языков ассемблера. И в них ячейка памяти - основная составляющая. А в ЯВУ на подобие Оберона таких понятий нет. А авторы всё переписывают друг у друга то старьё вместо того, чтобы подумать и грамотно объяснить новшества, появивишиеся за последние лет сорок.

Автор:  Info21 [ Вторник, 24 Ноябрь, 2009 12:04 ]
Заголовок сообщения:  Re: Пожелания писателям учебников

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

Автор:  Galkov [ Вторник, 24 Ноябрь, 2009 14:41 ]
Заголовок сообщения:  Re: Пожелания писателям учебников

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


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


Valery Solovey писал(а):
В-третьих, интерфейс не обязан быть представлен именно так, как описали Вы
Не обязан (хотя я и уточнял, что речь идет о COM). У нас в среде, к примеру, он для соединения элементов между собой - устроен по-другому.
И вот именно поэтому (что не обязан) и есть желание знать каков он в действительности.

Ну хорошо, "запрещенный прием":
Насколько бы не был заморочен C++ с его множественным и виртуальным наследованием, но все это имеет конкретные и понятные разъяснения в терминах "атомно-молекулярной теории".
А для КП ищу такие разъяснения - и не нахожу.
Может ли таковое повлиять на выбор инструмента для некого новичка :?:
Мое мнение (как сегодня говорят - имхо) - может. И не в пользу Оберонов.


Илья Ермаков писал(а):
Те же указатели останутся "загадочным колдунством", если не объяснить на рисунках наглядно, как в линейном пространстве памяти мы можем посвязать объекты по адресам, затем объяснить проблемы нетипизированной адресации, необходимость отдельной области (кучи) для выделения в ней адресуемых объектов, затем - GC... Тогда всё понятно. Иначе - как в статье про французские школы, где дети заявляют, что "2 + 3 - это столько, 3 + 2, потому что сложение коммутативно", но сложить не могут
Очень хорошо сказано - спасибо.
Спросишь у дельфянина про sizeof для переменной типа массив - и далеко не все зададут уточняющий вопрос про статичность/динамичность массива.
А ведь - колдуют, мама не горюй :D


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

Ничего нового, давно известный и проверенный принцип инженерной (каковым я и являюсь) разработки...
СХЕМА: Вносится некое серьезное изменение в проект. Каждый из ведущих (ну скажем - электроник, механик, программист, оптик...) имеет свое мнение способах и методах проведения этих изменений. А решение принимает тот из них, кто в данной работе является руководителем. Естественно, вникнув до последней капли в мнения (возможно, взаимоисключающие) коллег. Остальные начинают работать в соответствии этим принятым решением, коль скоро являются профессионалами.
Все просто и ясно.

Автор:  Иван Кузьмицкий [ Вторник, 24 Ноябрь, 2009 18:27 ]
Заголовок сообщения:  Re: Пожелания писателям учебников

Valery Solovey писал(а):
Galkov писал(а):
знания о том, что интерфейс (в смысле COM) есть лишь ячейка памяти, содержащая адрес на кусок памяти, в котором первая же ячейка содержит адрес массива ячеек с адресами методов того объекта, который и локализован в вышеупомянутом куске памяти - не настолько сложная информация, чтобы ее оберегать от начинающих программистов.
Одно предложение всего лишь, хотя и точное.
Во-первых, фраза неточна. Не указан размер ячейки. Как это понимать? Байт? Два байта? Размер может плавать? Сложно в таких условиях говорить о точности. Не говоря уже о том, что я фразу понял только с 4 раза (однако и спать уже пора...).
Во-вторых, одним эта информация может быть не нужна, а другим пригодится только в конце этапа проектирования.

Такая информация пригодится разве лишь для какого-нибудь хакинга...

Автор:  Info21 [ Вторник, 24 Ноябрь, 2009 19:04 ]
Заголовок сообщения:  Re: Пожелания писателям учебников

Galkov писал(а):
Про себя скажу: если я не понял до конца чего-то - не могу этого твердо запомнить. Если понял - не могу забыть.
В общем, это подтверждается опытом преподавания. Я сам с этим согласен, и, например, А.Хапугин говорил о подобном же опыте во вводном курсе программирования для физиков в НГУ.

Дело просто в объеме деталей низкого уровня. Точная спецификация формата с плавающей точкой давать не надо, но примерное описание нужно.

А Оберон тут ни при чем.

Автор:  Info21 [ Вторник, 24 Ноябрь, 2009 20:05 ]
Заголовок сообщения:  Re: Пожелания писателям учебников

Galkov писал(а):
... все это имеет конкретные и понятные разъяснения в терминах "атомно-молекулярной теории".
А для КП ищу такие разъяснения - и не нахожу.
????????

А что ж там объяснять?
Девственным новичкам в своих лекциях я объясняю, -- неужели профессионалу нужно объяснять, что INTEGER -- 4 байта ... и т.д.????

Уж скажите конкретно для писателей учебников и прочих преподов, где у Вас случился затык.

Автор:  Galkov [ Вторник, 24 Ноябрь, 2009 20:43 ]
Заголовок сообщения:  Re: Обсуждение необх-ти разъяснения низкоур-х основ в учебниках

Info21 писал(а):
например, А.Хапугин говорил о подобном же опыте во вводном курсе программирования для физиков в НГУ.
Ну в наше-то время, не было ничего похожего...
Как не было и инженерной графики, да и электроники, как таковой - тоже пожалуй.
Хотя при этом считалось совершенно нормальным моделировать 4-пи рождение на ЕС1060 - как сейчас помню
Нас учили Учиться (а черчению ли, электронике, или программированию - мелкие технические подробности).

Возможно, даже надеюсь, что эта Культура сохранена в НГУ на физфаке до сих пор


Info21 писал(а):
А что ж там объяснять?
Девственным новичкам в своих лекциях я объясняю, -- неужели профессионалу нужно объяснять, что INTEGER -- 4 байта ... и т.д.????
Не, про 4 байта - не надо, про и т.д. - возможно :)
Если быстро за 5 минут:
    1) Абстрактный разъем - в бинарном исполнении (например в стиле, в котором я описал COM)
    2) Как устроен объект - действительно ли первый dword указатель на VMT, или такого понятия вообще нет
    3) Регистровое соглашение при вызовах - слышал (в смысле - на форуме), что это stdcall, но интересует способ передачи аргументов разных типов. Точнее - всех типов
    4) Что такое "облегченное dll". Что бы возникло понимание, а чем стандартный PE не устроил
    5) Возможно не совсем в тему, но было бы приятно узнать простейший способ поглядеть дизасм результата работы, например, ББ для твоего творчества. Что бы не по всякой ерунде напрягать вопросами.

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

Автор:  Иван Кузьмицкий [ Вторник, 24 Ноябрь, 2009 21:12 ]
Заголовок сообщения:  Re: Обсуждение необх-ти разъяснения низкоур-х основ в учебниках

Цитата:
1) Абстрактный разъем - в бинарном исполнении (например в стиле, в котором я описал COM)
2) Как устроен объект - действительно ли первый dword указатель на VMT, или такого понятия вообще нет
3) Регистровое соглашение при вызовах - слышал (в смысле -на форуме), что это stdcall, но интересует способ передачи аргументов разных типов. Точнее - всех типов
4) Что такое "облегченное dll". Что бы возникло понимание, а чем стандартный PE не устроил
5) Возможно не совсем в тему, но было бы приятно узнать простейший способ поглядеть дизасм результата работы, например, ББ для твоего творчества. Что бы не по всякой ерунде напрягать вопросами.


Гм, странный набор для "новичка".

Автор:  Galkov [ Вторник, 24 Ноябрь, 2009 21:25 ]
Заголовок сообщения:  Re: Обсуждение необх-ти разъяснения низкоур-х основ в учебниках

Иван Кузьмицкий писал(а):
Такая информация пригодится разве лишь для какого-нибудь хакинга...
Насчет разве лишь - неправда Ваша
Это может пригодиться для анализа эффективности "подключения" в сравнении с Дельфячим pocedure of object
Скажем, "подключения" в патерне Command

Уважаемые коллеги, мне представляется совершенно естественным ЗНАТЬ не только, что "у нее у нутре неонка", но и устройство этой неонки.


Иван Кузьмицкий писал(а):
Гм, странный набор для "новичка".
Нас так учили. Все жизнь в каком-то предмете являешься "новичком"
Школу не пропьешь, наверное

Автор:  Евгений Темиргалеев [ Вторник, 24 Ноябрь, 2009 22:44 ]
Заголовок сообщения:  Re: Обсуждение необх-ти разъяснения низкоур-х основ в учебниках

Galkov писал(а):
Если быстро за 5 минут:...
Разбор конкретных вопросов (этих и прочих) предлагаю перенести в viewforum.php?f=2.
Тов. Galkov, создавайте соответствующие темы. Крайне желательно для упорядочивания содержимого форума <=> для всех учатников, если это будет не одна тема вроде "Все мои вопросы" :)

Автор:  Info21 [ Вторник, 24 Ноябрь, 2009 23:22 ]
Заголовок сообщения:  Re: Обсуждение необх-ти разъяснения низкоур-х основ в учебниках

Galkov писал(а):
мне представляется совершенно естественным ЗНАТЬ не только, что "у нее у нутре неонка", но и устройство этой неонки.
В какой-то мере да, надо. Иначе насчет эффективности будут самые дикие представления. Сам в начале научной карьеры такое писал... и сейчас встречаю у студиозусов.

Проблема границу провести.

А вот после Оберона как раз всякие "иноязычные" конструкции объяснять/понимать легко: весь аппарат есть.

Автор:  Иван Кузьмицкий [ Вторник, 24 Ноябрь, 2009 23:45 ]
Заголовок сообщения:  Re: Обсуждение необх-ти разъяснения низкоур-х основ в учебниках

Galkov писал(а):
Уважаемые коллеги, мне представляется совершенно естественным ЗНАТЬ не только, что "у нее у нутре неонка", но и устройство этой неонки.


Устройство конкретной "неонки" вряд ли подойдёт для учебника по общим принципам. И "разъяснений" для КП, коих Вы ждёте, не может быть в общем виде, т.к. язык и исполнитель суть разные вещи. Лично я ничего не имею против "атомно-молекулярных" знаний, но техническая информация по ББ является по сути справочной.

Автор:  Galkov [ Среда, 25 Ноябрь, 2009 01:14 ]
Заголовок сообщения:  Re: Обсуждение необх-ти разъяснения низкоур-х основ в учебниках

Info21 писал(а):
Проблема границу провести
Ну да. Непростое это дело...
Но нужное... ((хотя, где-то я это уже говорил, кажется))



Иван Кузьмицкий писал(а):
И "разъяснений" для КП, коих Вы ждёте, не может быть в общем виде, т.к. язык и исполнитель суть разные вещи
1) не жду, в общем-то
2) не вижу, как из утверждения "суть разные вещи" всенепременно следует "не может быть"
3) здорово смахивает на утверждение математика. На что физики имеют привычку отвечать: "если ваша теория не соответствует правде жизни - меняйте теорию" :D

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

Страница 1 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/