В чем преимущества разработки с использованием устаревших технологий? [закрыто]

Немного фона :

Я работаю в крупной компании, используя Windows XP и кодируя Winforms в VB6 /VB.Net и некоторые WebForms в VB.Net (код обслуживания 95%). У меня есть один 4: 3 19-дюймовый экран. Более современная версия Windows не скоро появится, и ни одна из них не работает по звукам!

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

У меня есть намного более современный опыт предыдущих работ, как с более современными фреймворками, так и с другими языками программирования, и когда я догоняю друзей разработчиков из других компаний, все, о чем я слышу, это то, как они используют последний ASP MVC рамки, или Vagrant /Ruby on Rails /etc, и я получаю зеленые глаза!

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

Вопрос :

Я пытаюсь убедить себя, что моя текущая работа не так уж плоха. Итак, каковы преимущества этой роли? Имеются ли преимущества для работы с устаревшими технологиями? Может быть, некоторые методы, которые я бы не стал работать с более современными? Или это место, где карьера идет, чтобы умереть, и я должен выйти, пока у меня еще есть моя душа?

28 голосов | спросил prisoner24601 15 Jam1000000amWed, 15 Jan 2014 02:27:48 +040014 2014, 02:27:48

8 ответов


26
  

все, что я слышу о том, как они используют новейшую инфраструктуру ASP MVC,   или Vagrant /Ruby on Rails /etc, и я получаю зеленые глаза!

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

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

Есть места, где старые технологии должны быть заменены чем-то новым, но обычно это просто обновления, а не оптовые замены. Например, VB6 обновляется до VB.NET, Visual Studio 2002 обновляется до Visual Studio 2012. Любой, кто входит в полную переписку, всегда обнаруживает, что с новыми инструментами все не так фантастично. (поэтому Джоэл, среди прочих, говорит, что переписывание всегда является неправильным ответом)

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

ответил gbjbaanb 15 Jam1000000amWed, 15 Jan 2014 03:03:40 +040014 2014, 03:03:40
21

Есть несколько преимуществ для компании придерживаться устаревших технологий:

  1. Legacy иногда не работает с новым материалом

    Компания, возможно, инвестировала большую сумму денег в системы, которые просто не работают с новыми языками или операционными системами. Классическим примером является множество веб-приложений в интрасети, которые совместимы только с IE6 и IE6. Выбор между прилипанием к Windows XP + IE6 и отбрасыванием рабочей системы и инвестированием денег в новый не является очевидным.

  2. Изменение ради изменения не является разумным выбором

    Пример: многие банки по-прежнему продолжают поддерживать приложения, первоначально написанные в COBOL. Когда материал работает, почему бизнес решил переписать его на другом языке, учитывая стоимость переписывания крупной критически важной бизнес-системы, а также риск ошибиться, представив кучу новых ошибок? (Одна из причин описана ниже)

  3. Лицензии дорогие

    Предположим, у компании есть несколько сотен рабочих столов, которые используют Windows XP. Они хотят перейти на Windows 8. Какова стоимость одной лицензии Windows 8 Enterprise? Что, если мы умножим эту стоимость на количество машин?

    Это становится еще хуже для серверов. Единая лицензия для Oracle или Microsoft SQL Server стоит около $ 30 000 - $ 40 000. Если у компании есть, скажем, пятьдесят серверов баз данных, она становится очень дорогостоящей даже при лицензировании томов.

    В моей компании мы застряли в Visual Studio 2010. Мы страдаем от многочисленных ошибок, и мы знаем, что они никогда не будут решены, так как Microsoft отказалась от этой версии. Но $ 13 000 (учитывая, что нам нужна версия Ultimate из-за ее уникальных функций, недоступных в других версиях) слишком велико для обновления до Visual Studio 2013.

Сказав это, есть и важные недостатки.

  1. Наследие не привлекает новых талантов

    Это одна из проблем компаний, которые поддерживают приложения COBOL: им трудно найти недорогих разработчиков. Кроме того, работа над мэйнфреймами и написанием кода COBOL не является чем-то привлекательным для творческих людей.

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

  2. Старый не означает безопасный

    Поскольку переписывание продукта на новом языке может привести к появлению новых ошибок, сохранение старых систем, которые больше не поддерживаются, может быть опасным. Представьте, что в Windows 98 обнаружена ошибка, которая может поставить под угрозу всю систему: выпустит ли Microsoft обновление для его решения?

  3. Наследство - вирусное

    Несовместимость между устаревшими и более новыми системами означает, что часто, когда вы придерживаетесь старого продукта, языка или инфраструктуры, вы не сможете выполнить обновление где-то еще. Приложение старой интрасети, работающее только на IE6, приводит к Windows XP на всех рабочих столах, а это означает, что вы не можете перейти на новую версию Active Directory, а это значит, что вы не можете использовать новые приложения, для которых требуется самая последняя версия Active Directory, и и так далее.

  4. Производительность

    Новые версии продуктов приносят новые функции, которые иногда повышают производительность. Задача, которая займет один час с Visual Basic 6.0, может быть выполнена менее чем за час с помощью Visual Studio 2013, потому что Visual Studio 2013 и .NET Framework 4.5 привносят улучшенные Intellisense, Entity Framework и тысячи других вещей, которые уменьшают код, писать, увеличивать скорость написания кода и уменьшать риск появления ошибок.

    Если пример недостаточно ясен, вот еще один. В Windows 3.1 системные администраторы будут настраивать каждый компьютер один за другим вручную (если не было некоторой автоматизации, о которой я не знаю). Сегодня они будут использовать PXE и ​​WindowsНабор для оценки и развертывания автоматически развертывает в течение нескольких минут новую ОС и программное обеспечение на тысячах компьютеров.

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

ответил Arseni Mourzenko 15 Jam1000000amWed, 15 Jan 2014 03:27:30 +040014 2014, 03:27:30
7

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

Я могу придумать три преимущества работы с устаревшей, замененной технологией:

  1. Знакомство с самой старой технологией

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

  2. Возможность научиться чему-то новому

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

  3. Более глубокое понимание того, почему они были заменены

    Трудно объяснить не-программисту HR или Executive тип, почему VB.NET или C # превосходят VB6, если вы не знакомы с самой технологией. И если вы не совсем знакомы с последним, то узнав, что они заменили, может помочь понять некоторые причины, почему записи были написаны так, как они были.


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

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

ответил DougM 15 Jam1000000amWed, 15 Jan 2014 02:44:30 +040014 2014, 02:44:30
6

В какой-то момент компания должна будет заботиться о конце жизни VB6, но, к сожалению, у VB.NET осталось немного дыхания.

Есть ли какая-либо причина, по которой вам нужно работать на одном маленьком мониторе? Это похоже на то, что компания дешевле, чем заботится о хорошо проверенных технологиях. Это не похоже на то, что пара 21 "мониторов собирается ввести ошибки.

Чтобы ваши навыки были острыми и оплачивались за это, я бы предложил посмотреть, как вы собираетесь строить, тестировать и развертывать установку. Это может быть возможностью начать внедрять некоторые новые технологии, используя rake, powershell и /или nant для сборки и развертывания. Если у вас нет модульных тестов, начните добавлять их.

В конце дня, если компания не находится в технологическом пространстве, она всегда будет второстепенна для них. Для них имеет смысл сохранять стабильность для защиты своих основных бизнес-операций.

Я не буду давать советы по карьере, я уверен, что другие накрыли базы.

ответил crad 15 Jam1000000amWed, 15 Jan 2014 08:27:46 +040014 2014, 08:27:46
6

Для пожилых людей , продвигающихся к концу своей профессиональной карьеры, продавая свои глубокие знания о более старой технологии для компании, которая все еще использует старые вещи, может быть финансово привлекательной >. Например, если вы опытны в PDP-11, вы можете переехать в Канаду .

Однако ранее в вашей карьере я бы рекомендовал двигаться дальше.

ответил Marcel 15 Jam1000000amWed, 15 Jan 2014 11:25:07 +040014 2014, 11:25:07
3

Существует несколько преимуществ:

1) Будет доступно много ресурсов для технологий, если они не являются неясными, которые не были широко использованы.

2) Надеемся, что другие в компании будут хорошо разбираться в технологиях, поскольку они не изменились.

3) Если нет новой разработки, вы можете работать с рефакторингом старого кода, чтобы быть более чистым или быстрее. Обратите внимание, что тип магазина, который хранит эту старую технику, вероятно, будет против изменения любого кода, который «работает», несмотря на то, насколько он отвратителен.

ответил aglassman 15 Jam1000000amWed, 15 Jan 2014 02:43:23 +040014 2014, 02:43:23
3

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

У нас все еще есть большая база кода Visual Studio 6, и похоже, что она не будет заменена в ближайшее время.

Тем не менее, мы продвигаемся вперед с новыми технологиями, где мы можем для новых разработок.

Как я думаю, вы намекаете, можно написать VB.NET, который прекрасно взаимодействует с устаревшим кодом VB6, используя COM.

Использование ультрасовременных технологий, несомненно, забавно, поскольку они часто приносят значительные выгоды от производительности. Однако обратная сторона заключается в том, что вы можете столкнуться с ошибкой /сбоем, которая возвращает вам дни /недели. Это называется кровоточащим краем по какой-то причине!

Даже если компания должна была вытеснить наличные деньги, чтобы обновить программное обеспечение, это (как я нашел из личного опыта) может быть немного перетаскиванием, какой бы способ ни выбрал компания:

Порт программного обеспечения

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

Обновление Visual Studio

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

Функциональная миграция

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

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

То, что вы должны делать, во многом зависит от типа человека. Неофиты всегда хотят работать с новым материалом, в то время как луддиты считают, что старые технологии лучше всего. Большинство из нас где-то посередине. Вам нужно работать там, где вам удобно. Если вы чувствуете, что можете жить со статусом-кво, тогда здорово, иначе возьмите монетку сейчас и оставите половину глаза для более подходящей позиции.

ответил Robbie Dee 15 Jpm1000000pmWed, 15 Jan 2014 14:05:45 +040014 2014, 14:05:45
1

Это может быть не совсем то, что вы просите, но у меня есть некоторые предложения:

Я думаю, что наибольшая выгода - это то, что вы можете предложить своему работодателю с точки зрения опыта, когда они в конце концов осознают, что им нужно мигрировать. XP будет прекращен в этом году, поэтому я представляю ваш ИТ-отдел уже рассматривает стратегию миграции. (Если нет, подготовьте свое резюме, потому что у них не будет много времени.)

С учетом этого может быть разумным начать компиляцию списка преимуществ для переноса основных программных средств в сочетании с миграцией OS /платформы. Помогите обучить свою технически-невосприимчивую систему управления в отношении рентабельности инвестиций в отношении новых технологий. Ваши менеджеры не будут кричать о хакерах и технологиях, но они должны быть very заинтересованы в ваших долгосрочных прогнозах относительно сравнительных затрат на текущие расходы на техническое обслуживание, будущее развитие и т. Д. .

В этих же строках вы можете воспользоваться этой возможностью, чтобы узнать уровень удовлетворенности ваших клиентов (сотрудников, использующих ваше программное обеспечение). Какие улучшения они хотели бы увидеть? Какие ошибки сводят их с ума? Какие функции значительно улучшат их эффективность? Если вы можете показать своим работодателям, что новые инвестиции в технологии будут демонстративно влиять на их прибыль, вы можете получить звание «Менеджер технической миграции».

И ЭТО бы хорошо смотрелось в ЛЮБОЕ резюме.

ОБНОВЛЕНИЕ: Похоже, вы не одиноки в своей отрасли: " 95% всемирных банкоматов запускают XP ". Не поймите меня неправильно: XP отлично - я всегда был фанатом. Но на самом деле, как только исправления безопасности и обновления заканчиваются, XP не будет жизнеспособным продуктом для банка. Ваша работа (ради клиентов вашего банка) заключается в том, чтобы любезно, но настойчиво информировать своих менеджеров о том, что они в конечном итоге будут платить гораздо больше (в расширенных услугах или смягчении атаки), чтобы поддерживать XP в течение своей даты выхода на пенсию. Как указывала ссылка @ RobbieDee, вы получили до 14 июля 2015 года. Это достаточно времени (если вы начинаете сейчас) разрабатывать, внедрять и развертывать систему замены.

(Но не пытайтесь продать эту идею парню, который только что подписал контракт с XP-install на предприятии. Он не ваш союзник. С таким суждением его дни в этой роли пронумерованы. вокруг него, пока не победят более умные головы.)

ответил kmote 17 Jam1000000amFri, 17 Jan 2014 03:52:26 +040014 2014, 03:52:26

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132