Я попытаюсь предоставить некоторые вещи, которых нет в предыдущем ответе, пропуская то, что они упоминали:
Он (всегда) компилируется?
Что ж, интерфейс для программиста говорит "Активировать", а не компилировать, но это потому, что есть встроенное управление версиями. Когда вы что-то активируете, оно компилирует это и делает исходную и бинарную версии «активной» версией. Если кто-то попытается запустить исходный код, который не скомпилирован, он будет автоматически скомпилирован при запуске.
Typestem : это строго типизированный текст?
В принципе, да. ABAP — это странная помесь Pascal и COBOL. Есть «символы поля», похожие на указатели. Также теперь есть универсальные типы. (И общие указатели полей). Одна из самых крутых вещей заключается в том, что между типами ABAP и типами баз данных нет разницы. Любая таблица, которую вы создадите, автоматически станет типом структуры. Другими словами, ABAP интегрирован с базой данных так, как почти никакие другие языки. Вы также можете написать SQL, который на самом деле является частью ABAP, а не просто строкой, как в других языках.
Наследование: одиночное/множественное, интерфейсные структуры?
Существуют интерфейсные структуры, но я их обычно не использую. Тем не менее, если вы создали много повторно используемых классов, это было бы хорошей идеей.
Коллекции: есть ли коллекции помимо массивов? Есть ли общие коллекции? Использует ли он понимание списков?
Более того, у него есть «Внутренние таблицы», которые в основном представляют собой тип динамического массива. Они могут быть объявлены практически из любого типа, в том числе из словаря данных. Их можно зацикливать, сортировать и т. д. Существует несколько типов, в том числе хешированные и отсортированные варианты.
Какая-либо обработка исключений?
Как ООП, так и не ООП.
Что-нибудь примечательное по сравнению с другими известными языками?
Как сказал другой автор, многое. Он очень хорош во всем, что касается операций с базами данных и повторного использования сложных структур и типов данных. Это, естественно, кросс-база данных и кросс-платформа (ОС и процессор). Он имеет очень хорошую систему управления версиями и транспортную систему. Вся система SAP имеет очень хорошую многоязычную поддержку. Вы можете автоматически получать простые экраны с соответствующими заголовками и полями выбора, а это означает, что вы можете меньше программировать и больше работать. Вам не нужно сопоставлять типы БД с типами языков и т. д.
Вещи, в которых он не очень хорош:
1. Числа обычно хранятся в формате ASCII, поэтому во многих приложениях он менее чем быстр в математических вычислениях.
2. Большинство структур данных очень нормализованы, то есть иногда ваши данные могут быть разбросаны по 50 таблицам. «Звездные» запросы очень распространены. В таких случаях вам помогут встроенные функции для извлечения данных (например, логические базы данных).
3. SAP старается быть всем для всех, поэтому существует множество параметров конфигурации и т. д., а иногда функция не работает. делайте то, что вы ожидали, основываясь на прошлом поведении.
4. ABAP иногда очень многословен. Попробуйте использовать кнопку "Шаблон" на чем-то простом, например GUI_DOWNLOAD.
5.SAP была очень амбициозна в том, что они взяли на себя, и поэтому на раннем этапе столкнулась с ограничениями аппаратного обеспечения, операционных систем и систем RDBM. Таким образом, у них есть унаследованные кладжи, чтобы справиться с этим, которые не очень хороши. (пул-таблицы, кластерные таблицы и т. д.)
6. Когда вы активируете программу, она не выполняет полную проверку совместимости с используемыми функциональными модулями. Бывают ситуации, когда что-то активируется без проблем, но затем происходит сбой во время выполнения, даже если это могло быть перехвачено во время компиляции.
person
Noah
schedule
08.02.2010