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

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

3 ответа

Решение

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

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

Обратите внимание, что эта функция статически типизирована, но полиморфна ("универсальна") в любом типе списка.

В то время как этот пример - SML (что позже), насколько я знаю, концепция присутствовала и в самых ранних версиях ML.

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

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

Другие вопросы по тегам