Введение
Глава 1. Язык программирования
1.1 История развития
1.2 Классификация языков программирования
Глава 2. Анализ распространенных языков программирования и их разновидность
2.1 Си его разновидности
2.2 Паскаль.
2.3 Фортран.
2.4 Бейсик
Глава 3. Критерии выбора среды и языка разработки программ
3.1 Критерии выбора среды
3.2 Критерии выбора языка
Заключение
Библиография
Введение
Общеизвестно, что информационные технологии являются одной из наиболее быстро развивающихся областей современной жизни. Новые технологии, проекты, названия и аббревиатуры появляются едва ли не каждый день.
Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования. Смысл появления такого языка – оснащенный набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм.
Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько «близок к машине», что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. Второй цели идеально отвечает язык, который настолько «близок к решаемой задаче», чтобы концепции ее решения можно было выражать прямо и коротко.
Связь между языком, на котором мы думаем и программируем, и задачами и решениями, которые мы можем представлять в своем воображении, очень близка. По этой причине ограничивать свойства языка только целями исключения ошибок программиста в лучшем случае опасно. Как и в случае с естественными языками, есть огромная польза быть, по крайней мере, двуязычным. Язык предоставляет программисту набор концептуальных инструментов, если они не отвечают задаче, то их просто игнорируют. Например, серьезные ограничения концепции указателя заставляют программиста применять вектора и целую арифметику, чтобы реализовать структуры, указатели и т.п. Хорошее проектирование и отсутствие ошибок не может гарантироваться исключительно за счет языковых средств.
Актуальность темы курсовой работы обусловлена тем, что прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов — языков программирования.
Целью курсовой работы является изучение классификации языков программирования, а также критериев выбора среды и языка разработки программ.
Объектом данной работы будут являться языки программирования.
Предметом данной работы является анализ наиболее распространенных языков программирования, а также изучение критериев выбора среды и языка разработки программ.
Глава 1. Язык программирования
1.1 История развития
Язык программирования — это система обозначений, служащая для точного описания программ или алгоритмов для ЭВМ. Языки программирования являются искусственными языками. От естественных языков они отличаются ограниченным числом “слов” и очень строгими правилами записи команд (операторов). Поэтому при применении их по назначению они не допускают свободного толкования выражений, характерного для естественного языка. [16] Основоположником программирования можно считать английского математика Чарльза Бэббиджа (1791—1871 гг.). В 20-х годах XIX века ему пришла идея создать такую механическую машину для вычислений, что порядок ее действий можно было предварительно записывать и впоследствии выполнять эти действия на машине автоматически. Это была идея, положившая начало программированию. [18] Первым шагом в развитии современных языков программирования стало создание в конце 1940-х годов Джоном Моучли, сотрудником Пенсильванского университета (США), системы кодирования машинных команд этих компьютеров с помощью специальных символов. Достижением создателей языков программирования было то, что они сумели заставить сам компьютер работать переводчиком с этих языков на машинный код. Описываемая система, которую назвали «Short Code», была по существу одним из первых примитивных интерпретаторов. Она использовала примитивный язык программирования высокого уровня. На нем программист записывал решаемую задачу в виде математических формул, а затем сам, используя специальную таблицу, переводил символ за символом, преобразовывая эти формулы в двухлитерные коды. В дальнейшем специальная программа компьютера превращала эти коды в двоичный машинный код. [12] Основные требования, предъявляемые к языкам программирования:
1. Наглядность — использование в языке по возможности уже существующих символов, хорошо известных и понятных как программистам, так и пользователям ЭВМ;
2. Единство — использование одних и тех же символов для обозначения одних и тех же или родственных понятий в разных частях алгоритма. Количество этих символов должно быть по возможности минимальным;
3. Гибкость — возможность относительно удобного, несложного описания распространенных приемов математических вычислений с помощью имеющегося в языке ограниченного набора изобразительных средств;
4. Модульность — возможность описания сложных алгоритмов в виде совокупности простых модулей, которые могут быть составлены отдельно и использованы в различных сложных алгоритмах;
5. Однозначность — недвусмысленность записи любого алгоритм.
Первым шагом в развитии современных языков программирования стало создание в конце 1940-х годов Джоном Моучли, сотрудником Пенсильванского университета (США), системы кодирования машинных команд этих компьютеров с помощью специальных символов. Достижением создателей языков программирования было то, что они сумели заставить сам компьютер работать переводчиком с этих языков на машинный код. Описываемая система, которую назвали «Short Code», была по существу одним из первых примитивных интерпретаторов. Она использовала примитивный язык программирования высокого уровня. На нем программист записывал решаемую задачу в виде математических формул, а затем сам, используя специальную таблицу, переводил символ за символом, преобразовывая эти формулы в двухлитерные коды. В дальнейшем специальная программа компьютера превращала эти коды в двоичный машинный код. [11] 1. Машинный язык (40-50 годы XX в.)
Программы на машинном языке – очень длинные последовательности единиц и нулей, являлись машинно-зависимыми, т.е. для каждой ЭВМ необходимо было составлять свою программу.
2. Ассемблер (начало 50-ых годов XX в.).
Вместо 1 и 0 программисты теперь могли пользоваться операторами (MOV, ADD, SUB и т.д.), которые похожи на английские слова. Программы на ассемблере также являются машинно-зависимыми. Для преобразования в машинный код использовался компилятор (спец. программа – переводчик в машинный код).
3. Первые языки программирования высокого уровня.
С середины 50-ых гг. XX в. начали создавать первые языки программирования высокого уровня (high-levellanguage). Эти языки были машинно-независимыми (не привязаны к опред. типу ЭВМ). Но для каждого языка были разработаны собственные компиляторы.
Примеры таких языков:
FORTRAN (FORmulaTRANslator; 1954) предназначен для научных и технических расчетов;
COBOL (1959) был предназначен в основном для коммерческих приложений (обрабатывал большие объемы нечисловых данных)
Язык BASIC (Beginner’sAllPurposeInstuctionCode – универсальный язык символьных инструкций для начинающих) (1964 г.)
4.Алгоритмические языки программирования.
С начала 80-ых г. XX в. начали создаваться языки программирования, которые позволили перейти к структурному программированию (использование операторов ветвления, выбора, цикла и практически отказ от частого использования операторов перехода).
К этим языкам относятся:
язык Pascal (назван его создателем Никлаусом Виртом в честь великого физика Блеза Паскаля; 1970);
язык Си, позволяющий быстро и эффективно создавать программный код (1971)
5. Языки объектно-ориентированного программирования (90-ые г. XX в.).
В основу этих языков положены программные объекты, которые объединяют данные и методы их обработки. В этих языках сохранялся алгоритмический стиль программирования. Для них были разработаны интегрированные среды программирования, позволяющие визуально конструировать графический интерфейс приложений:
1. Язык С++ (1983) — продолжение алгоритм. языка Си;
2. Язык ObjectPascal (1989) был создан на основе языка Pascal. После создания среды программирования – Delphi (1995);
3. Язык VisualBasic(1991) был создан корпорацией Microsoft на основе языка Qbasic (1975) для разработки приложений с графическим интерфейсом.
6. Языки программирования для компьютерных сетей.
В 90-ые годы XX в. в связи с бурным развитием Интернета были созданы языки, обеспечивающие межплатформенную совместимость. На подключенных к Интернету компьютерах с различными ОС (Windows, Linux, MacOS и др.) могли выполняться одни и те же программы.
7. Языки программирования на платформе .NET.
Интегрированная среда программирования VisualStudio .Net, разработанная корпорацией Microsoft, позволяет создавать приложения на различных языках объектно-ориентированного программирования.
Для того, чтобы процессор мог выполнить программу, программа и данные должны быть загружены в оперативную память. Необходимо, чтобы в ОП был размещена программа — транслятор, автоматически переводящий с языка программирования в машинные коды.
Трансляторы бывают двух типов: интерпретаторы и компиляторы.
Интерпретатор – программа, которая обеспечивает последовательный перевод операторов программы с одновременным их выполнением.
Достоинством интерпретатора является удобство отладки (поиск ошибок), недостаток – сравнительно малая скорость выполнения.
Компилятор переводит весь текст программы на машинный язык и сохраняет его в исполнимом файле. [3]
1.2 Классификация языков программирования
В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения. Любой алгоритм, есть последовательность предписаний, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования – чем меньше детализация, тем выше уровень языка.
По этому критерию можно выделить следующие уровни языков программирования:
машинные;
машинно-оpиентиpованные (ассемблеры);
машинно-независимые (языки высокого уровня).
Машинные языки и машинно-ориентированные языки – это языки низкого уровня, требующие указания мелких деталей процесса обработки данных. Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека. На заре компьютерной эры машинный код был единственным средством общения человека с компьютером. Огромным достижением создателей языков программирования было то, что они сумели заставить сам компьютер работать переводчиком с этих языков на машинный код. [20] Существующие языки программирования можно разделить на две группы: процедурные и непроцедурные (рис. 1.1) [18] Процедурные (или алгоритмические) языки позволяют создавать программы, представляющие собой систему предписаний для решения конкретной задачи (выполнение команд программы определяется их последовательностью, командами перехода, цикла или обращениями к процедурам). Роль компьютера сводится к механическому выполнению этих предписаний.
Рис. 1.1. Общая классификация языков программирования
Процедурные языки разделяют на языки низкого и высокого уровня. Разные типы процессоров имеют разные наборы команд.
Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. Имеется в виду, что операторы языка близки к машинному коду и ориентированы на конкретные команды процессора.
С помощью языков низкого уровня создаются очень эффективные (работают быстрее) и компактные программы (занимают меньше места в памяти), так как разработчик получает доступ ко всем возможностям процессора. С помощью этих языков удобнее разрабатывать системные программы, драйверы (программы для управления устройствами компьютера), некоторые другие виды программ.
Языком низкого уровня (машинно-ориентированным) является Ассемблер, который просто представляет каждую команду машинного кода, но не в виде чисел, а с помощью условных символьных обозначений, называемых мнемониками. [16] Языки программирования высокого уровня значительно ближе и понятнее человеку, нежели компьютеру.
Особенности конкретных компьютерных архитектур в них не учитываются, поэтому создаваемые программы на уровне исходных текстов легко переносимы на другие платформы, для которых создан транслятор этого языка. Разрабатывать программы на языках высокого уровня с помощью понятных и мощных команд значительно проще, а ошибок при создании программ допускается гораздо меньше.
Для перевода исходных программ с языка высокого уровня на машинный язык используются специальные программы – трансляторы.
Работа всех трансляторов строится по одному из двух принципов: интерпретация или компиляция.
Интерпретация подразумевает пооператорную трансляцию и последующее выполнение оттранслированного оператора исходной программы.
В связи с этим можно отметить два недостатка метода интерпретации:
во-первых, интерпретирующая программа должна находиться в памяти ЭВМ в течение всего процесса выполнения исходной программы, т. е. занимать определенный объем памяти;
во-вторых, процесс трансляции одного и того же оператора повторяется столько раз, сколько раз должна исполняться эта команда в программе, что резко снижает производительность работы программы.
Несмотря на указанные недостатки, трансляторы-интерпретаторы получили достаточное распространение, так как они удобны при разработке и отладке исходных программ.
При компиляции процессы трансляции и выполнения разделены во времени: сначала исходная программа полностью переводится на машинный язык (после чего наличие транслятора в оперативной памяти становится ненужным), а затем оттранслированная программа может многократно исполняться.
Следовательно, для одной и той же программы трансляция методом компиляции обеспечивает более высокую производительность вычислительной системы при сокращении требуемой оперативной памяти. Компиляция программы включает два действия: анализ, т. е. определение правильности записи исходной программы в соответствии с правилами построения языковых конструкций входного языка, и синтез – генерирование эквивалентной программы в машинных кодах.
Объектно-ориентированный язык создает окружение в виде множества независимых объектов. Каждый объект ведет себя подобно отдельному компьютеру, их можно использовать для решения задач как «черные ящики», не вникая во внутренние механизмы их функционирования. Из языков объектного программирования, популярных среди профессионалов, следует назвать прежде всего Си++, для более широкого круга программистов предпочтительны среды типа Delphi и Visual Basic. [17] При использовании декларативного языка программист указывает исходные информационные структуры, взаимосвязи между ними и то, какими свойствами должен обладать результат. При этом процедуру его получения («алгоритм») программист не строит (по крайней мере, в идеале). В этих языках отсутствует понятие «оператор» («команда»).
Декларативные языки можно подразделить на два семейства – логические (типичный представитель – Пролог) и функциональные (Лисп). [6] С развитием глобальной сети было создано много языков программирования, адаптированных специально для Интернета. Характерные особенности: языки являются интерпретируемыми, интерпретаторы для них распространяются бесплатно, сами программы – в исходных текстах. Такие языки называются скриптязыками.
Языки веб-программирования – это языки, которые в основном предназначены для работы с веб-технологиями.
Языки веб-программирования можно условно разделить на две пересекающиеся группы: клиентские и серверные.
Как следует из названия, программы на клиентских языках обрабатываются на стороне пользователя, как правило, их выполняет браузер. Это и создает главную проблему клиентских языков – результат выполнения программы (скрипта) зависит от браузера пользователя. То есть если пользователь запретил выполнять клиентские программы, то они исполняться не будут, как бы ни желал этого программист. Кроме того, может произойти такое, что в разных браузерах или в разных версиях одного и того же браузера один и тот же скрипт будет выполняться по-разному.
С другой стороны, если программист возлагает надежды на серверные программы, то он может упростить их работу и снизить нагрузку на сервер за счет программ, исполняемых на стороне клиента, поскольку они не всегда требуют перезагрузку (генерацию) страницы.
Самыми распространенными клиентскими языками программирования являются:
HTML
CSS
JavaScript 19
VBScript
ActionScript
Java
Серверные языки.
Когда пользователь дает запрос, на какую либо страницу (переходит на неё по ссылке или вводит адрес в адресной строке своего браузера), то вызванная страница сначала обрабатывается на сервере, то есть выполняются все программы, связанные со страницей, и только потом возвращается к посетителю по сети в виде файла. Этот файл может иметь расширения: HTML, PHP, ASP, ASPX, Perl, SSI, XML, DHTML, XHTML. Работа программ уже полностью зависима от сервера, на котором расположен сайт, и от того, какая версия того или иного языка поддерживается. К серверным языкам программирования можно отнести:
PHP
Perl
Python
Ruby
любой .NET язык программирования (технология ASP.NET)
Java
Groovy
Охарактеризуем наиболее известные языки программирования. [2] 1. Фортран (FORmula TRANslating system – система трансляции формул); старейший и сегодня активно используемый в решении задач математической ориентации язык. Является классическим языком для программирования на ЭВМ математических и инженерных задач.
2. Бейсик (Beginner’s All-purpose Symbolic Instruction Code – универсальный символический код инструкций для начинающих); несмотря на многие неверсий – самый популярный по числу пользователей. Широко употребляется при написании простых программ.
3. Паскаль (Pascal – назван в честь ученого Блеза Паскаля); чрезвычайно популярен как при изучении программирования, так и среди профессионалов. Создан в начале 70-х годов швейцарским ученым Никлаусом Виртом.
4. АДА; является языком, победившим (май 1979 г.) в конкурсе по разработке универсального языка, проводимым Пентагоном с 1975 году. Разработчики – группа ученых во главе с Жаном Ихбиа. Победивший язык окрестили АДА, в честь Огасты Ады Лавлейс. Язык АДА – прямой наследник языка Паскаль. Этот язык предназначен для создания и длительного (многолетнего), сопровождения больших программных систем, допускает возможность параллельной обработки, управления процессами в реальном времени и многое другое, чего трудно или невозможно достичь средствами более простых языков.
5. Си (С – «си»); широко используется при создании системного программного обеспечения. Си сочетает в себе черты, как языка высокого уровня, так и машинно-ориентированного языка, допуская программиста ко всем машинным ресурсам, чего не обеспечивают такие языки, как Бейсик и Паскаль.
6. Си++ (С++); объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко повысить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость.
7. Дельфи (Delphi); язык объектно-ориентированного «визуального» программирования; в данный момент чрезвычайно популярен. Созданный на базе языка Паскаль специалистами фирмы Borland язык Delphi, обладая мощностью и гибкостью языков Си и Си++, превосходит их по удобству и простоте интерфейса при разработке приложений, обеспечивающих взаимодействие с базами данных и поддержку различного рода работ в рамках корпоративных сетей и сети Интернет.
8. Ява (Java); платформенно-независимый язык объектно-ориентированного программирования, чрезвычайно эффективен для создания интерактивных веб-страниц. Этот язык был создан компанией Sun в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей.
9. C# (произносится си шарп) – объектно-ориентированный язык программирования. Разработан в 1998–2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java
С тех пор язык сильно вырос в плане популярности и стал чуть ли не самым предпочитаемым языком среди разработчиков Windowsи Web-приложений, которые используют .NET Framework.
10. Оберон (Oberon) – язык общего назначения, созданный автором Pascal и Modula-2 Никлаусом Виртом (Niklaus Wirth) и его коллегами из Швейцарского федерального технического института г. Цюрих (ETH Zurich) в ходе разработки одноименной операционной системы для однопользовательской рабочей станции Ceres. Язык и операционная система названы именем одного из спутников планеты Уран – Оберона.
Имеет долгую историю создания, является наследником Algol 60 (1960), Pascal (1970) и Modula (1979). Oberon синтезировал более четверти века исследований Н.Вирта по методологии и языкам программирования. Ему с учениками удалось добиться точного синтеза «старых» достижений структурного и модульного программирования с «новыми» объектными методами.
Вот, что говорил сам Вирт о своем «детище»: «Он (Оberon) включает в себя средства, необходимые для объектно-ориентированного программирования, сохраняя стиль Паскаля, и является результатом моего стремления к простоте без потери выразительности. В этом должна состоять сущность языка, равно пригодного как для учебной аудитории, так и для профессиональной деятельности». [4] Неслучайно, что в качестве эпиграфа к сообщению о языке Oberon Н. Вирт выбрал высказывание А.Эйнштейна: «Сделай так просто, как возможно, но не проще того».
Наращивание мощи языка без его усложнения –принцип, которому неуклонно следует Н. Вирт. В 1992 году сотрудничество Н.Вирта с Ханспетером Мёссенбёком (Hanspeter Mössenböck) привело к добавлению в язык ряда новых средств. Новая версия получила название Оberon-2. Оберон-2 представляет собой почти правильное расширение Оберона и является фактическим стандартом языка, который поддерживается большинством современных Оберон-систем.
11. Лисп (Lisp) – функциональный язык программирования. Ориентирован на структуру данных в форме списка и позволяет организовать эффективную обработку больших объемов текстовой информации.
12. Пролог (PROgramming in LOGic – логическое программирование). Главное назначение языка – разработка интеллектуальных программ и систем. Пролог – это язык программирования, созданный специально для работы с базами знаний, основанными на фактах и правилах (одного из элементов систем искусственного интеллекта). В языке реализован механизм возврата для выполнения обратной цепочки рассуждений, при котором предполагается, что некоторые выводы или заключения истинны, а затем эти предположения проверяются в базе знаний, содержащей факты и правила логического вывода. Если предположение не подтверждается, выполняется возврат и выдвигается новое предположение. В основу языка положена математическая модель теории исчисления предикатов.
13. HTML (HyperText Markup Language). Общеизвестный язык для оформления документов. Не является алгоритмическим языком программирования, а язык разметки гипертекста. Очень прост, содержит элементарные команды форматирования текста, добавления рисунков, задания шрифтов и цветов, организации ссылоки таблиц. Все Web-страницы написаны на языке HTML или используют его расширения.
14. PHP – скриптовый язык программирования, применяющийся для создания сайтов. Важное его достоинство языка php – это создания динамических веб-сайтов, работа с базами данных (mysql).
Глава 2. Анализ распространенных языков программирования и их разновидность
2.1 Си его разновидности
Среди универсальных языков программирования в настоящее время наиболее распространены:
Си [C] — Многоцелевой язык программирования высокого уровня, разработанный Денисом Ритчи в начале 1970-х гг. на базе языка BCPL. Используется на мини ЭВМ и ПЭВМ.
Является базовым языком операционной системы Unix, однако применяется и вне этой системы, для написания быстродействующих и эффективных программных продуктов, включая и операционные системы. [9] Для IBM PC имеется ряд популярных версий языка Си, в том числе — Turbo C (фирмы Borland), Microsoft C и Quick C (фирмы Microsoft ), а также Zortech C (фирмы Symantec).
Многие из указанных версий обеспечивают также работу с Си и Си++.
Си++ [C++] — Язык программирования высокого уровня, созданный Бьярном Страустрапом на базе языка Си. Является его расширенной версией, реализующей принципы объектно-ориентированного программирования. Используется для создания сложных программ. Для IBM PC наиболее популярной является система Turbo C++ фирмы Borland (США). [6] C# (C Sharp) – “ Си Шарп ”: объектно-ориентированный яык программирования, о разработке которого в 2000 г. объявила фирма Microsoft По своему характеру он напоминает языки C++ и Java и предназначен для разработчиков программ, использующих языки C и С++ для того, чтобы они могли более эффективно создавать Интернет-приложения. Указывается, что C # будет тесно интегрирован с языком XML.
2.2 Паскаль
Процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах.
Назван в честь французского математика XVII века Блеза Паскаля.
Язык Паскаль первоначально разрабатывался как учебный, и, действительно, сейчас он является одним из основных языков обучения программированию в школах и вузах. Однако качества его в совокупности оказались столь высоки, что им охотно пользуются и профессиональные программисты. [20] Не менее впечатляющей, в том числе и финансовой, удачи добился Филипп Кан, француз, разработавший систему Турбо-Паскаль.
Суть его идеи состояла в объединении последовательных этапов обработки программы – компиляции, редактирования связей, отладки и диагностики ошибок – в едином интерфейсе.
Версии Турбо-Паскаля заполонили практически все образовательные учреждения, программистские центры и частные фирмы. На базе языка Паскаль созданы несколько более мощных языков (Модула, Ада, Дельфи).
Существует ряд версий языка (например, ETH Pascal, USD Pascal, Turbo Pascal ) и систем программирования на этом языке для разных типов ЭВМ. Для IBM PC наиболее популярной является система Turbo Pascal фирмы Borland (США). [10]
2.3 Фортран
В 1954 году в недрах корпорации IBM группой разработчиков во главе с Джоном Бэкусом (John Backus) был создан язык программирования Fortran.
Значение этого события трудно переоценить.
Это первый язык программирования высокого уровня.
Впервые программист мог по-настоящему абстрагироваться от особенностей машинной архитектуры. Ключевой идеей, отличающей новый язык от ассемблера, была концепция подпрограмм. Современные компьютеры поддерживают подпрограммы на аппаратном уровне, предоставляя соответствующие команды и структуры данных (стек) прямо на уровне ассемблера, в 1954 же году это было совершенно не так. Кроме того, синтаксическая структура языка была достаточно сложна для машинной обработки в первую очередь из-за того, что пробелы как синтаксические единицы вообще не использовались. Это порождало массу возможностей для скрытых ошибок. [11] Язык Фортран использовался (и используется по сей день) для научных вычислений. Он страдает от отсутствия многих привычных языковых конструкций и атрибутов, компилятор практически никак не проверяет синтаксически правильную программу с точки зрения семантической корректности (соответствие типов и проч.). В нем нет поддержки современных способов структурирования кода и данных. Это осознавали и сами разработчики. По признанию самого Бэкуса, перед ними стояла задача скорее разработки компилятора, чем языка. Понимание самостоятельного значения языков программирования пришло позже. [7] Появление Фортрана было встречено еще более яростной критикой, чем внедрение ассемблера. Программистов пугало снижение эффективности программ за счет использования промежуточного звена в виде компилятора. И эти опасения имели под собой основания: действительно, хороший программист, скорее всего, при решении какой-либо небольшой задачи вручную напишет код, работающий быстрее, чем код, полученный как результат компиляции. Через некоторое время пришло понимание того, что реализация больших проектов невозможна без применения языков высокого уровня. Мощность вычислительных машин росла, и с тем падением эффективности, которое раньше считалось угрожающим, стало возможным смириться. Преимущества же языков высокого уровня стали настолько очевидными, что побудили разработчиков к созданию новых языков, все более и более совершенных.
2.4 Бейсик
Язык программирования высокого уровня , разработанный в 1963 — 1964 гг. в Дартмутском колледже Томасом Куртом и Джоном Кемени.
Первоначально предназначался для обучения программированию. Отличается простотой, легко усваивается начинающими программистами благодаря наличию упрощенных конструкций языка Фортран и встроенных математических функций, алгоритмов и операторов. Существует множество различных версий Бейсика, которые не полностью совместимы друг с другом. Некоторые реализации Бейсика включают средства обработки данных и наборов данных. [11] Большинство версий Бейсика используют интерпретатор, который преобразует его компоненты в машинный код и позволяет запускать программы без промежуточной трансляции. Некоторые более совершенные версии Бейсика позволяют использовать для этой цели трансляторы.
На IBM PC широко используются Quick Basic фирмы Microsoft, Turbo Basic фирмы Borland и Power Basic (усовершенствованная версия Turbo Basic, распространяемая фирмой Spectra Publishing ). В начале 1999 г. фирма Microsoft выпустила версию языка Visual Basic 6.0 (VB 6.0), предназначенного для создания многокомпонентных программных приложений для систем уровня предприятий. [5]
Глава 3. Критерии выбора среды и языка разработки программ
3.1 Критерии выбора среды
История развития операционных сред непосредственно связана с историей развития вычислительной техники и базового программного обеспечение – операционных систем.
Вся история вычислительной насчитывает немногим более 60 лет. 4 декабря 2008 годы было отмечено 60 лет отечественной информатики. Что касается истории программных технологий, то ей всего 25 лет.
Именно 1984 года был взят за точку отчета в статье Кристфера Эберта [8]. Сам термин «программная инженерия» стал широко использоваться 20 лет назад.
Среда программирования — это совокупность инструментов, используемых при разработке программного обеспечения.
Этот набор обычно состоит из файловой системы, текстового редактора, редактора связей и компилятора. Дополнительно он может включать большое количество инструментальных комплексов с единообразным интерфейсом пользователя.
Старейшей средой программирования считается UNIX — машинно-независимая операционная система с разделением времени. Она предоставляет многочисленные мощные инструментальные средства для производства ПО и эксплуатации разнообразных языков. Работа с этой средой осуществляется с помощью графического интерфейса, устанавливаемого поверх нее. [1] Современные среды разработки, поддерживающие объектно-ориентированную разработку ПО, также включают браузер классов, инспектор объектов и диаграмму иерархии классов. Хотя существуют среды разработки, предназначенные для нескольких языков — такие как Eclipse или Microsoft Visual Studio, обычно среда разработки предназначается для одного определённого языка программирования.
Иногда достаточно использовать только одну интегрированную среду разработки, но для больших проектов в среду разработки включаются разнородные продукты разных фирм, разных версий. Пример такого набора: файловый менеджер, набор вспомогательных утилит и пакетных файлов, С++Builder – как IDE, PLSQL Developer – для работы с СУБД Oracle, Cristal Reports – для создания отчетов , StarTeam – для ведения версий и поддержки коллективной работы.
Модель среды разработки (схема функционирования) определяет технологические процессы, совершаемые программистом, включает в себя наборы объектов и цепочки технологических операций. Модель существенно зависит от архитектуры, сложности и масштаба целевого объекта (программного средства), который должен быть получен в итоге. Для каждой категории объекта требуется своя модель, свой набор инструментальных средств. Категории программных средств: простая программа, сложная многокомпонентная программа, программа, работающая с базами данных, распределенная программная система, программа как сервис и др.
Несмотря на развитие способов общения с ЭВМ для программиста неизменным оставался основной цикл разработки и отладки программ: редактирование программы – компиляция – сборка – выполнение программы – анализ ошибок – редактирование. Этот цикл всегда надо иметь в виду при оценке эффективности операционной среды.
Проблема выбора подходящей среды.
Обычно выбирают ту модель и те языки программирования, которые хорошо знают члены коллектива разработчиков. Выбирать новую технологию, которую предстоит осваивать в процессе разработки – риск провалить проект.
Любая среда позволяет производить настройку и адаптацию под те или иные требования: изменение интерфейса, режимов работы, назначения горячих клавиш, установка дополнительных средств («плагинов») и т.п. Используя настройки, мы можем сделать работу в среде более удобной для себя и, тем самым, более эффективной, проецируя свою модель разработки на модель среды. Это особенно важно, когда среди инструментов есть программы с отличающимся интерфейсом (например, разное назначение горячих клавиш).
Оценивая качество и эффективность операционной среды необходимо обращать внимание на интерфейсы инструментальных средств.
Современный подход к пользовательскому интерфейсу был заложен в стандарте фирмы IBM [9].
Этот стандарт воплотился во многих программных средствах, как инструментальных, так и прикладных.
Одним из важных и необходимых свойств среды является возможность настройки. К интерфейсу также относится замечание об избыточности и необходимости минимизации возможностей.
Среда программирования предоставляет программисту интерфейс для разработки, откладки и запуска программ.
Современная среда программирования представляет собой комплекс инструментальных средств для реализации быстрой разработки программных приложений.
На сегодняшний день C++ является одним из самых востребованных языком программирования на рынке и важным критерием при приёме программистов в IT компанию.
Для взаимодействия с этим языком используются специальные IDE, или интегрированная среда разработки (англ. Integrated Development Environment) – система программных средств, используемая программистами для разработки программного обеспечения. Сегодня их существует огромное множество, у всех есть свои особенности и недостатки.
Для сравнения были выбраны следующие интегрированные среды разработки: [13] 1.Visual Studio 2015 от Microsoft.
2.Dev C++ от Bloodshed Software.
3.C++ Builder от Embarcadero Technologies.
4.Eclipse C/C++ Development Tools от Eclipse Foundation.
5.CodeLite от Eran Ifrah.
6.NetBeans от NetBeans Community.
Visual Studio 2015
Интегрированная среда разработки обладает большим числом инструментов и функций: может создавать как приложения в консоли, так и программы с графическим интерфейсом, и даже с помощью технологии Windows Forms. Хотя и работает с полным функционалом сразу после установки, но при отказе одного из компонентов перестаёт работать весь продукт.
Удобный интерфейс и лёгкость в понимании работы продукта. Единственная сложность это создание графического интерфейса программы, которая требует дополнительной настройки. Программное обеспечение обладает всем набором функций, необходимым программисту, при желании можно установить дополнительные компоненты.
Постоянно обновляется и поддерживается разработчиком, но не обладает свойством портативности и требует установки. К тому же полная версия требует покупки, но и бесплатной версии хватает для нужд начинающего и среднего уровня программистов. Также, бесплатная версия запрещает коммерческое написанных в ней программ. Работает только под OC Windows.
Dev C++
Интегрированная среда разработки обладает следующими возможностями: поддержка GNU Compiler Collection,
встроенная отладка
менеджер проекта
подсветка кода
просмотрщик классов
автозавершение кода
список функций
поддержка профилей
быстрое создание Windows-приложений, консольных программ, статичных библиотек и библиотеки динамической компоновки
поддержка шаблонов, позволяющих создавать свои типы проектов
создание makefile’а, редактирование и компиляция файлов ресурсов
менеджер инструментов
поддержка печати
средства поиска/замены
поддержка системы одновременных версий.
Не требует установки дополнительного программного обеспечения, компилятор встроен. Хорошая среда разработки с большим функционалом и маленьким размером, может быть хорошим выбором, как для новичка, так и для профессиональных программистов. [4] Работает только под Windows.
C++ Builder
Интегрированная среда разработки обладает огромным числом функций: собственный компилятор, поддержка баз данных, поддержка технологии Windows Forms, объекты модулей данных, открытые инструменты интерфейса программирования приложений и т.д. Подойдёт программистам любого уровня, но лучше для новичков, так как, в отличие от Visual Studio, создание приложений с графическим интерфейсом здесь сделать намного легче. Постоянно обновляется и поддерживается разработчиком. Требует установки и покупки, но существует пробная 30-дневная версия.
Eclipse C/C++ Development Tools
Обладает следующими функциями: плагины, рефакторинг, автоподстановка любых идентификаторов, встроенная поддержка Doxygen, возможность отладки через GNU Debugger, подсветка синтаксиса, сворачивание кода, ссылочная навигация по коду (гипертекстовые ссылки), создание и управление проектами для различных инструментальных средств, стандартная make сборка, визуальные средства отладки. Дополнительно требует установку компилятора, без которого интегрированная среда разработки работать не будет. Компилятора в комплекте нет. Также требует наличие Java. Отличное программное обеспечение для любого уровня умений программиста. Понятный интерфейс и возможность расширения функций с помощью плагинов делает его очень лёгким для освоения и очень эффективным. Сложностью является только установка компилятора. Периодические обновления и полная поддержка пользователей. Выпускается только в виде портативной версии. Бесплатен и работает под различными операционными системами: Windows/Linux/Mac OS X. [6] Code:: Blocks
Доступны следующие функции: подсветка кода, сворачивание кода C++ и расширяемый язык разметки, автозавершение кода, просмотрщик классов, быстрая система сборки, поддержка параллельных сборок, импорт проектов Microsoft Visual Studio, импорт проектов Dev-C++, поддержка дебагеров GNU Debugger и Microsoft Constant Data Base. Хотя и обладает понятным интерфейсом и хорошим инструментарием, но новые версии выходят очень редко (раз в год), причём ошибки в коде не подсвечиваются и их надо искать вручную. Полностью бесплатный и обладает портативной версией. Продукт разрабатывается под Windows, Mac OS X и Linux.
NetBeans
Обладает теми же возможностями и инструментами, что доступны и в Eclipse C/C++ Development Tools.
Как и рассмотренная уже Eclipse C/C++ Development Tools, среда разработки NetBeans написана на языке Java (соответственно так же требует установленной виртуальной машины Java). Но, в отличие, от Eclipse требует установки. Бесплатен и доступен для систем FreeBSD/Linux/Mac OS X/OpenSolaris/Solaris/Windows.
Рассмотрим критерии: [8] 1.Функциональность – возможности программного обеспечения для реализации требуемых задач, инструментарий и разнообразность встроенных функций.
2.Надежность – способность программного обеспечения работать без ошибок и отказа компонентов на протяжении всего срока экплуатации или времени, требуемого для решения поставленных задач.
3.Удобство использования – простота интерфейса программного обеспечения и лёгкость в освоении работы с ним.
4.Эффективность – способность программного обеспечения выполнять поставленные задачи сохраняя общую производительность, не перегружая систему в которой оно установлено.
5.Удобство сопровождения – поддержка программного обеспечения разработчиком, включающая в себя создание новых версий продукта и поддержку пользователей.
6.Портативность – способность программного обеспечения работать в различных операционных системах, а также возможность его переноса в другую систему без потери в функционале.
7. Доступность – лёгкость в получении программного обеспечения (доступность источника для скачивания, цена продукта). Среды программирования Набор инструментов для разработки программного обеспечения UNIX Старая операционная система и набор инструментов В наши дни часто снабжена графичечкой оболочкой (например, CDE, KDE или GNOME), которая выполняется поверх UNIX Borland JBuilder Интегрированная среда разработки для Java Microsoft Visual Studio.NET
3.2 Критерии выбора языка
На начальном этапе создания программы, так или иначе, становится вопрос выбора языка программирования. Кто-то выбирает язык только из личных предпочтений, кто-то только потому, что знает только этот язык, кто-то об этом даже не задумывается. Однако данный этап разработки является очень важным, так как от него в будущем могут возникнуть проблемы, а могут и не возникнуть — смотря как подойти к вопросу. [14] На данный момент существует огромное количество языков на любой, как говорится, вкус и цвет. Есть и компилируемые и интерпретируемые языки, есть очень простые и так далее. И каждый из них создавался с определенной целью. Выбор языка программирования во время создания программы является очень важным моментом, от которого зависит очень и очень многое – скорость создания программы, скорость тестирования, возможность переноса на другие платформы, возможность быстрого внесения изменений, быстрота выполнения конечного продукта и так далее. При этом стоит помнить, что идеального языка не существует, все они обладают своими положительными и отрицательными качествами, которые будут, так или иначе, влиять на процесс разработки. [17] Рассмотрим критерии: [15] Скорость работы конечного продукта.
Требовательным к скорости выполнения могут быть программы с большим объемом математических вычислений, например моделирование физических систем, расчеты большого объема экономических данных, выведение трехмерной графики и прочее. Для данных целей хорошо подойдут компилируемые языки: ассемблер, С/С++, фортран и т.д. После сборки программа не требует ничего лишнего и содержит в себе машинные команды, которые выполняются без лишних задержек. Схема работы таких программ такая:
1) программа исполняется сразу, и не требует дополнительных библиотек;
2) программа, кроме своего кода содержит вызовы библиотек с машинным кодом (как системных, так и входящих в проект), поэтому, кроме исполнения собственно своих команд, программа вызывает функции из библиотек;
3) в дополнение случаям 1 и 2, программа может работать через прослойку драйверов, которые написаны на языках низкого уровня и работают по умолчанию быстро.
Объем занимаемой оперативной памяти. [9] Данное требование появляется, когда программа разрабатывается для встраиваемых систем, мобильных платформ, микроконтроллеров и так далее.
В данных случаях, чем меньше памяти расходует программа на данном языке – тем лучше. К таким языкам, опять же, относятся ассемблер, С/С++, Objective-C и другие. Список языков подобен списку пункта 1, так как чем меньше функциональных блоков в схеме исполнения, тем меньше занимается и памяти компьютера.
Если данное требование некритично, то можно использовать «истинно высокоуровневые языки».
Скорость разработки программы.
Данное требование возникает тогда, когда имеется срочность выполнения. Тогда выбор падает на высокоуровневые языки с максимально человеколюбивым синтаксисом. Это, например, Java, Flash и подобные. На данных языках время разработки может существенно сокращаться из-за обилия сторонних библиотек, максимально «очеловеченного» синтаксиса, и подобных вещей. Скорость выполнения программ, написанных на данных языках, страдает, причем порой, весьма ощутимо.[11] Ориентированность на компьютер или человека.
С кем будет работать программа в первую очередь? С человеком, или с компьютером? В первом случае программа должна обладать мощной графической частью, отвечающей требованиям дизайна и юзабилити. Разработка графической части зачастую требует достаточно много времени, т.к. отличается немалой сложностью. Здесь сложность возникает в том, что вывод графики – это немало математики, а значит, присутствует требовательность к скорости исполнения, а из-за сложности разработки присутствует необходимость в высокоуровневом языке. В данном случае, очень хорошо подходит С++/C# с их одновременной и высокоуровневостью, и скоростью выполнения программ на них. Однако, если ГИП не очень сложный, но красивый, возможно использование Java и Flash, на которых создание красивых интерфейс гораздо проще, нежели на С++ и, тем более, С. Если программа ориентирована в первую очередь на «скрытую работу» с минимумом взаимодействия с пользователем, тогда выбор должен ложиться в сторону быстрых языков (ASM, C)
Кроссплатформенность.
Кроссплатформенность – возможность работы программы на различных платформах, в различных ОС с минимальными изменениями. В этой сфере можно выделить такие языки: Java, C#,Flash,C++ с различными библиотеками и другие, менее используемые, языки.
Java создавался с тем условием, что программы на данном языке должны работать на любой платформе, где есть JVM – Java Virtual Machine.
Программы на Java вообще не требуют никаких изменений – после компиляции получается .jar файл, который будет работать и на Windows, и на Mac OS, и на Linux и еще немало где. Аналогичная ситуация и с Flash, только список платформ гораздо менее обширный. С С++ дело обстоит труднее. На чистом С++ написать кроссплатформенную программу довольно трудно, у кода возникает обширная избыточность, теряется достоинство в скорости выполнения. Облегчают задачу кроссплатформенные библиотеки, которые позволяют добиться принципа «один код на все платформы», однако на каждую платформу нужно программу собирать отдельно (при этом разными компиляторами).
В этот раздел так же можно включить интерпретируемые, скриптовые языки – для их работы нужно наличие интерпретатора языка в системе. Данные языки очень удобны в плане разработки, но достаточно медлительны. Схема их работы напоминает схему работы Java/Flash, только анализатор стал еще медленнее – полумашинный байт код анализировать «на лету» гораздо проще, чем человеческий код. Так же, это влечет к большему потреблению памяти.
Скорость внесения изменений, скорость тестирования.
Проект стремительно развивается, в него постоянно вносятся изменения, тогда выбор должен падать на высокоуровневые языки, где любой функциональный блок можно быстро переписать. Для подтверждения гораздо проще использовать С++, чем ассемблер. А еще проще Java. Но тут очень много тонкостей, которые таятся даже не, сколько в языке, сколько в разработчике с его стилем программирования и компиляторах. Тем не менее, язык вносит свою долю в это дело, так или иначе, упрощая,осложняя работу программиста.
Критерии оценки языков:
Читабельность: насколько легко читать и понимать программы Легкость написания программ;
Надежность: соответствие спецификациям (т.е. поведение согласно спецификациям);
Стоимость: конечная общая стоимость;
Общая простота;
Обозримое количество конструкций;
Ограниченное количество способов выполнения операций;
Минимальная перегрузка операторов;
Небольшое число примитивных конструкций, комбинируемых небольшим числом способов;
Наличие адекватных средств для определения структур данных;
Легкость написания программ;
Выразительность;
Набор относительно удобных средств определения операций;
Обработка исключительных ситуаций ;
Наличие двух или более различных методов для обращения к одному и тому же участку памяти;
Заключение
Изобретение языков программирования высшего уровня, а также их постоянное совершенствование и развитие, позволило человеку не только общаться с машиной и понимать ее, но использовать ЭВМ для сложнейших расчетов в области самолетостроения, ракетостроения, медицины и даже экономики.
На сегодняшний день, любое среднее и крупное предприятие, имеет в своем штате группу программистов, обладающими знаниями программирования различными языками, которые редактируют, изменяют, и модифицируют программы используемыми сотрудниками предприятия. Это говорит о том, что на рынке труда пользуются спросом обладающими знаниями и опытом работы с различными языками программирования.
Сравнительное изучение языков программирования полезно по ряду причин: Дает возможность лучше использовать различные конструкции. Позволяет выбирать языки с большим основанием. Облегчает освоение новых языков.
Важнейшие критерии оценки языков программирования: Легкость чтения, написания, надежность, стоимость программ Особое влияние на проектирование языков оказывают архитектура компьютера и методологии разработки программ.
Основные методы реализации языков программирования: компиляция, интерпретация в чистом виде и гибридная реализация.
Среда программирования — это совокупность инструментов, используемых при разработке программного обеспечения. Этот набор обычно состоит из файловой системы, текстового редактора, редактора связей и компилятора. Дополнительно он может включать большое количество инструментальных комплексов с единообразным интерфейсом пользователя.
Оценивая качество и эффективность операционной среды необходимо обращать внимание на интерфейсы инструментальных средств.
Критерии выбора среды:
1.Функциональность – возможности программного обеспечения для реализации требуемых задач, инструментарий и разнообразность встроенных функций.
2.Надежность – способность программного обеспечения работать без ошибок и отказа компонентов на протяжении всего срока эксплуатации или времени, требуемого для решения поставленных задач.
3.Удобство использования – простота интерфейса программного обеспечения и лёгкость в освоении работы с ним.
4.Эффективность – способность программного обеспечения выполнять поставленные задачи сохраняя общую производительность, не перегружая систему в которой оно установлено.
5.Удобство сопровождения – поддержка программного обеспечения разработчиком, включающая в себя создание новых версий продукта и поддержку пользователей.
6.Портативность – способность программного обеспечения работать в различных операционных системах, а также возможность его переноса в другую систему без потери в функционале.
7.Доступность – лёгкость в получении программного обеспечения (доступность источника для скачивания, цена продукта).
Библиография
1.Бессмертный, И. А. Системы искусственного интеллекта : учеб. пособие для СПО / И. А. Бессмертный. — 2-е изд., испр. и доп. — М. : Издательство Юрайт, 2018. — 130 с.
2.Гниденко, И. Г. Технология разработки программного обеспечения : учеб. пособие для СПО / И. Г. Гниденко, Ф. Ф. Павлов, Д. Ю. Федоров. — М. : Издательство Юрайт, 2017. — 235 с.
3.Гордеев, С. И. Организация баз данных в 2 ч. Часть 2 : учебник для вузов / С. И. Гордеев, В. Н. Волошина. — 2-е изд., испр. и доп. — М. : Издательство Юрайт, 2019. — 501 с.
4.Зыков, С. В. Программирование. Объектно-ориентированный подход : учебник и практикум для академического бакалавриата / С. В. Зыков. — М. : Издательство Юрайт, 2019. — 155 с.
5.Иванов, В. М. Интеллектуальные системы : учеб. пособие для СПО / В. М. Иванов ; под науч. ред. А. Н. Сесекина. — М. : Издательство Юрайт, 2019. — 93 с.
6.Кубенский, А. А. Функциональное программирование : учебник и практикум для академического бакалавриата / А. А. Кубенский. — М. : Издательство Юрайт, 2019. — 348 с.
7.Кудрина, Е. В. Основы алгоритмизации и программирования на языке c# : учеб. пособие для СПО / Е. В. Кудрина, М. В. Огнева. — М. : Издательство Юрайт, 2019. — 322 с.
8.Кудрина, Е. В. Основы алгоритмизации и программирования на языке c# : учеб. пособие для бакалавриата и специалитета / Е. В. Кудрина, М. В. Огнева. — М. : Издательство Юрайт, 2019. — 322 с.
9.Кудрявцев, К. Я. Методы оптимизации : учеб. пособие для вузов / К. Я. Кудрявцев, А. М. Прудников. — 2-е изд. — М. : Издательство Юрайт, 2019. — 140 с.
10.Лучанинов Д.В., Ленкин А.В. Анализ сред разработки программного обеспечения на языке С++ // Современные научные исследования и инновации. 2016. № 8 [Электронный ресурс]. URL: http://web.snauka.ru/issues/2016/08/70888
11.Малявко, А. А. Формальные языки и компиляторы : учеб. пособие для вузов / А. А. Малявко. — М. : Издательство Юрайт, 2018. — 429 с
12.Мамонова, Т. Е. Информационные технологии. Лабораторный практикум : учеб. пособие для СПО / Т. Е. Мамонова. — М. : Издательство Юрайт, 2019. — 178 с.
13.Маркин, А. В. Программирование на sql в 2 ч. Часть 2 : учебник и практикум для бакалавриата и магистратуры / А. В. Маркин. — М. : Издательство Юрайт, 2019. — 292 с.
14.Могилев, А. В. Методы программирования. Компьютерные вычисления /А. В. Могилев, Л. В. Листрова. — СПб.: БХВ-Петербург, 2018. — 320 с.: ил. — (ИиИКТ)
15.Нагаева, И. А. Программирование: delphi : учеб. пособие для академического бакалавриата / И. А. Нагаева, И. А. Кузнецов ; под ред. И. А. Нагаевой. — М. : Издательство Юрайт, 2017. — 302 с.
16.Основы алгоритмизации и программирования. Курс лекций.- 47с. Материал предоставлен порталом megacampus.ru (использовался из рекомендованного методического материала) эл.курс.
17.Советов, Б. Я. Базы данных : учебник для прикладного бакалавриата / Б. Я. Советов, В. В. Цехановский, В. Д. Чертовской. — 3-е изд., перераб. и доп. — М. : Издательство Юрайт, 2019. — 420 с.
18.Стасышин, В. М. Базы данных: технологии доступа : учеб. пособие для СПО / В. М. Стасышин, Т. Л. Стасышина. — 2-е изд., испр. и доп. — М. : Издательство Юрайт, 2018. — 164 с.
19.Трофимов, В. В. Основы алгоритмизации и программирования : учебник для СПО / В. В. Трофимов, Т. А. Павловская ; под ред. В. В. Трофимова. — М. : Издательство Юрайт, 2019. — 137 с.
20.Федоров, Д. Ю. Программирование на языке высокого уровня python : учеб. пособие для СПО / Д. Ю. Федоров. — М. : Издательство Юрайт, 2019. — 126 с.
21.Черткова, Е. А. Статистика. Автоматизация обработки информации : учеб. пособие для вузов / Е. А. Черткова ; под общ. ред. Е. А. Чертковой. — 2-е изд., испр. и доп. — М. : Издательство Юрайт, 2017. — 195 с.
Комментарии
Оставить комментарий
Валера 14 минут назад
добрый день. Необходимо закрыть долги за 2 и 3 курсы. Заранее спасибо.
Иван, помощь с обучением 21 минут назад
Валерий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Fedor 2 часа назад
Здравствуйте, сколько будет стоить данная работа и как заказать?
Иван, помощь с обучением 2 часа назад
Fedor, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Алина 4 часа назад
Сделать презентацию и защитную речь к дипломной работе по теме: Источники права социального обеспечения
Иван, помощь с обучением 4 часа назад
Алина, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Алена 7 часов назад
Добрый день! Учусь в синергии, факультет экономики, нужно закрыт 2 семестр, общ получается 7 предметов! 1.Иностранный язык 2.Цифровая экономика 3.Управление проектами 4.Микроэкономика 5.Экономика и финансы организации 6.Статистика 7.Информационно-комуникационные технологии для профессиональной деятельности.
Иван, помощь с обучением 8 часов назад
Алена, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Игорь Петрович 10 часов назад
К утру необходимы материалы для защиты диплома - речь и презентация (слайды). Сам диплом готов, пришлю его Вам по запросу!
Иван, помощь с обучением 10 часов назад
Игорь Петрович, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Инкогнито 1 день назад
У меня есть скорректированный и согласованный руководителем, план ВКР. Напишите, пожалуйста, порядок оплаты и реквизиты.
Иван, помощь с обучением 1 день назад
Инкогнито, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Илья 1 день назад
Здравствуйте) нужен отчет по практике. Практику прохожу в доме-интернате для престарелых и инвалидов. Все четыре задания объединены одним отчетом о проведенных исследованиях. Каждое задание направлено на выполнение одной из его частей. Помогите!
Иван, помощь с обучением 1 день назад
Илья, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Alina 2 дня назад
Педагогическая практика, 4 семестр, Направление: ППО Во время прохождения практики Вы: получите представления об основных видах профессиональной психолого-педагогической деятельности; разовьёте навыки использования современных методов и технологий организации образовательной работы с детьми младшего школьного возраста; научитесь выстраивать взаимодействие со всеми участниками образовательного процесса.
Иван, помощь с обучением 2 дня назад
Alina, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Влад 3 дня назад
Здравствуйте. Только поступил! Операционная деятельность в логистике. Так же получается 10 - 11 класс заканчивать. То-есть 2 года 11 месяцев. Сколько будет стоить семестр закончить?
Иван, помощь с обучением 3 дня назад
Влад, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Полина 3 дня назад
Требуется выполнить 3 работы по предмету "Психология ФКиС" за 3 курс
Иван, помощь с обучением 3 дня назад
Полина, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Инкогнито 4 дня назад
Здравствуйте. Нужно написать диплом в короткие сроки. На тему Анализ финансового состояния предприятия. С материалами для защиты. Сколько будет стоить?
Иван, помощь с обучением 4 дня назад
Инкогнито, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Студент 4 дня назад
Нужно сделать отчёт по практике преддипломной, дальше по ней уже нудно будет сделать вкр. Все данные и все по производству имеется
Иван, помощь с обучением 4 дня назад
Студент, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Олег 5 дня назад
Преддипломная практика и ВКР. Проходила практика на заводе, который занимается производством электроизоляционных материалов и изделий из них. В должности менеджера отдела сбыта, а также занимался продвижением продукции в интернете. Также , эту работу надо связать с темой ВКР "РАЗРАБОТКА СТРАТЕГИИ ПРОЕКТА В СФЕРЕ ИТ".
Иван, помощь с обучением 5 дня назад
Олег, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Анна 5 дня назад
сколько стоит вступительные экзамены русский , математика, информатика и какие условия?
Иван, помощь с обучением 5 дня назад
Анна, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Владимир Иванович 5 дня назад
Хочу закрыть все долги до 1 числа также вкр + диплом. Факультет информационных технологий.
Иван, помощь с обучением 5 дня назад
Владимир Иванович, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Василий 6 дней назад
сколько будет стоить полностью закрыть сессию .туда входят Информационные технологий (Контрольная работа, 3 лабораторных работ, Экзаменационный тест ), Русский язык и культура речи (практические задания) , Начертательная геометрия ( 3 задачи и атестационный тест ), Тайм менеджмент ( 4 практических задания , итоговый тест)
Иван, помощь с обучением 6 дней назад
Василий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Марк неделю назад
Нужно сделать 2 задания и 1 итоговый тест по Иностранный язык 2, 4 практических задания и 1 итоговый тест Исследования рынка, 4 практических задания и 1 итоговый тест Менеджмент, 1 практическое задание Проектная деятельность (практикум) 1, 3 практических задания Проектная деятельность (практикум) 2, 1 итоговый тест Проектная деятельность (практикум) 3, 1 практическое задание и 1 итоговый тест Проектная деятельность 1, 3 практических задания и 1 итоговый тест Проектная деятельность 2, 2 практических заданий и 1 итоговый тест Проектная деятельность 3, 2 практических задания Экономико-правовое сопровождение бизнеса какое время займет и стоимость?
Иван, помощь с обучением неделю назад
Марк, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф