Выбираем среду программирования - TurboComputer.ru
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд (пока оценок нет)
Загрузка...

Выбираем среду программирования

Лучшие среды разработки ( >

Microsoft Visual Studio — среда разработки на C++, которая заслуживает первое место в нашем рейтинге. В софте есть большое количество встроенных инструментов, которые значительно облегчают многие процессы.

Интеллектуальное автодополнение, подсветка синтаксиса и многое другое. Можно смело заявлять, что это один из лучших представителей класса сред разработки на C++.

Причем, работать можно не только с C++. Помимо этого языка, MVS поддерживает C#, Python и другие известные языки программирования.

Приложение платное. Для использования придется отсыпать немного деревянных в карман Майкрософт. Но вряд ли кто-то будет жалеть о приобретении.

Более подробную информацию можно узнать на официальном сайте программы.

Особенности IDE:

    Конструктор форм (GUI); Автодополнение уже написанного кода; Относительно простой интерфейс;

Eclipse

Достаточно популярная среда разработки на C++. Отличается простотой и скоростью, многие отдают предпочтение из-за удобного минималистичного интерфейса.

Она бесплатна, вы в любой момент можете зайти на официальный сайт Eclipse и скачать оттуда свежий дистрибутив приложения.

Особенности IDE:

    Кроссплатформенность; Инструмент для создания GUI-форм; Простой интерфейс; Распространяется бесплатно;

NetBeans

Эта среда разработки очень похожа на Eclipse. Тем не менее, здесь есть и свои преимущества. Например, вы можете использовать готовые шаблоны для разработки на C++ или Java. Это в значительной мере облегчает задачу новичкам.

Eclipse — это приложение с открытым исходным кодом, которая распространяется абсолютно бесплатно. Для получения более подробной информации перейдите на официальный сайт IDE.

Особенности IDE:

    Открытый исходный код; Кроссплатформенность; Умеет работать с Qt Toolkit и другими инструментами; Конструктор GUI-форм;

CLion

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

Или же вы можете приобрести пак всех приложений от JetBrains за 649 долларов. Ознакомиться с ценами и подробной информацией можно на официальном сайте.

Особенности IDE:

    Конструктор форм (GUI); Дополнительные плагины с разным функционалом; Показывает все ошибки в лайв-режиме; Много инструментов для работы и отладки кода;

Xcode

Xcode представляет собой большой набор инструментов разработки для продукции Apple. Если у вас Мак, то это приложение — лучший выбор для вас.

Аналогов практически нет, многие программисты переходят на Мак только из-за этого софта. И их можно понять. Скачать программу можно с официального ресурса Apple.

Особенности IDE:

    Конструктор форм (GUI); Автодополнение уже написанного кода; Работает только с Apple;

CodeLite

Бесплатная среда разработки на С и C++. Есть версии для разных операционных систем, включая Windows, MacOS и Linux. Скачать последнюю версию этой IDE можно с официального сайта.

Особенности IDE:

    Кроссплатформенность; Профилирование, рефакторинг кода; Поддержка GCC/Clang/Visual C++;

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

Есть две версии: платная и бесплатная. Последняя — с открытым исходным кодом. Ее вполне хватит, если вы новичок. Скачать можно с официального сайта.

Особенности IDE:

    Конструктор форм (GUI); Автодополнение уже написанного кода; Кроссплатформенность; Множество инструментов Qt;

Geany

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

Предварительная (препроцессорная) обработка. На этом этапе программист дает команду компилировать программу. Но прежде чем компилятор приступит к компиляции вашей программы, производится предварительная обработка программы. Что это значит? Любая программа в С++ подчиняется специальным командам, именуемым директивами препроцессора (обычно начинаются они со специального символа “#”) , которые указывают, что в программе перед ее компиляцией нужно выполнить определенные преобразования. Обычно эти преобразования состоят во включении других текстовых файлов в файл, подлежащий компиляции, и выполнении различных текстовых замен. Создается файл с расширением .i .В нашей первой программе в следующей главе уже будет присутствовать подключение такого файла с помощью директивы препроцессора.

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

Компоновка. Следующий этап называется компоновка. Программы на С++ обычно содержат ссылки на функции, определенные где-либо вне самой программы, например, в стандартных библиотеках или в личных библиотеках групп программистов, работающих над данным проектом. Объектный код, созданный компилятором, обычно содержит «дыры» из-за этих отсутствующих частей. Компоновщик связывает объектный код с кодами отсутствующих функций, чтобы создать исполняемый загрузочный модуль (без пропущенных частей). Получаем в итоге файл с расширением .exe (для Windows), либо .out (для Linux).

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

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

Среда CodeBlocks

Для разработки своих программ лично я использую среду программирования CodeBlocks. Вам, как начинающим советую использовать именно ее, т.к. она проста в использовании и, соответственно, лучше приемлема для начинающего программиста. В этой среде есть минимально необходимый комплект (редактор, компилятор и отладчик) для разработки программ. А сейчас займемся установкой (скачать CodeBlocks можно в разделе “В помощь программисту”):

  • Распаковываем скачанный архив и запускаем инсталляционный файл, соглашаемся с лицензией. В окошке выбора компонентов для установки выбираем либо standart, либо full (принципиальной разницы нет).
  • Выбираем путь установки, либо оставляем по умолчанию, ставим.
  • Процесс установки благополучно завершен.
  1. Среда программирования – это программа, в которой программисты разрабатывают свои программы.
  2. Основные компоненты среды программирования – это редактор, компилятор и отладчик.
  3. В редакторе набирается текст программы. Редактор имеет подсветку синтаксиса конкретного языка программирования.
  4. Компилятор переводит программу, набранную в редакторе, в машинный язык, непосредственно понятный компьютеру.
  5. Отладчик служит для нахождения ошибок в программе. А без ошибок в программах не бывает даже у очень опытных программистов.

2.1.2. Выбор среды разработки

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

– MS Visual Studio;

Visual Studio 2015 — это интегрированная среда разработки, которая обладает

большими возможностями для создания замечательных приложений для Android, iOS и Windows, а также современных облачных служб и веб-приложений. Visual Studio анализирует код и подсказывает программисту, какие типы и где следует использовать. Всплывающие завершения, подсказки и фрагменты кода повышают производительность работы и упрощают процесс разработки. Доступ к функциональной и удобной среде IntelliSense, преимущества простой навигации по коду и быстрой сборки и развертывания в кратчайшие сроки уменьшают время разработки. Visual Studio позволяет удобно работать в составе рабочей группы и самостоятельно и повышает продуктивность.

Преимущества Visual Studio при работе с Python:

– наличие библиотек сторонних поставщиков и средств Pip, PyPI и поддержки виртуальной среды для управления проектами и зависимостями;

– CPython, PyPy, IronPython и многое другое;

– интеграция с функциями Visual Studio;

– интерактивная отладка (визуальное пошаговое выполнение кода, взаимодействие с программой независимо от операционной системы и просмотр или изменение состояния программы) в REPL Python;

– можно использовать с открытым кодом и бесплатно, если разработка идет в исследовательских целях.

Встроенный отладчик может работать в качестве отладчика уровня исходного кода, так и в качестве отладчика машинного уровня. Остальные встраиваемые инструменты включают в себя веб-редактор, дизайнер схемы базы данных, дизайнер классов и редактор форм для упрощения создания графического интерфейса приложения. Visual Studio позволяет подключать и создавать сторонние расширения (плагины) для дополнения функциональности практически на любом уровне, включая добавление новых наборов инструментов (например, для визуального проектирования и редактирования кода на предметно-ориентированных языках программирования) или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server), также возможно добавление поддержки систем контроля версий исходного кода (например, Visual SourceSafe и Subversion). [44]

Qt Creator – кроссплатформенная свободная IDE для разработки на языках программирования С, С++ и QML. Данная среда разработана для работы с фреймворком Qt и включает в себя визуальные средства разработки интерфейса как с использованием QML, так и QtWidgets, и графический интерфейс отладчика. Поддерживаемые компиляторы: GCC, MinGW, Clang, Linux ICC, MSVC, WINSCW, RVCT, GCCE.

Основной задачей Qt Creator является упрощение разработки приложения с помощью фреймворка Qt на различных платформах. Потому среди возможностей, присущих любой среде разработки, есть и специфичные, такие как отладка приложений на QML и отображение в отладчике данных из контейнеров Qt, встроенный дизайнер интерфейсов как на QML, так и на QtWidgets.

Qt Creator поддерживает системы сборки cmake, qmake, qbs, autotools. Есть возможность редактирования этапов сборки проекта. Для проектов, созданных под другими системами, существует возможность применения в качестве редактора исходных кодов. Также IDE нативно поддерживает системы контроля версии, такие как Git, Mercurial, Subversion, Perforce, Bazaar, CVS. В Qt Сreator реализовано автодополнение, в том числе ключевых слов, введённых в стандарте C++11 (начиная с версии 2.5), подсветка кода (её определение аналогично таковому в Kate, что позволяет использовать уже готовые виды подсветок или создавать свои). Также есть возможность задания отступов, стиля выравнивания и постановки скобок.

Реализован ряд возможностей при работе с сигнатурами методов, к ним относятся следующие:

– автогенерация пустого тела метода после его обновления;

– возможность автоматически поменять порядок следования аргументов;

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

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

Среда разработки имеет графический интерфейс для следующих популярных отладчиков: GDB, QML/JavaScript и CDB. В качестве отдельной опции реализовано отображение содержимого контейнеров, таких как QString, std::map и прочих. Поддерживаются следующие режимы отладки:

– терминал для отладки локально запущенных процессов, которым требуется консоль;

– простой для отладки локально запущенных приложений, таких как GUI приложения

– удалённый для отладки запущенных на другой машине процессов с использованием gdbserver;

– подключенный для отладки локальных процессов, запущенных вне Qt Creator;

– ядро для отладки завершившихся аварийно процессов на Unix;

– TRK для отладки процессов, запущенных на устройстве Symbian;

– отладка исключения, приводящего к сбою программы на Windows.

Точки остановки можно задать различными удобными способами, упрощая отладку,

поддерживаются следующие способы:

– остановка на заданной строчке заданного файла;

– остановка при обращении к данным по заданному адресу;

– остановка при поимке исключения;

– остановка при вызове функции с определенным именем;

– остановка при выполнении системного вызова;

– остановка при запуске или создании нового процесса;

– остановка при изменении в данных с адресами, заданными выражением. [45]

Eclipse – свободная интегрированная среда разработки, разработанная для создания

кроссплатформенных модульных приложений. Поддерживается и развивается сообществом Eclipse Foundation. Наиболее известными приложениями на основе Eclipse Platform являются различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», который поддерживался первоначально, не основывается на какие-либо закрытых расширениях, а использует стандартный открытый аппаратно-программный интерфейс для доступа к Eclipse Platform).

Eclipse служит в первую очередь платформой для разработки дополнений, благодаря чему он и стал популярен: любой разработчик может расширить Eclipse своими модулями, дополнив его необходимым функционалом. Уже существуют C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, Java Development Tools (JDT) и средства для языков Ada (GNATbench, Hibachi), FORTRAN, COBOL, X10 (X10DT), PHP и других от разных разработчиков. Множество дополнений расширяет среду Eclipse диспетчерами для работы с серверами приложений, базами данных и др.

Eclipse написана на Java, потому является кроссплатформенным продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ. Вместо стандартной для Java библиотеки Swing используется библиотека SWT. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает натуральный внешний вид и быстроту пользовательского интерфейса, но иногда вызывает на разных платформах проблемы устойчивости и совместимости приложений.

Основой Eclipse является RCP, в которую входят следующие широко используемые компоненты:

– ядро платформы (загрузка Eclipse, запуск модулей);

– SWT (портируемый инструментарий виджетов);

– OSGi (стандартная среда поставки комплектов);

– рабочая среда Eclipse (панели, редакторы, проекции, мастеры);

– JFace (файловые буферы, работа с текстом, текстовые редакторы). Пользовательский интерфейс среды Eclipse создан с применением инструментария

SWT. Последний, в отличие от библиотеки Swing, которая самостоятельно эмулирует графические элементы управления, использует графические компоненты данной

операционной системы, вследствие чего интерфейс работает быстрее и выглядит естественно и гармонично на фоне операционной системы. Пользовательский интерфейс Eclipse также зависит от промежуточного слоя пользовательского интерфейса, называемого JFace, который упрощает построение GUI, базирующегося на SWT.

Удобство применения Eclipse обеспечивается за счёт подключаемых модулей, благодаря чему возможна разработка не только на Java, но и на других языках, таких, как C/C++, Python Perl, Ruby, Groovy, PHP, Erlang, компонентного Pascal, Zonnon, и других. Для данной среды разработки существует целый набор коммерческих и свободных модулей. Изначально среда была разработана для языка Java, но в настоящее время существуют многочисленные дополнения для поддержки других языков. Для разработки аналитических BI-приложений, разработки и получения отчётов в Eclipse имеется BIRT Project. Также существуют различные модули для создания графических интерфейсов. В Eclipse встроена функция установки и обновления модулей расширений через сеть Интернет. [46]

Spyder – это среда разработки для Python, которая распространяется свободно. Она является кроссплатформенной и доступна для применения на операционных системах Windows, MacOS и Linux. Название Spyder является аббревиатурой и расшифровывается как Scientific PYthon Development EnviRonment, то есть научная среда разработки для языка Python. Среда разработки создавалась для проведения научных расчетов, и в этой сфере она действительно удобна.

Согласно аннотации разработчиков, Spyder является:

– интерактивной мощной средой разработки для языка программирования Python с продвинутыми возможностями редактирования, интроспекции, интерактивного тестирования и отладки;

– средой численных расчетов благодаря поддержке IPython (улучшенный интерактивный интерпретатор Python) и популярных библиотек Python, таких как SciPy (обработка данных, численные расчеты и др.), NumPy (линейная алгебра) и matplotlib (интерактивная 2D/3D визуализация);

– частью модуля spyderlib для Python, предоставляющего гибкие виджеты на PyQt4, такие как консоль Python (встраиваемая в приложения), редактор кода, редактор списков, кортежей и массивов NumPy.

Рассмотрим некоторые возможности Spyder. Одной из главных особенностей данной среды разработки является возможность удобной работы с переменными. В процессе

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

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

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

– перехода к выбранному объекту или функции;

– просмотра кода используемых модулей.

Также в среде Spyder имеется возможность просмотра исходных кодов или

документации любых объектов Python (классов, функций, модулей). Также доступна онлайн документация модулей Python, которая сгенерирована в формат html. Для документации в Python используется библиотека Sphinx, которая является удобным инструментом, позволяющим уменьшить время разработки и устранить необходимость в наличии выхода в Интернет для получения информации об особенностях работы библиотечных функций. [47]

Проведем сравнение сред программирования на основе важных возможностей и средств для разработки, отладки и тестирования ПМ ВИЗ, результаты приведены в таблице

Выбираем среду программирования

Проходим мимо, уважаемые френды, тут ничего интересного. Это только для однокурсников.

Кто-то из вас просил меня описать, как установить себе среду для программирования на Си. Обладать у себя такой средой очень важно, без неё никак не получить зачета по программированию, и для людей, чей опыт программирования ранее был не слишком обширен, задача установки среды может оказаться не совсем тривиальной.

Итак! Вы обладаете компьютером с любимым Windows 7, умеете писать простенькие скрипты в Турбо Паскале, и имели несчастье поступить на мехмат, где семинарист ничему не обучает, как делать, не говорит, а только требует программы? Я расскажу вам, что делать!

Скажу честно: два из трех предложенных вам путей решения задачи я не одобряю. Эти пути, не одобряемые мною, таковы:
А) Работать в одной из сред, созданных под Windows
Б) Работать через Сygwin
Третий путь, который я рекомендую, это
С) Работать через Linux.
Других удобных способов разжиться компилятором для Си нет.
Разберемся.

– Работать в одной из сред, созданных под Windows
Скорее всего, эта среда разработана компанией Borland или её дочерьми. Вам достаточно легко будет найти и установить среду программирования вроде Borland C++, возможно, она уже есть у вас. Если среда разработана не Borland, то это может быть С++ Bilder или MS Visual Studio, или мини-IDE вроде Dev-C. Существует достаточно много вариантов написать программу на Си под Windows, и все они плохие. Почему? 1) Потому что перегружены. 2) Потому что не обладают гарантированной совместимостью со средой программирования в классе на уровне исходника и точно не обладают ею на уровне скомпилированного кода.

  1. Перегружены. Что это значит? Это значит, что среда изначально была рассчитана не для обучения студентов, а для удобства взрослых дядь-программистов. Я объясню задачу: вам не нужна IDE. Вам не нужна среда, которая сама собирает проект, тестирует его, выкладывает в репозиторий, и не забывает следить за вашим кофе – а именно в таких системах сейчас всё разрабатывается. Вам же нужны только две вещи: компилятор и редактор с подсветкой кода. И вот с простыми чистыми компиляторами Си под Windows огромные проблемы. Этому есть свои исторические причины, но это так.
  2. Гарантированная совместимость. Вам нужен компилятор, который будет обрабатывать код в точности так же, как gcc – компилятор, используемый в классе. Соответственно, вам и нужен gcc. Это такой закон программирования, часть философии под названием Unix-way: если вам нужен функционал, и этот функционал уже написан, используй его. Попытки энтузиастов портировать gcc под винду существуют, но, насколько я знаю, они малоуспешны.

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

– Работать через Сygwin.
Cygwin – это специальная программа, нечто вроде виртуальной UNIX-машины, запущенной под windows. После того, как вы установите себе его, вы получите unix-подобную среду, способную работать с вашими файлами методами unix. Эта среда включает в себя огромное количество программ, аналогичных программам в linux и unix, в том числе желанный gcc. Cygwin определенными недостатками – он сложен в настройке, требует элементарных навыков обращения с консолью – тем не менее, это вполне рабочий вариант, подходящий под наши нужды. Далее я опишу установку Cygwin.
Инсталятор нужно скачать с официального сайта: http://www.cygwin.com/ , ссылка на инсталлятор лежит прямо на главной странице, для 86 и 64 разрядности. Опишу один из путей инсталляции
Соглашайтесь с инсталлятором, пока вам не предложат выбрать зеркало, с которого будет скачиваться программа. Выберете любое. Дальше вам предложат список компонентов, которые можно установить на ваш cygwin – очень длинный список программ, от Accessbility до X11. Нажмите на надпись Default напротив раздела Devel , что бы она сменилась на install. Жмите “далее”, и заварите себе чайку, пока система будет скачиваться и устанавливаться (она может делать это час или два, в зависимости от скорости зеркала). Терминал cygwin – достаточно стандартный bash-терминал, реализующий все необходимые функции в рамках виндовой файловой системы.
Cygwin – удобная и мощная система, содержащая всё необходимое для разработки на Си. Но если вы настоящий IT-шник, то для вас существует еще лучший путь. Итак…

Linux сейчас – огромное по размерам и влиянию на мир IT множество операционных систем, объединенных ядром и набором универсальных программ. Установить Linux достаточно просто; главной проблемой является, пожалуй, выбрать, какой именно Linux с какой оконной системой на борту ставить. Согласия тут нет, кто-то любит KDE, кто-то GNOME, кто-то ветвь Ubuntu, кто-то – Mandriva. Я перепробовал не так много линуксов, что бы считать себя знающим их, поэтому могу только посоветовать тот, которым пользуюсь я, и который я считаю удобным и приятным для перехода с винды. Это Linux Mint Mate, вот последний из них http://blog.linuxmint.com/?p=2627 . Mate – форк gnome2, сам Mint – форк ubuntu, и если эти слова эти слова вам ни о чем не говорят, то скажу только, что это разновидность одного из самых популярных и удобных для простого пользователя линуксов.

Удобнее всего установить линукс в качестве второй системы, дуалбутом. Для этого нужно, записав его образ с сайта на болванку или флешку, загрузить с этой болванки компьютер через boot-настойку в bios. Главная опасность при установке для вас – это опасность напутать с программой раздела диска и случайно отформатировать важные данные, так что сделайте бекап на внешний носитель. Это в любом случае небесполезно.

Загрузив с диска систему, вы можете полюбоваться на неё на деле, а после – установить через нажатие ярлыка на рабочем столе. Установщик достаточно умный, скорее всего у вас не возникнет с ним проблем. При разметке диска просто переместите ползунок разметки диска удобным образом для вас образом, не залезая в тонкую настройку, что бы отобрать несколько десятков гигабайт у винды и отдать их линкусу. После установки у вас при каждой загрузке системы будет возникать окно grub с предложением выбрать операционную систему – позже я обучу, как его редактировать. Загружаетесь в свежеустановленный линукс, обустраиваетесь в нем, скачиваете обновление. Баш-терминал можно открыть правой кнопкой мыши в любой папке, или через меню «пуск».

Что же. Теперь, когда у вас есть bash-терминал, можете написать в нем команду запуска компилятора:
gcc -c programname codefile.c
Если в codefile.c нет ошибок, эта команда создает из него программу по имени programname , которую вы можете запускать командой
./programname
Последнее – выбор редактора. Вам нужен редактор кода с подсветкой. Очень хорош Sublime Text2 (идет всюду) , для windows существует прекрасный notepad++ , для linux – очень простой и удобный блокнот gedit и неплохой geany. Некоторые любят работать через vim прямо из консоли, хотя лично я не отношусь к их числу. Главное – не ставьте громоздкую IDE, она вам точно не нужна.

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

Арсенал программиста. 7 инструментов для эффективной работы

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

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

1. Интегрированная среда программирования (IDE)

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

  • Редактор с подсветкой кода
  • Компилятор
  • Отладчик
  • Управление проектами

Существуют универсальные IDE, которые поддерживают много языков программирования:

Существуют специализированные IDE, которые нацелены на один язык программирования:

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

Есть много сравнительных таблиц IDE. Например, здесь. Ниже фрагмент сравнительной таблицы IDE для C/C++.

В качестве основного IDE лучше выбрать ту среду разработки, которая вам наиболее комфортна и удобна. И ее уже изучить досконально. Это существенно повысит вашу производительность.

2. Профилировщик кода (профайлер, профилер)

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

Чтобы найти узкое место программы запускают профилер, который фиксирует время выполнения различных фрагментов программы.

Существует много профилеров, как универсальных, так и специализированных. Большой список можно найти здесь (en).

Но самым популярным профилером является GNU Gprof. Он есть в сборке Си-экспресс. Чтобы его использовать, нужно сделать следующие действия:

1. Включить профилирование в параметрах сборки проекта. Щелкнуть правой кнопкой на проекте и выбрать соответствующий пункт меню.

2. Перекомпилировать и запустить программу.

3. Запустить профилер. Меню — Модули — Code profiler

3. Система контроля версий

Часто бывает, что программист внес правки в исходный код и программа перестала работать. Для быстрого возврата к работающей версии используются системы контроля версий (SVN). Они ведут учет изменений в файлах и позволяют откатить изменения до нужной точки.

Наиболее популярными являются:

Раньше SVN работали на компьютере разработчика, но в последнее время используются веб-серверы для SVN. Это дает много преимуществ, можно работать на разных компьютерах и иметь копию программы в облаке.

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

Самыми популярными серверами SVN являются:

  • GitHub (сервис платный, но бесплатен для проектов с открытым исходным кодом).
  • Bitbucket (бесплатный сервис)

4. Визуальный редактор интерфейса

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

Есть еще одна причина, чтобы это процесс сильно ускорить — общение с заказчиком. Самый первый разговор с заказчиком станет намного продуктивнее, если вы сможете быстро набросать макет программы. Заказчики ничего не понимают в программировании, но интерфейс понимают все. Чем более быстро вы покажет макет будущей программы, тем быстрее получите заказ.

