Фух ... Выдержал испытание "чтением" ... Специально решил прочитать все посты ...
Олег, совершенно не важно нужен ли ОБЕРОН большинству. Однако важно нужен ли он хотя бы одному человеку. А такие уже есть. Поэтому я желаю Вам доделать ОБЕРОН.
Только, думаю, что сравнивать Oberon с другими языками просто бесполезно. Это всё равно, что придти к японцу и сказать, что его язык устарел, и пора говорить на прогрессивном английском, ну или наоборот. Лично мне совершенно всё равно на каком языке писать, мне важен результат. И практика показывает, что наилучший результат, например: из трёх языков "Pascal", "Oberon" или "Си", даёт только "Assembler".
Давайте посмотрим в корень проблемы, что надо от языка:
1. Скорость исполнения
2. Компактность
Остальные характеристики всегда будут второстепенными. Переносимость кода, как по-мне, не должна входить в список характеристик вообще, поскольку этот пункт всегда вытеснят первый пункт, и тянет за собой кучу недостатков. Например, я вот только что придумал самый переносимый язык под названием "XorAndOr", назовём его ещё более красиво "XAO" ... Во как звучит ... На трёх операциях Xor, And и Or можно сделать вообще всё. А переносимость, ну просто идеальна ... Но выгоден этот язык будет только на матрицах. Поэтому, чего не добавляй в язык, - всегда будет хуже Assembler'а.
А из этого вывод, что на Speccy с его скоростью и памятью языки высокого уровня будут всегда выглядеть убого, с точки зрения кода. Когда пишешь код на асме мозг работает иначе, и рождаются совсем другие идеи, которые просто пестрят особенностями.
Например: у "Flash Inc." в плеере под Covox есть место микширования трёх каналов в один тремя командами асма, то есть "(a+b+c)/3", это ведь родилось именно потому, что мозг программиста просто жил в Z80.
Или например: "IF A>7 THEN DEC(A)" ни один компилятор не превратит в "SUB 8: ADC A,7"
Получается, что пункт номер "1", осилить практически невозможно.
В итоге остался только один пункт номер "2". То есть единственное, что оправдано, это компактность кода. Собственно я вижу применение любого языка на любых платформах, лишь в виде математики и кранчера данных, ну можно ещё отдать ему рисование каких-нибудь текстов. Однако этот инструмент уже есть и называется BASIC. Вот тут-то и главное !!! Бейсик уже лежит в ROM'е, и если бы Oberon дал бы мне возможность написать набор функций для расчётов чего-нибудь используя при это "ваську", что займёт минимум памяти, и я мог бы этот код таскать по памяти, вызывая его из нужного мне места в Assembler'е, то тогда бы это был оправданны язык.
Но мне кажется, что в итоге этот язык как и паскали, си, бейсики, фортраны будут только называться языком для серьёзных задач. Поскольку умножение это не серьёзная задача, и рисование линии это не серьёзная задача, и рисование полигона это так же не серьёзная задача. А вот если это будет работать невероятно быстро, если это будет заставлять смотрящего произносить фразу "как это оно на трёх-то мегагерцах работает-то ?", то это уже серьёзная задача.




Ответить с цитированием