Прежде чем написать собственную компьютерную программу, прислушайтесь к себе, вы точно хотите этим заниматься? Написание программ только на первый взгляд кажется занятие не требующим специальных навыков, на самом деле процесс этот сложный и трудоемкий, требующий хотя бы начальных знаний программирования. Если вы твердо уверены в своем намерении, прислушайтесь к полезным советам профессионалов.
Инструкция
- В первую очередь необходимо продумать тему вашей будущей программы. Какие именно задачи она сможет решить напрямую зависит от ваших желаний и наличия фантазии. Вы можете написать также программу на тему, ответ на которую сами не нашли на просторах интернета. На начальном этапе необходимо определить аудиторию, на которую продукт будет рассчитан.
- Теперь следует выбрать операционную систему для вашей программы. Если вы планируете работать для российской аудитории, тогда ориентируйтесь на популярную систему Windows.
- Определитесь с выбором языков и других средств программирования. Распространенные сейчас MS Visual Basic, Borland C++ Builder, Borland Delphi – отдельные части конструктора, из которых легко можно составить готовую программу.
- Для того чтобы ваша программа не стала одной из многих в этом направлении, стоит сделать ее оригинальной, запоминающейся.
- Для создания интерфейса используйте инспектор объектов и дизайнерские заготовки, это поможет сделать процесс проще.
- Свои идеи, как автора, необходимо оформить в алгоритм. Если вы создали серьезный продукт, имеющий индивидуальные файлы, обязательно зарегистрируйте его, как программу с помощью специального файла – инсталлятора.
- Необходимо также создать файл помощи, это доступно с помощью компилятора, который поставляется средой программирования визуального.
- Обязательно создайте копию программы для архива. Пользователь для открытия программы должен указать папку, куда она была сохранена, тип установки и т.д. К дистрибутиву также должен быть создан файл с необходимыми данными о вашем детище.
Для написания программ мы советуем вам использовать программу Visual Studio, которую вы можете приобрести в нашем магазине. Данная программ легка в установке и удобна в использовании.Многие профессиональные разработчики разрабатывают программы именно на ней!
Видео: Как написать программу на компьютере
В этой статье я попробую показать, как создать программу самому, ведь это очень просто. Многие из нас постоянно работают с программами, сложными и попроще, но многие не задумываются, а что-же на самом деле есть программа. Если описать коротко, то программа — это набор инструкций, которые отдаются компьютеру в соответствии с происходящими событиями. Событиями могут быть такие очевидные вещи как нажатие кнопок клавиатуры, перемещение мыши и нажатие ее кнопок. Также событиями, не такими очевидными для непосвященного пользователя, могут быть уведомления от от операционной системы, компьютерного железа таймера, часов, и так далее.
Не буду рассуждать на тему зачем может потребоваться писать самостоятельно программу, у каждого свои причины. Перейдем сразу к установке среды разработки и написанию минимальной программы, которая будет иметь одно окно, в котором будет одна кнопка, при нажатии на которуй программа будет закрываться.
Оглавление к статье
1 . Из чего состоит процесс создания программы
Изначально создание программы можно разделить на следующие этапы:
- Разработка алгоритма работы программы.
- Дизайн пользовательского интерфейса. Размеры и свойства окна программы, расположение элементов управление внутри окна (окошки, кнопочки, менюшки и другие) и так далее.
- Написание логики программы. Это именно та часть, которая реагирует на события от нажатия кнопок, события операционной системы и выводит результат своей работы на экран.
2 . Установка среды разработки
Так как большинство из нас не гениальные мальчики и девочки, родившиеся с клавиатурой в руках и не впитали языки программирования с молоком матери, нам понадобится программа более функциональная и наглядная чем блокнот. Эта программа называется интегрированной средой разработки (IDE — Integrated Development Eniroenment). Таких сред разработки много — это Microsoft Visual Studio, SharpDevelop, Netbeans, и другие. В данной статье мы будем писать программу под Windows, используя язык програмирования C#, поэтому остановим свой выбор на среде разработки SharpDevelop, которая является бесплатным продуктом с открытым исходным кодом. SharpDevelop содержит в себе все средства, которые нужны для написания полноценной программы: Средство визуального проектирования пользовательского интерфейса, автодополнение кода и многое другое.
Устанавливать будем последнюю версию, которая доступна для загрузки на сайте разработчика.
Lightbox
Устанавливаем программу, думаю здесь не должно возникнуть сложностей.
После установки запускаем среду разработки.
3 . Создание программы
Нажимаем кнопку New solution, или меню File — New — Solution.
В открывшемся диалоговом окне выбираем: C# — Windows Applications — Windows Application — Название програмы — Create (Создать)
В закладке Projects открываем файл MainForm.Designer, как показано на рисунке.
В закладке Tools выбираемм элемент управления Button (Кнопка), перетаскиваем ее на форму. Теперь у yас форма содержит кнопку.
Давайте ее переименуем, и назначим ей действие — при нажатии кнопки будет закрываться программа.
Переименовуем кнопку: В окне Properties находим свойство Text, Меняем значение Button1 на Close
Назначаем обработчик события нажатия кнопки
Для этого делаем двойное нажатие на кнопке, программа автоматически создаст необходимую функцию Button1Click. Внутри этой функции пишем: this.Close();
При нажатии кнопки Close, окно программы закроется, в след за этим завершит работу и сама программа.
Сделаем что-нибудь посложнее, чем просто вывод текста на экран
В большинстве учебников для начинающих программистов первая программа выводит простое сообщение "Hello world!". Мне кажется это немного тупо, так как для того, чтоб заинтересовать начинающего программиста, нужно показать нечто большее и полезное, нежели просто окно с текстом.
Для того чтоб оценить возможности языка программирования C# и .Net Framework, давайте в нашей программе реализуем возможность выполнения простейших арифметических операций. Мне кажется это будет гораздо полезней.
Итак, давайте создадим следующие элементы интерфейса программы
- Ччетыре кнопки: "+", "-", "*", "/"
- Три текстовых поля: два для выполнения арифметических операций и один для результата.
- Надписи (Labels)
- Кнопка закрытия окна осталась из примера, рассмотренного ранее
Добавлять элементы интерфейса программы весьма просто — перетягиваем их из панели инструментов в то место окна, где должен находиться элемент.
Обратите внимание, что имя элементов назначаются автоматически и, если не давать им осмысленные имена, и при достаточно боьшом их количестве, очень легко потеряться в хаосе, состоящем из элементов с названиями button1, button2, button3, textBox1, textBox2, textBox3 и так далее. Сразу после создания элемента, не ленитесь, давайте ему осмысленое имя — дальше, при создании обработчиков событий, имена функций будут генерироваться автоматически на основании имени элемента управления. Думаю никто не сомневается в том, что имя функции ButtonAddClick() гораздо более осмысленно, чем Button1Click()
Назначим обработчики событий нажатия кнопок
Выбераем по очереди каждую кнопку. Даблкликом создаем обработчик нажатия кнопки(Click). Если нужно добавить обработчик другого события — следует открыть вкладку События (значек в виде молнии) и там уже выбрать необходимое событие.
Пишем код обработчика
Приведу текст для операции сложения. По аналогии я думаю вы догадаетесь как сделать вычитание и другие виды действий с числами, в плоть до возведения в степень и так далее:
Проверяем работу программы
Обратите внимание, что я пока не реализовал проверку вводимого значения в текстовое поле. Если ввести в него некорректное значение — программа выдаст сообщение об ошибке, в которой сообщается, что вы пытаетесь преобразовать в числовое значение неправильную строку:
Пока все. Если есть вопросы или замечания — пишите в комментах.
Windows | |
---|---|
Рабочий стол Windows 10 |
|
Разработчик | Microsoft |
Исходный код | Закрытый исходный код / Shared source |
Первый выпуск | 20 ноября1985 |
Последняя версия | 10.0.18363.592 (14 января2020) |
Последняя тестовая версия |
|
Метод обновления | Центр обновления Windows |
Менеджеры пакетов | Установщик Windows и Microsoft Store |
Поддерживаемые языки | Многоязычная, в том числе русский |
Поддерживаемые платформы | ARM , IA-64 , Itanium , MIPS , DEC Alpha , PowerPC и x86 |
Тип ядра | Гибридное ядро |
Интерфейс | Windows Runtime , Windows API , .NET Framework , Универсальная платформа Windows , .NET Compact Framework , .NET Core , Windows Forms и Windows Presentation Foundation |
Лицензия | проприетарная лицензия[d] |
Состояние | Актуально |
Предыдущая | MS-DOS |
Веб-сайт | microsoft.com/en-us/wind… |
Медиафайлы на Викискладе |
Windows (с англ. — «Окна»; в просторечии — Вин, Винда, Виндовс; реже — Виндоус, Виндус) — семейство коммерческих операционных систем (OC) корпорации Microsoft, ориентированных на управление с помощью графического интерфейса. Изначально Windows была всего лишь графической программой-надстройкой для распространённой в 1980-х и 1990-х годах операционной системы MS-DOS. Согласно данным ресурса Net Applications, по состоянию на август 2014 года под управлением операционных систем семейства Windows работает около 88 % персональных компьютеров. Windows работает на платформах x86, x86-64, IA-64 и ARM. Существовали также версии для DEC Alpha, MIPS, PowerPC и SPARC.
Содержание
Версии
Дата выхода | Название | Последняя версия | Дата прекращения поддержки [3] | Последняя версия встроенного браузера | Семейство |
---|---|---|---|---|---|
20 ноября 1985 | Windows 1.0x | 1.04 (апрель 1987) | 31 декабря 2001 | Нет браузеров | Оболочка для MS-DOS |
1 ноября 1987 | Windows 2.x Windows 2.1x |
2.11 (13 марта 1989) | 31 декабря 2001 | ||
22 мая 1990 | Windows 3.x | 3.00a (31 октября 1990) | 31 декабря 2001 [4] | ||
18 марта 1992 | Windows 3.1 | 3.1 | 31 декабря 2001 | Internet Explorer 5 | |
1 октября 1992 | Windows для рабочих групп 3.1 | 3.11 (31 декабря 1993) | 31 декабря 2001 | ||
27 июля 1993 | Windows NT 3.1 | 3.10.528 SP3 (10 ноября 1994) | 31 декабря 2001 | Windows NT | |
21 сентября 1994 | Windows NT 3.5 | 3.50.807 SP3 (21 июня 1995) | 31 декабря 2001 | ||
30 мая 1995 | Windows NT 3.51 | 3.51.1057 SP5 (19 сентября 1996) | 31 декабря 2001 | ||
24 августа 1995 | Windows 95 | 4.00.950C (4.03.1214) (26 ноября 1997) | 31 декабря 2000 (осн.) (Retail) 31 декабря 2001 (SBL) (ext) |
Internet Explorer 5.5 | Windows 9x |
29 июля 1996 | Windows NT 4.0 | 4.00.1381 / SP6a SRP (26 июля 2001) | 20 июня 2002 (осн.) 30 июня 2003 (SBL) 31 декабря 2004 (ext) |
Internet Explorer 6 | Windows NT |
25 июня 1998 | Windows 98 | 4.10.2222A (SE) (5 мая 1999) | 30 июня 2002 (осн.) 31 марта 2004 (SBL) 11 июля 2006 (ext) |
Windows 9x | |
20 апреля 2000 | Windows 2000 | 5.0.2195 / 5.0 SP4 Rollup 1 v2 (13 сентября 2005) | 31 марта 2004 (retail) 31 марта 2005 (SBL) 30 июня 2005 (осн) 13 июля 2010 (ext) |
Windows NT | |
14 сентября 2000 | Windows ME | 4.90.3000 (14 сентября 2000) | 31 декабря 2003 (осн.) 30 июня 2004 (SBL) (Retail) 11 июля 2006 (ext) |
Windows 9x | |
24 августа 2001 (RTM) 25 октября 2001 (продажи) |
Windows XP | 5.1.2600.5512 SP3 (21 апреля 2008) | 30 сентября 2004 (RTM) 10 сентября 2006 (SP1/SP1a) 30 июня 2008 (retail) 14 апреля 2009 (SP2/SP3 осн.) 13 июля 2010 (SP2) 22 октября 2010 (SBL) 8 апреля 2014 (ext) |
Internet Explorer 8 | Windows NT |
28 марта 2003 | Windows XP 64-bit Edition | 5.2.3790 | 25 июля 2006 | ||
24 апреля 2003 | Windows Server 2003 | 5.2.3790.3959 SP2 (13 марта 2007) | 30 июня 2009 (RTM) 13 июля 2010 (осн.) 14 июля 2015 (ext) |
Windows Server | |
25 апреля 2005 | Windows XP Professional x64 Edition | 5.2.3790.3959 SP2 (13 марта 2007) | 30 июня 2008 (retail) 31 января 2009 (SBL) |
Windows NT | |
8 ноября 2006 (RTM) 30 января 2007 (продажи) |
Windows Vista | 6.0.6001 / SP2 Build 6002 (25 мая 2009) | 13 апреля 2010 (RTM) 22 октября 2010 (retail) 12 июля 2011 (SP1) 22 октября 2011 (SBL) 10 апреля 2012 (осн.) 11 апреля 2017 (ext) |
Internet Explorer 9 | |
16 июля 2007 | Windows Home Server | 5.2.4500 (16 июля 2007) | 8 января 2013 (ext) | Windows Server | |
27 февраля 2008 | Windows Server 2008 | 6.0.6002 / SP2 build 6002 (25 мая 2009) | 12 июля 2011 (SP1) 13 января 2015 (осн) 14 января 2020 (ext) |
||
13 июля 2009 (RTM) 22 октября 2009 (продажи) |
Windows 7 | 6.1.7601 / SP1 Build 7601 (22 февраля 2011) | 9 апреля 2013 (RTM) 13 января 2015 (осн) 14 января 2020 (ext) |
Internet Explorer 11 | Windows NT |
13 июля 2009 (RTM) 22 октября 2009 (продажи) |
Windows Server 2008 R2 или Windows Server 7 | 6.1.7601 / SP1 Build 7601 (22 февраля 2011) | 13 января 2015 (осн) 14 января 2020 (ext) |
Windows Server | |
6 апреля 2011 | Windows Home Server 2011 | 6.1.8400 | 12 апреля 2016 (ext) | ||
1 августа 2012 (RTM) 4 сентября 2012 (продажи) |
Windows Server 2012 | 6.2.9200 (26 октября 2012) | 9 октября 2018 (осн) 10 октября 2023 (ext) |
||
1 августа 2012 (RTM) 26 октября 2012 (продажи) |
Windows 8 | 6.2.9200 (26 октября 2012) | 12 января 2016 (ext) | Windows NT | |
21 августа 2013 (RTM) 17 октября 2013 (продажи) |
Windows Server 2012 R2 | 6.3.9600 (17 октября 2013) | 9 января 2018 (осн) 10 января 2023 (ext) |
Windows Server | |
21 августа 2013 (RTM) 17 октября 2013 (продажи) |
Windows 8.1 | 6.3.9600 (17 октября 2013) | 9 января 2018 (осн) 10 января 2023 (ext) |
Windows NT | |
15 июля 2015 (RTM) 29 июля 2015 (продажи) |
Windows 10 | 10.0.18363.535 1909 (10 декабря 2019) | 13 октября 2020 (осн.) 14 октября 2025 (ext.) |
Microsoft Edge / Internet Explorer 11 (оставлен для совместимости) | |
29 сентября 2016 (RTM) 12 октября 2016 (продажи) |
Windows Server 2016 | 1607 (10.0.14393) (26 сентября 2016) | 11 января 2022 (осн.) 11 января 2027 (ext.) |
Microsoft Edge | Windows Server |
14 августа 2018 (RTM) 2 октября 2018 (продажи) |
Windows Server 2019 | 1809 (10.0.17763) (11 ноября 2018) |
- осн. — окончание действия лицензии для первого (основного) релиза
- SBL — окончание срока лицензии для производителей [5]
- retail — окончание срока лицензии для розничных покупателей
- SPx — окончание срока лицензии для различных дополнений (сервис-паков) к системе
- ext — полное окончание поддержки системы.
Графические интерфейсы и расширения для DOS
Первые версии Windows не были полноценными операционными системами, а являлись надстройками над операционной системой DOS и были по сути многофункциональным расширением, добавляющим поддержку новых режимов работы процессора, поддержку многозадачности, обеспечивали стандартизацию интерфейсов аппаратного обеспечения, обмен данными между приложениями и единообразие пользовательских интерфейсов программ. Для создания графического интерфейса использовались встроенные средства GDI и USER. Первые версии Windows вообще состояли из трёх модулей — KERNEL, GDI и USER. Первый из них обеспечивал управление памятью, запуск исполняемых файлов и загрузку динамических библиотек DLL, второй отвечал за графику, третий — за окна. Они работали с процессорами начиная с Intel 8086.
- Windows 1.0[6] (1985)
- Windows 2.0 (1987) — в системе появилась возможность запуска DOS-приложений в графических окнах, причём каждому приложению предоставлялись полные 640 Кбайт памяти. Улучшена поддержка процессоров 80286. В версии 2.03 (2.0/386) появилась поддержка процессоров 80386[7][8][9] .
- Windows 2.1 (1988) — полная поддержка всех особенностей процессоров 80286 и 80386.
- Windows 3.0 (1990) — улучшена поддержка процессоров 80386 и защищённого режима [10][11] .
- Windows 3.1 (1992) — серьёзно переработанная Windows 3.0: устранены UAE (фатальные ошибки прикладных программ), добавлен механизм OLE, печать в режиме WYSIWYG («что видишь, то и получишь»), шрифты TrueType, изменён диспетчер файлов, добавлены мультимедийные функции. Прекращена поддержка процессора 8086 и реального режима [12] .
- Windows 3.2 (1994) — китайская версия Windows 3.1. Обновление было ограничено, поскольку оно исправляло только проблемы, связанные со сложной системой написания в китайском языке [13] .
- Windows for Workgroups 3.11 (1993) — Windows для рабочих групп, первая версия ОС семейства с поддержкой локальных сетей. В системе также испытывались отдельные усовершенствования ядра, применённые позднее в Windows 95. С этой версии прекратилась поддержка процессора 80286 и стандартного режима.
Семейство Windows 9x
Первая система данного семейства — Windows 95 — была выпущена в 1995 году [14] [15] [16] . Её отличительными особенностями являлись новый пользовательский интерфейс, поддержка длинных имён файлов, автоматическое определение и конфигурация периферийных устройств Plug and Play (с англ. — «Подключи и играй»), способность исполнять 32-битные приложения и наличие поддержки TCP/IP прямо в системе. Windows 95 использовала вытесняющую многозадачность и выполняла каждое 32-битное приложение в своём адресном пространстве. К данному семейству относятся также Windows 98 [17] и Windows ME [18] [19] .
Операционные системы этого семейства не являлись такими безопасными многопользовательскими системами, как Windows NT, поскольку из соображений совместимости вся подсистема пользовательского интерфейса и графики оставалась 16-битной и мало отличалась от той, что была в Windows 3.x. Так как этот код не был потокобезопасным, все вызовы в подсистему оборачивались в мьютекс по имени Win16Lock, который ещё и находился всегда в захваченном состоянии во время исполнения 16-битного приложения. Таким образом, «зависание» 16-битного приложения немедленно блокировало всю ОС. Но уже в 1999 году вышло второе исправленное издание.
Программный интерфейс был подмножеством Win32 API, поддерживаемым Windows NT, но имел поддержку Юникода в очень ограниченном объёме [20] . Также в нём не было должного обеспечения безопасности (списков доступа к объектам и понятия «администратор»).
В составе Windows 95 присутствовала MS-DOS 7.0, однако её роль сводилась к обеспечению загрузки и исполнения 16-битных DOS-приложений. Исследователи заметили, что ядро Windows 95 — VMM — обращается к DOS под собой, но таких обращений довольно мало, главнейшая функция ядра DOS — файловая система FAT — не использовалась. В целом же интерфейс между VMM и нижележащей DOS никогда не публиковался, и DOS была замечена Эндрю Шульманом (книга «Недокументированный Windows 95») в наличии недокументированных вызовов только для поддержки VMM.
Семейство Windows NT
Операционные системы этого семейства в настоящее время работают на процессорах с архитектурами x86, x86-64, Itanium, ARM [21] [22] . Ранние версии (до 4.0 включительно) также поддерживали некоторые RISC-процессоры: Alpha, MIPS и PowerPC. Все операционные системы этого семейства являются полностью 32- или 64-битными и не нуждаются в MS-DOS даже для загрузки.
Только в этом семействе представлены операционные системы для серверов. До версии Windows 2000 включительно они выпускались под тем же названием, что и аналогичная версия для рабочих станций, но с добавлением суффикса, например «Windows NT 4.0 Server» и «Windows 2000 Datacenter Server». Начиная с Windows Server 2003 серверные операционные системы называются добавлением суффикса «Server» и года выпуска.
В основу семейства Windows NT положено разделение адресных пространств между процессами. Каждый процесс имеет возможность работать с выделенной ему памятью. Однако он не имеет прав для записи в память других процессов, драйверов и системного кода.
Семейство Windows NT относится к операционным системам с вытесняющей многозадачностью. Разделение процессорного времени между потоками происходит по принципу «карусели». Ядро операционной системы выделяет квант времени (в Windows 2000 квант равен примерно 20 мс) каждому из потоков по очереди при условии, что все потоки имеют одинаковый приоритет. Поток может отказаться от выделенного ему кванта времени. В этом случае система перехватывает у него управление (даже если выделенный квант времени не закончен) и передаёт управление другому потоку. При передаче управления другому потоку система сохраняет состояние всех регистров процессора в особой структуре в оперативной памяти. Эта структура называется контекстом потока. Сохранения контекста потока достаточно для последующего возобновления его работы.
Семейство ОС для смартфонов
Это семейство операционных систем реального времени было специально разработано для мобильных устройств. Поддерживаются процессоры ARM, MIPS, SuperH и x86. В отличие от остальных операционных систем Windows, операционные системы этого семейства продаются только в составе готовых устройств, таких как смартфоны, карманные компьютеры, GPS-навигаторы, MP3-проигрыватели и другие. В настоящее время под термином «Windows CE» понимают только ядро операционной системы. Например, Windows Mobile 5.0 включает в себя ядро Windows CE 5.0.
В настоящее время Windows Phone и Windows 10 Mobile неактуальны.
Семейство встраиваемых ОС Windows Embedded
Windows Embedded — это семейство операционных систем реального времени, которое было специально разработано для применения в различных встраиваемых системах. Ядро системы имеет общее с семейством ОС Windows CE и поддерживает процессоры ARM, MIPS, SuperH и x86.
Windows Embedded включает дополнительные функции по встраиванию, среди которых фильтр защиты от записи (EWF и FBWF), загрузка с флеш-памяти, CD-ROM, сети, использование собственной оболочки системы и т. п.
В отличие от операционных систем Windows, операционные системы этого семейства продаются только в составе готовых устройств, таких как банкоматы, медицинские приборы, навигационное оборудование, «тонкие» клиенты, VoIP-терминалы, медиапроигрыватели, цифровые рамки (альбомы), кассовые терминалы, платёжные терминалы, роботы, игровые автоматы, музыкальные автоматы и другие.
В настоящее время выпускаются следующие варианты ОС Windows Embedded [43] :
Хронология
Интегрированные программные продукты
Пакет Windows включает в себя «стандартные» приложения [44] , такие как браузер (Internet Explorer и Microsoft Edge), почтовый клиент (Outlook Express или Почта Windows), музыкальный и видеопроигрыватель (Проигрыватель Windows Media). С помощью технологий COM и OLE их компоненты могут быть использованы в приложениях сторонних производителей. Эти продукты бесплатны и могут быть свободно скачаны с официального сайта Microsoft, однако для установки некоторых из них необходимо иметь лицензионную версию Windows (верно только для ранних версий до Windows, начиная с Windows 98 являются неотъемлемой частью системы). Запуск этих программ под другими операционными системами возможен только с помощью эмуляторов среды Windows (Wine).
Вокруг факта включения таких «стандартных» продуктов в ОС Windows разгорается много дискуссий и юридических споров, по мнению сторонних разработчиков, это ведёт к отсутствию конкуренции и создаёт препятствия для распространения конкурирующих продуктов, они же часто ставят под сомнение качество браузера Internet Explorer, объясняя его популярность вхождением в пакет Windows и плохой осведомленностью пользователей о наличии альтернатив.
В 1997 году компания Sun Microsystems подала в суд на компанию за нарушение лицензии на использование технологий Java. В 2001 году Microsoft выплатила штраф и исключила несовместимую с лицензированной виртуальную машину Java из состава своих продуктов [45] .
Распространённость
На июнь 2019 года, Windows была установлена менее чем на 88,5 % персональных компьютеров и рабочих станций. По данным компании Net Applications, на июнь 2019 года рыночная доля Windows составила ▼ 88,33 %. По другим данным, рыночная доля Windows меньше. Падение доли связано, в первую очередь, с тенденцией к сокращению продаж ПК в мире, а также с увеличением доли ОС конкурентов — macOS и Linux. Среди различных версий Windows по данным W3Schools с июля 2017 года наиболее популярна Windows 10 [46] (около 37 %).
На февраль 2019 года доля мобильных версий Windows составила 0,16 %, версий для ПК 74 %, таким образом, всего ▼ 74,16 % [47] [48] .