Подтвердить что ты не робот

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

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

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

Вот стратегия, по которой я стараюсь следовать, когда это возможно:

  • Будьте агрессивны в принятии новых технологий.
  • Используйте ранние беты для экспериментов и прототипов и RC для разработки.
  • Отправляйте любые последние изменения в продукт, когда выйдет официальная версия технологии, которую вы приняли раньше.
  • Не полагайтесь на какой-то неясный проект с открытым кодом с активностью 0
  • Обязательно изучайте, но возьмите с собой дорожную карту официального продукта с зерном соли.

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

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

4b9b3361

Ответ 1

В настоящее время я нахожусь в процессе смены поддержки Microsoft Office Word 2007 CustomXML.

CustomXML позволяет документу иметь настраиваемые элементы, которые могут моделировать бизнес-данные и т.д. Например, вы можете определить XSD с вашими настраиваемыми элементами, связать его с файлом docx, затем сгенерировать заполнители как теги CustomXML и перемещаться/изменять документы с использованием С# (или других языков .NET) и OpenXML SDK. Преимущество OpenXML заключается в том, что он отделяет необходимость установки Office на серверной машине для целей автоматизации и является альтернативой покупке сторонних библиотек.

Вкратце был иск о возможности Word 2007 открывать документы с настраиваемым XML. Из в этой статье:

11 августа компания получила запрет на продажу Office Word...

"Этот запрет применяется только к копии Microsoft Word 2007 и Microsoft Office 2007 продается в США. на или после даты судебного запрета 11 января 2010 г. Копии этих продукты, проданные до этой даты, не пострадавшие".

Ответ Microsoft должен удалить поддержку CustomXML из будущих версий Word и выпускает патч, который полностью удалит эту возможность. Вот ссылка на официальное обновление. Согласно этот веб-сайт OEM-партнера Microsoft:

Следующий патч необходим для Соединенные Штаты. Патч будет работать со всеми языками Office 2007.

После установки этого патча Word больше не будет читать пользовательский XML файл элементы, содержащиеся в DOCX, DOCM, или XML файлы. Эти файлы будут продолжать открывать, но любой пользовательский XML элементы будут удалены. Способность для обработки пользовательской разметки XML обычно используется совместно с автоматизированная серверная обработка Документы Word. Пользовательский XML не обычно используется большинством конечных пользователей Слово.

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

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

Если кто интересуется этой темой, вот некоторые статьи, которые нужно проверить:

Статьи ZDNet:

Статьи BNet:

Статьи софтпедии:

EDIT: добавлена ​​ссылка на официальное обновление.

Ответ 2

Я могу написать довольно хороший Java-апплет. В конечном итоге все технологии упадут на обочину, но у этого есть очень резкий рост и падение.

Ответ 3

Несколько лет назад мы активно использовали новую функцию SQL Server 2005 под названием Notification Services. К нашему разочарованию, это было прекращено в SQL Server 2008. Это была серьезная проблема, из-за которой разработчик программного обеспечения задавал вопросы обо всех новых технологиях Microsoft.

Здесь некоторые detail и некоторые больше и некоторые больше

Также были проблемы с Microsoft Entity Framework.

Ответ 4

Кто-нибудь еще помнит OpenDoc, идею Apple о том, как будут записываться все новые приложения Mac? Не думал так.

Ответ 5

Scala.

Он отлично выглядит на бумаге, поэтому я написал проект с ним, убедившись, что моя версия Scala обновлена. Номер версии (2.7.x) и его годы в развитии заставляли меня чувствовать себя относительно безопасно.

Хорошо, я допустил ошибку. Проблема? Серьезная нехватка документации и образцов кода, а также постоянно меняющаяся библиотека классов (дважды во время моей работы, ранее работающий код начинал получать "устаревшие" предупреждения... и я говорю в течение нескольких месяцев и аналогичной версии числа).

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

Ответ 6

Когда я был 10, мой отец попытался сыграть новую песню для меня на совершенно новом Elektronika BK-0010-01.

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

Ответ 7

Да, у меня есть! С JSF 1.0! Казалось, что Sun не проверила его, прежде чем выпустить его.

Мы пытались заставить все работать, но через некоторое время мы только обнаружили, что наши ошибки были вызваны ошибками JSF, и нам пришлось использовать обходные пути. Только в JSF 1.1 и использовании реализаций myfaces-tomahawk проект начал иметь некоторую скорость.

Ответ 8

QBASIC никогда не снимался. Я тоже много лет изучал его.

ОК, честно говоря, это был мой первый язык и хороший способ учиться. И позже он был заменен Visual Basic, а затем VB.NET. Так что это была не полная трата времени.;)

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

Ответ 9

Delphi.NET. Все еще есть тик, когда я это слышу!

Ответ 10

Худшим является то, что вы получаете 80% проекта, используя новый продукт, и попадаете в ошибку showstopper.

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

Ответ 11

AzMan (диспетчер авторизации Microsoft)

Мы начали использовать это на общедоступном веб-сайте/веб-приложении, соблазненном мечтами о едином подписании и выражением о том, что можем "использовать существующую инфраструктуру" или что говорит о маркетинге. Выпускное решение для ASP.NET, которое sysadmins могло бы обойтись без необходимости разработки каких-либо инструментов или вообще писать код. Это было беспроигрышным, верно?

В результате нашего решения мы узнали несколько вещей, которые мы не хотели изучать:

  • Сам Active Directory не очень хороший выбор для механизма аутентификации, обслуживающего общедоступный веб-сайт. Не то, чтобы она не способна - она ​​вполне способна, но ей нравится нанять Ph.D, чтобы написать приложение "Hello World". Он чрезмерно квалифицирован, он делает больше, чем вам когда-либо понадобится в таком контексте, с ним гораздо труднее работать, чем с простой старой таблицей SQL, и требует гораздо большего обслуживания.

  • AzMan медленный. Очень, очень медленно. Поставщик роли должен поддерживать кеш, который должен рассказать вам только, о какой производительности мы говорим. Я никогда не понимал, почему это так медленно, но я полагаю, что это имеет какое-то отношение к гнезду шершней COM и сетевых протоколов, от которых оно зависит.

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

  • Инструменты были ужасны. Возьмите краткий взгляд на консоль AzMan, если вы мне не верите, или прочитайте некоторые из документация, если вам действительно нужна головная боль. Почему все должно быть так сложно?

  • Это было шероховато. Много раз провайдер просто прекращал работать, выплевывая критические ошибки COM (каждый раз каждый раз!), И мы должны были перезапустить IIS или даже весь веб-сервер, чтобы заставить его снова сотрудничать. У нас также была настроена доверенность домена - потому что, очевидно, мы не хотим, чтобы 50 000 открытых учетных записей пользователей в нашем внутреннем корпоративном домене - проблема только в том, что администраторы должны были входить в административные учетные записи вторичного домена для управления ролями, потому что консоль потерпит неудачу если вы попытались использовать его из основного (даже в качестве администратора Enterprise Admin с правами администратора домена во вторичном домене).

  • Поддержка практически отсутствовала. Если вы используете базовый поставщик роли SQL Server (чего у нас нет, но только как пример), есть 10 миллионов учебных пособий, и вы можете отправлять сообщения об ошибках в Google или задавать любые вопросы на любом форуме. Всякий раз, когда что-то пошло с AzMan, или мы хотели сделать что-то новое, это была постоянная борьба за поиск хорошей информации.

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

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

Ответ 12

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

Однако, поскольку он был новым, и мы не знали, что должно произойти, насколько это было бы популярно, и будет ли MS бросать его шесть месяцев спустя. Таким образом, мы застряли с проверенным VB6.

Мы все еще должны поддерживать это наследие VB6, и это было некоторое время. Хотя он нигде не указан, мы получаем параноик, что поддержка среды выполнения VB будет удалена в заданной версии Windows.

Тем не менее, переход на .NET-трафик мог иметь свою собственную боль: 1.0, 1.1 и 2.0 вышли довольно быстро после друг друга, каждый из которых (некоторые) несовместимы с предыдущей версией. Таким образом, необходимость переноса платформы .NET могла бы иметь другой риск. Меньше или больше? Не могу ответить, что он не испытал этого: -)

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

Ответ 13

Да. Я программист Lisp: все выглядит новым и незрелым для меня.: -)

Ответ 14

Ад да

В настоящее время я испытываю боль от раннего усыновления Fortran 2003: -)

Марк

Ответ 15

Mozilla XULRunner.

Это был Adobe AIR, прежде чем появился AIR. Мы написали нашу систему управления персоналом, используя ее. В то время XULrunner был "как раз" выпущен как подрывный движок для FireFox, поэтому мы ожидали, что все, что нам нужно сделать, это убедиться, что у наших пользователей установлен FireFox.

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

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

Ответ 16

Java

Я очень хотел начать работать над этим в 1996 году и использовать его для нескольких проектов. Но для веб-разработки я всегда предпочитал Perl и в наши дни PHP. Разработка графического интерфейса Я в основном использовал .NET. Для нескольких программ командной строки, которые не могут обрабатываться с помощью сценариев, я предпочитаю использовать Perl, Python или даже для этого PHP.

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

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

Поскольку скорость разработки обычно является проблемой для моих клиентов, Java, как правило, становится вторым выбором.

Ответ 17

Я невероятно близок к пламени каждый день, будучи ранним усыновителем MonoTouch. Я никогда не знаю, что будет дальше с этой структурой. Но, к его чести, команда Novell стоит рядом с огнетушителями около 24/7:)

Ответ 18

При отсутствии присутствия на рынке:

  • Google Go
    • Плохая инструментальная цепочка, отсутствует интеграция с популярными компиляторами и C.
  • Python3000
    • Недостатки должны иметь функции: Итераторы, очищенные внутренние элементы и более аккуратные интерфейсы хороши для нас, хардкорных пользователей, но большинство хотят производительности, и это не доставлялось.
  • С++ 0x
  • C99
    • Было 12 лет, и никакие компиляторы основного потока полностью не реализовали это. Популярные проекты и нишевые архитектуры остаются на C89, чтобы быть в безопасности.

Для низкого качества:

  • Windows Vista
    • "сказал Нафф.
  • неволей
  • С++

Для отставания вверх по течению:

  • PyGTK для Windows
  • Поддержка MSVC C

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

Ответ 19

64-битные API-интерфейсы Carbon на Mac OS X: я лично не сжился на этом, но у меня есть друг, работающий в большой компании-разработчике программного обеспечения, которая потратила год на конвертацию почти всех своих кодов, чтобы использовать 64-битные API-интерфейсы Carbon только чтобы узнать в WWDC, что эти API больше не будут доступны.

Ответ 20

Кто-нибудь заметил здесь тренд? Большинство технологий здесь были созданы и отменены или изменены микрософт...

Я также был сожжен microsoft с изменениями, внесенными в инфраструктуру сущности.

Ответ 21

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

Это не отвечает на ваш конкретный вопрос, но есть книга под названием Crossing the Chasm, которая может вас заинтересовать.

Ответ 22

Для меня это был Delphi IntraWeb.

Ответ 23

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

Ответ 24

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

Ответ 25

Я мог бы сосчитать многие из них. Тот, который все еще болит, когда я думаю об этом, - WLPI (старый продукт BEA workflow). Никогда не работал, и продавец отказался от него. Вздох...

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

  • Вы готовы к сокращению и кровотечению (деньги/время/ресурсы)
  • Он обеспечивает важное стратегическое преимущество/конкурентоспособность.

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

Некоторые веб-сайты нуждаются в новейшем внешнем виде, чтобы оставаться конкурентоспособными даже до того момента, когда функции самого сайта являются второстепенными, и они должны быть ранними адаптерами AJAX. Другие нет. Знайте, кем вы являетесь и действуете соответственно.

Ответ 26

Blackbird.

Прекрасная среда разработки для создания интерактивного контента для MSN.

Ответ 27

True Basic

В середине 80-х мы искали платформу для разработки, которая будет работать над различными реализациями DOS, а не быть "бит-скручиванием" на языке C.

Мы нашли True Basic, рекламируемый как созданный оригинальными создателями BASIC еще в 1964 году. Здесь был язык, который "скомпилирован" до p-кода. Он мог работать не только на машинах DOS, но и на GEM (Atari-ST) и Amiga.

У него были дополнения, похожие на то, что мы привыкли иметь среду разработки на машинах VAX/VMS, которые мы использовали. Такие вещи, как пакеты форм, надстройка "ISAM" (до дней вызываемых баз данных на ПК) и т.д.

К сожалению, многоплатформенные способности никогда не продавали язык достаточно. Черт, согласно Википедии, есть версия Mac OS (хотя и не OS X или Snow Leopard). Я даже нашел текущую страницу TrueBasic при написании этой заметки.

В конце концов вышел Visual Basic 1.0, и все программисты BASIC, как и я, проверили его, так как на нем было имя Microsoft. Теперь, конечно, 10 версий позже, мы перешли на платформу .Net, в то время как TrueBasic сидит на V5.5.

Ответ 28

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

Ответ 29

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

Ответ 30

TurboGears веб-фреймворк

У меня было веб-приложение, чтобы писать и вскочил на это (услышав об этом от друга). Я не знал об альтернативах, не знал MVC правильно и не знал об альтернативах различным "стандартным" компонентам (например, SQLAlchemy вместо SQLObject). Хотя документация и общее состояние проекта намного лучше, чем когда я попал в руки, я получил огромное приложение, основанное на "трюках", чтобы обойти некоторые магические функции и в нем было много недокументированных функций для соблюдения сроков. Это стало кошмаром для обслуживания, и я очень хочу, чтобы я потратил время на создание чего-то более простого с планами перезаписи, если бы требования изменились.

Это была серия 1.x, которая теперь устарела для Pylons на основе серии 2.x. Как вы можете себе представить, основная команда сама решила на перемычку, но я застрял в устаревшем приложении, которое мне пришлось поддерживать.