@maximsemin23

Актуально ли понятие «процедура» в современных языках?

Сижу я пишу программу, там был такой код примерно:
def getInfo(num):
    #около 100 строк кода
    return result

Препод подходит и спрашивает: "getInfo это функция или процедура?" Я не очень понял о чём он и сказал, что это функция. Дома нагуглил, что процедура это функция, которая не возвращает значение. То есть в c++ процедура вот так выглядит
void smth() {

}

Но python, это язык с динамической типизацией. Там не может быть процедур и функций. Там может быть даже такой код:
def f(a):
    if a == 1: 
        return 0
    elif a == 2: 
        return True
     elif a == 3:
         return 'smth'
     elif a == 4:
         return 20.1
     else:
          return None

Так что тут уже по идее не может быть процедур. В котлине функция объявляется словом fun(ction):
fun smth() {

}
Так что процедура объявляется словом fun.
В итоге: стоит ли вообще использовать слово "процедура"?
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
GavriKos
@GavriKos
А причем тут динамическая типизация к тому, возвращается значение или нет? Главное что оно возвращается )
Но понятие "процедура" ужа анахронизм. Щас моднее делить на "методы" и "функции" )))
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
gbg
@gbg
Любые ответы на любые вопросы
Ноги вопроса растут из Паскаля, в котором были целые два отдельных ключевых слова - procedure и function. Собственно, применимы они в основном к Паскалю, С, С++ - языкам со строгой типизацией.
Ответ написан
Комментировать
Так что процедура объявляется словом fun.

Нет, это тоже функция, тк она на самом деле возвращает Unit, который является типом с единственным возможным значением, в отличие от void, который не имеет значений.
В итоге: стоит ли вообще использовать слово "процедура"?

Имхо - стоит, тк это позволяет передать больше смысла в одном слове.
Ну и современные языки одним питоном не ограничиваются
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы