Язык для домашних компьютеров. Языки программирования. Основные минусы струйных принтеров

Язык для домашних компьютеров. Языки программирования. Основные минусы струйных принтеров

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

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

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

Какие языки используются для создания обычных прикладных программ (т.е. программ, написанных непосредственно для пользователей)? Их бесчисленное множество, самые популярные из них – C++ и Delphi. Они предоставляют наибольшее количество возможностей для разработки программ на все случаи жизни. Именно их используют профессиональные программисты.

Однако и С++, и Delphi были созданы на основе более простых языков. Для C++ это язык C (называют «Си»). Предшественник Delphi – это Pascal. Многие их учат ещё в школе на уроках информатики. Язык Pascal был создан именно для обучения программированию, так как является очень простым и понятным. Сейчас он используется практически во всех школах, колледжах, университетах и институтах.

После освоения Pascal изучение Delphi проходит, что называется «на ура». Такая последовательность освоения языков, т.е. сначала именно Pascal, а потом Delphi или C, C++, является весьма желательной. На вопрос «Какой язык программирования лучше» можно ответить, что для обучения начинающим лучше всего подойдет Паскаль (Pascal).

Для разработки мультфильмов и анимации была создана специальная программа – Adobe (Macromedia) Flash. Также Flash используют при разработке сайтов и для создания компьютерных игр. Язык, применяемый во Flash, – ActionScript. Он получил огромную популярность в наши дни, так как используется во всех современных интернет-проектах.

HTML является сокращением от англ. HyperText Markup Language и переводится как «язык разметки гипертекста». С его помощью создается большинство веб-страниц. Знание HTML значительно упрощает работу со своим блогом или сайтом, но не является при этом обязательным.

Более совершенные и функциональные (но более сложные) языки, чем HTML, – это PHP, Ajax, SQL.

Для разработки игр и программ на телефоны используются, в основном, два языка – Java и C++. Про C++ мы уже говорили, а Java является языком программирования, созданным на основе C++.

Для создания 3D игр и фильмов используют язык Python. Он даёт огромнейший спектр возможностей для управления 3D графикой.

Язык Фортран был разработан для сложных математических вычислений, создан в 1954-1957 годах. Слово Fortran произошло от первых букв: FORmula TRANslator, то есть, переводчик формул. Он выполняет математические, инженерные и различные научные задачи и применяется в очень мощных компьютерах.

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

P.S. Статья закончилась, но можно еще прочитать.

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

ВАЖНОЕ ЗАМЕЧАНИЕ: я намеренно не буду называть ни цифры (мегагерцы, гигабайты), ни названия производителей. Я изложу только основные принципы, которые помогут вам самим определиться и с цифрами и с ценами. Времена меняются, компьютерная техника развивается семимильными шагами, но основные принципы остаются. Еще стоит отметить, что статья предназначена для простых пользователей, использующих компьютер как рабочий инструмент. Я старался изъясняться доступным языком, вплоть до объяснения на пальцах, практически исключив цифры, поэтому просьба профессиональным пользователям и системным администраторам, которые вдруг это прочтут отнестись с пониманием и с юмором:)

Компьютер или ноутбук? А может планшета хватит?

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

Планшетный компьютер хорош тем, что всегда под рукой. Он скрасит ваше время ожидания в очереди или в дороге и позволит провести его более плодотворно - почитать новости или просто книгу, посмотреть фильм, послушать музыку, в конце концов, поиграть в игру. Кто-то использует планшет для работы - лично я оценил пользу этого устройства, когда занялся продажами инфопродуктов. У всех планшетов есть функция GPS, которая не даст потеряться в чужом городе или стране. То есть, планшетный компьютер - штука, безусловно, полезная. Однако в виду отсутствия полноценной клавиатуры планшет не подойдет тем, кому нужна "печатная машинка".

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

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

