В каком языке впервые появились исключения?

Впервые я столкнулся с исключениями в ADA 83. Насколько мне известно, разработчики ADA изобрели концепцию исключений. Так ли это, или любой язык программирования, который появился раньше, тоже использовал исключения?


person David Arno    schedule 20.08.2009    source источник
comment
Мне нравится, что этот вопрос почти дословно соответствует вопросу, который вы разместили менее минуты назад относительно исключений.   -  person Brandon    schedule 20.08.2009
comment
В каком языке впервые появились точки с запятой?   -  person John    schedule 21.08.2009
comment
Это будет потому, что я вырезал и вставил другой вопрос, а затем отредактировал его в этот, а не перепечатал. Я в недоумении, почему у вас, похоже, проблемы с этим.   -  person David Arno    schedule 21.08.2009
comment
Чтобы предупредить еще один вопрос о точках с запятой, я просто отвечу на него здесь: точки с запятой как разделители операторов впервые появились в Алголе-60.   -  person Pavel Minaev    schedule 21.08.2009
comment
@David, есть определенный тип пользователей, которые будут задавать несколько одинаковых вопросов, чтобы получить очки. Они просто меняют несколько слов здесь и там. Такое поведение на самом деле не принято на SO. Именно это вы и сделали, а не перепечатали две строки текста.   -  person Brandon    schedule 21.08.2009
comment
@Pavel, возможно, было бы неплохо, чтобы этот вопрос и ответ были правильно введены в SO для дальнейшего использования :-)   -  person bandi    schedule 21.08.2009
comment
@Брэндон Спасибо за объяснение. У меня много благодарностей от представителей, и на самом деле мне больше не нужно, поэтому вы, к сожалению, сделали ложный вывод о моих двух вопросах. Хотя никакого вреда.   -  person David Arno    schedule 21.08.2009
comment
Я объединил вопрос. Пожалуйста, спросите один раз - и при необходимости отредактируйте существующий вопрос.   -  person Marc Gravell    schedule 21.08.2009
comment
@ Дэвид, если бы я торопился с выводами, я бы проголосовал против и отметил вопрос. Я просто нашел это забавным, так как это правильный вопрос, и ваш профиль не похож на человека, который подвергает сомнению спам.   -  person Brandon    schedule 21.08.2009
comment
Что вы имеете в виду, вы объединили вопрос? Я задал ДВА разных вопроса! Пожалуйста, разделите их сейчас, пожалуйста, и попробуйте правильно прочитать вопросы, прежде чем вмешиваться в следующий раз.   -  person David Arno    schedule 21.08.2009
comment
@Marc Gravell: способ объединить вопросы, которые на самом деле не связаны, и заставить меня проголосовать против, потому что правильный ответ теперь прикреплен к вопросу, для которого он неверен.   -  person chaos    schedule 21.08.2009
comment
@Брэндон. похоже, что Марк Гравелл сделал поспешные выводы. В следующий раз я буду знать, как формулировать вопросы по-другому (и, возможно, задавать их с разницей в несколько часов), чтобы предотвратить повторение такого беспорядка. Я тоже думал, что это будут такие простые и бесспорные вопросы. О, Боже :(   -  person David Arno    schedule 21.08.2009
comment
Если я неправильно их прочитал, то мои извинения. Но при поверхностном рассмотрении эти два вопроса были в значительной степени идентичными. Я подозреваю (читая вышеизложенное), что между ними могла быть разница в одно слово (исключения против дженериков?) - так что вы можете понять мое пропущенное одно слово. Опять же, если я ошибся, то извините. Разъединения нет.   -  person Marc Gravell    schedule 21.08.2009


Ответы (3)


Согласно странице новаторских языков c2.com, это был PL/I.

person chaos    schedule 20.08.2009
comment
На этом языке было много хорошего. Жаль, как все это работало вместе. - person David Thornley; 20.08.2009
comment
Примечание: это был мой ответ на вопрос о том, на каком языке впервые появилась обработка исключений, который был неправильно объединен с этим вопросом, IMO. - person chaos; 21.08.2009
comment
Я изменил вопрос на тот, на который вы ответили, хаос. Я пытался просто удалить его и начать заново, но даже как автору вопроса мне разрешено голосовать только за удаление собственного вопроса. Это место сильно изменилось с тех пор, как я был здесь последний раз. - person David Arno; 21.08.2009

Это зависит от того, как вы определяете дженерики. Параметрический полиморфизм, который позволяет вам определять функции и типы, не привязанные к конкретным типам аргументов/полей, присутствовал в ML уже — и это 1973 год. Пример стандартного ML из Википедии:

fun reverse [] = []
  | reverse (x::xs) = (reverse xs) @ [x]

Обратите внимание, что эта функция статически типизирована, но полиморфна («общая») для любого типа списка.

Хотя этот пример — SML (более поздний), насколько мне известно, эта концепция присутствовала и в самых ранних версиях ML.

person Pavel Minaev    schedule 20.08.2009
comment
Все люди, обратите внимание: этот ответ был на связанный вопрос (на каком языке впервые появились дженерики), который, к сожалению, был объединен с этим чрезмерно восторженным администратором. Павел не виноват, что это не ответ на этот вопрос, поэтому, пожалуйста, не голосуйте за него. - person David Arno; 21.08.2009

Из Википедии:

Универсальные средства программирования впервые появились в 1970-х годах в таких языках, как CLU и Ada, и впоследствии были приняты многими объектно-ориентированными и объектно-ориентированными языками, включая BETA, C++, D, Eiffel, Java и ныне несуществующий язык Trellis-Owl компании DEC. Реализации дженериков в таких языках, как Java и C#, формально основаны на понятии параметричности Джона К. Рейнольдса.

person maxpower47    schedule 20.08.2009
comment
Если вы собираетесь копировать и вставлять из Википедии, хотя бы укажите ссылку на источник. - person Brandon; 20.08.2009
comment
Если вы собираетесь копировать прямо со страницы вики, хотя бы процитируйте ее. - person jason; 20.08.2009
comment
Я в замешательстве, еще до правки ставил Из википедии, в чем проблема? - person John Rasch; 21.08.2009
comment
Нет, он этого не сделал. Он отредактировал его постфактум, он просто не показывает ревизию. В любом случае, он добавил его очень быстро постфактум, так что проблем нет. - person Brandon; 21.08.2009
comment
@John Rasch: У него было скрытое редактирование перед первыми пятью минутами, когда он добавил «Из Википедии». - person jason; 21.08.2009