[#] [Перевод] Сложнейшая проблема комьютерных наук
habrabot(difrex,1) — All
2016-12-28 13:30:07


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


## Тысяча диалектов


Знаете ли вы, что [спецификация][1] языка программирования С часто упоминает термин «объект»? Нет, это не объект в том понимании, как он описывается в ООП — объект в С определяется как «блок данных в среде выполнения, содержимое которого может представлять некоторое значение». В этом понимании объекта имеет смысл говорить о, например, «объекте типа char».

Термин «метод» достаточно распространён, но вы можете встретить программистов, которые будут говорить исключительно «функция-член класса». Язык программирования Java, поэтому, то ли имеет, то ли не имеет функций, в зависимости от того, кого вы об этом спросите. Термины «процедура» и «подпрограмма» иногда используются как аналог «функции», но в некоторых языках программирования (например, Pascal) процедура это совершенно не то же самое, что функция.

Даже в рамках одного языка программирования мы, бывает, путаемся.
[Читать дальше →][2]

[1]: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
[2]: https://habrahabr.ru/post/318618/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut