Язык для написания windows

Язык для написания windows

Общие обсуждения

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

Пожалуйста, дайте ссылочку или приведите цитаты из официальных данных о том, на каких языках программирования написан код операционной системы Windows — хотя бы для Windows XP, Windows 2000/2003 Server.

Интересует самая общая, но официальная информация (что-то типа официальной справки компании Microsoft) , в процентном соотношении, что-то навроде: Windows XP — 80% на C/C++, 20% на asm — в общем-то и все.

Просто утомил тут один любитель Visual Basic своими безаппеляционными заявлениями, что «Windows написан на VB» — ну утомил он «песнями про VB», ну просто достал. :))

Все ответы

Ну какой Qbasic, блин, ну не надо меня парить.

Все знают, что Windows написан на VB . :))))

Yeeess! Turbo Pascal.

A сколько написано на ObjectPascal / Delphi ? Ну сколько? Это для меня очень важно. :))

Аххх, как хорошо, просто бальзам на сердце.

А вот еще вопрос:

Как компания Microsoft позиционирует сам инструмент Visual Basic ?

Насколько я помню, лет 8 назад VB позиционировался как инструмент для создания прототипов приложений. Например, есть заказчик на ПО и подрядчик, после некоторого количества итераций общения с заказчиком, подрядчик создает прототип необходимого ПО (благо VB позволяет быстро создавать интерфейс) — предмет для дальнейшего обсуждения с заказчиком. После того как подрядчик (и сам заказчик) окончательно понял, чего хочет заказчик, создается непосредственно заказанное приложение, например, на Visual C++, а VB-прототип — сдается в архив разработки.

Понятно, что перед .NET — все языки равны, т.е. VB.NET — такой же мощный (по доступным разработчику возможностям) язык как и C# и C++ на платформе .NET. Но я спрашиваю как позиционировался (и, возможно, и сейчас позиционируется) VB в до.NET-ский период истории ?

Аххх, как хорошо, просто бальзам на сердце.

Тогда можете считать что сто процентов, нет, даже сто десять.

Igor Leyko написано:

Аххх, как хорошо, просто бальзам на сердце.

Тогда можете считать что сто процентов, нет, даже сто десять.

Aaaxxx.

У глючный _HelpDesk

исходя из того, что dll библиотека может быть написано на чём угодно, хоть на асме, уместно предположить что нет единого языка в windows xp. в неё есть и Ява аплеты и чего только нет.

но само ядро вроде написано на c++, по крайней мере я в это верю 8]

Давайте начнём с простого: на чём написан «Сапёр»? Ну и так далее — по всем программам, DLL-ам и прочим.

Кстати, нет ли утилитки, которая натравливается на на исполнимый файл и говорит, на чём он написан?

Сначала нужно как минимум нужно определить границы самой Windows, например Notepad это ОС или не ОС.

А так однозначно С/C++, хотя некоторые вещи возможно на ASM.

Roman Mejtes написано:

windows xp. в неё есть и Ява аплеты и чего только нет.

Какие ява аплеты. Нет там и строчки ява аплетов. Я не видел исходников ХР, но твёрдо уверен в этом. Зачем Микрософт использовать сторонний язык для своей ОС, откуда они знаю что в свои либы напихала Сан микросистем. Однозначно С\С++, ядро асм.

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

По теме:
1. Диалоги и визарды MS Office написаны на VB. Поэтому с определенной долей правоты можно утверждать, что часть MS Office написана на VB. Видимо, это ваш друг имел в виду.

2. В инталляторе Windows использовался VBScript.

3. В Windows Vista используются приложения .NET — изначальным языком мог быть VB или C#.

Есть еще один момент. Если помните, в Win3.1 была утилита recorder — она записывала нажатия и передвижения мыши в файл, позволяя потом этот файл запустить. Потом аналогичную функциональность добавили в MS Office, но при этом записывались не перемещения мыши, а события — записывались они в макрос на VB. Аналогичную функциональность планировалось реализовать для системы в целом, встроив в нее VB. Предполагалось, перемещая мышку и нажимая кнопочки, запуская файлы можно будет записать последовательность событий в файл VBScript и потом запустить заместо bat-файла. Но эту функциональность так и не реализовали.

Пишем первое универсальное приложение Windows

Добрый день!

С выходом Windows 8, разработчикам был представлен абсолютно новый тип приложений – приложения в стиле Modern UI. Ну, как новый? Подобные приложения уже разрабатывались для Windows Phone. Данные приложения не имели ничего общего с привычными Windows-приложениями. Такие приложения не совместимы с предыдущими версиями Windows, обладают абсолютно новым интерфейсом (Modern) и для их разработки используется новый WinRT API (Windows Runtime API) и Windows XAML (язык разметки интерфейса).

Никаких проблем для написания только Windows 8-версии своего приложения не было, однако, если требовалось написать приложение не только для Windows, но и для Windows Phone, нужно было преодолеть определенные трудности. Все дело в том, что Windows Phone для своих приложений использует Silverlight и Windows Phone API, тогда, как Windows 8 использует Windows XAML и WinRT API. Они имеют некоторые существенные отличия.

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

В Microsoft знали об этой проблеме и долгое время работали над ее решением. Результатом этой работы стали так называемые универсальные приложения Windows (Universal Windows Apps), которые доступны начиная с Windows 8.1 Update 1 и Windows Phone 8.1 (которая до конца лета будет доступна для установки всем устройствам на Windows Phone 8). Можно предположить, что теперь приложения будут работать без перекомпиляции как на Windows, так и на Windows Phone, но это не совсем так.

Каждое приложение все так же будет создаваться и компилироваться отдельно для каждой платформы, но объем требуемой работы теперь существенно сократился. Все дело в том, что Microsoft наконец-то унифицировали большую часть API для Windows и Windows Phone. Больше всего изменений было выполнено именно на стороне Windows Phone. Отныне для написания приложений для этих двух платформ (скоро будет три, Xbox One туда же) используется WinRT API и Windows XAML. Конечно же привычный для Windows Phone Silverlight никуда не делся и даже обзавелся некоторыми дополнительными возможностями, но не о нем сейчас разговор.

Универсальные приложения теперь используют среду выполнения Windows (тот самый Windows Runtime). Эти нововведения позволяют программисту свести платформозависимый код к минимуму, ведь большинство вызовов к API идентичны.

Тестовое приложение

Сегодня предлагаю вам попробовать написать простое универсальное приложение, имя которому «Hello, World!». Писать будем на языке C# (требуются как минимум начальные знания языка и XAML). Для этого минимально нам понадобится:

• Visual Studio Express 2013 для Windows с обновлением 2

Это совсем минимально. С таким комплектом вы сможете разработать универсальное приложение и отлаживать его Windows-версию на своем текущем компьютере. Windows Phone-версию приложения вы сможете отлаживать только на реальном устройстве (причем требуется аккаунт разработчика).

Чтобы иметь возможность отлаживать свое приложение в эмуляторе Windows Phone, вам потребуется:

• Windows 8.1 Профессиональная (x64)

• Процессор с поддержкой аппаратной виртуализации для клиента Hyper-V (подходит даже бюджетный Celeron G1610 и вроде даже Pentium 4 на LGA775)

• Visual Studio Express 2013 для Windows с обновлением 2

С таким комплектом вы сможете разрабатывать свое приложение более полноценно и тестировать его в различных режимах с использованием имитатора Windows-планшета и эмулятора Windows Phone.

Я же буду использовать Visual Studio Ultimate 2013 и показывать все буду именно на ней. Не волнуйтесь, от бесплатной Express интерфейс практически не отличается. Начнем!

Универсальный «Hello, World!»

Запустим Visual Studio и создадим новый проект.

В разделе «Приложения Магазина Windows» есть различные шаблоны приложений как для Windows, так и для Windows Phone. Нас интересуют именно универсальные приложения, шаблоны которых доступны в специальном подразделе.

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

Введите имя для создаваемого приложения. Я назвал его «UniversalHelloWorld», четко и ясно. Нажимаем «ОК» и ожидаем, пока Visual Studio создает проект. Давайте рассмотрим структуру созданного проекта.

Весь проект подразделен на три части:

• Windows — содержит код и элементы, доступные только Windows-версии приложения

• Windows Phone — содержит код и элементы, доступные только Windows Phone-версии приложения

• Shared – содержит код и элементы, которые доступны сразу для двух платформ

Обратите внимание, что на данный момент общим являются только один элемент: App.xaml ( и App.xaml.cs). Этот элемент отвечает за запуск и остановку приложения.

Вы уже можете попробовать запустить приложение. И для этого нажмите F5. Для прекращения отладки, вернитесь в Visual Studio и нажмите «Shift+F5». Вы должны увидеть пустой экран. Первоначально будет запущена Windows-версия приложения. Чтобы выбрать, какую версию приложения запустить, найдите на панели инструментов кнопку отладки (зеленый треугольник).

Здесь вы можете выбрать, где запускать отладку вашего приложения. Имитатор выполняет имитацию Windows-планшета, у которого вы можете менять ориентацию, разрешение дисплея и прочие вещи. Кнопка «Удаленный компьютер» предназначена для запуска отладки на внешнем Windows 8 устройстве. Я для этих целей использую Surface RT.

Вернемся к смене запускаемой версии. В подменю «Запускаемый проект» вы можете выбрать «Windows Phone 8.1». После этого содержимое базового меню изменится и на ваш выбор будет доступно множество эмуляторов.

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

Пока каждая версия приложения имеет отдельную главную страницу MainPage.xaml. Так как наше приложения очень простое, нам совсем не требуется разный дизайн страницы на каждой платформе. Перенесите MainPage.xaml в раздел Shared, и затем удалите его из разделов Windows и Windows Phone. Структура проекта станет такой:

Открыв данный файл, вы увидите эту страну в визуальном редакторе, а также ее код разметки. Пока мы имеем следующий код:

Он всего лишь создает корневую сетку страницы, закрашенную стандартным цветом страницы. Давайте добавим на страницу одноименную надпись и кнопку для приветствия. Разместите в Grid элемент TextBlock. Код элемента будет таков:

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

Также добавим на страницу кнопку, которая покажет нам небольшое сообщение. Код этой кнопки такой:

Добавим для этой кнопки обработчик события ее нажатия (Click). Для этого дважды щелкните кнопку, и вы автоматически перейдете к редактору кода C#. Автоматически сгенерировался пустой обработчик:

Мы его еще наполним содержимым. В этом обработчике мы создадим экземпляр диалогового окна и вызовем его. Для начала добавьте следующую директиву using вверху страницы:

Она требуется нам для того, чтобы получить возможность создать и отобразить диалоговое окно. Создаем экземпляр класса MessageDialog с заданным сообщением, который как раз и представляет собой диалоговое окно, и затем показываем его методом ShowAsync().

Готово! Теперь можно запустить приложение на каждой из платформ и с радостью обнаружить, что все работает как надо.

На этом статья подходит к концу. Сегодня я постарался рассказать, как сделать наипростейшее универсальное приложение, которое может работать как на Windows 8.1, так и на Windows Phone 8.1. При написании этой статьи я ориентировался на новичков, поэтому пытался расписать все более-менее понятно для обычного человека, близкого к компьютерной технике (и программированию, конечно).

Я думаю, что это не последняя статья, и, возможно, получится даже небольшая серия статей. В следующей статье мы напишем уже не простой «ХеллоВорлд», а более интересное приложение, которое будет работать с некоторыми данными и будет иметь более сложный интерфейс.

Скачать исходный код проекта можно по этой ссылке.

С удовольствием отвечу на все ваши вопросы.

Читайте также:  The windows club downloads
Оцените статью