Перспектива: разработчики и Microsoft

Z98, “A perspective: developers vs Microsoft”, public translation into Russian from English More about this translation.

See also 96 similar translations

Translate into another language.

Participants

evilslon 2780 points
oleo_05031991 1 no points
Join Translated.by to translate! If you already have a Translated.by account, please sign in.
If you do not want to register an account, you can sign in with OpenID.
Pages: ← previous Ctrl next
1 2 3 4 5

A perspective: developers vs Microsoft

Перспектива: разработчики и Microsoft

History of edits (Latest: evilslon 4 years, 6 months ago) §

— 2 jedi-to-be: Тебе очень нужен этот перевод? На нашем вебсайте переводы блогов размещаться не будут. Если это для PR или нужно лично тебе, то напиши мне (или сюда), и я помогу с переводом. evilslon

— Я в курсе, что не будут размещаться =) jedi-to-be

More 3 comments

— Спасибо! Мне почему-то не приходили комментари о том, что ты работаешь над переводом jedi-to-be

Most people understand that Windows is used by a variety of people who have a variety of needs, ranging from corporate server to workstation to POS terminals to home PC and beyond. Most people accept that whenever Microsoft updates Windows, it has to balance the competing requirements to find some kind of workable compromise. There is however another set of competing requirements that many do not really register, even those that call themselves power users or are IT admins. It is a conflict between developers/programmers and Microsoft itself.

Довольно очевидно, что Windows используется большим количеством людей, и что всем им система нужна для выполнения различных задач: от создания корпоративного сервера и установки на POS-терминалы до использования её на домашнем компьютере, и не только для этого. Многие понимают, что когда Microsoft обновляет Windows, ей приходится принимать множество компромиссных решений для обеспечения корректной работы своей операционной системы. Существует, однако, ещё один тип компромиссов, о существовании которого многие люди, пусть даже они и называют себя продвинутыми пользователями или администраторами, даже не догадываются. Это конфликт между разработчиками/программистами и самой Microsoft.

History of edits (Latest: evilslon 4 years, 6 months ago) §

Developers are ultimately the ones who write applications used by users whereas Microsoft develops the OS these applications run on. A common shared goal between the two is the desire that applications previously written continue to work. Users use Windows not to use Windows, but the applications that they need after all. Developers on the other hand have finite resources and time and the need to constantly tweak an existing program because of an unstable ABI/API is often an unwelcome distraction. Even worse for developers is when support for an API is eliminated outright, which would require a complete rewrite. Loss of a platform happens much less in the Windows world than in the open source world, and even there it is a rare event because of how pissed off the developers who make up that sphere would get. Developers also often want the platform that they are using to be continually updated either with bug fixes or new features to make certain tasks easier. Contrary to what many users might think, we generally want to be able to keep supporting our customers/users and want to add new features while keeping existing ones working. This task becomes very difficult however once a framework/platform is deprecated as certain things may simply not be possible without underlying upgrades.

Разработчиками обычно называют людей, пишущих приложения для пользователей, а Microsoft разрабатывает операционную систему, на которой впоследствии эти приложения будут работать. Точкой их соприкосновения является желание обеспечить стабильную работу приложений, написанных ранее, на новой ОС. Пользователи используют Windows не ради самой Windows, а ради существующих для неё необходимых им приложений. Разработчики же зачастую ограничены в количестве рабочего времени и ресурсов, и необходимость постоянно что-то изменять в своей программе из-за постоянно изменяющегося API/ABI будет вызывать у них лишь раздражение. Хуже того, если какие-либо API будут исключены из ОС полностью, разработчик будет вынужден практически полностью переписать своё приложение. Однако стоит сказать, что в мире Windows такие вещи происходят куда реже, чем в мире open source, но и даже там это крайне редкое событие, поскольку в этом случае существует риск того, что развивающие эту платформу люди могут просто-напросто отвернуться от неё. Кроме того, разработчики хотят, чтобы используемая ими программная платформа постоянно обновлялась, в неё добавлялись новые возможности и удалялись ошибки, что, несомненно, направлено на упрощение как работы с ней, так и программирования для неё. Вопреки тому, что многие пользователи могли подумать, разработчики программных платформ хотят продолжать поддерживать своих клиентов и пользователей и хотят добавлять новые возможности при сохранении работоспособности уже существующих. Это довольно сложная задача, однако как только фреймворк или платформа устаревает, без проведения её обновления пользоваться ей может быть довольно сложно, поскольку она просто уже не сможет выполнять некоторые новые задачи.

History of edits (Latest: evilslon 4 years, 6 months ago) §

Sometimes however, such clean breaks are necessary because a platform has accrued too much technical debt and architectural issues to improve further without prohibitive cost. Developers for Windows have known this to be true for the win32 API for years now. After all, the win32 API started out as an API for 16bit platforms and has been extended to support 64bit platforms. It is also ridiculously clunky in many places and often very, very verbose and with the increased emphasis on using C++ for development, the C centric win32 API was showing more of its age with every passing year. The Microsoft Foundation Classes library was an attempt to provide a C++ centric API to the underlying win32 platform, but it still suffered from the verbosity problem and was infamously inflexible the moment one tried to do something that was not explicitly supported. There has been a lot of rumbling amongst Windows developers of a need for some kind of break, as painful as it would be. Microsoft started down this road with the .NET framework and an updated WinForms platform, to try to make development less painful. .NET however is a managed platform and while it became very popular, it did not entirely fit the needs of people who were doing native Windows development. For a time Microsoft released something called the Windows Template Library, which tried to abstract away some of the more irritating aspects of the win32 API while being much more flexible and lightweight than MFC. While many people liked WTL and felt it should have eventually become the defacto way to program Windows, there was another perspective that ultimately killed off that possibility.

Однако порой наступает необходимость вносить в платформу коренные изменения, поскольку в ней накапливается настолько большое число "костылей" и архитектурных проблем, что её поддержка и улучшение будет даваться её разработчикам непомерно высокой ценой. Разработчики для Windows знают это очень хорошо, поскольку win32 API было создано много лет назад. Изначально win32 API было 16-битным, и уже позже было расширено для поддержки 64-битных платформ. Во многих местах оно довольно громоздко и неэффективно, и зачастую просто крайне, крайне избыточно, а с повышением акцента на использование C++ для разработки, C-ориентированное win32 API с каждым годом всё больше и больше показывает своё устаревание. Библиотека Microsoft Foundation Classes стала попыткой Microsoft предоставить API для C++ для низлежащей платформы win32, однако и она стала жертвой проблемы избыточности и получила дурную славу из-за недостаточной гибкости в тех случаях, когда кто-либо пытался сделать что-либо из того, что явно ей не поддерживается. Среди разработчиков Windows было немало людей, недовольных текущим положением дел и говоривших о необходимости выхода из сложившейся ситуации, сколь болезненно бы это не было. Microsoft для этого решила воспользоваться средой .NET и обновила платформу WinForms, чтобы облегчить работу разработчикам. Однако платформа .NET является средой выполнения, и хотя она и получила широкую популярность, всё же она не подходит для использования разработчиками, пишущими нативные приложения для Windows. Какое-то время спустя Microsoft выпускает библиотеку под названием Windows Template Library, предназначенную для абстрагирования от некоторых из наиболее раздражающих аспектов API Win32, при этом куда более легковесную и гибкую, чем MFC. Многие полюбили WTL и им стало ясно, что именно такой подход к программированию и должен применяться в Windows в качестве стандарта де-факто, однако появилась ещё одна перспектива, которая в итоге убила эту возможность.

History of edits (Latest: evilslon 4 years, 6 months ago) §
Pages: ← previous Ctrl next
1 2 3 4 5