Важное сообщение для всех программистов C/C++ ...
24 причины, из-за которых вы собираетесь написать свою следующую программу на Euphoria!
-
потому, что вы устали от необходимости переизобретать динамическое выделение
памяти для каждой программы, которую вы пишете
-
потому, что вы провели слишком много нудных часов за выуживанием ошибок
распределения памяти
-
потому, что вы однажды уже потратили несколько дней на отыскание ошибки,
которая то есть, то её нет, а оказалось, что это просто переменная, которой
вы забыли присвоить начальное значение
-
потому, что независимо от ваших усилий по устранению утечек памяти, всегда
находится ещё одна такая утечка
-
потому, что вы устали от зависаний своей машины или остановок своей программы,
которые происходят, не выводя никаких сообщений об ошибке
-
потому, что вы знаете, что
проверка индексов может избавить вас
от часов безуспешной отладки
-
потому, что вашей программе не следует разрешать перезаписывание случайных
областей памяти через посредство "диких" пойнтеров
-
потому, что вы знаете, как плохо будет при переполнении области стека
фиксированного размера, но у вас нет идеи, как избежать этого
-
потому, что однажды уже имели дело с той загадочной ошибкой, когда вызванная
функция, которая не должна выдавать результирующую величину, потеряла конец
и "выдала" какой-то мусор
-
потому, что вы хотите, чтобы библиотечные подпрограммы на деле не позволяли
вам подавать в них негодные аргументы, а не ограничивались errno, на которое
мало кто смотрит
-
потому, что вам хотелось бы "перекомпилировать вселенную" за долю секунды,
а не за многие минуты -- вы можете работать гораздо быстрее в цикле
редактирую/исполняю, чем в цикле редактирую/компилирую/линкую/исполняю
-
потому, что Язык программирования C++ 3-е изд. Бьярне Страуструпа -
это 911 страниц убористым шрифтом (и там даже не обсуждается специфика
программирования на платформах DOS, Windows, Linux или любых других)
-
потому, что вы уже давно программируете на C/C++, но в языке всё ещё есть
множество загадочных особенностей, которые вам не вполне понятны
-
потому, что переносимость программ не такая простая штука, как хотелось бы
-
потому, что вы знаете диапазон допустимых величин для каждой из своих
переменных, но у вас нет метода следить за ними в период прогона программы
-
потому, что вам нужно бы посылать в подпрограммы переменное число
аргументов, но вас останавливают трудности реализации этого на C
-
потому, что вам необходим ясный путь
выдачи функцией множественных величин
-
потому, что вы хотите иметь интегрированный
полноэкранный отладчик исходного кода,
который лёгок в использовании настолько, что не требуется инструкция
(или снабжение программы отладочными командами printf)
-
потому, что вы ненавидите шутки программы, когда она начинает работать
правильно просто от того, что вы добавили в неё отладочные команды printf
или перекомпилировали с включенной опцией "отладка"
-
потому, что вы хотели бы получить надёжный и точный
профиль команд, чтобы понимать
внутреннюю динамику своей программы и разогнать её производительность
-
потому, что очень немногие ваши программы должны экономить каждый машинный
цикл. Разница по скорости между Euphoria и C/C++ не так уж велика, особенно,
когда вы используете транслятор с Euphoria на C. Сделайте тесты
производительности. Мы держим пари, что вы будете удивлены!
-
потому, что вы не хотите загромождать свой жёсткий диск .obj- и
.exe-файлами
-
потому, что вы хотели бы уже тестировать, как работает ваша программа, а не
только ещё рыться в сотнях страниц документации, чтобы решить, какие опции
нужны вашим компилятору и линковщику
-
потому, что ваш пакет C/C++ имеет 57 различных функций для выделения памяти,
и 67 различных функций для манипулирования строками и блоками памяти.
Как много подобных подпрограмм нужно Euphoria?
Ответ: ноль.
В системе Euphoria выделение памяти происходит
автоматически, а строки обрабатываются просто так же, как и любые другие
ряды.
|