Re[23]: Component Pascal
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.10.04 08:23
Оценка: +1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>На Component Pascal естественно, даже не просто на нем, а на нем в (бесплатной) компонентной среде разработки и исполнения программ BlackBox от Oberon Microsystems, исходный код который обещали открыть к концу 2004 года. Именно Компонентному Паскалю посвящен проект Информатика 21

Ну, в нем-то вроде бы список сущностей не ограничивается модулями и процедурами. Вирт таки ввел туда ООП, хотя и довольно-таки экзотическим способом. Отсутствие концепции интерфейса не даст возможности разделить спецификацию поведения от ее реализации. Я понимаю — он пытается до последнего цепляться за свое утверждение "алгоритмы+структуры=программы". Имхо подобное преподавание ООП оставит о нем совершенно неверное представление в головах учеников.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[13]: Мэйнстрим vs. Самосовершенствование :)))
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.10.04 08:49
Оценка: +1
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>

ЗХ>Языки примерно такие думал брать:
ЗХ>Ada
ЗХ>Eiffel
ЗХ>Forth
ЗХ>Oz
ЗХ>Smalltalk
ЗХ>(что еще подкинете, может быть?)
ЗХ>+
ЗХ>скриптовые, в которых есть интересеные (для меня) подходы:
ЗХ>Perl
ЗХ>Python
ЗХ>Tcl
ЗХ>+
ЗХ>есть такое желание, но пока не копал — всякое старье, с которым я, за малостью лет, не сталкивался:
ЗХ>PL/I
ЗХ>Fortran
ЗХ>Simula

ЗХ>вот где-то так.

ЗХ>


ЗХ>Предложения, ясен корень, приветствуются.


ИМХО надо добавить Ruby и выкинуть PL/1.

ЗХ>2Модераторz: не знаю, чи в отдельную ветку это выкинуть?


Думаешь стоит?
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
AVK Blog
Re[2]: Oberon???????????????????????????????????
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.10.04 08:49
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>В общем, у меня мнение сложилось: явных претендентов два питон и додиез.


А джава чем не прокатила?
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
AVK Blog
Re[24]: Component Pascal
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 27.10.04 08:49
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Ну, в нем-то вроде бы список сущностей не ограничивается модулями и процедурами. Вирт таки ввел туда ООП, хотя и довольно-таки экзотическим способом. Отсутствие концепции интерфейса не даст возможности разделить спецификацию поведения от ее реализации. Я понимаю — он пытается до последнего цепляться за свое утверждение "алгоритмы+структуры=программы". Имхо подобное преподавание ООП оставит о нем совершенно неверное представление в головах учеников.


Чем Вам этот способ экзотичен? Тем что нет классов? Правильно, а они и не нужны, оказывается достаточно иметь понятие РАСШИРЕНИЕ ТИПА.

Чем Вам такая штуковина не нравится в качестве интерфейса:


TYPE
  Store = POINTER TO ABSTRACT RECORD
    (s: Store) Internalize- (VAR rd: Reader), NEW, EMPTY;
    (s: Store) Externalize- (VAR wr: Writer), NEW, EMPTY;
  END;




TYPE
  MyObject = RECORD (Store)
    ...    
    (t: MyObject) Internalize- (VAR rd: Reader);
    (t: MyObject) Externalize- (VAR wr: Writer);
    ...
  END;


Тип MyObject есть расширение типа Store. В другой терминологии MyObject — класс потомок от абстрактного класса Store.
Re[16]: Oberon???????????????????????????????????
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 27.10.04 08:50
Оценка: :)))
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Сергей Губанов, Вы писали:

СГ>>Ну вот, правильно, типичный принцип сокрытия "сокровенных знаний"....

СГ>>А разница между прочим на столько громадна, что даже не смешно. Перво-наперво надо объяснить КУДА писать исходный код программы. Модуль — это и есть то самое место куда надо писать исходный код программы, в том числе код классов надо писать внутрь модуля. Но Вы, будучи воспитанными на немодульных языках программирования, этого не знаете и код программы Вы пишите просто в текстовый файл.

S>Гм. А можно критерии отличия текстовых файлов от модулей? А то я может, по незнанию, совсем не туда код-то пишу...

Модуль — это самая большая структурная единица программы, содержащая внутри себя все остальные.
Re[14]: Мэйнстрим vs. Самосовершенствование :)))
От: Зверёк Харьковский  
Дата: 27.10.04 09:05
Оценка:
Здравствуйте, AndrewVK, Вы писали:

ЗХ>>Предложения, ясен корень, приветствуются.

AVK>ИМХО надо добавить Ruby и выкинуть PL/1.
ОК, учтем. PL/I я просто не видел еще, интересно.

ЗХ>>2Модераторz: не знаю, чи в отдельную ветку это выкинуть?

AVK>Думаешь стоит?
хз... вот сейчас снесут весь топик в войны — а я туда не хожу со своей еврейской мордой. боюсь побьют
да и офтоп это здесь... хотя здесь уже все офтоп.
может вообще порубать ее к чертям топиков на 5-6?
FAQ — це мiй ай-кью!
Re[17]: Oberon???????????????????????????????????
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.10.04 09:10
Оценка: +2
Здравствуйте, Сергей Губанов, Вы писали:

СГ>не синтаксическая конструкция? Модуль вполне можно локализовать как синтаксически, так и физически (единица компиляции и единица исполнения). А пространство имен локализовать нельзя, оно размазано по куче файлов. А для того чтобы показать пальцем надо именно локализовать.


А зачем его локализовывать? Влад ведь правильно сказал — пространство имен это чисто логическая концепция, физически никакого пространства имен не существует. Если начать без юзингов, а потом объяснить что юзинг это просто способ избавится от лишней писанины (как with к примеру), то даже школьники все прекрасно поймут, поскольку концепция не требует абсолютно никаких дополнительных знаний.
А вот модуль уже куда более сложная концепция, поскольку чтобы ответить на вопрос "а нафига он вобще нужен" требуется объяснять принцип разделения кода по физическим единицам хранения, в отличие от дотнета, в котором до поры до времени можно на понятие сборки спокойно забить.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
AVK Blog
Re[15]: Oberon???????????????????????????????????
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.10.04 09:10
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>А разница между прочим на столько громадна, что даже не смешно. Перво-наперво надо объяснить КУДА писать исходный код программы. Модуль — это и есть то самое место куда надо писать исходный код программы, в том числе код классов надо писать внутрь модуля.


Представь что я школьник и ответь на простой вопрос — а зачем все это?
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
AVK Blog
Re[17]: Oberon???????????????????????????????????
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.10.04 09:14
Оценка: +1 :)
Здравствуйте, Сергей Губанов, Вы писали:
S>>Гм. А можно критерии отличия текстовых файлов от модулей? А то я может, по незнанию, совсем не туда код-то пишу...

СГ>Модуль — это самая большая структурная единица программы, содержащая внутри себя все остальные.

А, ну тогда все в порядке. Поскольку эта структурная единица содержит в себе все остальные, то я никак не промахнусь с написанием кода. Вот ведь как получается-то! Я оказывается код тоже в модулях писал. А вовсе не в каких-то текстовых файлах, как меня WinDiff убеждает.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[25]: Component Pascal
От: Kluev  
Дата: 27.10.04 09:51
Оценка: :))
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Чем Вам такая штуковина не нравится в качестве интерфейса:


СГ>
СГ>TYPE
СГ>  Store = POINTER TO ABSTRACT RECORD
СГ>    (s: Store) Internalize- (VAR rd: Reader), NEW, EMPTY;
СГ>    (s: Store) Externalize- (VAR wr: Writer), NEW, EMPTY;
СГ>  END;
СГ>


СГ>
СГ>TYPE
СГ>  MyObject = RECORD (Store)
СГ>    ...    
СГ>    (t: MyObject) Internalize- (VAR rd: Reader);
СГ>    (t: MyObject) Externalize- (VAR wr: Writer);
СГ>    ...
СГ>  END;
СГ>


Что не нравится лично мне так это синтаксис. Самое смешное что почтенный дядюшка Вирт наезжал на сишный оператор присваивания = , типа мол не могу обяснить сыну почему х = y это не тоже самое что у = х.

Интересно TYPE Store = POINTER TO ABSTRACT RECORD это тоже самое что POINTER TO ABSTRACT RECORD = TYPE Store или что-то другое?
Re[18]: Oberon???????????????????????????????????
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 27.10.04 10:04
Оценка: :)
Здравствуйте, AndrewVK, Вы писали:

AVK>...Если начать без юзингов...


Дык а вывод на экран как делать без экспорта библиотечных функций?
Re[3]: Oberon???????????????????????????????????
От: LaptevVV Россия  
Дата: 27.10.04 10:09
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, LaptevVV, Вы писали:


LVV>>В общем, у меня мнение сложилось: явных претендентов два питон и додиез.


AVK>А джава чем не прокатила?

Как один из вариантов — годится. Но с Явой я уже знакомиолся худо бедно, а с додиезом — еще нет
Просто интереснее.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[16]: Oberon???????????????????????????????????
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 27.10.04 10:10
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>А разница между прочим на столько громадна, что даже не смешно. Перво-наперво надо объяснить КУДА писать исходный код программы. Модуль — это и есть то самое место куда надо писать исходный код программы, в том числе код классов надо писать внутрь модуля.


AVK>Представь что я школьник и ответь на простой вопрос — а зачем все это?


Представил, отвечаю:
Затем что можно писать сочинение на обрывках оберточной бумаги, на салфетках, на фантиках от конфет, а можно в специально отведенном для этого месте — в тетрадке в линейку. Вот и модуль отличается от текстового файла так же как грязный обрывок оберточной бумаги отличается от читой тетради.
Re[17]: Oberon???????????????????????????????????
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 27.10.04 10:13
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, AndrewVK, Вы писали:


AVK>>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>>А разница между прочим на столько громадна, что даже не смешно. Перво-наперво надо объяснить КУДА писать исходный код программы. Модуль — это и есть то самое место куда надо писать исходный код программы, в том числе код классов надо писать внутрь модуля.


AVK>>Представь что я школьник и ответь на простой вопрос — а зачем все это?


СГ>Представил, отвечаю:

СГ>Затем что можно писать сочинение на обрывках оберточной бумаги, на салфетках, на фантиках от конфет, а можно в специально отведенном для этого месте — в тетрадке в линейку. Вот и модуль отличается от текстового файла так же как грязный обрывок оберточной бумаги отличается от читой тетради.

P. S.
Учительница примет у тебя только сочинение написанное в тетрадке, также и компьютер будет выполнять только правильно оформленную программу.
Re[15]: Мэйнстрим vs. Самосовершенствование :)))
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.10.04 10:14
Оценка: +1
Здравствуйте, Зверёк Харьковский, Вы писали:

AVK>>ИМХО надо добавить Ruby и выкинуть PL/1.

ЗХ>ОК, учтем. PL/I я просто не видел еще, интересно.

Лучше бы тебе его не видеть

ЗХ>>>2Модераторz: не знаю, чи в отдельную ветку это выкинуть?

AVK>>Думаешь стоит?
ЗХ>хз... вот сейчас снесут весь топик в войны

Да вроде никто пока за это не голосовал. Впрочем если снесут, то эту ветку я обратно вытащу.

ЗХ>да и офтоп это здесь...


Да нет вроде пока. Сравнение языков самый что ни на есть онтоп.

ЗХ>может вообще порубать ее к чертям топиков на 5-6?


А смысл?
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
AVK Blog
Re[19]: Oberon???????????????????????????????????
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.10.04 10:24
Оценка: +1
Здравствуйте, Сергей Губанов, Вы писали:

AVK>>...Если начать без юзингов...


СГ>Дык а вывод на экран как делать без экспорта библиотечных функций?


Импорта наверное ты хотел сказать? using это не импорт, это то что я сказал, а именно фичка компилятора, позволяющая писать меньше текста. Импорт в шарпе указывается в параметрах компилятора, а не в исходном коде.
... << RSDN@Home 1.1.4 beta 3 rev. 209>>
AVK Blog
Re[17]: Oberon???????????????????????????????????
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.10.04 10:24
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Представил, отвечаю:

СГ>Затем что можно писать сочинение на обрывках оберточной бумаги, на салфетках, на фантиках от конфет, а можно в специально отведенном для этого месте — в тетрадке в линейку. Вот и модуль отличается от текстового файла так же как грязный обрывок оберточной бумаги отличается от читой тетради.

Кривая аналогия. Текстовый файл по сравнению с модулем не грязный и не обладает большей вместимостью. ВОбщем я ничего не понял из твоего объяснения.
... << RSDN@Home 1.1.4 beta 3 rev. 209>>
AVK Blog
Re[18]: Oberon???????????????????????????????????
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.10.04 10:24
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>P. S.

СГ>Учительница примет у тебя только сочинение написанное в тетрадке, также и компьютер будет выполнять только правильно оформленную программу.

Но ведь в других то языках обходятся текстовыми файлами!!! Так что это заморочки конкретного языка, а не компьютера. Опять ты ничего не объяснил. Я так до сих пор и не понимаю зачем модули.
... << RSDN@Home 1.1.4 beta 3 rev. 209>>
AVK Blog
Re[12]: Мэйнстрим vs. Самосовершенствование :)))
От: serg_mo  
Дата: 27.10.04 10:26
Оценка:
Здравствуйте, INTP_mihoshi, Вы писали:

INT>P.S. Вообще, пожалуй, это и может быть критерием: язык (или языки) для обучения должен позволять обучать концепциям и методам программирования, а не своим личным языковым квиркам (т.е. особенностям).


Золотые слова. Мне кажется, в спор о языках можно было бы внести больше ясности, если бы инициатор темы (т. е. LaptevVV) рассказал, какие темы он хочет раскрыть в рамках обучающего курса.
... << RSDN@Home 1.1.3 stable >>
Re[14]: Мэйнстрим vs. Самосовершенствование :)))
От: serg_mo  
Дата: 27.10.04 10:26
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>ИМХО надо добавить Ruby и выкинуть PL/1.


О! Ruby
... << RSDN@Home 1.1.3 stable >>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.