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

Аватара пользователя
admin
Администратор
Зарегистрирован: 25 фев 2016, 11:28

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

Сообщение admin »

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

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

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

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

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

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

Революцию в программировании произвел Жозеф Мари Жаккард, который в 1804 году создал жаккардовый ткацкий станок, благодаря которому появилась возможность программировать узоры на тканях с помощью перфокарт.

Чарльз Бэббидж разработал первую вычислительную машину, которую можно было бы программировать, но, к сожалению, он не смог ее построить. Дочь великого поэта Дж.Байрона - Ада Лавлейс, 19 июля 1843 написала первую программу, которая предназначалась для вычислительной, программируемой и аналитической машины. Ее программ могла решить уравнение Бернулли. В своей работе Ада Августа рассмотрела огромное количество вопросов, это была ее первая и последняя работа. Некоторые положения, описанные в ее книге, сохраняют свою актуальность и продолжают использоваться по сей день. Если в целом рассматривать материалы Бэббиджа и Лавлэйса, то у них есть такие понятия как подпрограмма и библиотека подпрограмм, модификация программ и индексные регистры - эти понятия долго никто не применял. Широкое распространение на языке программирования они получили лишь в 1950-х годах прошлого столетия. Но, несмотря на применяемые понятия и расчеты Ады Лавлейс, никакая из ее программ так и не была запрограммирована и не использовалась, ни на одном ЭВМ.

Язык для программирования

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

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

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

Некоторые языки интерпретируются не в машинный код, а в двоичную систему кодов, которая называется байт-код. Она применяется в Forth, реализациях Python, Lisp, Java, Perl, языках для. NET Framework.

Программные средства могут быть инструментальными или системными. При системном обеспечении это может быть операционная система, инструменты и технологии Windows, Mac OS X, Linux и т. П. В последние годы на олимпиадах по информатике и программированию пользуются только лицензионными инструментальными средствами, которые очень распространены. А из языков программирования на таких же олимпиадах особой популярностью пользуются Паскаль, С / С + и Java. Для ведения документации для офисов обычно используют пакет программ - Microsoft Office и OpenOffice.org.

Парадигма программирования

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

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

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

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

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

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


Бегун
Зарегистрирован: 29 фев 2016, 15:39

Re: Программирование - основа современного мира

Сообщение Бегун »

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

Аффилиат
Зарегистрирован: 29 фев 2016, 15:38

Re: Программирование - основа современного мира

Сообщение Аффилиат »

А вдруг кто-то скопирует это себе в реферат? Это же потом преподавателю придется это читать: -0

Аватара пользователя
admin
Администратор
Зарегистрирован: 25 фев 2016, 11:28

Re: Программирование - основа современного мира

Сообщение admin »

Не волнуйтесь, это был простой SEO-эксперимент.


Вернуться в «WEB-программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость