Язык программирования с этими критериями - PullRequest
0 голосов
/ 17 сентября 2011

Мне нужен язык программирования (желательно с возможностью написания сценариев, и наличие JIT было бы плюсом, но эти два не обязательны), что позволило бы что-то вроде этого (пример):

object
{
     id;
     new();
     destroy();
}

info
{
     descr;
}

event inherit object, info
{
     trigger; //has id, descr, trigger
}

anon_event inherit event
{
     - decr; //removes descr property, therefore anon_event has id, trigger, but NO descr  
}

Это было бы особеннохорошо, что он также может:

  • автоматически генерировать идентификаторы при создании (new ()),
  • позволяют указать, какие свойства (члены) читаются как public, private, const
  • автоматически генерирует методы получения / установки для открытых свойств (методы получения для const),
  • имеет средства ведения журнала / обратного вызова для методов получения / установки,
  • позволяет выбирать свойства (selectallprop (descr) выбирает все экземпляры)со свойством descr) и по типу selectalltype (event) выберет все события и anon_events, даже если элементы не совпадают,
  • разрешить наследование во время выполнения, добавление / удаление свойств;

Я думаю, этого достаточно, чтобы дать общее представление о том, какой тип языка я ищу.По сути, это компонент (список свойств как элементов компонента), основанный или рассматривающий с другой точки зрения множественное наследование без общего предка.

Спасибо за советы

1 Ответ

1 голос
/ 17 сентября 2011

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

Итак, я говорю: все это плохая идея.

...