Какой язык программирования или даже стек технологий наиболее дружелюбен к легаси?
Уважаемые эксперты, очень интересно получить ответы, основанные на конкретных примерах. Прошу воспринимать совместимость версий языков и технологий в умеренных временных рамках, без мезозоя. Предположим, существует язык, у которого версия 2.xx была дико популярна, но с выходом 3.xx версии поменялось буквально все (или критически многое) и технологии периода 2.xx теперь рассматривают только ради поддержки.
Так а смысл?
У вас есть софт на Ада
Его нужно дописать и перевести на версию поновее
Вам всем равно насколько дружелюбен переход, если у вас нет ресурса на переписывание с 0
sim3x, вопрос с позиций начинающего разработчика, вы освоили один самый современный стек, берете заказ, а там наследие. Или вы еще мало практиковали, ищете инструмент для старта, а попадается воосновном переделка, и вот тут вы выясняете, что все то, что вы нарабатывали - не сработает. Вот и вопрос в том, какие яркие примеры есть, ну вот сейчас все работают со swift, а легаси повсеместно на objective-c для ios, и таких примеров много.
sim3x, нет у меня никаких иллюзий. Ну не учить же устаревшие технологии ради универсальности, лучше работать с более менее устойчивыми сущностями. Обучающие материалы всегда гласят - изучайте самый свежак, по этой логике надо учить 7 ООП пых, а потом везде лицезреть код 5.6 (там вроде как тоже была ООП) в процедурном стиле? Про эппл это я шире заглянул, чтобы суть вопроса была понятнее.
Игорь, VBA еще до появления платформы .NET, я как понял? Но ведь Microsoft говорили, что платформа создается для объединения программистов и их излюбленных инструментов бла бла бла
Дмитрий Купчинский, VBA это фактически VB6, до сих пор... и да они появились задолго до .Net, и поддерживается оно именно ради огромного количества уже существующих макросов в документах
Дело не в языке, а в используемых библиотеках прежде всего.
Никто не мечтает ради непонятных эффемерных новых фич столкнуться с ситуацией, что десяток другой из 100500 используемых библиотек категорически не хочется работать в новой версии.
Даже если разница между версиями языка невелика и проблем, казалось бы, ждать неоткуда....
А я вообще ни с какой стороны не захожу, можно за основу примера взять что угодно, язык, стек, платформу и т.п. Суть в том с каким инструментом проще практиковать на рынке, чтобы не погрязнуть в легаси.
Суть в том с каким инструментом проще практиковать на рынке, чтобы не погрязнуть в легаси.
Если вы хотите чтобы люди вас понимали - правильно задавайте вопрос.
Тут дело не в инструменте.
Когда вы приходите устраиваться на работу - вам задают вопросы, но и вы можете задать фирме вопросы.
Узнаете о возможном старом коде заранее - и не выберите эту фирму.
Делов то
nrgian, я не могу перечислить в вопросе все, чего не знаю. Разница в версиях языка - это как самая поверхностная точка для понимания, естественно при разработке мы говорим о сопутствующих технологиях, в том числе и о библиотеках, все это вместе инструменты разработчика. Вы должны понимать, что на высоком уровне все очень конкретно, на начальном и среднем может всплыть все что угодно и часто наниматель даже не понимает этой разницы, тем более если работа разовая.
Разница в версиях языка - это как самая поверхностная точка для понимания, естественно при разработке мы говорим о сопутствующих технологиях, в том числе и о библиотеках, все это вместе инструменты разработчика
Начинающего на свежий продукт все равно не поставят (а если и поставят - то это плохая контора для обучения).
Начинающего поставят как раз фиксить баги в старом продукте.
Версия языка - не важна.
Бояться не нужно.
Языки новые осваиваются за неделю (кроме первого, тот дольше). А уж очередная версия языка - тем более быстро.
Важны парадигмы, принципы, концепции, паттерны. Важно их понимать.
А язык - это ерунда, языки похожи.
Сложно усваиваются парадигмы, принципы, концепции, паттерны.
Но они из языка в язык переходят. Освоите концепции/паттерны/парадигмы на одном языке - легко адаптируйтесь к другому.