Что такое консольное приложение
Перейти к содержимому

Что такое консольное приложение

  • автор:

Консольное приложение

Текстовый интерфейс пользователя (англ. Text user interface, TUI ; также Character User Interface, CUI ) — система средств взаимодействия пользователя с компьютером, основанная на использовании текстового (буквенно-цифрового) режима дисплея или аналогичных устройств — например, командная строка. Приложения, использующие текстовый интерфейс, называют консольными программами.

Особенности текстового интерфейса

На программном уровне для ввода и вывода информации консольные программы используют стандартные устройства ввода-вывода (stdin, stdout, stderr), хотя могут открывать и другие файлы, сетевые соединения и совершать иные действия, доступные в выполняющей их среде. Вывод печатных символов в stdout и stderr приводит к появлению этих символов на устройстве вывода, то есть к их получению пользователем.

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

Некоторые консольные программы пригодны лишь для определённой реализации текстового интерфейса, например, текстовые программы операционных систем, особенно библиотека

Реализация текстового интерфейса

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

Классической реализацией текстового интерфейса, восходящей к первой половине XX века, является алфавитно-цифровое устройство ввода-вывода, например, комплект из клавиатуры и АЦПУ (телетайпа). Впоследствии вместо АЦПУ стали применять мониторы, снабжённые знакогенератором, что позволило быстро и удобно организовывать диалог с пользователем. Подобными устройствами снабжён или может быть снабжён почти каждый современный компьютер. Такие комплекты из монитора и клавиатуры (иногда с добавлением мыши) называются консолью компьютера.

В соответствии с традицией использования консольными программами клавиатуры и АЦПУ для ввода и вывода соответственно взаимодействие таких программ с пользователем свелось к чтению из stdin и выводу на stdout. Таким образом, появилась возможность перенаправлять потоки ввода-вывода, осуществляя взаимодействие с пользователем посредством иных устройств, в том числе подключенных через сеть, а также при помощи специальных программ-эмуляторов терминала, например, рисующих окно с текстом в графическом интерфейсе пользователя (текстовое окно).

В 1970-х годы и позднее выпускались даже специальные устройства, реализующие текстовый интерфейс — текстовые терминалы, подключаемые через последовательный порт к компьютеру напрямую или через модем. С распространением персональных компьютеров функции текстового терминала, как правило, выполняет компьютер, тот, на котором выполняется консольная программа, или другой. Программы ssh (а также Интернет или локальную сеть. Программы konsole и многие другие реализуют текстовый интерфейс посредством текстового окна в среде X Window System.

Альтернативный подход к консольному выводу был использован в персональных компьютерах, в частности (хотя не только), IBM PC под управлением памяти, связанной со знакогенератором монитора, приводя к немедленному изменению видимых на мониторе данных. Такие программы могут также работать в среде Microsoft Windows. Более того, Windows имеет поддержку текстовых окон, во многом превосходящую имевшуюся в DOS, в том числе и для приложений собственно Windows.

Примеры консольных программ

  • Любая программа, осуществляющая получение данных от пользователя путём чтения stdin и отправку данных пользователю путём записи в stdout, по определению является консольной программой. Однако, такие программы могут обходиться и безо всякого пользователя, например обрабатывая данные из файлов.
  • Текстовые программы для видеопамять Microsoft Windows.
  • Unix shell, а также все утилиты, предназначенные для работы в этой среде.
  • Midnight Commander (UNIX), FAR Manager (Windows).
  • pppstatus, top, htop (UNIX).

См. также

Wikimedia Foundation . 2010 .

Консольное приложение

Консольное приложение или консольная программа - это разработанное программного обеспечения, которое не имеет окон.

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

  • Информационный контроль
  • Корпоративная информационная система
  • Оконный интерфейс
  • Открыть свой бизнес
  • Отчетность организации
  • Планирование деятельности
  • Программа управления
  • Программная автоматизация
  • Проектирование систем автоматизации
  • Реляционная база данных
  • Терминал сбора данных
  • Торговое оборудование для магазина

Наши контакты

УСУ. Контакты

Стать представителем

Франшиза 2023 IT, программное обеспечение

Канал для руководителей

Просто о бизнесе

Поиск

Чтобы найти нужную программу, воспользуйтесь поиском:

Виды программ

Основы программирования 2.0

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

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

Консольные приложения

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

Пример консольного приложения — это командный интерпретатор, который есть в любой операционной системе. В Windows 95/98/ME — это программа command.com (впрочем, он есть и в более поздних версиях Windows). В Windows 2000 и выше — это программа cmd.exe.

Примеры работы с командной строкой см. в статье Кое что о ДОС.

Оконные приложения

Оконное приложение — это привычная всем программа Windows. То есть это окошко с разными кнопочками и полями для ввода-вывода данных. На сегодняшний день это, пожалуй, самый распространённый вид программ. Именно оконные приложения создают большинство программистов.

Драйверы

Драйвер — это программа, которая обычно служит для “стыковки” компьютерного железа (например, видеокарты) с операционной системой или другой программой. Иногда драйвером называют программу, которая “стыкует” две других программы между собой. Хотя сейчас такие программы принято называть интерфейсами (например, COM-интерфейс или DDE-интерфейс).

Когда я говорю “стыкует”, то я имею ввиду, что драйвер позволяет организовать правильный обмен данными между компьютерным железом и ОС. То есть операционная система обращается не напрямую к железу, а через драйвер.

Зачем так сделано? Дело в том, что производителей, например, видеокарт, существует огромное количество. И все они делают их по своим внутренним стандартам. И операционная система не может знать всё обо всех видеокартах. Поэтому есть определённые общепринятые стандарты, которые поддерживаются операционной системой. И производитель “железа” делает какую угодно “железяку”, а затем просто пишет программу-драйвер, которая соответствует общепринятым стандартам и “стыкует” эту “железяку” с операционной системой.

Это позволяет извращённым умам делать разные смешные штуки. Например, можно написать “кривой” драйвер, который будет определять USB-мышку как флэшку. Конечно, работать такая “флэшка” не будет, но зато будет прикольно)))

