budden писал(а):
Да и я тоже писал раньше, не зная, что есть другие платформы - и вроде было нормально. Но сейчас-то уже известно, что всё разное - зачем грабли-то закладывать?
Если знаешь про другие платформы, то можно и не закладывать грабли, а сразу писать переносимо. В том же С++ есть стандартные средства для того, чтобы удостоверится в том, что тип имеет ожидаемую разрядность в тех местах, где это важно. Я уже не говорю про то, что вся арифметика легко покрывается тестами.
budden писал(а):
Если Оберон хочет быть только ассемблером - это одно. Если он хочет быть языком высокого уровня, то это уже другое. Вроде тут нет препроцессора и нельзя написать #define INTEGER int64, но это скорее вопрос "а почему тут нет препроцессора".
Препроцессор - это лишь одно из средств "переключения" по платформе, причем не самое удачное и оно откровенно злоупотребляется в массе сишного кода. Применительно к оберону достаточно иметь что-то типа "TYPE MyInt32 = INTEGER;" (в O7 Вирт выпилил такую возможность) + средства для импорта нужного модуля на нужной платформе (язык для этого трогать не надо).
budden писал(а):
В целом же нет никакого видимого смысла нарочно создавать неопределённость, когда понятно, что в будущем с ней будут проблемы и при этом ничего не стоит эту неопределённость не создавать.
Смысл в "неопределенности" вполне конкретный - эффективность на любой железке без переусложнения компилятора и рантайма.
budden писал(а):
Насчёт eberon - во-первых, название исключает возможность того, что я буду пользоваться им напрямую
Да вы, батенька, этот... как его... ксенофоб! Вот.
budden писал(а):
Во-вторых, это не очень дружественно по отношению к последователям - пихать столько расширений в реализацию компилятора.
Погоди, будет еще больше, как только я с музой разберусь

У меня еще масса идей для расширений.
budden писал(а):
Понятно, что с ними писать удобнее, но вэ том случае получается, что я, если делаю форк, то должен их тащить за собой - а их вес, наверное, не такой уж маленький.
Вес можно оценить по коммитам "до" и "после". Если хочется.
budden писал(а):
Я очень вас понимаю, и сам в случае CL я делал именно так: раз сообществу не нужны расширения, то плевать мне на такой сообщество - я промодифицировал ряд библиотек и поддерживал свои расширения, которые резко увеличивали удобство. Затем я форкнул сам 500000 строчный SBCL и тут стало ясно, что мои ресурсы исчерпаны. О содеянном не жалею.
Сообщество оберона и CL несравнимы. Так что не то что мне было наплевать, я просто убежден, что ни одному оберонщику от моих расширений ни тепло ни холодно, при том, что они еще и отклчаются одним движением. Название несколько провокационное, да, но каждый его понимает в меру своей испорченности. Попробуй произнести несколько раз - и оно уже вполне нормально звучит. А в присутствии программистов женского пола можно вообще говорить "ибирон".
budden писал(а):
При этом ваша точка зрения на ООП далеко не единственная в наше время (см. Rust и Golang) и я её не разделяю.
Я виртуальные методы реализовал в максимально простом и проверенном другими языкам виде. Там нет ничего нового и я не пртендую на какой-то прорыв, просто в О7 их вообще нет, а без них туго.
budden писал(а):
Также мне точно не понравилась невозможность указания типа в in-place variable-s - на мой взгляд, это должно быть опцией.
Да, это может быть опцией. На данной итерации я пытался покрыть массовый сценарий, когда видеть тип временной переменной не очень важно.
budden писал(а):
Если бы вы написали транслятор с вашего ebereon-а на какой-то (уж не знаю какой из зверинца) "наиболее стандартный" Оберон или если бы оставили всё на JS - я бы это поприветствовал весьма и весьма. Есть ещё одна вещь - через время вам покажется, что ваш Eberon не вполне совершенен и что-то из него, допустим, надо выкинуть и заменить на другое. И тут вы окажетесь в ловушке, поскольку ваш язык написан на себе же самом.
Это не проблема. Я уже переписывал компилятор с JS на oberon.