Значення слів не визначено, але я можу дати вам своє тлумачення.
Обчислення є те , що ми перераховуємо в сенсі жонглювання рівнянь (думаємо маніпуляцію ряду Тейлора або обчислення інтегралів в аналізі). Обчислення повідомляє нам, які правила маніпулювання є, але не ті, які ми повинні використовувати в тій чи іншій ситуації.
Мова програмування - це те, що говорить нам, як обчислити. Це точно говорить нам, як користуватися правилами. Зазвичай ми дозволяємо комп’ютеру використовувати правила, оскільки це набагато швидше. Правила можуть бути недетермінованими, і можуть бути дуже вагомі причини того, що вони не детерміновані. Це може бути в характері обчислення, що воно не є детермінованим (думаю, одночасні комунікаційні процеси), або фіксація певної стратегії може бути згубною для методів впровадження та оптимізації.
Наприклад, -kalculus - теорія рівнянь . Існують вирази та рівняння, які говорять нам про те, коли вирази рівні. Рівняння не говорять нам, як їх застосовувати, хоча люди, як правило, мають приховані програми, і вони представляють рівняння, щоб згодом вони могли отримати з них корисні стратегії оцінювання. Але за своєю суттю -cculus - це купа рівнянь. Це не мова програмування.λλλ
Навпаки, Standard ML - мова програмування. Він задається з точки зору оперативної семантики, тобто правил обчислення. Є похідні поняття рівності (контекстна еквівалентність, спостережлива еквівалентність тощо), які ми можемо поставити поверх цього, щоб мислити про нього як про своєрідне обчислення.
Звичайно, між обчисленням та його проявом як мовою програмування часто є корисні сполучники. Нормалізація злиття - це лише один із способів переходу від обчислення до мови програмування (хоча, на жаль, деякі люди перетворили його на своєрідну релігію). Важливе значення має взаємодія між калькуляторами та мовами програмування: мовами програмування насправді можна користуватися, але розрахунки пояснюють, про що йдеться у програмах.
Для того, щоб роздратувати людей, дозвольте також зазначити, що прикидання того, що немає різниці між обчисленням та його оперативним проявом, іноді призводить до перекосів поглядів на програмування та міні-релігії всередині спільноти програмування. Ви можете спробувати відгадати, яку мову я маю на увазі. (Це дуже класна мова!)