Важное сообщение для всех, программирующих на C/C++ ...

25 причин, по которым вы собираетесь перейти на Euphoria!

 

  • потому что вы устали переизобретать динамическое распределение памяти для каждой программы, которую вы пишете

  • потому что вы хотите забыть о ближних и дальних указателях, о малой, средней, компактной, большой и громадной моделях памяти

  • потому что вы провели слишком много невеселых часов, исправляя ошибки, связанные с распределением памяти

  • потому что вы уже один раз наигрались в кошки-мышки с ошибкой, которая как только есть, так ее сразу нет и которая в конце концов оказалась всего лишь неинициализированной переменной

  • потому что независимо от того, как трудно вам было устранить утечку памяти, уже готова следующая дыра для этой склеротической жидкости

  • потому что вы устали перезагружать машину, молча зависающую по одной из 10.000 команд вашей программы без всяких комментариев на тему о том, что же ей не по нутру

  • потому что вы знаете, что проверка индексов избавит вас от многих часов отладки

  • потому что вы не хотите, чтобы ваша программа переписывала первые подвернувшиеся ей блоки памяти как попало из-за очумевших указателей

  • потому что вы знаете, как плохо будет при переполнении стека, но не можете придумать, как от этого застраховаться

  • потому что однажды вы уже имели дело с функцией, которая вместо того, чтобы расчитать требуемую величину, вывалила кучу случайного мусора

  • потому что вы хотите, чтобы библиотечные процедуры просто не позволяли вам подавать в них неверные аргументы, а не вывешивали "errno" или еще что-нибудь в этом духе (кому охота видеть это "errno" после каждого вызова?)

  • потому что вы хотели бы "перекомпилировать вселенную" за долю секунды а не ждать долгие минуты - вам больше нравится работать быстро в цикле редактирование/исполнение, чем тянуть резину в цикле редактирование/компиляция/компоновка/исполнение.

  • потому что в третьем издании книги "Язык программирования C++" Бьярна Строустрапа 911 страниц, набранных убористым шрифтом, но там даже не обсуждается специфика программирования для платформ DOS, Windows, Linux или любых других операционных систем.

  • потому что вы уже "забор" с клавиатуры стерли, программируя на C/C++, но еще, говорят, есть множество достоинств этих языков, которые так и остаются для вас загадкой, вы даже не знаете, для чего же они и нужны-то, эти достоинства

  • потому что переносимости программ не так легко добиться, как это кажется продавцам C/C++

  • потому что вы знаете диапазон законных значений для каждой из своих переменных, но не можете достаточно просто его проконтролировать во время прогона программы

  • потому что вам нужно передавать в процедуру переменное число аргументов, но вас удручают сложности реализации этого на C

  • потому что вам нужен ясный путь получения на выходе функции многих величин, а не одной

  • потому что вам нужен встроенный полноэкранный отладчик исходного кода который было бы легко использовать без ежеминутного поиска рецептов в руководстве (или без начинки программы операторами print)

  • потому что вы терпеть не можете, когда ваша программа начинает работать, только если ее откомпилировать в отладочном режиме

  • потому что вам нужен действительный и точный профиль выполнения операторов, чтобы в деталях разобраться с внутренней динамикой хода вашей программы и выжать из нее предельную производительность

  • потому что некоторые из ваших программ требуют учета буквально каждого машинного цикла. Разница в скорости между Euphoria и C/C++ не так велика, как вы могли бы думать. Попробуйте испытать производительность. Мы уверены, что вы будете приятно удивлены!

  • потому что вы не хотите захламлять ваш винчестер .obj и .exe файлами

  • потому что вы хотите поскорее взглянуть, как работает ваша программа, а не рыться в нескольких сотнях страниц документации, чтобы решить, какие режимы компилятора и компоновщика вам в действительности нужны

  • потому что ваш C/C++ пакет содержит 57 различных процедур распределения памяти и 67 различных процедур для манипулирования строками и блоками памяти. Сколько таких процедур нужно Euphoria? Ответ: нуль. В Euphoria распределение памяти происходит автоматически, а строки обрабатываются точно так же как и все остальные ряды.