Цитата:
Сообщение от
mazzy
а вот скажи, Java - это софт более жирный, чем ERP или менее жирный?
например, в java платформу ввели таки и перегрузку, и генерики, и лямбды с замыканиями. И многопоточность и потокобезопасное программирование. И стримы вот сейчас моднючие. И библиотеки под это переписали.
Тут другой вопрос - Java все-таки делается обратно совместимой (все эти возможности это добавление). Т.е. клиенту не надо в типичном случае напускать на свой код конвертер, который будет многие if(x) превращать в if (TrueFalseHelper.ToBoolean(x)) и так далее. В случае конвертации X++ в C# код будет изменен будет получен неидеоматичный C#.
Для конверсии в IL в Ax2012 сделали так: ужесточили в X++ правила контроля за типами и исправили код там где новые правила нарушались, но все равно из-за разницы рантаймов остался код, который работает в X++ и не будет работать в CIL (т.е. CIL
не полностью совместим с X++ в Ax2012, а X++ ax 2012
не полностью совместим c X++ в Ax2009).
Цитата:
а в Аксапте все еще java первого поколения.
Сделали события, более строгую рантайм семантику типов, var, объявления переменных в любом месте метода, internal, методы расширения, CoC, pre-post handlers и переписали полностью компилятор на C# чтобы было удобней делать дальнейшие улучшения.
Это можно делать без нарушения обратной совместимости - добавляются новые возможности старые почти не убираются (только с переходом на IL решили не использовать dynamic, например, а вместо этого запретили присваивание переменных несовместимых классов).
Цитата:
Неужели для Аксапты груз тяжелее, чем для Джавы, на которой Аксапта основана?
Как думаешь?
Я не очень знаю историю обратной совместимости Java - там требовались когда-нибудь конвертеры, которые бы меняли каждый файл исходного текста для перехода на новую версию?
Аксапта это не Java 1.0 это какой-то скриптовой рантайм (типа PHP или Javascript - с подобными представлениями о прекрасном) + синтаксис Java и немного статической валидации от нее же.
Еще раз презываю декомпилировать какой-нибудь собственный паблик класс и посмотреть сколько там всего (конечно, если специально писать конвертор, то можно наверное это сделать более читаемо на С#, но можно получить представление об объеме работы и возникающих задачах).
В-общем, вот мои мысли, я на истину не претендую и конкретно кто и как принимает решения в этом вопросе не знаю.