1-freelance.ru

Журнал "Фрилансер"
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Языки и сферы их применения. Какой язык программирования выбрать

Языки и сферы их применения. Какой язык программирования выбрать?

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

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

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

Веб программирование

Начнем с наиболее простой для входа сферы – веб-программирования. За счет того, что сфера проста, то и обилие языков, подходящих для этой сферы – очень большое.

Со стопроцентной уверенностью можно сказать, что здесь вам нужно изучить: HTML , CSS и JavaScript . HTML и CSS – позволят вам указать разметку вашего сайта. За счет них будет сказано что и где должно находиться, а также какие стили нужно добавить.

JavaScript в современном мире можно не любить, но если интересует веб, то знать его необходимо. JS используется на стороне клиента для обработки функций на сайте (про Node JS мы пока не говорим). По статистике JS используют 97% проектов, что требуют функционала на стороне клиента. Остальные 3%, по той же статистике, принадлежат к Flash, но уверяем вас, это явно какие-то гики, ибо Флэш – уже прошлое.

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

Если внешняя часть ( Front-end ), тогда вам стоит углубляться в изучение библиотек по типу React JS , Vue JS , Angular и даже jQuery (его, кстати, все равно еще нужно изучать).

Изучив стек HTML, CSS, JS, а также одну из новомодных библиотек вы уже сможете работать как Front-end разработчик.

Если интересует сервер ( Back-end ), то выбор здесь побольше. По сути вы можете использовать любой язык, что подходит для работы на сервере. Таковых языков много: от всем известного PHP и до Ruby , C++ , C# и так далее.

На самом деле для работы с сервером подходит очень много языков: Python , Java , JavaScript , PHP , Ruby, Go и еще многие другие. Здесь сложно сказать что именно вам стоит выбрать, но можно лишь сделать небольшую подсказку.

Если хотите быстро начать и не хотите сложных вещей при изучении, то выбирайте PHP. Если интересует красивый синтаксис и относительно простой формат изучения – тогда Python. Если хотите создавать что-то очень крупное, к примеру, веб систему для банка, то можно выбирать Java, C++ или, если уж на то пошло, язык Go. В то же время, если нравиться язык JavaScript, то можно и на нем все писать, используя технологию Node JS.

В общем выбор тут колоссальный. Я бы рекомендовал посмотреть в сторону PHP, Python или же Java, но такая рекомендация лишь по той причине, что мне они больше понравились по структуре проекта и легкости его создания. Другой же программист скажет, что это чушь и стоит выбрать тот же Ruby.

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

Разработка игр

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

Если говорить про игровые движки, то выбор побольше. Для крупных 3D проектов стоит выбирать крупные движки: Unreal Engine или же CryEngine. Минус в том, что мало по ним документации в сравнении с более популязированными движками как, например, Unity.

Unity можно использовать если ваши амбиции не столь велики и вы хотите создать хорошую 2Д или 3Д игру.

При выборе движка можно порекомендовать взглянуть на Unreal Engine (для него учите язык С++), Unity (и язык C#), а также движковому Godot (и язык Python). Последний очень прост в освоении и плюс в нем можно писать код, используя синтаксис языка Python.

Андроид разработка

Если вы хотите в будущем разрабатывать приложения под Андроид, то выбор тут невелик. Вам нужно сто процентов изучить язык Java, а далее изучить работу внутри специальной среды – Android Studio.

Читайте так же:
Монтаж видео в davinci resolve

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

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

iOS разработчик

Разработчики на iOS обладают минимальным выбором языков программирования. Хотите писать под iOS – изучайте язык Swift . Он разработан компанией Apple и на сегодняшний день является наиболее верным вариантом написания программ под iOS.

Также есть язык Objective C, но его даже компания Apple блокирует и говорит больше на нем не писать программы под их устройства.

Разработка ПО

Если хотите создавать ПО для компьютеров, то выбор может быть сделан из нескольких популярных языков. Хотите разрабатывать под систему Windows или Linux, тогда выбирайте между языками Си, С++, C# или же Java. Хотите разрабатывать под Mac, то выбирайте Swift, Java или же Си.

Тут все просто. Нужен универсальный язык, то это либо Си / C++, либо Java. Нужен язык лишь для разработки под Мак – Swift. Нужен язык лишь под Windows, тогда можно выбрать Си, если не боитесь сложностей, С++, если также не боитесь сложностей, но хотите уровень разработки чуть попроще, C# если хотите кайфовать от программирования, а на производительность не столь важно и Java, если нужно разработать проект для одновременно нескольких платформ.

Нейронные сети

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

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

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

Анализ данных

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

Заключительная часть

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

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

Ниже вы дополнительно можете просмотреть видео на эту тему:

Что такое программирование и язык программирования

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

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

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

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

Читайте так же:
Мобильное приложение для определения местоположения

Что такое компьютерная программа

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

Языки программирования и их история

Так какой же язык понятен компьютеру, в каком виде следует вносить информацию в его память, чтобы он потом делал то, что мы хотим. Компьютер – это электронное вычислительное устройство. Вычислительное! Он работает с числами, складывает, вычитает, сравнивает. Больше ни с чем. Но как же? Ведь мы привыкли обрабатывать на компьютере не только числовую информацию, также текстовую и графическую. Поэтому нам кажется, что компьютер работает не только с числами. Фокус заключается в том, что любую информацию, в том числе текстовую и графическую можно закодировать числами. Все действия компьютер выполняет над числами. И только когда мы обращаемся к данным, эти числа определенным образом декодируются.

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

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

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

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

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

Введение в язык программирования C

C — это достаточно «древний» язык программирования, он сформировался в начале 70-х. Не смотря на это, C — живой язык в том смысле, что он активно применяется в настоящее время. Он был придуман, использовался и используется для написания частей программного кода Unix-подобных операционных систем. Также на нем пишут утилиты, компиляторы и реже прикладные программы. Поэтому C называют системным языком программирования.

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

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

Подходит ли C для первого знакомства с программированием? Если вы не обучаетесь в вузе по специальности, связанной с IT, то нет. C предполагает понимание организации и принципов работы аппаратного обеспечения, в частности – памяти. Здесь многое делается с помощью указателей, они играют ключевую роль; эта тема достаточно сложная для понимания и обычно не изучается в школе.

Читайте так же:
В какой программе лучше делать таблицы

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

Среды и компиляторы для программирования на C

Если вы пользуетесь одним из дистрибутивов GNU/Linux, вам подойдет любой текстовый редактор с подсветкой синтаксиса, также понадобятся GCC и терминал.

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

C – компилируемый язык программирования. В GNU/Linux для получения исполняемых файлов используется GCC – набор компиляторов, включающий в том числе компилятор для C. Чтобы из исходного файла (обычно таким файлам дают расширение *.с) получить исполняемый, надо выполнить в терминале команду примерно следующего вида:

, где gcc — команда, запускающая программу, выполняющую компиляцию и иные действия; -o – ключ, сообщающий, что мы вручную указываем имя исполняемого файла; hello – имя получаемого исполняемого файла; hello.c – имя файла с исходным кодом. Имя исполняемого файла можно не указывать:

В этом случае исполняемый файл будет иметь имя по умолчанию a.out.

Для Windows существует свой набор компиляторов – MinGW. Его можно использовать самостоятельно, однако он входит в состав простой среды разработки Dev-C++, которая может оказаться хорошим выбором для обучения программированию на языках C и С++.

При сохранении выбирайте тип файла «C source files (*.c)». Компиляция и запуск программы выполняется при нажатии клавиши F9. После исполнения программа сразу закрывается и результат невозможно увидеть. Чтобы этого не происходило, прописывают две дополнительные строки: #include <conio.h> и getch(). (Возможно это не актуально для более новой версии Dev-C++.)

«Hello World» в GNU/Linux:

«Hello World» в Windows:

С другой стороны, существует большое количество кроссплатформенных сред разработки. Например, Eclipse + модуль CDT, KDevelop, CLion.

«Hello World» на C

На примере простейшей программы сразу отметим некоторые особенности языка программирования C.

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

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

Функция printf() предназначена для вывода данных. Ее назначение аналогично функции print() в Python. Однако функция printf() после вывода не выполняет переход на новую строку. Поэтому для перехода используется специальный символ, который обозначается комбинацией n.

Выражения на языке C разделяются точкой с запятой.

В языке C функции ввода-вывода не являются частью языка. Например, в Python нам не надо импортировать никакой модуль, чтобы пользоваться функциями print() и input(). В C мы не можем просто вызвать функцию printf(), т. к. в самом C ее просто нет. Эту функцию, а также ряд других, можно подключить с помощью заголовочного файла stdio.h. Именно для этого в начале программы прописана строка #include <stdio.h> . Include с английского переводится как «включить», а stdio есть сокращение от «стандартный ввод-вывод (input-output)».

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

Закомментируйте 1 первую строчку кода программы HelloWorld. Попробуйте скомпилировать программу. Удалось ли получить исполняемый файл? Какое предупреждение выдал компилятор?

1 // — однострочный комментарий на языке C; /* … */ — многострочный комментарий на языке C.

Программирование

Программи́рование — процесс создания компьютерных программ.

По выражению одного из основателей языков программирования Никлауса Вирта, «Программы = алгоритмы + структуры данных» [1] [2] .

Программирование основывается на использовании языков программирования, на которых записываются исходные тексты программ.

Содержание

История [ править | править код ]

205 год до н. э. [3] (150 год до н. э. [4] ) — Антикитерский механизм из Древней Греции был калькулятором, использовавшим шестерни различных размеров и конфигурации, обусловливавших его работу [5] , по отслеживанию метонова цикла, до сих пор использующегося в лунно-солнечных календарях [6] .

Читайте так же:
Браузер телевизора не воспроизводит видео

1206 год — Аль-Джазари построил программируемый автомат-гуманоида. Одна система, задействованная в этих устройствах, использовала зажимы и кулачки, помещённые в деревянный ящик в определённых местах, которые последовательно задействовали рычаги, которые, в свою очередь, управляли перкуссионными инструментами [ источник не указан 1377 дней ] .

1804 год — построен жаккардовый ткацкий станок, построенный Жозефом Мари Жаккаром, который произвёл революцию в ткацкой промышленности, предоставив возможность программировать узоры на тканях при помощи перфокарт, его иногда считают первым программируемым устройством [ источник не указан 1377 дней ] .

19 июля 1843 года — Чарлз Бэббидж разработал (но не смог её построить) «Аналитическую машину» — первое программируемое вычислительное устройство [ источник не указан 1377 дней ] .

19 июля 1843 года — графиня Ада Августа Лавлейс, дочь английского поэта Джорджа Байрона, написала первую в истории человечества программу для Аналитической машины. Эта программа решала уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости. В своей первой и единственной научной работе Ада Лавлейс рассмотрела большое число вопросов. Ряд высказанных ею общих положений (принцип экономии рабочих ячеек памяти, связь рекуррентных формул с циклическими процессами вычислений) сохранили своё принципиальное значение и для современного программирования [ источник не указан 1377 дней ] .

В материалах Бэббиджа и комментариях Лавлейс намечены такие понятия, как подпрограмма и библиотека подпрограмм, модификация команд и индексный регистр, которые стали употребляться только в 1950-х годах [ источник не указан 1377 дней ] . Однако ни одна из программ, написанных Адой Лавлейс, никогда так и не была запущена [ источник не указан 1377 дней ] .

Первым широко известным и успешным языком программирования высокого уровня был Fortran (Фортран), разработанный с 1954 по 1957 год командой исследователей IBM во главе с Джоном Бэкусом. Успех Фортрана привёл к образованию комитета учёных по разработке «универсального» компьютерного языка. Отдельно Джон Маккарти из Массачусетского технологического института разработал язык программирования Lisp (основанный на лямбда-исчислении), первый язык, возникший в академических кругах и получивший успех. С успехом этих начальных усилий языки программирования стали активной темой исследований в 1960-х и далее.

Первые книги по программированию в СССР

Первой советской открытой книгой по программированию, электронным вычислительным машинам и их различным применениям была выпущенная в начале 1956 года монография Анатолия Ивановича Китова «Электронные цифровые машины» [7] [8] . Заключительная треть этой книги посвящена «Неарифметическому использованию ЭВМ» — применению компьютеров для управления производственными процессами, решению задач экономики, искусственного интеллекта, машинного перевода и т. д. Книга переведена на несколько иностранных языков и опубликована в США, Китае, Польше, Чехословакии и других странах. Об этой книге Президент Академии наук СССР Г. И. Марчук писал «Вышедшая в 1956 году книга А. И. Китова „Электронные цифровые машины“ фактически сделала переворот в сознании многих исследователей». Выдающийся учёный современности В. М. Глушков отмечал: «А. И. Китов — признанный пионер кибернетики, заложивший основы отечественной школы программирования и применения ЭВМ для решения военных и народнохозяйственных задач. Я сам, как и десятки тысяч других специалистов, получил свои начальные компьютерные знания из его книги „Электронные цифровые машины“ — первой отечественной книги по ЭВМ и программированию». Профессор Мичиганского университета Джон Карр (John Carr, USA) в своей монографии «Лекции по программированию» (1958, США) писал о том, что, проанализировав по рассматриваемой тематике порядка 150 выпущенных в мире на тот момент времени книг, вопросы как ручного, так и автоматического программирования лучше всего освещены в книге Анатолия Китова.

Через шесть месяцев в том же 1956 году вышла в свет под редакцией А. И. Китова книга А. И. Китова, Н. А. Криницкого и П. Н. Комолова «Элементы программирования» (для электронных вычислительных машин). Эта почти трёхсотстраничная книга стала второй в СССР общедоступной компьютерной монографией. В заключении этой книги продекларировано: «Широкое применение этих машин (ЭВМ) поднимет на новый небывало высокий уровень все виды производства в нашей стране, позволит резко повысить материальное благосостояние нашего народа и значительно укрепить обороноспособность нашей Родины». Данные две книги, покрыли громадный дефицит литературы по ЭВМ и программированию, существовавший в то время в Советском Союзе.

Вышедшая в свет в 1959 году книга «Электронные цифровые машины и программирование» Китова А. И. и Криницкого Н. А. была первым в СССР официальным учебником по ЭВМ и программированию, официально допущенным Министерством образования СССР для обучения в ВУЗах и университетах. Об этой книге Президент Академии наук СССР Г. И. Марчук писал: «В 1959 году появился другой фундаментальный труд А. И. Китова, написанный вместе с Н. А. Криницким — „Электронные цифровые машины и программирование“. Это была фактически энциклопедия науки об ЭВМ. Многие поколения студентов в университетах и вузах страны с помощью этой замечательной книги получили фундаментальное образование и стали первоклассными учёными во многих областях знаний. Книги А. И. Китова, написанные в начале эры ЭВМ в нашей стране, не должны быть забыты». Эта книга была издана в Румынии, Венгрии, Германской демократической республике и ряде других стран. Второе стереотипное издание книги «Электронные цифровые машины и программирование» появилось в 1961 году. Общий тираж иностранных и двух советских изданий составил свыше 130 000 экземпляров. Об этом учебнике-энциклопедии в своих воспоминаниях ветеран кафедры вычислительной техники МЭИ (первая кафедра ЭВМ в стране), д.т. н., профессор А. К. Поляков написал так: «По-моему мнению, учебник А. И. Китова и Н. А. Криницкого „Электронные цифровые машины и программирование“ (1959) в то время был лучшим в мире». .

Читайте так же:
Браузер не грузит страницы интернет есть

Языки программирования [ править | править код ]

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

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

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

В некоторых языках вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины», также называемый байт-кодом (byte-code). Такой подход применяется в Forth, некоторых реализациях Lisp, Java, Perl, Python, языках для .NET Framework.

Инструменты [ править | править код ]

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

В процессе программирования в настоящее время широко используются интегрированные среды разработки [9] [10] , в состав которых обычно входят:

    для ввода и редактирования текста программ [10] ; для отладки (поиска и устранения ошибок); для преобразования текста программы в машинное представление; для сборки программы из нескольких модулей;
  • другие служебные модули и инструменты.

Примечания [ править | править код ]

  1. Вирт Н. Алгоритмы + структуры данных = программы. — М.: Мир, 1985;
  2. Вирт Н. Алгоритмы и структуры данных. Новая версия для Оберона + CD. М.: ДМК Пресс, 2010. ISBN 978-5-94074-584-6, 0-13-022005-9
  3. Антонов Е. «Древнегреческий компьютер» оказался древнее, чем считалось   (рус.)  // Наука и жизнь. — 2014. — 11 декабря ( № 142 ).
  4. ↑The History of the Antikythera Mechanism   (англ.) . — Сайт, посвящённый Антикитерскому механизму.
  5. ↑Ancient Greek Computer’s Inner Workings Deciphered. National Geographic News. November 29, 2006.
  6. Freeth, Tony; Jones, Alexander; Steele, John M.; Bitsakis, Yanis. Calendars with Olympiad display and eclipse prediction on the Antikythera Mechanism  (англ.)  // Nature : journal. — 2008. — 31 July ( vol. 454 , no. 7204 ). — P. 614—617 . — doi:10.1038/nature07130. — PMID 18668103.
  7. А. И. Китов. Электронные цифровые машины. — Москва, 1956.
  8. ↑Основные публикации Китова А. И.  (неопр.) .
  9. Архангельский А.Я. Программирование на С++Builder 6. — Москва: БИНОМ, 2003. — 1152 с. — ISBN 5-7989-0239-0.
  10. 12Макки Алекс. Введение .Net 4.0 и Visual Studio 2010 для профессионалов. — Москва: ООО «И.Д. Вильямс», 2010. — 416 с. — ISBN 978-5-8459-1639-6. — ISBN 978-1-43-022455-6.

Литература [ править | править код ]

  • Дейкстра Э. Дисциплина программирования = A discipline of programming. — М. : Мир, 1978. — 275 с.
  • Роберт У. Себеста. Основные концепции языков программирования / Пер. с англ. — 5-е изд. — М. : Вильямс, 2001. — 672 с. — ISBN 5-8459-0192-8 (рус.) ISBN 0-201-75295-6 (англ.).
  • Дональд Кнут. Искусство программирования. В четырёх томах / Пер. с англ. — М. : Вильямс, 2001 − 2013.

Ссылки [ править | править код ]

  • Книги в Викиучебнике
  • Цитаты в Викицитатнике
  • Медиафайлы на Викискладе
голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector