(Untitled)

Feb 02, 2017 14:42

Современные языки программирования, помимо титульной утилитарной функции: описывать программы для исполнения их компьютерами, обладают также и коммуникативной. Эта коммуникативная функция служит для сохранения мета-информации о программе для последующего использования людьми. Информация та совершенно не нужна компьютеру, а зачастую и вовсе мешает

Leave a comment

Comments 5

egorius February 2 2017, 20:54:15 UTC
Почему современные? Комментарии же.

Reply

pigdeon February 2 2017, 22:17:41 UTC
Комментарии я старался не рассматривать. А так - да, начиная от первых макроассемблеров (автокодов).

Reply


(The comment has been removed)

pigdeon February 2 2017, 22:26:40 UTC
Заставляя исполнять большее количество кода или более медленный "вариант" кода. Разница между этими вариантами обуславливается степенью детализации определения "кода".
Это "замедление" носит системный характер и может быть детектировано методом составления алгоритмически эквивалентных программ на разных языках. Иными словами: за "удобство" ЯП приходится платить реальными ресурсами: скоростью, памятью.

Reply

hardsign February 3 2017, 04:57:29 UTC
Большее по сравнению с чем? С некой "идеальной" программой? Так её ещё пойди найди. С той же программой, написанной на ассемблере? Не факт, т.к. скорее всего, компьютер сгенерировал для себя гораздо более компактный и быстрый код, чем это сделал бы человек.

Reply

pigdeon February 3 2017, 13:48:00 UTC
Можно начать с малого: с программа, написанной на Java или С#, потом на С++, потом на С или Паскале. Компьютер "для себя" ничего пока сделать не может, кто-то должен его сначала "обучить". Оптимизирующие компиляторы, в-основном, оптимизируют мусор, который вынудили тебя напихать в твою программу создатели языка. Но саму структуру программы они не трогают - боятся, муахаха. Эта структура так же определяется языком, только в неявном виде: посредством типовых приемов решения задач. Язык определяет сознание, муахаха!

Reply


Leave a comment

Up