Интерфейсы

Интерфейс — это программа, которая обычно служит для “стыковки” одной программы с другой. Например, вы хотите получить данные из чужой программы. Как это сделать? Если чужая программа поддерживает какой-нибудь стандартный интерфейс (например, DDE), то вы можете использовать этот интерфейс для получения данных из чужой программы.

Библиотеки

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

Удобство использования библиотек заключается в том, что они не привязаны к языку программирования. Например, вы можете написать библиотеку на языке С++, а использовать её потом в программах, которые пишите на Паскале.

Резидентные программы

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

Системные программы

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

Пока на этом всё. Домашнего задания не будет. Просто подумайте о том, как огромен мир программирования, и сколько всего вам надо будет ещё изучить)))

Консольные приложения

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

12 ноя 2011 в 10:37

С позиции CLI разницы в консолях ( System.Console ) под различные ОС нет. Не подскажете, в чём же всё-таки состоят различия?

12 ноя 2011 в 11:21

Во-первых, внешний вид винконсоли вызывает во мне тоску. Линуксовые терминалы (gnome-terminal, konsole и т.д.) на порядок симпатичнее. И шрифт там нормальный, длина строки нефиксированная, и куча других удобств. Про набор команд я не говорю. Вроде бы PowerShell это решил. Я не очень знаком с C#, не знаю как там управляется терминал, т.е. как изменить цвет шрифта, фона и т.д. В винде на низком уровне это делается с помощью API функций, в никсах -при помощи управляющих последовательностей, что на порядок проще и приятней. В винде вроде в консоли большие проблемы с русской кодировкой.

12 ноя 2011 в 15:37

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Есть разные виды приложений и их классификаций. Одна из них: приложения бывают трансформирующие, интерактивные и реактивные (реального времени). Так вот, первые из них, трансформирующие, характеризуются тем, что берут данные на входе (упрощённо — входной файл), работают какое-то время, обязательно конечное, и выдают результаты (упрощённо — в выходной файл). Таких задач очень много и участие человека там в процессе минимально. (Частный случай — это подзадачи какого-то интерактивного приложения). Вот для них и нужны консольные приложения. Ну и плюс интерактивные задачи, где диалог — не графический, а текстовый. Где-то так. Ну и задачи реального времени редко бывают с графическим интерфейсом. Плюс всякие сервера (http, ftp и т.д.)

Отслеживать
ответ дан 12 ноя 2011 в 6:19
7,293 15 15 серебряных знаков 14 14 бронзовых знаков
ага понятно, спасибо.
12 ноя 2011 в 6:41

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *