No Image

Язык программирования приложений для windows

СОДЕРЖАНИЕ
0 просмотров
22 января 2020

Выбор языка программирования Choosing a programming language

Прежде чем продолжить, необходимо узнать, какие языки программирования можно выбрать при создании приложений универсальной платформы Windows (UWP). Before we go any further, you should know about the programming languages that you can choose from when you develop Universal Windows Platform (UWP) apps. В пошаговых руководствах этой статьи используется язык C#, однако для создания приложений UWP вы можете использовать один или несколько других языков программирования (см. Языки, средства и платформы). Although the walkthroughs in this article use C#, you can develop UWP apps using one or more programming languages (see Languages, tools and frameworks).

Для разработки можно использовать языки C++, C#, Microsoft Visual Basic и JavaScript. You can develop using C++, C#, Microsoft Visual Basic, and JavaScript. JavaScript использует разметку HTML5 для макета пользовательского интерфейса, а другие языки для описания пользовательских интерфейсов используют разметку XAML. JavaScript uses HTML5 markup for UI layout, and the other languages use a markup language called Extensible Application Markup Language (XAML) to describe their UI.

Хотя в этой статье используется язык программирования C#, следует отметить, что остальные языки предоставляют уникальные преимущества, которыми вы, возможно, захотите воспользоваться. Although we’re focusing on C# in this article, the other languages offer unique benefits, which you may want to explore. Например, если для вашего приложения первоочередной задачей является производительность (особенно это касается приложений, требовательных к графическим ресурсам), рекомендуем выбрать язык C++. For example, if your app’s performance is a primary concern, especially for intensive graphics, then C++ might be the right choice. Для разработчиков приложений на Visual Basic наилучшим образом подойдет Visual Basic версии Microsoft .NET. The Microsoft .NET version of Visual Basic is great for Visual Basic app developers. Веб-разработчики по достоинству оценят JavaScript с HTML5. JavaScript with HTML5 is great for those coming from a web development background. См. также следующие разделы. For more info, see one of the following:

Обратите внимание , для приложений, использующих трехмерную графику, стандарты OpenGL и OpenGL ES изначально недоступны для приложений UWP. Note For apps that use 3D graphics, the OpenGL and OpenGL ES standards are not natively available for UWP apps. Если вы не желаете переписывать код OpenGL ES в Microsoft DirectX, возможно, вам будет интересно узнать о проекте Angle. If you would rather not rewrite your OpenGL ES code into Microsoft DirectX, you may be interested to know about Angle. Angle — это текущий проект, предназначенный для преобразования OpenGL в DirectX путем перевода вызовов API OpenGL в вызовы API DirectX. Angle is an on-going project designed to convert OpenGL to DirectX by translating OpenGL API calls into DirectX API calls. Подробнее см. в следующих разделах: To learn more, see the following:

Попробуйте C# Giving C# a go

Как разработчик iOS, вы привыкли использовать Objective-C и Swift. As an iOS developer, you’re accustomed to Objective-C and Swift. Среди языков программирования Майкрософт наиболее близким к обеим является C#. The closest Microsoft programming language to both is C#. Мы считаем, что для разработчиков наиболее простым в изучении и использовании является C#, поэтому для пошаговых руководств выбран именно этот язык. For most developers and most apps, we think C# is the easiest and fastest language to learn and use, so this article’s info and walkthroughs focus on that language. Подробнее о языке C#: To learn more about C#, see the following:

Ниже приведен класс, написанный на языках Objective-C и C#. Following is a class written in Objective-C and C#. Вариант на Objective-C показан первым, а вариант на C# — вторым. The Objective-C version is shown first, followed by the C# version.

Теперь для версии C#. Now, for the C# version. Вы увидите, что аналогично Swift, для заголовка и реализации не используются отдельные файлы. You’ll see that like Swift, the header and the implementation are not in separate files.

Читайте также:  Смартфоны с процессором qualcomm snapdragon 660

C# — это простой язык для выбора. Он содержит много классов и платформ поддержки, составляющих .NET. C# is an easy language to pick up, and comes with the many support classes and frameworks that make up .NET. Вы с радостью мгновенно приступите к написанию кода без квадратной скобки перед глазами! In no time, you’ll be happily writing your code without a square bracket in sight!

Есть задача, написать приложение для гос. нужд по Windows.
И думаю, на чем писать.

.NET всем хорош, но framework нужно будет заставлять устанавливать (не везде он стоит еще по дефолту, поверьте мне).

А вы бы на чем предложили написать небольшое отдельное приложение для мат. расчетов?

  • Вопрос задан более трёх лет назад
  • 22539 просмотров

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

Не знаю, что вы подразумеваете под кривостью библиотек… У BDE, которое не всем нравилось, давно есть альтернативы. Критических багов не наблюдается еще версии наверно с 7-й. Юникод уже причесали по всему VCL. С разными мелочами, которые кочуют из версии в версию для обратной совместимости, можно мириться. Ну и так далее.

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

YYY: Причем из этих двух молотков, один был бы самодельной киянкой!

XXX: Точно. А еще кто-нибудь заявил бы, что все ламеры, а вместо гвоздя нужно использовать шуруп.

YYY: И предложил бы свой вариант самореза с правой резьбой под шестигранную отвертку с логотипом Sun…

XXX: А потом кто-нибудь прийдет и скажет, что посадил все на суперклей и вроде стоит.

YYY: А кто то будет причитать про то, что раньше вообще без гвоздей строили и стояло века…

Вот тут я задавал подобный вопрос — habrahabr.ru/qa/1894/

Остановился на C# + winforms, хоть и не имел опыта кодинга (только веб), разобрался довольно быстро. В инете куча документации, проблемы решаются быстро, и больше половины задуманных фич можно реализовать интуитивно.

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

