В процессе разработки программных средств в той или иной мере используется компьютерная поддержка процессов разработки ПС. Это достигается путем представления хотя бы некоторых программных документов ПС (прежде всего, программ) на компьютерных носителях данных (например, дискетах) и предоставлению в распоряжение разработчика ПС специальных ПС или включенных в состав компьютера специальных устройств, созданных для какой-либо обработки таких документов.
В качестве такого специального ПС можно указать компилятор с какого-либо языка программирования. Компилятор избавляет разработчика ПС от необходимости писать программы на языке компьютера, который для разработчика ПС был бы крайне неудобен, — вместо этого он составляет программы на удобном ему языке программирования, которые соответствующий компилятор автоматически переводит на язык компьютера. В качестве специального устройства, поддерживающего процесс разработки ПС, может служит эмулятор какого-либо языка. Эмулятор позволяет выполнять (интерпретировать) программы на языке, отличном от языка компьютера, поддерживающего разработку ПС, например на языке компьютера, для которого эта программа предназначена.
ЭТО ПРОСТО УЖАС МАКСИМАЛЬНАЯ ДУХОТА КОТОРУЮ НАДО ИСПРАВИТЬ В Elite Dangerous
ПС, предназначенное для поддержки разработки других ПС, будем называть программным инструментом разработки ПС, а устройство компьютера, специально предназначенное для поддержки разработки ПС, будем называть аппаратным инструментом разработки ПС.
Инструменты разработки ПС могут использоваться в течении всего жизненного цикла ПС для работы с разными программными документами. Так текстовый редактор может использоваться для разработки практически любого программного документа. С точки зрения функций, которые инструменты выполняют при разработке ПС, их можно разбить на следующие четыре группы: ·
инструменты, поддерживающие процесс выполнения программ.
Редакторы поддерживают конструирование (формирование) тех или иных программных документов на различных этапах жизненного цикла. Как уже упоминалось, для этого можно использовать один какой-нибудь универсальный текстовый редактор. Однако, более сильную поддержку могут обеспечить специализированные редакторы: для каждого вида документов — свой редактор.
В частности, на ранних этапах разработки в документах могут широко использоваться графические средства описания (диаграммы, схемы и т.п.). В таких случаях весьма полезными могут быть графические редакторы. На этапе программирования (кодирования) вместо текстового редактора может оказаться более удобным синтаксически управляемый редактор, ориентированный на используемый язык программирования.
Анализаторы производят либо статическую обработку документов, осуществляя различные виды их контроля, выявление определенных их свойств и накопление статистических данных (например, проверку соответствия документов указанным стандартам), либо динамический анализ программ (например, с целью выявление распределения времени работы программы по программным модулям).
Новые инструменты в программе «Малахит» версий 5.6.40-5.6.43
Преобразователи позволяют автоматически приводить документы к другой форме представления (например, форматеры) или переводить документ одного вида к документу другого вида (например, конверторы или компиляторы), синтезировать какой-либо документ из отдельных частей и т.п.
Инструменты, поддерживающие процесс выполнения программ, позволяют выполнять на компьютере описания процессов или отдельных их частей, представленных в виде, отличном от машинного кода, или машинный код с дополнительными возможностями его интерпретации. Примером такого инструмента является эмулятор кода другого компьютера. К этой группе инструментов следует отнести и различные отладчики. По-существу, каждая система программирования содержит программную подсистему периода выполнения, которая выполняет наиболее типичные для языка программирования программные фрагменты и обеспечивает стандартную реакцию на возникающие при выполнении программ исключительные ситуации (такую подсистему мы будем называть исполнительной поддержкой), — также можно рассматривать как инструмент данной группы.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Что такое инструмент в программировании?
Мой предыдущий вопрос — «В чём разница между библиотекой и фреймворком»,на него ответили так
«Фреймворк — это набор библиотек и инструментов,а библиотека — это . »
Возник вопрос: что подразумевается под «инструменты»?
Простите за глупый вопрос)0
- Вопрос задан более трёх лет назад
- 3074 просмотра
Решения вопроса 2
Библиотека — сборник подпрограмм или объектов, используемых для разработки программного обеспечения (ПО). От сокращения lib, которое используется в C/C++.
Фреимворк — библиотеки + тулзы.
Инструмент, tools, тулза — скрипт, программа для автоматизации чего-либо для этой библиотеки или фреимворка. Может быть просто скрипт на питоне или ексешник написанный разработчиками для конкретных нужд. Например конвертилка картинок или других данных, копировалка чего-либо, сборщик, запускатель, и прочее.
Ответ написан более трёх лет назад
Нравится 2 Комментировать
Про инструменты habrahabr.ru/post/209362
Ответ написан более трёх лет назад
Нравится Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- JavaScript
- +2 ещё
Сохранение последних данных?
- 1 подписчик
- 2 часа назад
- 66 просмотров
Источник: qna.habr.com
Инструментарий программиста
Для нас опасны все средства искусства, более глубокого чем наше. Дж. Р. Р. Толкиен Чтобы успешно заниматься ремеслом, необ% ходим хороший набор инструментов. У во% допроводчика в ящике с инструментами ле% жит все, что может ему понадобиться в лю% бой возникшей ситуации, иначе он рискует, что в следующий раз, когда у вас потечет кран, вы его не вызовете.
Важно не только наличие этих инструмен% тов, но и высокое их качество ; хороший мастер может оказаться бессилен, если у не% го плохой инструмент. Если вентили дрян% ные, они потекут, как бы ни старался ваш водопроводчик. Конечно, мастером вас делает умение поль% зоваться этим инструментом. Сами по себе инструменты ничего не могут. В те времена, когда еще не было электроинструментов, столяры умели изготавливать изысканную
160 | Глава 7. Инструментарий программиста |
мебель. Инструменты были гораздо проще, но и их было достаточно мастеру, чтобы создавать произведения искусства. То же самое относится к программированию.
Чтобы хорошо выпол% нить работу, вам нужен соответствующий набор инструментов – таких, чтобы они вызывали у вас доверие и были пригодны для решения тех за% дач, с которыми вы столкнетесь; к тому же вы должны уметь ими поль% зоваться. Чтобы написать достойный код, нужны опытный мастер, хо% рошие инструменты и умение пользоваться этими инструментами. Это важный вопрос.
Благодаря умелому применению инструментов вы можете выделиться на общем фоне как действительно эффективно ра% ботающий программист. В отдельных случаях эти инструменты могут определить успех или провал вашего проекта.
Неумолимое наступле% ние промышленного производства программ требует, чтобы вы не упускали никаких средств, которые позволят вам писать лучший код и делать это быстрее и надежнее. В последующих главах будут обсуждаться проблемы, связанные с кон% кретными инструментами. Здесь же мы обсудим тему инструментов программирования в целом.
Программирование – это область деятель% ности, в которой обойтись без инструментов просто невозможно. Мы пользуемся ими ежедневно, даже не задумываясь об этом, и восприни% маем компилятор как нечто само собой разумеющееся – что%то вроде консервного ножа, который всегда под рукой. Но стоит ему споткнуть% ся (например, на банке непривычной формы), и вы оказываетесь в за% труднении, каким бы навороченным ни был этот прибор для открыва% ния консервов. Простой и бесхитростный работающий консервный нож лучше, чем неработающая претенциозная штуковина.
Что такое инструмент программирования?
Для изготовления программного обеспечения мы пользуемся широ% ким спектром инструментов – программ, которые строят программы, если не слишком вдаваться в философию. Все, с помощью чего мы соз% даем программное обеспечение, является в своем роде инструментом. Одни инструменты помогают писать код. Другие помогают писать хо# роший код.
Третьи помогают привести в порядок тот запутанный код, который вы только что написали. Есть инструменты на любой вкус, со своими принципами действия. Очевидно, следует учитывать платформу и среду, для которой они предназначены, но есть и другие характерные особенности. Сложность Некоторые инструменты представляют собой весьма сложные сре% ды с множеством функций и возможностей настроек. Другие оказы% ваются миниатюрными утилитами, решающими отдельные задачи. В каждом случае можно найти свои достоинства и недостатки:
Что такое инструмент программирования? | 161 |
• Насыщенный функциями инструмент замечателен, если вы на# конец#то научите его одновременно варить вам кофе и прино% сить булочки. Но когда многочисленные сложные функции за% трудняют его применение, пользы от него не так много. • Простые инструменты легко осваивать: очевидно, какую функ% цию они выполняют.
В конце концов, вы накапливаете их в боль% шом количестве, по одному для каждой задачи. Но если попы% таться связать их вместе, то из%за большого количества точек ин% терфейса их взаимодействие не всегда оказывается гладким.
Области применения инструментов могут весьма различаться: в од% них случаях они выполняют весьма узкие задачи (например, поиск строк в текстовых файлах), в других поддерживают целые проекты (среда совместной разработки проекта). Частота применения Некоторыми инструментами пользуются постоянно; без них просто не обойтись.
Другие извлекают из дальнего угла в редких случаях, когда в них возникает необходимость. Интерфейс Есть инструменты с красивыми графическими интерфейсами поль# зователя ( GUI ). Другие сделаны попроще – запускаются из команд# ной строки ( CLI ) и направляют свои результаты в файл. Что выбе% рете вы, зависит от устройства ваших мозгов и выработавшихся привычек.
Утилиты для Windows обычно графические и не предоставляют ин% терфейс командной строки. В UNIX принят противоположный под% ход, что облегчает автоматизацию и объединение в крупные ком% плексы с помощью скриптов. Интерфейс определяет способ, кото% рым вы укрощаете мощь своего инструмента.
Интеграция Из некоторых инструментов формируют длинные цепочки, кото% рые часто включают в интегрированные графические среды разра# ботки ( IDE ). Отдельные утилиты командной строки часто выдают результат в виде обычного текста в формате, допускающем ввод другими утилитами, благодаря чему они выступают в качестве фильтров данных. Единые интерфейсы GUI бывают очень удобны в работе, а интегра% ция заметно повышает продуктивность программиста. С другой стороны, для того чтобы они работали так, как вам того хотелось бы, может потребоваться длительная настройка, и не всегда удает% ся получить все возможности, доступные при задании командной строки вручную. Однако, несмотря на исключительную мощь ути% лит UNIX, наличие у них весьма загадочных интерфейсов затруд% няет работу с ними.
162 | Глава 7. Инструментарий программиста |
Стоимость Существует масса отличных бесплатных инструментов. 1 Но часто их бесплатность оборачивается иной стороной. Обычно бесплатные инструменты предоставляют документацию более низкого качест% ва, слабый уровень поддержки или ограниченный набор функций. Но так бывает не всегда. Ряд бесплатных инструментов значитель% но превосходит свои коммерческие аналоги.
Сколько бы вы ни заплатили за любой инструмент из той или иной категории, более высокая цена не гарантирует вам более высокое качество. Мне приходилось работать с немыслимо дорогими инстру% ментами, которые функционировали на удивление плохо. Поэтому рассмотрим еще один аспект инструментов. Качество Есть действительно отличные инструменты. И есть явно плохие ин% струменты.
Мне приходилось работать с парой важных инструмен% тов – таких, что я предпочел бы никогда больше с ними не сталки% ваться: худо%бедно они как%то решают задачу, но при этом постоян% но балансируют на грани краха. Но без них я не смог бы изготовить тот код, который требовался заказчику. Не счесть случаев, когда у меня возникало желание переписать их самому.
С учетом рассмотренных характеристик нужно выбрать для себя инст% рументы, сделав приемлемые компромиссы. Хотя очень важно при% выкнуть к инструменту, которым вы часто пользуетесь, хорошо изу% чить его и эффективно применять, не стоит делать из него фетиш.
Большинство пользователей Windows с презрением относятся к разра% боткам в стиле UNIX, а UNIX%специалисты смотрят свысока на тех, кто программирует в Windows и, следовательно, не может воспользо% ваться командной строкой. Будьте выше этого. Я бы предложил вам поработать над достаточно крупным проектом в другой, малознакомой среде. Это поможет вам лучше понять, каким должен быть хороший набор инструментов, и более объективно оце% нить существующие – независимо от выбранной платформы.
А зачем они нужны – инструменты?
Невозможно создавать программы без базового набора программных инструментов; вы не сдвинетесь с места без редактора и компилятора. Есть ряд инструментов, без которых можно обойтись, но все же они 1 «Free» имеет в мире программирования два значения: free как в пиве (вы получите его бесплатно) и free как в свободе речи (программное обеспечение open source, код которого можно читать и модифицировать). Что для вас важнее, зависит от степени вашего идеализма. См. врезку «Лицензии» на стр. 461.
А зачем они нужны – инструменты? | 163 |
очень полезны. Чтобы повысить свою продуктивность, качество кода и мастерство, полезно присмотреться к инструментам, которыми вы пользуетесь в данное время, и узнать, какие еще возможности они в се% бе таят.
Когда вы разберетесь в том, как работают ваши инструменты и для ка% ких работ они лучше всего подходят, у вас появится больше возможно% стей создавать правильно работающий код – и делать это быстро. Чем толковее ваш инструмент, тем толковее вы сами как программист. Изучите свои стандартные инструменты вдоль и поперек.
Время, которое вы потратите на их изучение, незамедлительно окупится. Отдадим себе отчет, для чего мы пользуемся инструментами. Инстру% менты не делают нашу работу вместо нас , но они дают нам возмож# ность делать свою работу. Качество программного обеспечения всегда определяется компетентностью программиста, написавшего его.
Вспом% ните об этом, когда ваш компилятор в очередной раз распечатает кучу страниц с ошибками. Вы написали этот код, а не кто%то другой! Отношение программистов к выбору и применению инструментов ока% зывается весьма различным. Вероятно, сказываются какие%то глубо% кие психологические причины – что%то связанное с принадлежностью к «злым гениям».
Столкнувшись с длинной новой задачей: • одни программисты сами старательно пишут код для ее решения; • другие пишут нечто на языке сценариев, чтобы работа выполня% лась автоматически; • третьи часами разыскивают уже написанный инструмент, который сделает работу вместо них. При наличии инструмента, который может решить проблему: • одни программисты играют с ним и так, и сяк, пока не добьются ре% зультата, близкого к нужному; • другие тщательно изучают документацию, выясняя, что конкретно можно сделать, и уж потом начинают применять инструмент.
Как правильнее поступить? Все зависит от обстоятельств. Зрелость программиста отчасти определяется его умением различать ситуации, требующие индивидуального подхода, и правильно выбирать средства для решения текущей задачи. Все люди разные, и работать привыкли по%разному; возможно, ваши коллеги успешнее всего работают с инст% рументами, к которым вы не слишком расположены.
Но все же, если кто%то систематически вручную переводит свой код C в язык ассембле% ра, вы вправе усомниться в его вменяемости. Отнеситесь к инвестированию времени и средств в инструменты прак% тически. Поразмышляйте над тем, как вы станете пользоваться инст% рументом. Поищите другой инструмент или напишите свой собствен% ный, если считаете, что потраченное на это время окупится . Не следу%
Источник: studfile.net