[an error occurred while processing this directive]
Как бы не казалось смешным сравнение Бэйсика и C++ и тем не менее…
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
ТуамОсес 24 октября 2006 г. 11:19
|
|
|
|
У Бэйсика есть возможность {отсутствующая у C++}, которая в определённых приложениях нивелирует все недостатки Бэйсика и все «плюс-плюсы» C++.
Для тех, кто «в танке» поясняю: я имею в виду функцию VAL$ {помните Бэйсик в содранном с импортного Спектрума «КВАНТе-БК» и т.п.?}.
Ну а что же всё-таки делает эта пресловутая функция VAL$ {опять же поясняю только для тех, кто «в танке» («спектруммистам» это пояснять не нужно)}? Ничего особенного(???)...Просто вычисляет переданную ей в качестве аргумента строку символов как арифметическое выражение. Сишники скажут: «Ха..ха..И всего-то». Но кто так скажет – тот просто не прочувствовал всю глубину этой возможности.
Ведь вы только вдумайтесь, Господа..Это возможность Бэйсика позволяет нам Л Е Г К О (!!!) реализовывать самодифицирующиеся программы. Правда и в Бэйсике эта возможность ограничена только выражениями – нет, например, такой функции, которая переданную ей строку декодирует как кусок программы. Но всё равно, даже этой возможности достаточно, чтобы эффективно реализовывать определённый класс задач. Например математические вычисления с использованием преобразований формул в символическом виде. Т.е. сначала работаем с формулами, представленными в виде элементов данных типа «строка» {используя обычные «строчные» операции поиска, вырезания и вставки подстроки}, а потом вычисляем значение просто применив конструкцию VAL$(<строка>). Т.е. фактически мы используем строки как объекты типа «формула». Сишники возразят: можно делать то же самое и на СИ..Можно..Но это будет настолько громоздко и неэффективно {с точки зрения сложности и затрат труда программиста}, что...
Например как на С++ представить правило разложения разности квадратов:
[1] X^2–Y^2 = (X+Y)*(X-Y) и подставить это правило в выражение [2] (X^2 – Y^2)/(X+Y). Затем упростив [2] получить выражение [3] (X-Y) полностью эквивалентное выражению [2]. И наконец вычислить это выражение подставив вместо X и Y уже конкретные значения. Это простейший несколько надуманный пример, но он иллюстрирует возможность Бэйсика в направлении создания самомодифицирующихся программ.
Готов биться об заклад с сишниками, что я реализую решение подобной задачи на Бэйсике в 5 раз быстрее, чем сишник на С++ и текст моего исходника на Бэйсике для подобной задачи будет по-крайней мере раз в 5 меньше и проще, чем прога, написанная на С++ сишником.
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Фортран лучше. Намного лучше. Он формулы транслирует. — -=ВН=- (24.10.2006 12:10 193.125.71.140, пустое)
- причём тут смешно? по сравнению с С в любом языке масса(!!!) преимуществ. И помню раз на Бэйсике сваял за 4 часа (с маленькой вставкой Ассемблера) прогу для чтения баркода с лазерного сканера - её штатный програмер воспроизводил на сях ровно 2 недели. Си - самый бестолковый из всех языков, ево ж программисты для себя делали - заточили) — basilmak (24.10.2006 12:06 82.142.173.231, пустое)
- Один товарищ, чтобы не вставать со стула за книгой, прямо в дебагере за несколько секунд прогу считывающую скан код клавиши. — Codavr (24.10.2006 15:39 193.233.48.103, пустое)
- Т. е. остальные языки не для програмистов? А для кого, если не секрет ............................................................. — vvv (24.10.2006 14:04 89.1.222.116, пустое)
- ну программировать - и быть программистом это разное... Программисты ужо перестали быть инженерами в массе своей, потому услугами их стараемся не пользоваться... — basilmak (24.10.2006 14:31 82.142.173.231, пустое)
- Ага, агаЖ-) У нас, сколько помню, всегда в отделе существовало два племени, так и назывались - инженеры и программисты. Инженеры это те, которые с с паяльником наперевес железку делают, ее отлаживают (в том числе и пиша-пися-писуя даже тестовые программы для нее:-)). А программисты к отлаженной железке зачем-то свою программу пристыковать хотят:-((( — -=ВН=- (24.10.2006 16:49 193.125.71.140, пустое)
- Приз в студию (за несравненный перл). Товарищ General, прошу создать коллекцию парлов на сахаре. Т.е. получается, что paslcal, fortran, ada, perl и т.д. не пля програмистов, а для людей которые умеют (иногда) "ну программировать", (хотя ИХМО, basic действительно не для програмистов) — vvv (24.10.2006 15:05 89.1.222.116, пустое)
- штатному программеру просто было лень :D — Rius (24.10.2006 12:13 62.165.36.195, пустое)
- ну и что? в бейсике есть встроенная функция, которая при желании реализуется на с++. важно время выполнения программы, а не то что вычисление строкового выражения в одном языке будет занимать в 5 раз меньше строк кода чем в другом — Rius (24.10.2006 11:40 62.165.36.195, пустое)
- Ответ: — ТуамОсес (24.10.2006 11:52 212.248.122.114, 326 байт)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание