Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 29 мар 2024, 00:39

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




Начать новую тему Ответить на тему  [ Сообщений: 101 ]  На страницу 1, 2, 3, 4, 5 ... 11  След.
Автор Сообщение
СообщениеДобавлено: 14 янв 2013, 19:46 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Перенесено с форума Oberspace, но может редактироваться и дополняться.

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

У меня с ним было несколько озарений по ходу использования (не изучения). До этого я уже считал себя опытным программером и много писал на Си++, Дельфи (а ещё до этого на Турбо Паскале/Турбо Си, ассемблере 80x86, а ещё до этого для Спектрума на ассемблере Z80 и т.п.), интересовался и Лиспом, Фортом, Прологом и другими не императивными языками. Подробнее о том, чем доводилось заниматься, можно глянуть здесь и здесь.

Как-то подарили мне диск с компиляторами разными. Там был и Оберон. Посмотрел я его мельком. О, тут ведь есть Модула-2. А Турбо Паскаль с Турбо Си вообще моща, какой там нафиг Оберон.

Лет через 10, лазя по инету, увидел какие вещи пишут про Оберон, заоблизывался. Но там писали, что работает это чудо только на диковинных архитектурах. Но ещё лет через 5 скачал BlackBox, посмотрел и закрыл. Я чего хочу сказать. Что путь к Оберону непрост. Понимать его начинаешь не сразу. Я почему про устрицы и их вкус. Потому что сравнивая Оберон с Си в пользу богатства возможностей — он вовсе не блещет скромник.

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

Но самое большее потрясение меня ожидало когда я запустил программку на парсере. Она заработала с первого запуска практически без отладки. Ошибки нашлись, но мелкие. Часто, чтобы их выявить, я на ночь, а потом утром за чашечкой кофе/чая внимательно просматриваю ещё раз свежим взглядом листинг. С этой целью распечатываю обычно листинги, и смотреть на них приятно. Даже смотреть. Мне нравится кодить на Обероне — понял я. Это эстетично.

Второе открытие — Ofront (транслятор из Оберона-2 в Си). Пиши себе на Обероне и транслируй через Си в любой таргет. Начал я со слабого таргета — Спектрума. Пишу код, транслирую, а он работает. Ещё пишу, а он снова работает. Ошибки исправляются легко и сразу. Я понял, что на Си больше писать не буду. Прощай, пошаговый отладчик.

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

    1. Оберон мал. Признаюсь честно, что только недавно догадался использовать ASH при описании констант. Низкоуровневое устроение модуля SYSTEM (да и само его присутствие) — это вообще гениальная находка. Здесь сразу по заголовку модуля видно или он медитирует сам в себе, или чего-то усиленно выводит и вводит посредством других модулей (в иных языках это тоже есть, но более размыто). Ещё толком не научился использовать битовый тип SET, конструкции IS, WITH и шину сообщений, хотя чувствую мощь. Т.е. несмотря на его малость, я понял Оберон ещё не полностью.

    2. Базовые принципы, заложенные в него, позволяют надеяться, что какие бы процессоры и архитектуры не подсовывала нам промышленность, он туда ляжет. И наши алгоритмы и наработки не пропадут зря. Пример — мои попытки кодить мидлеты на GPCP. Там вроде всё настолько явошное, что фиг протолпишься. Ан нет. Можно ставить во главу угла сами алгоритмы, а не местное апи, главное сделать правильные привязки.

    3. Ну просто магия. Код пишется быстрее, чем на Си, и практически не требует отладки. Посмертная не в счёт.

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


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 14 янв 2013, 19:52 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Язык Оберон, благодаря своей простоте обладает некоторыми достоинствами ершовского лексикона, например, он автоматически транслируется в другие языки программирования (Java, C), между тем как нам известно, что задача автоматической трансляции между Паскалем и Си удовлетворительно не решена, и не в последнюю очередь "благодаря" постоянно расширяющемуся синтаксису и набору возможностей (Delphi), как и обилию диалектов и стандартов, да и, наконец, разнородному набору свойств. Вряд ли может быть решена проблема трансляции друг в друга C# и Java.

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

К Оберону в наше сумбурное время может прийти разработчик определённого склада ума. Это человек, которому пришлось вкусить все прелести избыточной сложности, которому не понаслышке приходилось разрабатывать программы для различных платформ, а может быть даже тот, который прочувствовал на своей шкуре смену платформы, разрядности или языка программирования, на которых долгое время работал. Это человек, который хорошо понимает достоинства Паскаль-подобного синтаксиса над Си-подобным. И напротив, не понимает почему некоторые товарищи начинают подымать на щиты лозунг "Паскаль умер".
Это человек, которому приходилось продолжать работу над уже начатыми проектами, учиться ориентироваться в горах чужого кода. Это человек, которому приходилось переносить крупный проект с одной платформы на другую или с одного языка на другой.
Или же это человек, для которого Оберон станет первым стартом в информатику вообще — случай из ряда вон выходящий.
Кто не считает, что кроссплатформенное программирование — это подмена всех платформ одной, и не думает, что программирование ограничивается миром 32 бит или технологиями от MS.

Очень понятно, что таких опытных разработчиков — единицы в общей многотысячной массе кричащих "C# (C++, .NET, Linux, ASP, Java — подставить нужное) рулез".

Обероны надо обживать и совершенствовать, примеряя их к задачам, смотреть какая реализация для чего годится, а что надо допилить. Поэтому цель данного проекта — поиск таких форм сотрудничества и взаимодействия, которые смогли бы в современных условиях создать почву для распространения и развития Оберон-технологий.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 14 янв 2013, 20:02 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Перенесено с форума Oberspace. Автор поста "без кавычек" — г-н Алексей Веселовский.

Oleg N. Cher писал(а):
Давайте проясним некоторые моменты, чтобы меня тут не упрекали в Оберон-фанатизме. Да, я считаю, что многие люди (и здесь в том числе) не понимают преимуществ Оберона, как когда-то не понимал их я.

У меня с ним было несколько озарений по ходу использования (не изучения). До этого я уже считал себя опытным программером и много писал на Си++, Дельфи (а ещё до этого на Турбо Паскале/Турбо Си, ассемблере 80x86, а ещё до этого для Спектрума на ассемблере Z80 и т.п.), интересовался и Лиспом, Фортом, Прологом и другими не императивными языками. Подробнее о том, чем доводилось заниматься, можно глянуть здесь и здесь.
Ознакомился. Ну, что я могу сказать? Могу сказать, что вы, судя по портфолио, на С++ не писали совсем. (да, у меня есть опыт работы с Borland C++ Builder 6.0, и могу сказать что даже шестерка это не С++, увы) И тем более у вас нет опыта работы с современным С++. Тем более нет опыта работы с другими современными языками.

Oleg N. Cher писал(а):
Решил как-то для освоения переписать с Си++ на Оберон универсальный парсер. Сперва очень сильно не хватало беззнаковых типов и адресной арифметики, даже начал думать, что в Обероне чего-то не хватает для моего парсера.
Использование адресной арифметики уже намекает, что там был использован не С++, а вариация Сей с классами.

И да, на таком уровне использования С++ (Си с классами в чистом виде), для этой задачи (парсер рукописный) действительно Оберон даст скорее всего выигрыш.

Oleg N. Cher писал(а):
Но по мере переноса сишного кода в абстракции Оберона я с удивлением увидел, что код стал яснее, чище, понятнее. Выделились предпосылки для расширения. Позже, переписывая с Оберона на Дельфи, я понял, что так (как на Обероне) можно было писать с самого начала и на Си++, и на Дельфи, только вот почему-то на них так не получается.
Тут еще нюанс - программа переписывалась. То есть это была по сути N+1 (возможно вторая) версия программы. В процессе переписывания на другой язык задачу еще раз осмысливаешь, причем это происходит на более глубоком уровне чем при переписывании на том же языке. В основном именно поэтому эта N+1 версия оказалась лучше, осмысленней и чище. По моему опыту программа на самом деле становится красивой, стройной и осмысленной примерно на 4-5 итерации переписывания (впрочем, это в условиях когда на итерацию очень мало времени, нужно быстро результат, если времени на осмысливание достаточно, то вполне возможно что приемлемый результат будет уже на 2-3 итерации).

Oleg N. Cher писал(а):
Но самое большее потрясение меня ожидало когда я запустил программку на парсере. Она заработала с первого запуска. Ошибки нашлись, но мелкие.
Так ошибки нашлись, или заработала? Или заработала - это в смысле запустилась?

Oleg N. Cher писал(а):
Часто, чтобы их выявить, я на ночь, а потом утром за чашечкой кофе/чая внимательно просматриваю ещё раз свежим взглядом листинг. С этой целью распечатываю обычно листинги, и смотреть на них приятно. Даже смотреть. Мне нравится кодить на Обероне — понял я. Это эстетично.
Мне лично много на чем приятно кодить. Скажем правильно написаный код на С++ крайне эстетичен (ой, чую я прилетит сейчас тухлое яйцо :-) ), код на haskell'e - тоже красив. Ада - прелесть. Оберон - вполне себе. Да и erlang тоже очень даже ничего.

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

А вот от кода на js меня откровенно тошнит. И по синтаксису, и по семантике. И вообще по всему. Ничего не могу с собой поделать, прям хоть бери, и на каком-нибудь kotlin'e пиши...

Oleg N. Cher писал(а):
Второе открытие — Ofront (транслятор из Оберона-2 в Си). Пиши себе на Обероне и транслируй через Си в любой таргет. Начал я со слабого таргета — Спектрума.
Да, это ценно.

Oleg N. Cher писал(а):
Пишу код, транслирую, а он работает. Ещё пишу, а он снова работает. Ошибки исправляются легко и сразу. Я понял, что на Си больше писать не буду. Прощай, пошаговый отладчик.
Привет, пошаговый отладчик :-) Необходимость пошагового отладчика в последнюю очередь зависит от ЯП, и в основном зависит все же от окружения (enviroment) с которым приложение взаимодействует. У меня отладчик пошаговый служит в первую очередь для изучения поведения этой самой среды.

А приложения которые мало взаимодействуют со средой пишутся мною на С++ без пошагового отладчика вообще. С первого раза. Вот пример который был написан именно так, c первого раза: http://oberspace.dyndns.org/index.php/topic,392.0.html

А вот как без пошагового отладчика, и не имея на руках полные исходники я нашел две ошибки (помог человеку, так сказать, удаленно, онлайн):
http://subtroj.info/oberon@conference.jabber.ru/2013/01/09.html

Исходный посыл: [00:20:23]...[00:23:09]
Постановка и описание проблемы: [01:23:42]
Выявление последней проблемы (их было несколько): [02:26:34]
Окончание решение проблемы и окончательный переход к болтавне :-) : [02:47:11]

Oleg N. Cher писал(а):
Тогда я начинаю понимать, что дядюшка Вирт в чём-то прав — у Оберона действительно есть преимущества перед мэйнстримом. Нас просто заставляют переходить на всё новые языки, хотя они часто являются всего лишь вариациями старых возможностей, нанизанных на тот же уродливый и неудобный сишный синтаксис.
Вирт действительно в чем-то прав, а именно: у Оберона действительно есть преимущество перед мейнстримом 25ти летней давности (в основном за счет заточенности под сборщик мусора). :-) Для ряда задач и применений у Оберона и сейчас есть преимущество, за счет его минималистичности, но при этом не игрушечности. Но это не для подавляющего класса задач.

Oleg N. Cher писал(а):
2. Базовые принципы, заложенные в него, позволяют надеяться, что какие бы процессоры и архитектуры не подсовывала нам промышленность, он туда ляжет. И наши алгоритмы и наработки не пропадут зря. Пример — мои попытки кодить мидлеты на GPCP. Там вроде всё настолько явошное, что фиг протолпишься. Ан нет. Можно ставить во главу угла сами алгоритмы, а не местное апи, главное сделать правильные привязки.
Нет. В том смысле, что с портабельностью у Оберонов плохо. А на яву КП отлично ложится ровно потому, что КП изначально так и задумывался (все типы данных изначально под явовские подстроены). Попробуйте ка какой-нибудь алгоритм (например вычислительный) писаный для ББ на КП, перенести на 16ти битную платформу где целое число это 16ть бит и не больше. Радости будет МНОГО.

Oleg N. Cher писал(а):
3. Ну просто магия. Код пишется быстрее, чем на Си, и практически не требует отладки. Посмертная не в счёт.
Для некоторых Оберонов для некоторых задач - возможно. Но не всегда.

И, кстати, почему постоянно сравниваем с Си? Это как бы давно не основной язык прикладного программирования. Может сравнивать с чем-то современным? Ну не знаю, с С++ хотя бы, ну или с Адой, или с Java и C#. С питоном, будь он не ладен, наконец. С js (отличный повод еще раз пнуть js случится, я всегда за это!). С Go. С Haskell'ем наконец.

Oleg N. Cher писал(а):
Я мог бы продолжать, но скромно надеюсь, что теперь здешний люд во мне увидит не Оберон-фанатика, кидающегося на всё что движется как бык на тряпку и кричащего обо всех углах что надо всё заменить Обероном. А человека разборчивого и даже в чём-то привередливого, который не станет хавать всё подряд.
Ну, на счет того, кто на что кидается, посмотрим :-) Но на фанатика вы действительно пока не слишком похожи в плане Оберонов.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 14 янв 2013, 20:47 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
valexey_u писал(а):
Ознакомился. Ну, что я могу сказать? Могу сказать, что вы, судя по портфолио, на С++ не писали совсем. (да, у меня есть опыт работы с Borland C++ Builder 6.0, и могу сказать что даже шестерка это не С++, увы) И тем более у вас нет опыта работы с современным С++. Тем более нет опыта работы с другими современными языками.
Ну, в портфолио есть далеко не всё, чем я занимался...

Давайте не будем стучать в бубен и гордиться своей крутизной в познании джедайских сверхсредств C++, эти мантры восхищают только начинающих программистов: “C++ это C++, начиная с компилятора версии такой-то, а до того он "Си с классами", и вообще вы настоящиего Си++ не нюхали...”, а сразу проясним ситуацию.

Си++ он вообще чем характерен? Правильно. Полной совместимостью с "чистым Си". И какие бы шаблоны и пространства имён туда поверх не нанизывались, основа остаётся шаткой и непрочной. Синтаксис песня. Какие бы Вы сверхсредства из него не вызывали — остаётся всё тот же if (без then, но зато со скобочками), всё те же == и = , отсюда всё то же красивое присваивание (while(a=b=c=(a==b))) и т.п. Притом чаще всего пользоваться всё-таки приходится базовыми средствами Си (не считая классов), а не шаблонами и прочим. А часть языковых средств, которые внедрены в C++, можно было вообще сделать средствами библиотек.

Ну и наконец C++ это большой язык. PL/1 кажется большим, но он стар и им не пользуются. C++ всё-таки давит на мозги. По ощущениям.

Давайте о современных языках. Начну с того, что многие из них меня пугают... своей схожестью с Си. При всём хвалённом их новаторстве. Это похоже на попытки отхавать умы программистов, приманивая их чем-то привычным. Я вижу в этих новомодных языках до оскомины мне надоевшие вариации Си, Бейсика и Лиспа, причём из Лиспа взяты почему-то только скобки. ;)

Да, здесь можно выиграть, если как на скачках сделать верную ставку на язык той фирмы, которая завтра не загнётся. Только ж завтра и фирма нас предаст, в один прекрасный день, подсунув “совершенно новое и прогрессивное по последнему слову техники” средство. Примеры? Windows 7 vs Windows 8 / RT. Как альтернатива можно сделать ставку и на Free Pascal или Mono, но они всегда будут подтягиваться осликом за теми, кто задаёт моду. Именно моду, а не прогресс. Мода не всегда рациональна.

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

Сторонниками Си- и Паскаль-подобного синтаксиса было сломано много копий. Я лично больше уважаю Паскаль-подобные языки, куда отнесём Turbo Pascal/Delphi, Modula-2 и 3, Ada, Oberon-языки. Есть ли в них что-то здравое? Судя по поколению программистов, выросших на Паскале и Дельфи, и предпочитающих этот язык Си-подобным, у Паскаль-синтаксиса есть много сторонников! Даже в Linux-лагере, казалось бы насквозь проникнутом Сями.

Паскаль-подобные языки нынче не очень в фаворе у мэйнстрим-разработчиков, и на это есть свои объяснения. Что делать любителям Паскаля, которым сказали, что Дельфи умер? Либо садиться на Free Pascal и пытаться догонять мэйнстрим (жить своей жизнью). Либо слазить с любимого синтаксиса в пользу Си-подобных языков. Либо пробовать Оберон или Модулу, но всё-таки только пробовать. И бросать. Несмотря на здравое начало. Кто будет развивать Паскаль-языки, раз мэйнстрим их бросил?

Так вот. Я склонен рассматривать Оберон как основу, базис. Т.е. туда можно добавить типов. Или шаблонов. Или препроцессор. Но основа здоровая. Вот за что мы его ценим и любим. За ту маленькую магию, которую он нам дарит при практическом его использовании. И очень важно не выплеснуть с водой и ребёночка.

Рассмотрим Паскаль-языки (с моей позиции конечно).

Delphi / Free Pascal. Замечательная основа, хотя и несколько угловатая, и переусложнённая. В принципе, несмотря на некоторые недостатки, остаётся всё ещё на плаву, особенно у ярых любителей (или у тех, кому надо продолжать проекты на этом языке). Недостатки: те же проблемы с безопасностью кода, что и у Си; лишние BEGINы (в Обероне с этим уже получше), не хватает расширяемых записей, динамической модульности (как её принято понимать в Обероне) и сборки мусора, отсутствие новомодных средств (Может шаблонов? Я не знаю. Мне хватает для моих задач Дельфи 3. И, я слышал, такой достойный проект как Total Commander разрабатывается на Дельфи 2. Туда же и библиотеку KOL). Так что даже средствам версий 5 и 6, которые считаются устаревшими, я не нахожу применения в своей практике. Типов? Хватает, хотя в Дельфи 3 не совсем полноценный CARDINAL (просто отрезан знак), но с этим можно мириться.

Modula-2. Замечательный всё-таки язык. Практического опыта использования у меня немного, но уже сейчас, после Оберона, хотелось бы иметь в ней расширяемые записи. Кстати, есть проект Objective Modula-2, в которую добавлены средства Оберон-языков. Когда пробовал открыть его сайт, не открылся. Так и не знаю в каком состоянии проект. Но интересно было бы попробовать.

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

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

Zonnon. Извините, но это Паскаль. С Оберон-флёром. ;) С этим языком я пока не подружился.

Про Оберон, Оберон-2, Компонентный Паскаль было сказано и так немало. Они не выиграют гонку с мэйнстримом. Они ещё не обрели свою идеальную реализацию. Они красивы. Им чего-то по ощущениям не хватает. Но основа здравая. Так что я сейчас просто осознаю Оберон-языки, прикидываю для чего годятся, чего им на практике не хватает. Пробую решать свои задачи на имеющихся реализациях. Самое основное их достоинство (как языковой базы, но не как языков на все случаи жизни) — это простота и здравый Паскаль-рационализм. То, что программа понятна без бубнов и талмудов, в которых объясняется значение каждой скобки. Нет, изучить всё это можно. Просто на мозг давит, когда пишется, читается и понимается код.

Дальше буду отвечать по мере появления вдохновения. Да, как всегда, — посты могут быть мною отредактированы. ;)


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 15 янв 2013, 07:19 
Не в сети
Аватара пользователя

Сообщения: 12
Откуда: Астрахань
Сразу хочу отделить мух от котлет.
Почему постоянно апеллируют к майнстриму?
ИМХО майнстрим - это то, что поддерживают фирмы.
Пример Паскаля очень показателен.
Паскаль оставался академическим языком, пока Борланд не стала продавать свой ТурбоПаскаль.
С тех пор Паскаль - в майнстриме.
Язык признается тем "майнстримнее", чем мощнее фирма его поддерживает... :)
С++, C# и Java - вот и весь майнстрим с этой точки зрения.
А Оберон/КП до тех пор не будут считаться майнстримными, пока им не займется достаточно мощная фирма
Среду надо современную и рекламы побольше - вот и вольется в майнстрим.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 15 янв 2013, 16:58 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Принимается, но некоторым с уточнением.

Мэйнстрим (main stream, основное течение) — это не обязательно то, что поддерживают фирмы. Это средства разработки, которые по нескольким причинам широко используются. Просто сейчас так совпало, что ключевое влияние на IT имеют фирмы (в бизнесе и промышленности часто доминирует слепое доверие к IT-гигантам), как сообщества, которым легче мобилизовать силы и средства стимулирования в конкретно это направление, а могли бы — университеты и исследовательские лаборатории.

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

Примеры средств, развиваемых не фирмами: GCC, SDCC, Free Pascal, GNU Pascal, GNU Modula-2, LLVM.

Из них GCC, SDCC и Free Pascal можно назвать мэйнстримом.

Впрочем, как справедливо заметил г-н Веселовский, BlackBox — это Оберон-мэйнстрим.

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

[ Дополнение с поправкой от г-на Веселовского ]

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


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 09 ноя 2013, 20:58 
Не в сети

Сообщения: 67
Валерий Лаптев писал(а):
Сразу хочу отделить мух от котлет.
Почему постоянно апеллируют к майнстриму?
ИМХО майнстрим - это то, что поддерживают фирмы.
Пример Паскаля очень показателен.
Паскаль оставался академическим языком, пока Борланд не стала продавать свой ТурбоПаскаль.
С тех пор Паскаль - в майнстриме.
Язык признается тем "майнстримнее", чем мощнее фирма его поддерживает... :)
С++, C# и Java - вот и весь майнстрим с этой точки зрения.
А Оберон/КП до тех пор не будут считаться майнстримными, пока им не займется достаточно мощная фирма
Среду надо современную и рекламы побольше - вот и вольется в майнстрим.


Извиняюсь за дремучесть и пример из другого огорода, но какая фирма поддерживала php, например?
Или из cms - тот же drupal?


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 09 ноя 2013, 21:08 
Не в сети

Сообщения: 67
Вот, кстати, тут freepascal вспомнили. Очень показательный пример, который может прояснить многие проблемы Oberona. Компилятор - отличный. Работал с ним несколько лет - писал на нем учетку. Все бы хорошо, и с бд из-под него работать можно. Но было два момента, которые заставили уйти на VC++.
1) IDE. Оно, конечно, у freepascal есть... Но это не то. (по крайней мере на момент первой половины 2000х годов).
2) Библиотеки. Самое главное - не было ничего хорошего для создания современного пользовательского интерфейса. Писал сам, как мог. Но когда дело дошло до необходимости растеризации труетайп шрифтов - терпение лопнуло. Ушел на С++ в связке с fox-toolkit. Qt на тот момент был слишком тяжел для целевого железа.

У Оберона проблемы фактически те же. Только не говорите про BlackBox - люди, избалованные ms studio, QtCreator или NetBeans, не смогут заставить себя в нем работать. И тем более, не смогут заставить конечных пользователей использовать программы, написанные в этой среде.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 14 ноя 2013, 01:22 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Уверен, что оберонщики хорошо понимают проблемы, связанные с разработкой на Обероне продуктов для конечных пользователей (веб-технологии, программы для ОС Windows и Linux), и в целом хотелось бы видеть не перечисление проблем, а способы их решения. Не буду говорить за всех, но я, к сожалению, могу позволить себе лишь деятельность, узко ограниченную и связанную личными интересами или решением повседневных проблем. В свете хронической нехватки времени получается то, что получается. И откуда бы в таких условиях появиться среде разработки на Обероне качества фирменного коробочного продукта? Но, тем не менее, делаем что можем. Например, я, занятый разработкой для Спектрума, столкнулся с задачей написания консольной кроссплатформенной утилиты (Win32/Win64, Linux) и смог скомпоновать инструментарий, достаточный для решения этой задачи на Обероне-2 и не поленился его обнародовать (XDev/WinDev, XDev/LinDev). Норайр Чилингарян подходит к вопросу удобного инструментария с его задач и позиций. Так что делаем что можем.

В данное время вижу такие ниши для применения Оберон-технологий:

  • Для проектов, при разработке которых надо иметь тотальный контроль над всеми звеньями проекта, включая инструментарий (как насчёт "среда разработки X больше не поддерживает компонент Y, ибо он устарел"? Так вот чтобы такого не возникло). Кстати, известные мне коммерческие проекты на Обероне действительно используют простоту Оберон-технологий, чтобы иметь возможность дорабатывать проект на любом уровне, включая усовершенствование инструментальных средств (особенно маленькими коллективами). В ряде случаев это более оправдано, чем использовать инструментарий третьих сторон, не имея возможности влиять на направление его развития.

  • Исследования в области трансляции, кодогенерации. Разработка научного и другого п/о, где не требуется серьёзная интеграция с мэйнстрим-ОС (Windows, Linux).

  • Обучение программированию. Выработка взгляда на построение простого п/о, изучение классических книг Н.Вирта, Ю.Гуткнехта, Х.Мёссенбёка. В т.ч. и самообразование.

  • Расширение области применения Оберон-технологий. Тот же BlackBox можно рассматривать как готовую неизменную составляющую. Или же как расширяемую основу для реализации собственных каких угодно компонентов.

Программисты слишком увязли в производстве быстроустаревающих продуктов. Оберон может стать опорой для уставшего от непрекращающейся гонки и разочарованного разработчика. Наконец, разрабатывать на Обероне просто приятно. Я не призываю писать на Обероне под WinApi. Это трудно, особенно ориентированным на быстрое получение результатов личностям. Но попробовать запилить биндинг к чему-то типа SDL — можно, и даже полезно. Так что прибавим энтузиастов. А гонщикам в другую сторону. Им на дотнет. Но плохо, когда они не понимают, что дяденька из мегакорпорации одной рукой даёт, а другой прижимает к стенке.

Впрочем, Free Pascal тоже не один день строился. Верю в будущее Оберон-технологий. :)


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 13 янв 2014, 10:51 
Не в сети
Аватара пользователя

Сообщения: 65
Last_Alien писал(а):
У Оберона проблемы фактически те же. Только не говорите про BlackBox - люди, избалованные ms studio, QtCreator или NetBeans, не смогут заставить себя в нем работать. И тем более, не смогут заставить конечных пользователей использовать программы, написанные в этой среде.
Типичное мнение типичного представителя класса исполнителей :) Если софт решает проблемы, то заказчику абсолютно фиолетово, на чём оно написано.


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

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


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

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


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club