Останься легальным: как написать программу для Windows, не потратив ни копейки
Вот и до нашей страны дошла вездесущая борьба с компьютерным пиратством, карающая всех без разбора. Конечно, это еще не значит, что надо в срочном порядке тереть весь пиратский софт с домашних архивов (к счастью, пока еще правоохранительные органы не устраивают поквартирных обходов с целью выявления нелицензионного ПО). Но вот программистам-одиночкам, выпускающим свои программы в свет, нужно серьезно беспокоиться о том, чтобы их программы были сделаны с учетом законодательства.
Для среднестатистического, мелкомасштабного, читай — домашнего, программера не представляется возможным приобрести в личное пользование таких монстров софтостроения как Visual C++, Borland Delphi. Да и чтобы сотворить действительно красивое оформление интерфейса программы (иконки, картинки, звуки и анимация), понадобиться еще куча денег на Photoshop, Corel.
Средний доход честного человека в нашей стране очень мал, а у студентов — и того меньше. А софт очень дорогостоящий. Как же быть, спросите вы? Выход один — нужно использовать бесплатные средства разработки, бесплатные форматы файлов. К счастью, это добро есть не только под Linux, но и под Windows.
С учетом вышесказанного сформулируем задачу: написать приложение для операционной системы Windows, обладающее следующими качествами — надежность, быстрота работы, относительно малый размер дистрибутива, работа без сторонних библиотек, обязательно наличие красивого и удобного графического интерфейса, естественно, не нарушив при этом закон и не потратив ни копейки.
Если выкинуть компиляторы/интерпретаторы типа Java, Php, Perl, а также Visual Basic (который имеет сравнительно малую популярность в нашей стране) и прочую одноориентированную и узконаправленную программистскую ересь, в нашем распоряжении находятся следующие БЕСПЛАТНЫЕ универсальные средства разработки компьютерных программ для операционной системы Windows:
- Visual C++ Express Edition;
- C++ Builder Turbo Edition;
- Pelles C++ for Windows;
- Порты с Linux типа GCC, LCC и другие СС;
- Borland Delphi Turbo Edition;
- Компилятор Странник «Модула-Си-Паскаль» (поддерживает сразу три языка Си, Паскаль, Модула). Кстати, разработан нашим соотечественником.
Разберем недостатки и преимущества каждого из представленных средств разработки, а также определим, насколько они подходят для решения поставленной нами задачи.
Около года назад в компании Мелкософт что-то произошло. Великие гиганты мысли и любители выколачивания длинного доллара из кармана доверчивых пользователей решили пойти на милость и выдали нам бесплатную версию своей знаменитой «визуальной студии», хотя немного и подрезанную, но все равно рабочую и впечатляющую, и носящую название Visual C++ Express Edition. Вкратце посмотрим, чем этот жест/жесть (нужное подчеркнуть) доброй воли поможет простому российскому кодеру. Данный компилятор бесплатен как для дома и семьи, так и для более глобального распространения. Хым… Вот только много ли из вас ограничатся созданием консольных прог под Windows 98? Дело все в том, что Мелкософтовцы, видать,
по недоразумению, а может и по злому умыслу выкинули из дистрибутива экспресса все заголовочный файлы, относящиеся к визуальному программированию. Зато подарили нам свою новую библиотеку визуального программирования CLR, которая по основным концепциям подозрительно похожа на Делфевывую VCL. Но вся беда состоит в том, что CLR для своей работы требует .NET, дистрибутив которого весит 300 метров. Согласитесь, что таскать 300 метров, для того чтобы заработала программа весом в 10 метров — это чересчур большое уважение к Мелкософту.
Итог: Троечка — только за смелый шаг.
Рассмотрим другого тяжеловеса софтверного фронта. Представим, что программирование на Си++ упростилось в n-ое число раз. Говорите не может? Может :). В подтверждение этого обратим свое внимание на C++ Builder Turbo Edition. А вот насчет этого компилятора мнение общественности кардинально расходиться. С одной стороны, ключевым языком разработки является Си/Си++ (что не может не радовать приверженцев этого языка) и визуальное удобство находиться на высочайшем уровне, а с другой – есть повод для развязывания HolyWar 🙂 – билдер написан на Делфи, а с другой – можно быстро склепать клевый интерфейс у проги, да и перед товарищами хвастануть, что типа на Си написано :).
Итог: В принципе, подойдет, но то, что внутренности написаны на Делфях, все же не дает мне покоя 🙂
Pelles C++ for Windows – хорошее бесплатное средство разработки. Можно сказать, что это «бесплатный Визуал Си» поскольку все настройки и интерфейс почти совпадают. Может компилировать Native. Есть встроенный редактор и компилятор ресурсов. Только толку от этого никакого, визуальности не больше, чем в Visual C++ Express Edition, а написать в таких условиях сложную программу — можно и до пенсии не успеть.
Итог: Жизнь коротка, писать надо быстро и качественно – боюсь, не успеем.
Рассмотрим подарки гостей с «другой вселенной». Порты с Linux типа GCC, LCC и другие СС – визуальности нуль, удобство такое же, как у предыдущего компилятора, вдобавок LCC оказался маленько нерабочим, а чтобы качнуть GCC с сайта и заставить его работать, нужно быть академиком. 🙂
Итог: Не берем.
Borland Delphi Turbo Edition – бесплатен, есть редактор ресурсов, позволяет писать программы для Windows 32, не требующие никаких дополнительных библиотек. Но есть и свои минусы — нет компилятора командной строки (в принципе, не велика потеря), со временем засоряет память и, что самое неприятное, для своей работы среда Турбо требует установленного dotNET. 🙁
Итог: Подходит
Компилятор Странник «Модула-Си-Паскаль» – отечественная разработка, перспективный компилятор, но минусы те же, что и у Pelles C++ for Windows — крайне низкая визуальность.
Итог: Патриотично, но не рентабельно. Не берем.
Графика и звук вне закона – к сожалению или к счастью, кончились ДОСовские времена, настала эра программ с визуальностью и красочностью интерфейса. Картиночки, иконки, анимация и прочая мишура, которой очень удобно скрыть общую убогость программы. 🙂 Даже во времена ДОСа примитивная, по сегодняшним меркам, графика делалась в специальных программах — ASCII-редакторах. Для создания красивых иконок, картинок идеально подходит Adobe Photoshop, но он не по карману честному труженику софтверного фронта. Будем искать альтернативу. И найдем ее в стане портированных графических редакторов с Линукса, а именно Gimp. Простой, немного неудобный после пиратского фотошопа, но привыкнуть можно. А как
же звук, спросите вы? Современный пользователь избалован и не сегодня — завтра захочет, чтобы программа на каждое его действие отвечала голосом. Как это сделать? WaveLab, SoundForge и Adobe Audition требуют платы за свои возможности. На счастье, есть звуковой редактор Audacity, написанный аспирантом Домиником Мацони из Университета Карнеги Мэллона.
Формат-не формат или как не ошибиться в выборе форматов файлов – для успешного и безопасного, с точки зрения закона, программирования мало выбрать бесплатный компилятор и бесплатный мультимедиа-редактор. Представьте такую ситуацию. Вы делаете прогу, которая, анализируя системное время, говорит приятным женским голосом, сколько там натикало. Понятно, что для повышения качества голоса вам понадобиться попросить свою маму, подругу, жену, тещу, наконец, проговорить (в случае тещи прошипеть 🙂 ) все эти цифры на микрофон. Запись, конечно, вы сделаете с помощью Audacity. А теперь вопрос: «В каком формате вы сохраните эти звуковые файлы?». В wav? Тогда вы напросто увеличите дистрибутив своей
программы. В mp3? Но он запатентован, то есть за его использование тоже надо платить. Выход есть — сохраняй в формат ogg, качай заголовочные файлы для его использования — и будет тебе счастье.
Хочешь анимацию сделать? Надумал использовать Gif? Начинай сушить сухари. На него тоже есть патент. Твой выбор — Png.
Вывод. В наше непростое время все-таки можно и нужно честно трудиться.
На чем лучше всего писать Windows приложение?
Есть задача, написать приложение для гос. нужд по Windows.
И думаю, на чем писать.
.NET всем хорош, но framework нужно будет заставлять устанавливать (не везде он стоит еще по дефолту, поверьте мне).
А вы бы на чем предложили написать небольшое отдельное приложение для мат. расчетов?
XXX: Если бы компьютер был стройкой, то на просьбу посоветовать инструмент для забивания гвоздя большинство окружающих посоветовали бы использовать различные модели пизженых со склада микроскопов, поливая говном микроскопы других производителей, и только пара человек молча протянули бы молоток.
YYY: Причем из этих двух молотков, один был бы самодельной киянкой!
XXX: Точно. А еще кто-нибудь заявил бы, что все ламеры, а вместо гвоздя нужно использовать шуруп.
YYY: И предложил бы свой вариант самореза с правой резьбой под шестигранную отвертку с логотипом Sun…
XXX: А потом кто-нибудь прийдет и скажет, что посадил все на суперклей и вроде стоит.
YYY: А кто то будет причитать про то, что раньше вообще без гвоздей строили и стояло века…
Вам шашечки или ехать? Если нужен «продвинутый» язык, то поинтересуйтесь, что сейчас в моде и пишите на каком-нибудь Ruby (ничего личного к пишущим на этом языке).
Delphi же вам может обеспечить скорость разработки и скорость вычислений без дополнительных примочек, устанавливаемых в систему.
Не знаю, что вы подразумеваете под кривостью библиотек… У BDE, которое не всем нравилось, давно есть альтернативы. Критических багов не наблюдается еще версии наверно с 7-й. Юникод уже причесали по всему VCL. С разными мелочами, которые кочуют из версии в версию для обратной совместимости, можно мириться. Ну и так далее.
Вот тут я задавал подобный вопрос — habrahabr.ru/qa/1894/
Остановился на C# + winforms, хоть и не имел опыта кодинга (только веб), разобрался довольно быстро. В инете куча документации, проблемы решаются быстро, и больше половины задуманных фич можно реализовать интуитивно.
Да, придётся заставлять установить фреймворк, это минус. Но в моем случае это не особо критично т.к. я сам являюсь сисадмином, и на нужные компы сам могу его установить.
Не говоряуж о том, что компилятор в Qt используется очень серьезный и мощный
В последнее время стало модно писать для Windows на Silverlight. Поставить плагин к браузеру всё-таки проще, чем целый фрэймворк, и исчезает проблема автоматического обновления приложения.
Начиная с 4- версии Silverlight позиционируется не только как веб-клиент, но и как Windows-приложение (про это много говорил товарищ Черномордиков).
Однако нужно учесть, что Silverlight-приложения по задумке должны общаться с внешним миром в основном через веб-сервисы (хотя есть возможность работать с файлами в личной папке и взаимодействовать с MS-Офисом и пр.).
Если приложение сложное, требуется прямой доступ к БД, требовательно к аппаратным ресурсам или должно получать доступ к системным файлам — тогда WPF.
Сам сейчас разрабатываю большую корпоративную систему документооборота, весь интерфейс на Silverlight. В 99% случаев для бизнес-задач этого достаточно.
Программы для создания программ на компьютере
Если у вас есть идеи по созданию приложений и вы ищете софт, способный реализовать задуманное, в нашей подборке представлены самые распространенные утилиты для разработки программ. Одни содержат профессиональный набор инструментов, требующий знаний языков программирования. Другие — позволяют быстро освоить весь функционал даже неопытным пользователям,чтобы создать первую простую программу без необходимости длительного обучения.
Общие данные:
Основные функции:
Дополнительные возможности:
Разработка для платформ:
Visual Studio — мощная среда для разработки приложений, включающая в себя широкий набор функциональных инструментов. Поддерживает все популярные языки, среди которых: C++, JavaScript, Visual Basic, AJAX, Python, TypeScript и так далее. Содержит средства статического анализа исходного кода и его комплексной отладки.
Вы сможете создавать программное обеспечение под операционные системы Windows, Linux, Mac OS и для мобильных устройств под управлением Android и iOS. Доступна совместная работа над одним проектом с разных компьютеров в режиме реального времени.
Главные преимущества:
- Большое количество функций;
- Наличие отладчика для JS;
- Поддержка нескольких мониторов;
- Использование сплит-окон XML и CSS;
- Удобная регулировка рабочей области;
- Продвинутый конструктор и редактор кода;
- Простой и интуитивно понятный интерфейс на русском языке;
- Возможность разрабатывать графические элементы Windows Forms;
- Регулярные автообновления от официального сайта Майкрософт.
Полный обзор »
IntelliJ IDEA — отличается наличием самых мощных инструментов для создания коммерческих, мобильных и веб-приложений. Получает регулярные обновления от сайта разработчиков. Имеется в своём арсенале полезные средства анализа качества и автодополнения кода.
В список совместимых языков входят: JS, Java, HTML, Groovy, CSS, XML, ActionScript, Scala, CoffeeScript, Perl5, Erlang, Fantom, Lua, OCaml, GLSL, Haskell и многие другие. Присутствует поддержка таких серверов приложений, как WebLogic, Virgo, GlassFish, WebSphere, Tomcat, TomEE, JBoss, Resin, Jetty, Geronimo. Доступна работа с базами данных и SQL-файлами.
Основные возможности:
- Удаленный доступ к вашим проектам;
- Встроенный дизайнер интерфейса для Swing;
- Профессиональная разработка Андроид-приложений;
- Позволяет создать программу и протестировать её;
- Удобные подсказки для имен параметров и типов значений;
- Поддержка всех последних технологий и фреймворков Java;
- Функция предварительного просмотра во всплывающем окне;
- Работает с современными платформами Windows, Android, iOS и т.д.
- Интеграция с системами управления Perforce, Git, Team Foundation Server, Subversion, CSV, ClearCase, Visual SourceSafe, Mercurial.
HiAsm — современный конструктор приложений с богатым набором функций. Вы сможете легко и быстро сделать программу, даже без наличия высокого уровня знаний тех или иных языков. Использование софта не вызывает нареканий. Присутствует русскоязычная локализация и удобный подсказчик.
Перед вами откроется обширная библиотека компонентов, которые можно соединять друг с другом в цельные конструкции и схемы. Доступно встраивание графических элементов и звуков. Стандартный функционал утилиты можно расширять посредством подключения модулей и пакетов, соответственно, у вас появится возможность создания собственных приложений практически для любой ОС. Работа идет по принципу объектно-ориентированного программирования.
Обратите внимание на онлайн-версию HiOn, с помощью которой можно собирать схемы прямо в браузере, в том числе с разных смартфонов и планшетов. Доступен репост скриншотов рабочего процесса в популярные социальные сети.
Ключевые достоинства программы HiAsm:
- Кроссплатформенность;
- Удобные средства управления;
- Позволяет создать игру в 2D и 3D;
- Функция коллективной работы над проектом;
- Отправка ваших схем по электронной почте;
- Качественная визуальная среда программирования;
- Доступно рисование собственных GUI-элементов;
- Возможность расширения путем установки дополнительных пакетов;
- Широкий выбор форм, цветов и стилей для интерфейса разрабатываемого софта.
Game Editor — бесплатная программа для создания игр и приложений на различные платформы, включая Виндовс, Линукс, а также Handheld PC, Pocket PC/Windows Mobile. Однако для запуска готовых проектов на ПК потребуется библиотека
Java Runtime Environment.
В процессе разработки, вы сможете пользоваться набором различных игровых объектов, каждому из них можно задать поведение, которое будет зависеть от того или иного события. Стоит отметить встроенную библиотеку, содержащую всевозможные анимации, текстуры и модели. К своим проектам можно добавлять графические элементы и музыкальное сопровождение в форматах Ogg Vorbis, WAV, MID, MOD, S3M, IT и XM.
Небольшим недостатком утилиты, является интерфейс на английском языке. С другой стороны — присутствует удобный подсказчик, понятный даже новичка. Кроме того, бесплатная версия софта не потребует от вас специальных знаний по разработке скриптов или программных кодов. Для тех же, кто обладает навыками скриптинга и желает продавать свои проекты в онлайн-маркетах, существует Express-версия за 99$.
Особенности Гейм Эдитор:
- Предельно простое меню;
- Позволяет создавать игры в 2D;
- Обладает открытым исходным кодом;
- Возможность редактировать поведение объектов;
- Последняя версия работает с экранами высокого разрешения;
- Быстрая компиляция одного и того же проекта для разных устройств;
- Добавление файлов в формате JPEG, GIF, PNG, BMP, XPM, TIFF, PCX, XCF, TGA.
Arduino IDE позволит разработать программу для управления автоматическими устройствами, такими как: светодиоды, реле, микроконтроллеры или электромоторы. Содержит опции экспорта, сохранения, поиска и замены скетчей. Присутствует продвинутый компилятор и модуль для загрузки новых прошивок платы.
Преимущества бесплатной среды Ардуино:
- Изучение кода на языке C++;
- Наличие удобного главного меню;
- Развитые средства прошивки робототехники и автоматики;
- Высокая скорость установки программы (скетча) в устройства;
- Возможность работать с несколькими проектами одновременно;
- Полная совместимость с любыми видами плат Arduino;
- Совместимость с Max/MSP, Macromedia Flash, SuperCollider, Pure Data;
- Большое количество справочной информации и примеров для новичков.
Полный обзор »
Turbo Pascal от компании Borland — интегрированная среда разработки ПО для DOS и Windows ОС на известном языке Паскаль. Включает в себя компилятор, отладчик, командную строку и встроенную систему библиотек. Специально для начинающих программистов, имеется контекстная справка, позволяющая изучать язык без обращения к сторонним источникам.
Сильные стороны:
- Отличается высокой скоростью компиляции;
- Работа программы в обычном и защищенном режиме;
- Подключение дополнительных модулей и библиотек;
- Доступно использование вставок на языке ассемблера.
Полный обзор »
Мы рассмотрели самые популярные инструменты для создания программ. Выбирайте софт, отвечающий вашим требованиям и смело приступайте к процессу разработки. Написать программу легче, чем вы раньше думали, не правда ли?
Visual Studio и IntelliJ IDEA — самые мощные и многофункциональные средства, благодаря которым можно создавать мобильные и компьютерные программы. Поддерживают фактически все распространенные языки программирования, работают с большинством современных ОС.
Turbo Pascal позволит создавать простенькие программы, является неплохим вариантом для стартового обучения, потому как легок в освоении и содержит хороший раздел со справкой. Ранее Free Pascal даже преподавали в школах, где следующим этапом было программирование на Delphi.
Arduino IDE необходимо выбрать тем, кто хочет без особых хлопот загружать скетчи в платы Ардуино. Учитывая тот факт, что платы включают в себя пару десятков контактов, вы сможете подключать к ним разнообразные компоненты, к примеру: датчики, светодиоды, лампочки, моторы и даже магнитные дверные замки, электрочайники, роутеры и многое другое. Так вот, разработанное вами приложение будет управлять всеми этими устройствами по заданному алгоритму.
Вместе с Game Editor, можно быстро создать игру на компьютер. Интегрированный в программу набор разнообразных текстур и моделей, сделает творческий процесс простым и комфортным. Также поддерживает добавление изображений и звуков. Идентичные возможности вы найдете в более продвинутом и функционально развитом конструкторе HiAsm, представляющем собой лёгкую, быструю и удобную среду разработки. Кроме того, web-версия данного инструмента позволит работать над вашими проектами фактически с любого устройства и из любого браузера. А главное для многих преимущество в использовании таких утилит — нет необходимости знать языки программирования!
Стоит отметить ещё одно средство, не вошедшее в наш обзор — это PHP DevelStudio, с его помощью можно создавать программы под Виндовс на известном языке PHP.


