Можно создать дубликат:
What is the difference between a ‘function’ and a ‘procedure’?В чем разница между подпрограммой и функцией?
Я искал в Интернете для ответа на этот вопрос, и ответ, который я получил, что функция может возвращать значение, изменять значение, и т.д. , но подпрограмма не может. Но я не удовлетворен этим объяснением, и мне кажется, что разница должна быть не просто терминологией.
Итак, я ищу более концептуальный ответ на вопрос.
Не совсем. Это единственное важное различие. Возможно, еще одно - современные языки (C, Java, PHP и т. Д.) Не используют подпрограммы, а только функции. В противном случае я бы сказал, что технические детали одинаковы: в основном сборка команд «вызов» или «jmp». –
См. Также: [Что такое сопрограмма?] (Http://stackoverflow.com/q/553704/974555) и [В чем разница между методом и функцией?] (Http://stackoverflow.com/ q/155609/974555) – gerrit