Не говоряуж о том, что компилятор в Qt используется очень серьезный и мощный

В последнее время стало модно писать для Windows на Silverlight. Поставить плагин к браузеру всё-таки проще, чем целый фрэймворк, и исчезает проблема автоматического обновления приложения.
Начиная с 4- версии Silverlight позиционируется не только как веб-клиент, но и как Windows-приложение (про это много говорил товарищ Черномордиков).
Однако нужно учесть, что Silverlight-приложения по задумке должны общаться с внешним миром в основном через веб-сервисы (хотя есть возможность работать с файлами в личной папке и взаимодействовать с MS-Офисом и пр.).

Если приложение сложное, требуется прямой доступ к БД, требовательно к аппаратным ресурсам или должно получать доступ к системным файлам — тогда WPF.

Сам сейчас разрабатываю большую корпоративную систему документооборота, весь интерфейс на Silverlight. В 99% случаев для бизнес-задач этого достаточно.

Почему Go, Python, Scala, Ruby и Cи подходят для написания приложений (DevOps), а JavaScript — нет?

Языки программирования — один из самых значимых инструментов в арсенале DevOps. Правильный выбор языка для вашего приложения — важное условие успеха разработки и достижения непрерывной интеграции или постоянной поддержки (CI/CD).

Учитывая, что существуют сотни языков программирования (https://en.wikipedia.org/wiki/List_of_programming_languages), выбор языка для разработки и эксплуатации приложений может оказаться нелегким делом. То обстоятельство, что популярность разных языков зависит от местоположения, еще более усложняет задачу. Это означает, что ваше представление о том, какой язык программирования следует считать лучшим, зависит от того, в какой стране вы живете.

Читайте также:  Телефон показывает значок наушники

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

Какими свойствами должен обладать язык программирования

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

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

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

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

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

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

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

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

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

Python

Python существует с 1980-х (https://en.wikipedia.org/wiki/Python_(programming_language)#History) и к настоящему времени уже широко известен. Как язык сценариев он довольно удобен для таких задач, как управление инфраструктурой. Но не следует недооценивать Python и как язык программирования приложений. Благодаря обширным библиотекам общедоступных модулей Python можно быстро приступить к решению задачи и не писать самостоятельно лишнего программного кода.

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

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

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

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

Наконец, Ruby обеспечивает очень гибкий подход к программированию. В отличие от некоторых других языков, при работе с Ruby не предусмотрен какой-либо определенный подход к проектированию кода. При желании язык можно использовать для процедурного программирования, но можно и составить потоки Ruby для выполнения через интерпретатор. Это объектно-ориентированный язык, но его не обязательно использовать таким образом.

Читайте также:  Смс и ммс чем отличаются

Scala

Невозможно написать статью о ведущих языках программирования для разработки и эксплуатации приложений без упоминания о Java. Это самый популярный в мире язык программирования (https://www.inc.com/larry-kim/10-most-popular-programming-languages-today.html). Однако, на мой взгляд, Java не лучшим образом подходит для разработки и эксплуатации приложений. Приложения Java не отличаются особенной быстротой. Управление средами исполнения Java может доставить конечным пользователям массу хлопот. Кроме того, программист может растеряться перед быстро растущим громоздким кодом Java, составленным кем-то другим.

Поэтому, вместо того чтобы использовать Java для разработки и эксплуатации приложений, я рекомендую обратить внимание на его лучшую часть, Scala. Авторы Scala постарались взять все лучшее из Java, отказавшись от неудачных компонентов. Scala — объектно-ориентированный язык, что упрощает создание модульной базы программного кода. Код Scala обычно гораздо чище и компактнее, чем Java, поэтому нескольким разработчиком проще работать над одним проектом. А благодаря возможности импорта классов и библиотек Java в приложения Scala, при необходимости вы можете воспользоваться огромной библиотекой функций Java.

Производительность Scala в целом не намного выше, чем Java. Это, вероятно, основной недостаток Scala. Еще один изъян: для запуска приложений Scala необходима среда исполнения Java. Но если вы хотите заниматься разработкой и эксплуатацией приложений и Java — ваш любимый язык программирования, то потратьте время на изучение Scala и воспользуйтесь этим языком. В долгосрочной перспективе ваши усилия окупятся.

Си, возможно, не первый язык, о котором вспоминают, когда речь заходит о разработке и эксплуатации приложений. Он появился в начале 1970-х (https://www.codingunit.com/the-history-of-the-c-language) и является одним из самых старых языков, широко используемых и по сей день. Он на несколько десятилетий старше технологий для разработки и эксплуатации приложений.

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

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

Си не проектировался как объектно-ориентированный язык, поэтому для проектирования модульного программного кода он не подойдет. Для этой цели предпочтителен родственный язык, C++.

Возможно, вы обратили внимание, что в нашем списке лучших языков программирования для разработки и эксплуатации приложений нет JavaScript. Некоторые утверждают, что Javascript и Node.js, позволяющий выполнять программный код JavaScript на стороне сервера, вполне подходят для разработки и эксплуатации приложений (https://devops.com/nodejs-becoming-devops-friendly/), но я не думаю, что JavaScript пригоден для гибкого, высокопроизводительного программирования.

JavaScript проектировался в первую очередь как язык сценариев на стороне клиента для веб-страниц. Хотя Node.js обеспечивает более широкий набор сценариев для развертывания JavaScript и вы можете применять Node.js для различных задач, по универсальности он уступает языкам, изначально проектировавшимся как действительно кросс-платформенные.

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

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

Поделитесь материалом с коллегами и друзьями

Комментировать
0 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector