Как выучить язык программирования. Компьютерные языки программирования: виды, описание, применение и отзывы

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

Однако основные принципы работы компьютера, заложенные во времена их рождения, действуют до сих пор. Данные пере даются с помощью сигнала методом "имеется сигнал или нет". Так появился "бит" . Бит - это единица информации, которая может принимать значение 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-битные. Таких регистров у процессора несколько, и каждый из них предназначен для определен­ных целей. Существуют также регистры общего значения, которые программа мо­жет использовать на свое усмотрение.

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

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

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

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

Планшетный компьютер хорош тем, что всегда под рукой. Он скрасит ваше время ожидания в очереди или в дороге и позволит провести его более плодотворно - почитать новости или просто книгу, посмотреть фильм, послушать музыку, в конце концов, поиграть в игру. Кто-то использует планшет для работы - лично я оценил пользу этого устройства, когда занялся продажами инфопродуктов. У всех планшетов есть функция 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. Антивирусы бывают и бесплатные, но я не видел среди них ни одного, который бы обеспечивал действительно надежную защиту.

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

Что представляют собой компьютерные языки?

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

Какие языки программирования наиболее известные?

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

С/С++;
Java;
Python;
Visual Basic;
PHP.

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

Процедурный С/С++

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

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

Независимый и безопасный Java

Данный английский язык программирования был разработан компанией Sun Microsystems. За счет того, что написанная программа способна транслироваться в особый байт-код, она может функционировать независимо от типа операционной системы либо компьютерной архитектуры. Благодаря этому язык Java стал наиболее известным. Он встречается в следующих устройствах:

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

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

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

Если создать собственный сайт или способный делать динамические страницы. Он выступает в качестве одного из наиболее известных языков, когда необходимо создать сайты и написать веб-приложения. За счет того, что данный язык программирования разрабатывался с открытым кодом, его получилось довести до совершенства. Таким образом, он получил завидную популярность. PHP с легкостью взаимодействует с различными базами данных, начиная от MySQL и заканчивая Access. Наиболее известные сайты интернета, такие как Facebook или Wikipedia, созданы при использовании именно этого языка. Он достаточно прост в применении. Имеется даже статистика, результаты которой показывают, что более 60% программистов со всего мира, работающих на коде PHP, несколько ограниченно знакомы с английским языком. Компьютерная грамотность в данном случае ограничена только знанием требуемых функций и процедур.

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

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

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

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

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

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

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

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

Низкоуровневый язык программирования (язык программирования низкого уровня) - язык программирования, близкий к программированию непосредственно в машинных кодах используемого реального или виртуального (например, 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 возможно создание:

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

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

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

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

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

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

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

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

Как научиться программировать?

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

Изучите языки программирования

Во-первых, вам нужен настольный или портативный компьютер, что позволяет вам читать и выполнять свои программы. Программирование это умение общаться с аппаратной конфигурацией компьютера для выполнения различных вычислительных задач. Компьютер понимает только машинный язык, написанный на 1 и 0. Для нас, людей, для общения с компьютерами, были созданы языки программирования, чей код может быть преобразован в машиночитаемой форме составителями. Есть целый ряд языков программирования, которые изменяются в своих приложениях. Вам придется изучить по крайней мере дюжину основных языков программирования, который включает в себя C, C + +, Java, Perl, Lisp и Python.

Чтобы научиться основам программирования, начните обучение C или Python в начале. Используйте онлайн-ресурсы и книги по программированию, чтобы получить основы. Установите программы, по написанию кода и выполняйте их на вашем компьютере. Работайте на примерах и задачах, предусмотренных в книгах и электронных учебниках, чтобы написать свой собственный код. Одна из лучших книг, чтобы начать обучение «C» является « ». Еще одна хорошая книга « ».

Получить навык «С», а затем приступить к объектно-ориентированному программированию, что стало возможным благодаря C + +. Тогда получите навыки Java, Perl и , которые широко используются для веб-разработки. Изучите HTML, если вы планируете работать в области веб-разработки. Как вы можете видеть, есть много, материалов для изучения, и это займет не менее 5 - 6 лет, чтобы получить навыки в большинстве языков.

Начните писать код

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

Научитесь запускать Linux или Unix

Вы не можете называть себя программистом, пока не освоили операционные системы Linux и Unix. Установите дистрибутив Ubuntu на ваш компьютер и разберитесь с ним. Это даст вам все инструменты программирования, необходимые, наряду с компиляторами.

Компилятор – программа выполняющая компиляцию (трансляцию программы составленной на исходном коде).

Ученик - Эксперт - Программист

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

Читайте правила написание кода и продолжайте совершенствоваться

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

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

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