Существуют множество редакторов интерфейса, которые помогают набросать внешний вид программы простым перетаскиванием виджетов. Другое их название GUI-конструкторы. Они могут как отдельными программами, например, Glade. А могут быть плагинами к IDE, как, например wxSmith для CodeBlocks.

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

5. Редактор баз данных

Для прикладных программ работа с базами данных (БД) является обязательным условием. Если вы пишете программу для автоматизации бизнеса, то вам потребуются работа с базами:

  • Сотрудников
  • Товаров
  • Покупателей
  • Счетов и т.д.

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

Самым мощной и удобной системой управления базами данных (СУБД) является Microsoft Access, который входит в состав Microsoft Office. Возможности Access очень велики. Эта СУБД позволяет разработать автоматизацию небольшую компании. Но полученный продукт не очень удобно тиражировать из-за особенностей лицензирования Microsoft Office.

Самыми распространенными редакторами БД являются:

  • PhpMyAdmin
  • He >6. Инструмент тестирования ПО

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

Суть тестирования состоит в том, что тестировщик выполняет пакет тестов и проверяет соответствие реального поведения программы с заданным.

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

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

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

7. Фреймворк

Многие программы имеют общие модули. Отсюда приходит желание не писать каждый раз программу с нуля, а использовать какой-нибудь каркас. Так появилось понятие фреймворка, что в переводе означает «каркас».

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

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

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

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

Среда программирования

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

Мы уже упоминали о существенном вкладе основателя фирмы Borland Ф. Канна в создание интегрированной среды разработки ( IDE – Integrated Development Environment ), появившейся в системе Turbo Pascal . Очень многие его идеи в той или иной мере повторяются во многих системах программирования, созданных и другими разработчиками программных продуктов.

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

Диалоговый режим работы, ставший основным на персональных компьютерах, позволил за один сеанс обнаружить и исправить несколько ошибок. Однако на первых ПК для создания полноценных программных продуктов приходилось работать с несколькими автономными системными программами. Сначала запускался текстовый редактор для набора текста исходной программы на соответствующем алгоритмическом языке. Потом неоднократно запускался компилятор для устранения многочисленных синтаксических ошибок. В конечном итоге компилятор переводил исходный модуль в некоторую заготовку на машинном языке (объектный модуль ). Непосредственно выполняться объектный модуль не мог, т.к. для его работы приходилось вызывать другие системные и/или прикладные модули, устанавливать связи между ними по общим переменным, объединять модули в единую программу, настраивать ее по месту расположения в оперативной памяти. Этим занимались две автономные утилиты – редактор связей (жаргонное название – линковщик, от англ. link ) и загрузчик (жаргонное название – лоадер, от англ. load ). После формирования так называемого загрузочного модуля наступал этап отладки, связанный с поиском ошибок алгоритмического характера. Для этой цели использовалась специальная программа – отладчик (ее название ассоциируется с процессом поимки вредных насекомых – от англ. debug ). К перечисленному набору системных программ добавлялся еще и библиотекарь – утилита , обслуживающая системные и пользовательские библиотеки объектных модулей. Заслуга интегрированной среды заключалась в объединении всех этих компонент в единую систему, которая автоматически переходила к следующему этапу обработки после устранения ошибок, обнаруженных очередной утилитой. Кроме того, перед глазами пользователя всегда находился текст исходной программы, которую в любой момент времени можно было поправить и дополнить. В случае удачи (из программы исключены все синтаксические и семантические ошибки) запуск программы из интегрированной среды сводился к выполнению единственной команды Run (от англ. – Пуск).

2.1. Интегрированная среда Borland C++, ver 3.1

Система программирования Borland C++ ( ver . 3.1) была разработана фирмой Borland в 1992 году для создания программ под управлением MS- DOS . Поэтому ресурсы, предоставляемые разрабатываемому приложению, подчиняются тем ограничениям, которые действовали в среде MS-DOS . Главные из них – объем оперативной памяти не более 640 Кбайт (за минусом того, что занимают компоненты операционной системы), объем каждого массива не более 64 Кбайт (на самом деле, еще немного меньше), диапазон данных типа int от -32768 до 32767 . Эти ограничения наиболее характерны для так называемых 16-битных приложений. Во время запуска таким приложениям предоставляется полный экран дисплея, работающего в текстовом режиме.

Система BC 3.1 может быть запущена и из под Windows , но указанные ограничения для создаваемого приложения остаются в силе. После старта BC 3.1 в среде Windows , на экране появляется окно интегрированной среды, представленное на рис. 2.1.

В верхней строке располагаются названия пунктов главного меню , краткое назначение которых таково:

  • File – общение с файловой подсистемой;
  • Edit – ввод и редактирование исходной программы;
  • Search – поиск в тексте исходной программы;
  • Run – запуск программы в автоматическом или пошаговом режиме;
  • Compile – компиляция исходной программы;
  • Debug – отладка программы;
  • Project – управление проектом сборки программы из нескольких модулей;
  • Options – настройка параметров интегрированной среды;
  • Window – управление дополнительными окнами системы программирования;
  • Help – обращение к файлам помощи.

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

Команды меню File (рис. 2.2) используются при наборе новой программы ( команда New ), при запоминании в файле на диске набранной или измененной программы (команды Save и Save as ), при вызове ранее сохраненной программы ( команда Open ). Последняя команда этого меню ( Quit ) исполняется при выходе из интегрированной среды.

Вход в меню File происходит либо после щелчка мышью по заголовку File, либо после набора клавишной комбинации Alt+F. Выполнение наиболее употребительных команд также продублировано нажатием одной функциональной клавиши или соответствующей клавишной комбинации. Эквивалентные клавишные команды указаны справа.

Переход к той или иной команде выбранного меню сопровождается появлением в нижней строке подсказки. На рис. 2.2 выделена команда New, а в строке подсказки находится сообщение – “Создание нового файла в новом окне редактирования”.

До тех пор, пока при сохранении набранной программы соответствующему дисковому файлу не присвоено индивидуальное имя, вновь набираемая программа выступает под именем NONAMEnn. CPP , т.е. программа “безымянная” (здесь nn – порядковый номер безымянной программы, созданной в течение одного сеанса).

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

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

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

Командой Go to cursor пользуются для автоматического запуска программы с остановкой в той строке исходного текста, где находится курсор . Обычно такой режим используется при отладке программы. Также для отладочных целей используется пошаговое выполнение программы. В этом режиме очередное нажатие функциональной клавиши F7 или F8 приводит к остановке после выполнения очередной строки исходного текста. Разница между этими двумя режимами заключается в исполнении строк, содержащих вызов пользовательской функции. Нажатие F7 приводит к тому, что пошаговое исполнение сохраняется и в вызываемой функции. В отличие от этого нажатие F8 приводит к автоматическому выполнению вызываемой функции и останову после возврата из нее.

Очень важно уметь пользоваться справочной системой интегрированной среды – командами меню Help (рис. 2.4).

Справочная система предназначена для работы в двух режимах. Первый из них, называемый контекстной помощью, срабатывает следующим образом. Курсор мыши подводится к интересующему вас служебному слову или наименованию системной функции и нажимается клавиша F1. Второй способ связан с использованием команд меню HelpContents (Содержание) и Index ( Указатель терминов, упорядоченных по алфавиту).

По команде Contents на экране (рис.2.5) появляются названия справочных разделов:

  • How to Use Help – Как использовать помощь;
  • Menus and Hot Keys – Меню и “горячие” клавиши (клавишные команды);
  • Editor Commands – Команды редактора;
  • Assembler (built-in) – Встроенный ассемблер;
  • Borland C++ Language – Язык C++ среды Borland;
  • Command Line – Использование командной строки;
  • Container >

По команде Index на экране появляется упорядоченный по алфавиту список (рис. 2.6), в котором можно выбрать интересующий вас термин и перейти к соответствующему кадру помощи.

Читайте также:  Xtab что это за программа
Ссылка на основную публикацию
Adblock
detector