На форуму пару раз и в жизни несколько других раз возникали вопросы, что ABAP уже стар, ну т.е супер-стар и от этого обидно в тройне, потому что в то время, когда Net, C# и прочие разработчики покоряют вершины и звезды, мы простые абаперы сидим в старом архаичном языке аля Cobol и за пивом, нам нечем похвастаться перед коллегами по цеху из других миров/языков, а это знаете ли очень обидно. В общем тема старая, а как-то давно, точнее 30 мая 2012, мне попалась одна тема на SCN (Оригинал: You are not allowed to view links.
Register or
Login), которая как нельзя лучше подходит под вот это вот волнующее, а не застарел ли я занимаясь ABAP-ом. Так же там уже набежало некоторое количество комментариев, но я перевел только один, который совпадает с моей точкой зрения, возможно потому что это похоже наш человек, с которым я полностью согласен, исходя из имени Jelena Perfiljeva, что знаете ли наводит. Хотя ответ на ее пост, тоже наводит на... ну в общем мысли, что автор поста не понял ответа Елены Перфильевой.
И так собственно сам перевод текста, ну и хотелось бы услышать ваши комментарии. Почитать уже высказанное можно на английском по ссылке выше.
Когда я впервые перешел от роли аналитика, на позицию ABAP-разработчика, мой друг, который является .Net разработчиком был удивлен и спросил меня, почему я решил стать разработчиком на таком «архаичном» языке. Конечно же ABAP не "архаичный" язык, хотя это и возможно так кажется, когда разработчики используют устаревший синтаксис языка. Я думаю, что термин "архаичный" уместен для разработок, которые не используют современные расширения языка ABAP, особенно с учетом ниже приведенного изображения из презентации Хорста Келлера "Modern ABAP programming at the 2011 TechEd".
Мой ABAP-преподаватель однажды сказал, что есть разработчики, которые пишут в своем резюме 9 лет опыта работы, но если они не идут в ногу с развитием языка ABAP, то на самом деле это можно читать/считать как всего лишь опыт в один год, но повторенный 9 раз.
В компании, где я работаю, приняты стандарты ABAP кодирования и стандарты производительности для предотвращения использования наиболее архаичных/устаревших конструкций языка, однако они не требуют использования объектного ABAP или современного ABAP и эти стандарты определенно не используются для старого кода. При попытке модификации/изменения некоторые старых программ, я очень хочу просто переписать все это с использованием всех современных методов/конструкций ABAP языка, которые я знаю, и иногда это кажется даже проще сделать, чем пытаться как-то вклинится с какими-то минимальными изменениями, чтобы заставить работать старую программу, согласно нашим изменениям в бизнес-процессах.
В рамках IT стратегии, наша цель заключается в предоставлении решений мирового уровня для наших бизнес-клиентов и уменьшении общей стоимости владения ИТ-решением. Именно поэтому мы внедрили SAP, в первую очередь, но я чувствую, что эти заявления (решение мирового уровня и уменьшение стоимости владения) противоречат друг с другом, если решение мирового уровня приводит к тому, что надо постоянно платить за обучение, чтобы держать всех в курсе новейших технологий и тратить время на модернизацию пользовательских программ, написанных ранее.
И так мой мой вопрос в том, какие ИТ-политики нужны, чтобы убедиться, что мы получаем преимущества от современного ABAP в наших SAP решениях? Какими должны быть руководящие принципы программирования на ABAP или мы должны постоянно проводить обучение, чтобы держать всех в курсе нововведений и насколько мы должны доверять нашим консультантам? Или, в конце концов, этот вопрос просто не имеет значения, а значение имеет только то, работает это или нет и не важно каким способом это достигнуто.
Пожалуйста, прокомментируйте это, если у вас есть опыт по данному сообщению. Спасибо!
И собственно ответ Jelena Perfiljeva
Brian O'Neill Jun 26, 2012 6:00 PM (in response to Jelena Perfiljeva)
Моя мантра "будь проще" и "не надо чинить то, что не сломано». Эти уроки, сформированы на протяжении многих лет опыта ...
Речь идет не о "древнем" и "современном", а о хороших и не очень хороших разработчиках. Высказывания типа, "ой, я супер хакер и я использую только ООП и мне плевать на ваши внутренние таблицы со строкой заголовка" заставляют меня честно говоря смеяться. Писать на "современном" ABAP только ради того чтобы сказать что я пишу на "современном" ABAP, нисколько не лучше, чем "старый" код, который просто отлично работает, соответствует требованиям бизнеса. Так что я голосую за "все, что работает лучше всего для бизнеса". Хороший разработчик всегда найдет баланс между "современным" и "древним".
Постскриптум Просто хочется отметить, что на картинке "современной ABAP" выглядит очень гордым и уверенным в то время как "будущий ABAP» - вид раздутый и вот-вот перевернется.