Заблуждения покупателей

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

  • Компьютер для работы и учебы дорогой, а для игр можно подешевле;
    Это не так. Системные требования игр намного больше, чем у офисных программ. Для работы в Word, Excel, 1С и пр. более чем достаточно самого дешевого ПК, стоимостью в 250-300 долларов (за системный блок). В то время как стоимость игрового компьютера может стремиться к нескольким тысячам долларов. В то же время, игры намного более требовательны к производительности ПК. Есть случаи, в которых для работы требуется мощный компьютер (о них будет рассказано чуть позже), но они редки.
  • Чтобы работать в интернет, нужен мощный компьютер.
    Чтобы найти нужную информацию, проверить электронную почту, пообщаться по аське, видео и т.д. достаточно самого дешевого компьютера. Некоторая "мощность" нужна для показа анимации, но любой современный компьютер с этой задачей легко справляется. Гораздо важнее наличие высокоскоростного канал связи. Даже старенький Пентиум-3, подключенный к "100-мегабитному интернету", будет работать в интернете гораздо быстрее, чем современный компьютер с 4-ядерным процессором, подключенный через медленный канал.
  • Для просмотра фильмов требуются мощный процессор и видеокарта.
    Это не так. Помню, много лет назад фильмы DivX и DVD прекрасно шли на Duron с частотой 900 мегагерц. С тех пор производительность компьютеров выросла в разы, а форматы, в которых записываются фильмы на диски, не претерпели практически никаких изменений. Исключение составляет разве что видео высокого разрешения (1080 строк, Full HD), для воспроизведения которого нужна бОльшая вычислительная мощность. По личному опыту скажу, что для воспроизведения видео в высоком разрешении вполне достаточно мощности процессора работающего на частоте 1.8ГГц и видеокарты начального уровня.
  • Для любых игр обязателен мощный компьютер
    Зависит от того - какие игры вы предпочитаете. Если современные 3-мерные бродилки, гонки, стратегии, то да. Если же вас больше интересуют логические игры, то они прекрасно заработают на самом дешевом ПК. Старые 3-мерные игры (если им лет 5) также будут прекрасно работать на недорогом ПК. То же самое касается подавляющего большинства браузерных игр (в соцсетях).

Для каких программ (не игр!) реально нужна большая вычислительная мощность?

Ниже приведены основные ресурсоемкие задачи (по мере увеличения системных требований).

  • Профессиональная работа с 2D графикой. Это обработка «плоских» изображений - фотографий, векторной графики, верстка, дизайн и т.д. В этом случае вам понадобится более мощный процессор и увеличенный объем оперативной памяти. Также для работы с графикой, равно как и всех остальных задач, необходим качественный монитор с большой диагональю (не меньше 23 дюймов).
  • Профессиональное программирование, работа с базами данных, решение сложных математических задач. Имеется в виду разработка серьезных приложений с использованием современных средств разработки, а не с Turbo Pascal или Borland C++ выпуска 1990-го года, которые до сих пор изучают на информатике в школах и на первых курсах вузов. Требования к компьютеру те же, что и при работе с 2D-графикой, за исключением случая, если вы являетесь разработчиком 3D-приложений - нужна еще мощная видеокарта (но тогда я удивляюсь, зачем вы это читаете? :)
  • Видеомонтаж, кодирование видео. Мощность процессора особенно актуальна, если собираетесь монтировать фильмы в разрешении 4К. К требованиям добавляется увеличенная емкость жесткого диска. А еще лучше - установка 2 жестких дисков (исходные данные на одном диске, результат на другом, такое разделение заметно ускорит работу).
  • Профессиональная работа с 3D-графикой. Здесь к требованиям добавляется мощная видеокарта, функции которой будут использоваться для ускорения рендеринга.

Серверные задачи, вроде баз данных, сетевые сервисы, оставим в покое - их выполнение на домашнем компьютере встречается крайне редко.

Для каких игр нужен мощный компьютер?

Как уже было сказано выше, исключительно для 3-мерных игр, c момента выхода которых прошло не более 3 лет. Для аркадных и логических игр вроде тетриса, ксоникса, шариков, а так же старых (но тем не менее интересных) бродилок и стратегий, особая мощность не нужна. Вообще у каждой игры есть минимальные системные требования, которые указывают, какими характеристиками должен обладать компьютер, чтобы на нем можно было играть в эту игру. Чтобы играть в эту игру с максимальными настройками графики и звука - умножьте ее минимальные системные требования в 2 раза.

Сводная таблица - зависимость выполняемых задач от стоимости системного блока

Здесь показано, насколько влияет мощность компьютера (а следовательно и его универсальность) на цену. Естественно, таблица приблизительная.

Стоимость системного блока: 250-300$ 400-500$ 800$ и более
Работа в офисных приложениях + + +
Работа в Интернет, с электронной почтой, скачивание файлов + + +
Прослушивание музыки + + +
Просмотр фильмов + + +
Игры с несложной графикой (Quake3, Heroes3-4, Zuma, шарики, пасьянсы, и пр. + + +
Хранение и просмотр, несложная коррекция цифровых фотографий + + +
Ведение бухгалтерии + + +
Видеомонтаж (для дома, для семьи / профессиональный) +/- +/+ +/+
Профессиональная обработка фотографий высокого разрешения - + +
Программирование несложных задач (лабораторные, курсовые) + + +
Создание сайтов + + +
Профессиональное программирование (создание коммерческих продуктов, решение сложных математических задач) - + +
Современные компьютерные игры - - +
Профессиональная работа с 3D-моделированием - - +

Из таблицы видно, что для большинства повседневных задач вполне достаточно компьютера младшей ценовой категории. Это так называемый «офисный компьютер». Компьютер для дома лучше выбирать из ценовой категории 400-500 долларов за системный блок, а если есть желание играть в современные игры, придется раскошелиться на 800-1000 долларов за системный блок.

Устройства - нужные и не очень. И если нужные, то сколько?

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

Процессор

Часто этим словом называют сам системный блок. Это неправильно. Процессор представляет собой небольшую микросхему размером 3 *3 см, а то и меньше. Это «мозг» компьютера. Основной характеристикой процессора, определяющего его быстродействие, является тактовая частота. Чем она больше, тем больше производительность.

Процессор

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

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

Что лучше - Intel или AMD?

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

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

Если нужен компьютер класса Hi-End и цена вас не особо волнует, ориентируйтесь на платформу Intel. Главное не забыть, что для обеспечения сбалансированности конфигурации желательно приобрести мощную видеокарту (которая стоит сопоставимо с процессором) и другие компоненты, которые не будут тормозить эту систему - быстрая память, качественная системная плата, быстрый жесткий диск, мощный блок питания.

Память

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

Вы сидите за столом и работаете с бумажными документами (формата А4). Документы хранятся в ящике стола. Площадь стола такова, что позволяет положить на нем всего один лист. Держать лист в руках нельзя - только на столе, либо в ящике. Это вас устраивает до тех пор, пока вам нужно работать одновременно только с одним документом. И вот возникает необходимость одновременной работы с двумя документами. Если площадь стола будет прежней, то вам придется постоянно перекладывать эти документы из ящика на стол и обратно. Это очень неудобно. Работа будет протекать очень медленно и утомительно. Но стоит увеличить площадь стола в 2 раза, как работа ускорится. Если увеличить в 4 раза, то она ускорится лишь в том случае, если вам нужно работать одновременно с 3-4 документами. На скорость же работы с 2 документами это увеличение площади стола никак не повлияет. И так далее. Таким образом, появляется разумный предел, до которого можно увеличивать площадь стола исходя из ваших задач.

А теперь проведем аналогию приведенного примера с устройством компьютера.

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

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

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


Оперативная память


Жесткий диск

Выводы

  • Чем больше объем кеш-памяти, тем быстрее процессор (при той же тактовой частоте) может обрабатывать данные.
  • Чем больше объем оперативной памяти (так же обозначаемой как ОЗУ, RAM), тем комфортнее будет работа - программы грузятся быстрее, компьютер реагирует на действия пользователя с минимальной задержкой. В некоторых случаях, увеличение объема оперативной памяти ускоряет работу больше чем установка более мощного процессора. Однако существует предел, больше которого память наращивать бессмысленно.
  • Чем больше объем жесткого диска, тем больше данных и программ можно записать и установить на компьютер.

Для чего нужны SSD-накопители?

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

От обычных жестких дисков SSD отличаются меньшим объемом, но гораздо большей скоростью обмена данными. Одно из наиболее эффективных решений придать старому компьютеру бодрости - установить в него SSD и использовать его в качестве системного диска. Для полноценной работы SSD-накопителя желательно, чтобы системная плата поддерживала протокол SATA-3, но даже при использовании SATA2 твердотельный диск работает заметно быстрее, чем обычный "винчестер".

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

Системная (материнская) плата

Не надо экономить на материнской плате! Очень часто в готовые компьютеры, продающиеся в магазинах установлены самые дешевые материнки. В рекламе и ценниках эта информация как правило не отображается. На работе ПК это как правило тоже не отображается (в течение гарантийного срока). Но пользователя может ожидать неприятный сюрприз в 2 случаях: когда нужно воткнуть в компьютер какую-то дополнительную плату, но вставлять ее некуда - слотов расширения мало и все они заняты. Во вторых, видимо, производители материнских плат очень мудро обозначают срок гарантии - 1-2 года. Я в своей практике встречал множество случаев, когда на 2-3 летнем компьютере выходила из строя материнская плата. Причем в 90% случаев, компьютер уже собранным в магазине и в нем были материнские платы младших серий, а зачастую и устаревшей модели (на момент покупки). Это означает, что в нее установлены процессор, память и, часто, видеокарта старого поколения, которые уже не продаются. Из-за этого вместе с вышедшей из строя системной платой приходится менять и процессор и память, и видеокарту. Такое восстановление бывает сравнимо по стоимости со стоимостью нового компьютера.

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

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

Видеокарта

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

Ничего конкретного советовать не буду, модели меняются одна за другой, за прогрессом в этой области не угонишься. В большинстве же случаев вполне достаточно недорогой видеокарты, возможно, даже интегрированной на системную плату. Видеокарта, способная удовлетворить среднего геймера стоит порядка 150-200 долларов. Если у вас запросы к графике выше среднего - готовьтесь раскошелиться на 300 и более долларов.

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

Производительность компьютера в игре оценивается частотой смены кадров (FPS - Frames per second, кадров в секунду). Для комфортной игры значение FPS должно быть не менее 60. При FPS=40 уже заметны, небольшие рывки в движении.

Иногда считают, что производительность компьютера в играх определяет только объем видеопамяти. Это не совсем так. Кроме нее очень важным компонентом видеосистемы является графический процессор. Видеопамять используется только для хранения текстур, графический процессор же отвечает за построение из этих текстур готовой 3-мерной картинки на экране. Чем больше производительность графического процессора, тем качественнее игровая картинка и больше плавность перемещения.

Таким образом, видеокарта стоимостью 60 долларов с 512 мегабайтами памяти будет слабее карты за 150 долларов с памятью 256 мегабайт.

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

Корпус

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

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

За электропитание отвечает блок питания. Именно от его способности выдавать стабильное напряжение питания на различные компоненты ПК зависит надежность компьютера в работе. Мощность современных блоков питания от 350-450 Вт. Качество блока питания можно косвенно по его массе. Чем он тяжелее, тем больше в нем элементов, фильтрующих помехи идущие по электросети, и, следовательно, он лучше. Не забывайте, чем больше производительность компьютера и чем больше в нем потребителей электроэнергии, тем мощнее должен быть блок питания.

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

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

Также очень полезной опцией является наличие на передней панели гнезд для подключения наушников, USB-флешек, устройства считывания карт памяти (карт-ридер).

Монитор

Современные ЖК-мониторы очень похожи друг на друга по характеристикам. Да и характеристика-то, о которой знает большинство всего две - размер экрана (в дюймах) и разрешение экрана (в пикселях). У большинства мониторов размером от 20 дюймов и более максимальное разрешение составляет 1920*1080 пикселей (так называемое FullHD). Более дешевые мониторы с диагональю до 19 дюймов часто имеют меньшее разрешение - 1380*768, иногда 1280*600 пикселей.

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

Еще один момент - какая матрица используется в мониторе. В основном матрицы бывают двух типов:

  • TN - быстрая и дешевая, но цветопрередачей не блещет. Больше подойдет для недорогих офисных компьютеров.
  • IPS (PLS) - стоит дороже, но имеет лучшую цветопередачу. Оптимально для работы с графикой и фото.

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

Клавиатура, мышь

Важно, чтобы клавиатура была удобной лично для вас. Покупка "эргономичной" клавиатуры (с подставкой под запястья) не всегда оправдана. Такая клавиатура занимает много места на столе и из-за этого, возможно, эта "эргономичность" принесет вам больше неудобств, нежели блага.

Мышку надо брать именно такую, которая вам удобна. Если у вас большая кисть, вам будет очень неудобно работать миниатюрной мышью. Для работы вполне достаточно 2-кнопочной мышки с колесиком. 5-7 кнопочные мыши - удел геймеров.

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

Привод DVD

Сейчас цены, характеристики и качество этих устройств сравнялось, и зачастую выбор привода DVD сводится лишь к тому, чтобы цвет передней панели соответствовал цвету корпуса. Если раньше эти устройства были дорогими, то сейчас средняя цена пишущего dvd-привода составляет 25 долларов. На нее и следует ориентироваться. Почти все приводы могут записывать 2-слойные диски. Однако этой функцией пользуются крайне редко, поскольку 2-слойные болванки намного дороже 1-слойных, во-вторых, скорость 2-слойных записи дисков невысока.

В основном DVD-привод используется для однократной установки программного обеспчения (операционной системы, драйверов), а потом может несколько лет оставаться неиспользованным.

Звук

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

Для прослушивания музыки разумнее выбрать стереосистему без сабвуфера, но с мощными низкочастотными динамиками, хорошо прорабатывающими басы. Поскольку музыка на CD записана именно в 2-канальном режиме (стерео), система из двух колонок воспроизведет ее наиболее точно, с сохраненим звуковой сцены (расположение инструментов по каналам). Естественно, колонки должны быть с хорошими характеристиками - широким частотным диапазоном и с хорошей линейностью АЧХ. Колонки обязательно должны быть деревянными. Пластмассовые корпуса в этом случае неприемлемы - из-за излишнего их резонанса звук будет излишне "бубнящий" и "дребезжащий". Как вариант - купить недорогие колонки для повседневного использования и хорошие наушники - чисто для музыки.

Для просмотра фильмов предпочтительнее системы с сабвуфером и несколькими сателлитами (5.1, 7.1). Звук в фильмах чаще всего адаптирован именно к такой конфигурации аудиосистемы. Есть важное замечание - для достижения эффекта 3-мерного звука место зрителя должно быть расположено в центре комнаты, сателлиты по углам, а экран - напротив зрителя. Вполне возможно, что с учетом вашего интерьера такая расстановка будет просто невозможна.

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

Принтер, сканер...

Как правило, для домашнего к компьютера не нужно ни то, ни другое. Однако, если есть необходимость что-то сканировать или печатать, перед нами встает новая проблема выбора. Как правило, человек, покупающий принтер для дома хочет приобрести непременно цветной аппарат. Не потому что нужна цветная печать, а потому что хочется чтобы она была (на всякий случай). Как правило, при этом выбор можно остановить на недорогом струйный принтере, печатать на нем все что угодно (как утверждает продавец), с прекрасным качеством... СТОП! Помечтали? А теперь ближе к реальности. Струйные принтеры, особенно недорогие - весьма капризные устройства.

Основные минусы струйных принтеров:

  • Засыхание чернил. Если на принтере не печатали какое-то время (2 недели, или более) вполне возможно появление при печати горизонтальных белых полосок. Это получается потому, что засохшие чернила блокируют сопла печатающей головки. Чтобы их прочистить нужно выполнить специальную процедуру очистки. При этом тратится до 10 процентов чернил из картриджа (за один раз).
  • Небольшой ресурс картриджей. На одной заправке едва ли удастся напечатать 300-400 листов текста и не более 100 (как правило) фотографий форматом 10 на 15. Стоимость нового комплекта картриджей сравнима со стоимостью принтера.

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

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

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

Сканеры в домашних условиях в основном используются для сканирования текста. Сканирование фотографий и фотопленок давно перестало быть массовой задачей домашних сканеров - спасибо цифровым фотоаппаратам. Как известно, разрешающая способность сканеров измеряется в dpi (число точек на дюйм). Недорогие сканеры имеют разрешение 600 dpi, те что подороже - 1200-2400 dpi и более. Для сканирования текста в основном используется разрешение 200-300dpi. Отсюда вывод - по разрешающей способности со сканированием текста может справится любой без исключения сканер. Другой вопрос - скорость сканирования. Чем она больше, тем лучше. Особенно это проявится, если нужно сканировать большой объем материала. Сканеры с интерфейсом USB 2.0 работают намного быстрее, чем с USB1.0 (хотя, сейчас таких, наверно уже не найти).

Программное обеспечение

Я не буду здесь рассуждать о том, какой Windows лучше ставить (и стоит ли его ставить вообще). Большинство компьютеров и ноутбуков, которые продаются в магазинах уже имеют предустановленную операционную систему. На данный момент это преимущественно Windows 10. Если вы покупаете компьютер без операционной системы, вы можете установить любую систему - платную или бесплатную, лицензионную или "обыкновенную". Главное, чтобы она соответствовала возможностям компьютера и поддерживала все те устройства, что находятся внутри него.

Хотелось бы дать всего одну рекомендацию по поводу программного обеспечения. Если компьютер будет использоваться для работы и на нем будут храниться ценные данные, задушите жабу и купите сразу нормальный лицензионный антивирус. Касперский, Нод32, Доктор Веб... Без разницы какой! Их стоимость для домашнего использования редко превышает 1000 рублей в год, часто за эту цену можно установить программу на несколько компьютеров. "Обыкновенный" (в смысле, нелицензионный) антивирус со скачанным из интернета ключом - сомнительный помощник. Ключ в любой момент может быть заблокирован и вы останетесь без антивирусной защиты. Через несколько недель антивирусная программа из "защитника" превращается в "бесполезный замедлитель компьютера". Некоторые пользователи на это не обращают внимания месяцами и каждый раз машинально закрывают окно предупреждения. В итоге на компьютере постепенно начинает плодиться всякая зараза, занесенная из интернета и флешек и в конце концов компьютер начинает жить своей жизнью и работать на нем становится невозможно. Стоимость услуг специалиста, который вернет его к нормальной жизни, как правило, намного больше стоимости лицензионного антивируса.

p.s. Антивирусы бывают и бесплатные, но я не видел среди них ни одного, который бы обеспечивал действительно надежную защиту.

ЯЗЫК ПРОГРАММИРОВАНИЯ И ЕГО ВИДЫ

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

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

Низкоуровневый язык программирования (язык программирования низкого уровня) - язык программирования, близкий к программированию непосредственно в машинных кодах используемого реального или виртуального (например, Java, Microsoft .NET) процессора. Для обозначения машинных команд обычно применяется мнемоническое обозначение. Это позволяет запоминать команды не в виде последовательности двоичных нулей и единиц, а в виде осмысленных сокращений слов человеческого языка (обычно английских).

ЯЗЫКИ ПРОГРАММИРОВАНИЯ НИЗКОГО УРОВНЯ

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

Рис.1. Пример машинного кода и представления его на ассемблере

Трансляторы делятся на:

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

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

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

Преимущества

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

Недостатки

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

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

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

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

Ассемблер - язык низкого уровня, что широко применяется до сих пор.

ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ

Первым языком программирования высокого уровня считается компьютерный язык Plankalkül, разработанный немецким инженером Конрадом Цузе ещё в период 1942-1946 годах. Однако транслятора для него не существовало до 2000 г. Первым в мире транслятором языка высокого уровня является ПП (Программирующая Программа), он же ПП-1, успешно испытанный в 1954 г. Транслятор ПП-2 (1955 г., 4-й в мире транслятор) уже был оптимизирующим и содержал собственный загрузчик и отладчик, библиотеку стандартных процедур, а транслятор ПП для ЭВМ Стрела-4 уже содержал и компоновщик (linker) из модулей. Однако, широкое применение высокоуровневых языков началось с возникновением Фортрана и созданием компилятора для этого языка (1957).

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

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

Примеры: C, C++,C#, Java, Python, PHP, Ruby, Perl, Паскаль, Delphi, Lisp . Языкам высокого уровня свойственно умение работать с комплексными структурами данных. В большинстве из них интегрирована поддержка строковых типов, объектов, операций файлового ввода-вывода и т. п.Недостатком языков высокого уровня является больший размер программ по сравнению с программами на языке низкого уровня. Поэтому в основном языки высокого уровня используются для разработок программного обеспечения компьютеров и устройств, которые имеют большой объем памяти. А разные подвиды ассемблера применяются для программирования других устройств, где критичным является размер программы.

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

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

Простой пример - функция, вычисляющая синус числа. Она может называться sin, ее исходные данные состоят из одного вещественного числа, pезультат - тоже вещественное число, получаемое путем суммиpования отpезка известного бесконечного pяда (или выполнения команды fsin математического сопроцессора).

Набоp действий, котоpые могут выполняться внутpи функции очень огpаничен. Он состоит из вычисления фоpмульных выpажений, вызовов дpугих функций (что не является отдельным действием - вызов функции часто входит в выpажение), присваиваний, ветвлений (гpуппа действий, котоpая выполняется лишь при истинности некоторого условия) и циклов (гpуппа действий, выполняемых многокpатно, число повтоpений зависит от некотоpого условия). Действия могут быть вложены дpуг в дpуга. Может показаться, что набоp из ветвлений и циклов слишком мал, но это не так. Доказано, что любой алгоpитм, составленный из функциональных блоков (на низком уpовне - арифметических команд и команд пеpесылки данных), условных и безусловных пеpеходов может быть пpеобpазован в эквивалентный алгоpитм, составленный только из стpуктуpных блоков - функциональных блоков, ветвлений и циклов с пpовеpкой условия в конце. Это утвеpжение было сфоpмулиpовано в статье Бома и Джакопини (Corrado Bohm and Giuseppe Jacopini) "Flow diagrams, turing mashines and languages with only two formation rules" (Communications of ACM, Volume 9 / Number 5 / May, 1965).

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

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

Обычно языки пpогpаммиpования пpедоставляют достаточно огpаниченный набоp пpедопpеделенных типов пеpеменных и сpедства создания новых типов. Пpедопpеделены некотоpые из следующих типов:

    натуpальные и целые числа pазличной pазpядности;

    вещественные числа;

    символы - буквы, цифpы, знаки аpифметических действий и пp.;

    стpоки символов;

    логические значения;

    указатели

Действия над данными могут выполняться с помощью функций и операторов.

В языке C, напpимеp, не опpеделены символы, строки и логические значения. Его тип char на самом деле является коpотким целым и допускает аpифметические действия.

Новые типы обpазуются путем объединения в единое целое нескольких элементов одного типа (массив, каждый его элемент имеет поpядковый номеp) или элементов pазных типов (стpуктуpа, каждый ее элемент имеет собственное имя). Напpимеp, в большинстве языков комплексные числа не опpеделены, но их можно опpеделить:

В некоторых языках (например, в C++) для создаваемых типов могут быть определены и операторы, что позволяет использовать переменные этих типов так же, как и переменные предопределенных типов.

Есть и другие способы создания новых типов. Например, в языке Pascal возможно создание:

    типов-диапазонов (посредством задания диапазона значений);

    типов-перечислений (посредством перечисления возможных значений);

    типов-множеств

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

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

Однако основные принципы работы компьютера, заложенные во времена их рождения, действуют до сих пор. Данные пере даются с помощью сигнала методом "имеется сигнал или нет". Так появился "бит" . Бит - это единица информации, которая может принимать значение 0 или 1. Восемь бит объединяются в байт, один байт равен 8 битам. Число 8 появилось из-за того что первые компьютеры были восьмиразрядными и могли работать одновременно только с 8 разрядами, например, 01011001. Первые нули можно убирать.

В один байт можно записать любое число от 0 до 255. Указанный диапазон чисел очень мал, поэтому чаще используют более крупные диапазоны: два байта = слово, два слова = двойное слово.

Компьютер стал работать в двоичной системе счисления. Любое десятичное число можно записать как двоичное. Подробное преобразование рассматривать не будем, если кому-то интересно, пишите в комментариях – расскажу.

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

Шестнадцатеричная система выглядит по-другому. Каждый разряд со­держит шестнадцать состояний. Поэтому один разряд может принимать значения: 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D , Е, F . Буква "А" соответствует цифре 10 в десятичной системе, "В" - 11 и т. д.

Например, число 1 B в шестнадцатеричной системе равно 27 в десятичной.

На протяжении всех материалов мы будем иногда встречаться с шестнадцатеричной сис­темой исчисления. В этом случае, чтобы отличать шестнадцатеричное число от десятичного, перед ним будет стоять знак #, например, #25, так принято в Delphi .

С числами с плавающей точкой работа идёт совершенно не так, рассматривать это мы не будем.

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

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

1.2. Машинный язык

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

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

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

Например, команда сложения двух регистров в шестнадцатеричной системе выглядит так: $03С3. Это мало о чем го­ворит, и запомнить такую команду очень тяжело. Намного проще написать "сло­жить число 1 и число 2".

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

1.3. История языков программирования

Язык, на котором пишется программа, называется языком программирования.

Первым компилятором был Assembler (переводится как "сборщик"). Писать на нем почти так же сложно, как и в ма­шинных кодах, но теперь уже использовались не числа, а понятные человеку слова .

Текст на рисунке можно разделить на три колонки:

· адрес инструкции;

· машинный код инструкции;

· код на языке Ассемблера.

Например, команда копирования регистров выглядела так: mov еах, ebx . В данном случае mov - это команда языка программирования, еах и ebx - имена регистров.

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

После создания ассемблера языки программирования стали появляться один за другим. Так появились С, ADA , FoxPro , Fortran , Basic , Pascal и др. Некоторые из них были предназначены только для обучения, другие были ориентиро­ваны на профессиональных программистов.

Язык Assembler в настоящее время в основном используется только в качестве вставок для языков высоко­го уровня, а машинные коды используются для написания того, что не может сделать компилятор.

Затем получило развитие объектно-ориентированное программирование. Язык С превратился в C++, Pascal в Object Pascal и т. д.

Последней крупной революцией, происходящей в программировании, считается переход на визуальное программирование. Этот переход происходит в настоящее время. Визуальность дает еще более удобные средства разработки для бы­строго написания кода, но проигрывает ООП по быстроте работы. Одни из часто используемых языков, поддерживающих визуальное программирование, являются Delphi и C #, хотя прогресс не стоит на месте и визуальные компоненты появляются для многих других языков.

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

1.4. Исполнение машинных команд

Кроме байта существуют и другие размерности:

· 1 килобайт = 1024 байт;

· 1 мегабайт = 1024 килобайт;

· 1 гигабайт = 1024 мегабайт.

· 1 терабайт = 1024 гигабайт.

· и т.д.

В компьютере большинство значений являются степенью числа 2, потому что компьютер оперирует двоичной системой, и таким образом можно максимально эффективно использовать его воз­можности. Именно из-за этого при расчёте размерностей используется 1024 (2 в степени 10).

Рассмотрим некоторые понятия.

Сегмент - это область внутренней памяти компьютера.

Когда операционные системы были 16-битными, процессор не мог работать с памя­тью размером более 64 килобайт, потому что это максимальный размер области памяти, который можно адресовать, используя в этих целях адрес длиной в два байта. Поэтому память делилась на сегменты по размеру и по назначению. В дан­ный момент используются 32-разрядныю ОС, которая может адресовать до 4 Гбайт оперативной памяти и 64-разрядные ОС. Поэтому можно сказать, что память стала сплошной. Однако деление ее по назначению все-таки осталось.

Существуют следующие сегмент s ы памяти:

· сегмент кода - область памяти, в которую загружается машинный код, который бу­дет потом выполняться процессором;

· сегмент данных - область памяти для хранения данных;

· сегмент стека - область памяти для хранения временных данных и адресов возврата из процедур.

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

Регистр - ячейка памяти в процессоре. Её размер зависит от разрядно­сти. В 32-разрядных процессорах ячейки 32-битные, но есть и 64-битные. Таких регистров у процессора несколько, и каждый из них предназначен для определен­ных целей. Существуют также регистры общего значения, которые программа мо­жет использовать на свое усмотрение.

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

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

Первый машинный язык был придуман в 1941 году Конрадом Цузе, который является изобретателем аналитической машины. Чуть позже, в 1943 г., Говард Эйкен создал машину "Марк-1", способную считывать инструкцию на уровне машинного кода.

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

Классификация языков программирования

На данный момент существует более 300 языков программирования. Каждый из них имеет свои особенности и подходит для одной определенной задачи. Все языки программирования можно условно разделить на несколько групп:

  • Аспектно-ориентированные (основная идея - разделение функциональности для увеличения эффективности программных модулей).
  • Структурные (в основе лежит идея создания иерархической структуры отдельных блоков программы).
  • Логические (в основе лежит теория аппарата математической логики и правил резолюции).
  • Объектно-ориентированные (в таком программировании используются уже не алгоритмы, а объекты, которые принадлежат определенному классу).
  • Мультипарадигмальные (сочетают в себе несколько парадигм, и программист сам решает, каким языком воспользоваться в том или ином случае).
  • Функциональные (в качестве основных элементов выступают функции, которые меняют значение в зависимости от результатов вычислений исходных данных).

Программирование для начинающих

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

  • Basic придуман в 1964 году, относится к семейству высокоуровневых языков и используется для написания прикладных программ.
  • Python ("Питон") довольно легко выучить благодаря простому читаемому синтаксису, преимущество же в том, что на нем можно создавать как обычные десктопные программы, так и веб-приложения.
  • Pascal ("Паскаль") - один из древнейших языков (1969 г.), созданных для обучения студентов. Его современная модификация имеет строгую типизацию и структурированность, однако "Паскаль" - вполне логичный язык, который понятен на интуитивном уровне.

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

Новички имеют возможность ускорить изучение программирования и его основ благодаря специальным инструментам. Основной помощник - это интегрированная среда разработки программ и приложений Visual Basic («Визуал Бейсик» одновременно является и языком программирования, который унаследовал стиль языка Basic 1970-х годов).

Уровни языков программирования

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

Низкоуровневые языки предназначены для создания машинных команд для процессоров. Главное их преимущество в том, что они используют мнемонические обозначения, т. е. вместо последовательности нулей и единиц (из двоичной системы счисления) компьютер запоминает осмысленное сокращенное слово из английского языка. Самые известные языки низкого уровня - это "Ассемблер" (существует несколько подвидов этого языка, каждый из которых имеет много общего, а отличается лишь набором дополнительных директив и макросов), CIL (доступен в платформе.Net) и Байт-код JAVA.

Языки программирования высокого уровня: список

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

Следующий список языков программирования: C ("Си"), C# ("Си-шарп"), "Фортран", "Паскаль", Java ("Ява") - входит в число самых используемых высокоуровневых синтаксисов. Он обладает следующими свойствами: эти языки работают с комплексными структурами, поддерживают строковые типы данных и операции с файлами ввода-вывода информации, а также имеют преимущество - с ними гораздо проще работать благодаря читабельности и понятному синтаксису.

Самые используемые языки программирования

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

  • языки ООП: Java, C++, Python, PHP, VisualBasic и JavaScript;
  • группа структурных языков: Basic, Fortran и Pascal;
  • мультипарадигмальные: C#, Delphi, Curry и Scala.

Область применения программ и приложений

Выбор языка, на котором написана та или иная программа, во многом зависит от области ее применения. Так, например, для работы с самим "железом" компьютера (написания драйверов и поддерживающих программ) лучшим вариантом станет C ("Си") или С++, которые входят в основные языки программирования (список смотрите выше). А для разработки мобильных приложений, в том числе игр, следует выбрать Java или С# ("Си-шарп").

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



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows