Автор Тема: [Oberon-07] перегрузка процедур.  (Прочитано 11063 раз)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
[Oberon-07] перегрузка процедур.
« : Апрель 10, 2011, 10:03:33 am »
А откуда собственно следует что в оберона 07 нет перегрузки процедур? По моему, из описания языка следует как раз обратное - ведь сигнатура процедуры там, в отличие от Си, включает в себя не только идентификатор, но и как минимум типы и число формальных аргументов. И я не вижу причин почему не может существавать несколько процедур с одном и тем же идентификатором но с разными сигнатурами.
« Последнее редактирование: Апрель 10, 2011, 10:07:54 am от valexey »
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Rifat

  • Jr. Member
  • **
  • Сообщений: 62
    • Просмотр профиля
Re:[Oberon-07] перегрузка процедур.
« Ответ #1 : Апрель 10, 2011, 01:37:36 pm »
Думаю, это следует из концепции данного языка программирования. А концепция такова, что нужно сделать язык максимально простым, чтобы такое несовершенное существо, как человек, которому свойственно ошибаться, мог совершить как можно меньше ошибок.

Цели сделать из Oberon-07 второй C++ или PL/1 нет :)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:[Oberon-07] перегрузка процедур.
« Ответ #2 : Апрель 10, 2011, 01:41:49 pm »
Думаю, это следует из концепции данного языка программирования. А концепция такова, что нужно сделать язык максимально простым, чтобы такое несовершенное существо, как человек, которому свойственно ошибаться, мог совершить как можно меньше ошибок.

Цели сделать из Oberon-07 второй C++ или PL/1 нет :)
Дык он от этого сложнее не станет, зато станет проще его использование. Алсо это никак не противоречит описанию языка, более того, это вообще говоря, из описания языка следует.

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

Rifat

  • Jr. Member
  • **
  • Сообщений: 62
    • Просмотр профиля
Re:[Oberon-07] перегрузка процедур.
« Ответ #3 : Апрель 10, 2011, 01:58:11 pm »
Компилятор усложнит это точно.

К тому же ваше изначальное утвержение, что из описания языка слудует, что могут быть перегруженные функции, неправильно.
Если внимательно почитать сообщение о языке, то можно найти:
Every identifier occurring in a program must be  introduced by a declaration, unless it is a
predefined identifier. Declarations also serve to specify certain permanent properties of an object,
such as whether it is a constant, a type, a variable, or a procedure.
The identifier is then used to refer to the associated object. This is possible in those parts of a
program only which are within the scope of the declaration. No identifier may denote more than
one object within a given scope.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:[Oberon-07] перегрузка процедур.
« Ответ #4 : Апрель 10, 2011, 02:06:29 pm »
Компилятор усложнит это точно.
Какая разница по чему сравнивать -- по идентификатору, или по сигнатуре? Тем более что сигнатура сводится к идентификатору через манглинг.


К тому же ваше изначальное утвержение, что из описания языка слудует, что могут быть перегруженные функции, неправильно.
Если внимательно почитать сообщение о языке, то можно найти:
Every identifier occurring in a program must be  introduced by a declaration, unless it is a
predefined identifier. Declarations also serve to specify certain permanent properties of an object,
such as whether it is a constant, a type, a variable, or a procedure.
The identifier is then used to refer to the associated object. This is possible in those parts of a
program only which are within the scope of the declaration. No identifier may denote more than
one object within a given scope.

Да, это я пропустил.
« Последнее редактирование: Апрель 10, 2011, 02:29:05 pm от valexey »
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:[Oberon-07] перегрузка процедур.
« Ответ #5 : Апрель 10, 2011, 02:21:13 pm »
... концепция такова, что нужно сделать язык максимально простым, чтобы такое несовершенное существо, как человек, которому свойственно ошибаться, мог совершить как можно меньше ошибок.
Этой концепции Оберон-07 совершенно не достиг...
to iterate is human, to recurse, divine

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

DIzer

  • Гость
Re:[Oberon-07] перегрузка процедур.
« Ответ #6 : Апрель 10, 2011, 02:30:01 pm »
... концепция такова, что нужно сделать язык максимально простым, чтобы такое несовершенное существо, как человек, которому свойственно ошибаться, мог совершить как можно меньше ошибок.
Этой концепции Оберон-07 совершенно не достиг...
Почему то ,я считал что приведенная  Rifat'ом концепция никогда не относилась к оберонам...там скорее всего целью было получить максимально простой ЯП высокого уровня пригодный для решения системных задач (с привлечением минимального количества низкоуровневых моделей), а все остальное от учеников Вирта, коровцев, и лукавого...

Rifat

  • Jr. Member
  • **
  • Сообщений: 62
    • Просмотр профиля
Re:[Oberon-07] перегрузка процедур.
« Ответ #7 : Апрель 10, 2011, 02:33:05 pm »
Да, концепция о которой я сказал, это лично мое субъективное мнение.