На каком языке впервые появились исключения?
Впервые я столкнулся с исключениями в 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#, формально основаны на понятии параметричности, по словам Джона С. Рейнольдса.