Автор Тема: Модифицированный синтаксис Оберона  (Прочитано 172285 раз)

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #510 : Декабрь 10, 2012, 02:55:37 pm »
линк можно, плз
Так svn, по непонятным причинам доступа простым смертним туда нет, нужно писать слезное письмо с просьбой, но сейчас и емейл не работает.
Хорошо, что есть развитие, а то тут писали про кончину А2 :)
Хотел у вас спросить, реально ли на основе компилятора Сириуса, без серьезных затрат ресурсов, сделать компилятор Мод Оберона?

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #511 : Декабрь 10, 2012, 03:48:49 pm »
Хотел у вас спросить, реально ли на основе компилятора Сириуса, без серьезных затрат ресурсов, сделать компилятор Мод Оберона?

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

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems

Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #513 : Декабрь 11, 2012, 05:37:14 am »
Хорошо, что есть развитие, а то тут писали про кончину А2 :)
Кончина это вряд-ли - слишком хороша для исследовательских работ. Но то, что происходят скорее вялотекущие процессы, чем бурное развитие - это факт. Но за последний год проведена довольно существенная работа по увеличению стабильности и производительности, изменения для более корректной работы тачскрина, продолжается работа над новым компилятором Активного Оберона (именно этот компилятором используется сейчас для сборки А2 - i386/AMD64), соответственно и язык меняется. Т.е. работы ведутся, но явно не ударными темпами, может быть это связано с тем, что сейчас они разрабатывают новую Ось и на А2 времени не остается.
Хотел у вас спросить, реально ли на основе компилятора Сириуса, без серьезных затрат ресурсов, сделать компилятор Мод Оберона?
Сложно сказать, это всё-таки не Оберон, в Сириусе много заимствований из Модулы-3 (в основном объекты) и Delphi (rtti).
Проще, наверное, будут взять Pow! или OOC и довести до ума.

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #514 : Май 02, 2013, 02:13:45 pm »
Вот, нашел сегодня, вроде близко к теме:
В идеале хотелось бы иметь такой язык программирования:
* простой синтаксис в стиле BASIC/Fortran
* структурное программирование
* объектно-ориентированное программирование
* обработка исключений
* оператор with как в Паскале
* функциональное программирование на уровне делегатов C# (функциональный тип, анонимные функции, замыкания)
* модульность, пакеты как в Java
* небольшой код, высокое быстродействие, как в C/C++
* кроссплатформенность на уровне компиляции
* нативный код, с возможностью низкоуровневого программирования (как в C/C++ и Паскаль)
* ручное управление памятью либо автоматическая сборка мусора, на выбор
* еще бы неплохо встроенную параллельность. Чтобы простым оператором любую функцию/метод можно было вызвать в с параметрами в отдельном треде. Например, spawn myfunc(arg1, arg2, argN)
« Последнее редактирование: Май 02, 2013, 02:15:17 pm от Vartovyj »

Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #515 : Май 02, 2013, 02:20:36 pm »
фантастика

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #516 : Май 03, 2013, 02:38:12 pm »
Что можно было бы добавить для параллельного вычисления? Взять из АО, Erlang, Go, делегаты?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #517 : Май 03, 2013, 03:26:44 pm »
Что можно было бы добавить для параллельного вычисления? Взять из АО, Erlang, Go, делегаты?
В Go и Erlang нет делегатов.

А также в Go его эти goroutine (горутины) не работают параллеьно - у них кооперативная многозадачность. Они сделаны не для parallel computation, а для concurrency.
Y = λf.(λx.f (x x)) (λx.f (x x))

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #518 : Май 03, 2013, 04:55:58 pm »
Тоесть одновременность можно рассматривать как частный случай параллелизма?
Что должно быть в мод. Обероне?

Jordan

  • Sr. Member
  • ****
  • Сообщений: 282
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #519 : Май 03, 2013, 04:56:33 pm »
фантастика

А, что мешает в этой теме обсудить "идеальный язык" и создать свою спецификацию языка, где всё будет.

Цитировать
Вот, нашел сегодня, вроде близко к теме:
В идеале хотелось бы иметь такой язык программирования:
* простой синтаксис в стиле BASIC/Fortran
* структурное программирование
* объектно-ориентированное программирование
* обработка исключений
* оператор with как в Паскале
* функциональное программирование на уровне делегатов C# (функциональный тип, анонимные функции, замыкания)
* модульность, пакеты как в Java
* небольшой код, высокое быстродействие, как в C/C++
* кроссплатформенность на уровне компиляции
* нативный код, с возможностью низкоуровневого программирования (как в C/C++ и Паскаль)
* ручное управление памятью либо автоматическая сборка мусора, на выбор
* еще бы неплохо встроенную параллельность. Чтобы простым оператором любую функцию/метод можно было вызвать в с параметрами в отдельном треде. Например, spawn myfunc(arg1, arg2, argN)

Можно пройтись по всем пунктам и обсудить.

Тема то, сама по себе интересная.

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 509
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #520 : Май 03, 2013, 05:05:25 pm »
Тоесть одновременность можно рассматривать как частный случай параллелизма?
Что должно быть в мод. Обероне?
Это 1) не одновременность, 2) в частном случае является параллелизмом.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #521 : Май 03, 2013, 05:49:18 pm »
Тоесть одновременность можно рассматривать как частный случай параллелизма?

Параллельные задачи выполняются одновременно -- на разных процессорах/ядрах.

Конкурентные задачи выполняются попеременно -- на одном процессоре/ядре.

Монопольные задачи, понятное дело, полностью захватывают процессор/ядро и не дают другим задачам выполняться.
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #522 : Май 04, 2013, 12:09:18 pm »
На уровне яп, думаю, достаточно уровня concurrency, а как оно будет в реальности распараллеливаться на железе, пусть решает ос.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #523 : Май 04, 2013, 12:11:16 pm »
На уровне яп, думаю, достаточно уровня concurrency, а как оно будет в реальности распараллеливаться на железе, пусть решает ос.
Да нет же, это разные задачи. А нужна ли поддержка всего этого на уровне ЯП - зависит от самого ЯП. В некоторых ЯП оная поддержка в общем то и не нужна особо, ибо можно сделать либой. То есть зависит от того, насколько ЯП высокоуровнев.
Y = λf.(λx.f (x x)) (λx.f (x x))

Valery

  • Full Member
  • ***
  • Сообщений: 101
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #524 : Май 04, 2013, 03:34:10 pm »
Вот, нашел сегодня, вроде близко к теме:
В идеале хотелось бы иметь такой язык программирования:
* простой синтаксис в стиле BASIC/Fortran
* структурное программирование
* объектно-ориентированное программирование
* обработка исключений
* оператор with как в Паскале
* функциональное программирование на уровне делегатов C# (функциональный тип, анонимные функции, замыкания)
* модульность, пакеты как в Java
* небольшой код, высокое быстродействие, как в C/C++
* кроссплатформенность на уровне компиляции
* нативный код, с возможностью низкоуровневого программирования (как в C/C++ и Паскаль)
* ручное управление памятью либо автоматическая сборка мусора, на выбор
* еще бы неплохо встроенную параллельность. Чтобы простым оператором любую функцию/метод можно было вызвать в с параметрами в отдельном треде. Например, spawn myfunc(arg1, arg2, argN)
Почти JAM... :)))