Файл: Классификация языков программирования. Критерии выбора среды и языка разработки( Разработка языков программирования).pdf
Добавлен: 25.04.2023
Просмотров: 450
Скачиваний: 2
СОДЕРЖАНИЕ
1. Языки программирования и их классификация
1.1 Разработка языков программирования
1.2 Роль и значения языков программирования
2.Критерии выбора языка для разработки программ
2.1 Обзор характеристик языков программирования
2.2 Какие языки нужны компаниям?
2.3 Популярность языков программирования
После появления языков Fortran, COBOL, LIPS, ALGOL к середине 60-х годов, Бэкус уже понимал, что программирование изменилось, машины становились все дешевле, а услуги программирования, наоборот росли, появилась реальная необходимость переносить программы с одной машины на другую, а поддержка конечного продукта требовала значительных компьютерных ресурсов.
Как и естественные языки, языки программирования развиваются и в конце концов выходят из употребления, умирают. Так, например, язык ALGOL, который использовался в 60-е годы, его сменил Pascal, который в свою очередь вытесняется языками C++ и Java. В сфере деловых приложений уменьшается роль языка COBOL, его так же заменяют C++ . В 60-е годы активно применялись языки APL, PL/1, SNOBOL4, а в 70-е годы Pascal, в настоящее же время они практически исчезли.
Те старые языки, которые еще применяются в настоящее время, постоянно пересматриваются, что бы соответствовать изменениям в других областях компьютерных технологий. Ну а, более новые языки такие как C++,Java и ML созданы на основе опыта , накопленного в процессе использования этих и сотен других более старых языков. На принципе конструирования новых языков влияют следующие факторы.
- Возможности компьютера.
- Области применения.
- Методы программирования.
- Методы реализации.
- Теоретические исследования.
- Стандартизация.
В настоящее время разработаны и реализованы сотни языков программирования. Еще в 1969 году Саммет предоставил список из достаточно широко применяемых в то время 120 языках программирования и с тех пор их численность значительно увеличилась. И все же большинство программистов пользуются всего несколькими языками, многие же вообще ограничивают себя лишь, знаем одного или двух языков программирования, ссылаясь на то, что и этого вполне достаточно для работы.
Так что же дает нам знание множества языков программирования?
- При знании множества языков программирования можно разрабатывать более эффективные алгоритмы.
При знании нескольких языков программисту могут предоставить куда большие возможности по их использованию и при правильном их употреблении можно сравнить с предначертанной работой куда быстрее и эффективнее.
- Можно куда более эффективно использовать тот язык программирования, которым обычно пользовались.
То есть, поняв, как в используемом языке реализованы те или иные возможности, мы сможем значительно более эффективно писать программы.
- Пополнение набора полезных программных конструкций.
Роль языка в мышлении имеет двойной эффект потому что язык одновременно и помогает мышлению, и одновременно ограничивает его. И ведь правда, люди используют язык для выражения каких-либо мыслей, но язык до такой степени структурирует мышление, что человеку трудно мыслить о чем-то , что не имеет словесного выражения. Так и знание только одного языка накладывает на программиста подобное ограничение, ведь опять же, повторюсь, чем больше знаешь языков, тем легче будет искать нужные конструкции в различных других языках и тем шире может распространиться его мышление в плане реализации каких-либо программ. Простыми словами, программист расширяет свой словарь.
- Выбор более подходящего языка.
И тут думаю все понятно, чем больше языков, тем лучше можно подобрать наиболее , подходящий для реализации конкретного проекта.
- В дальнейшем легкое изучение новых языков.
Лингвисты, которые полностью понимают структуры, лежащие в основе каких-либо естественных языков, могут куда быстрее, эффективнее и легче выучить новый иностранный язык, чем начинающий, который плохо представляет структуру даже своего родного языка. То же самое и с программистом, чем больше языков программирования знаешь, тем легче и быстрее сможешь освоить новый язык.
- Разработка новых языков.
Большинство программистов даже не помышляют о разработке нового языка программирования. Однако на базе знаний полученных от изучения других языков программирования, можно разработать свой новый язык программирования, ведь многие языки программирования основаны на моделях язык C и Pascal.
Изучение языков программирования – это нечто большее, нежели просто беглое знакомство с их возможностями. На самом деле сходство возможностей языков может быть очень обманчиво. Так как одинаковые возможности двух различных программ можно реализовывать совершенно разными способами, и, таким образом, эти две версии могут сильно различаться по способу и стоимости их использования в различных сферах разработки.
Рис 2. Факторы, повлиявшие на развитие языков программирования
2.Критерии выбора языка для разработки программ
Таким образом, в мире, как мы уже узнали существуют сотни и тысячи языков программирования и все они имеют, и делятся на определенные критерии.
Выбор языка и понятия его критерий для разработки каких-либо программ, является куда более важной темой ежели, деления языков программирования на какие-либо различные признаки и классификации.
И так, «какой же язык выбрать?» , в данном случае вопрос нужно задать вопрос не «какой язык выбрать?», а «для чего нам нужно выбрать язык?».
На каком языке учиться программировать? Необходимо выбрать первоначальный язык на котором будем учиться программировать, и среди студентов и тех кто хочет научиться данному ремеслу этот вопрос становится наиболее актуальным. И если обращаться к преподавателям, то для них этот вопрос тоже не менее актуален, если необходимо невульгарно научить кого-то программировать на каком-то опреденно конкретном языке, а научить систематическому подходу составления программ, то выбор языка на котором это будет делаться очень важен…
Этот же вопрос, может для нас повернуться совершенно другим образом «На каком языке программирования придется программировать?». Закончив университет, и устроившись на работу не факт, что нам придется работать с тем языком программирования на котором мы учились программировать. Ведь существует очень много фирм, организации и учреждений которые используют в своей деятельности самые разнообразные языки для написания различного рода программ. И важно в этот момент не расстеряться…
Так вот, некоторые критерии для чего, какой язык используется.
- Чтобы понимать, как устроен и как работает компьютер, то есть для многих молодых людей может стать интересно, узнать, как вообще работает компьютер, как, что работает на аппаратном уровне, в этом случае подойдет язык – C, так как он ближе всего стоит к аппаратуре.
- Чтобы научиться работать с данными и строить сложные структуры данных, а именно если хочешь уметь обрабатывать большие, сложные структуры данных , так вот ничего лучше из современных языков, как C#, Java , в общем-то не придумали.
- Чтобы научиться, эффективно программировать алгоритмы со сложными структурами данных. Очень часто алгоритмы работы со сложными данными написанные на C# и Java не удовлетворяют некоторым, за частую достаточно жестким критериям, например быстродействие и эффективность использования памяти, то есть простыми словами можно довольно легко написать какой-нибудь сложный алгоритм на языке Java, но этот алгоритм либо будет работать медленно, либо займет очень много памяти, вот особенности этих языков именно таковы, программировать на них сравнительно не сложно, но эффективность результирующих программ очень часто бывает недостаточно, а требования на программы, могут быть крайне и крайне жесткими, поэтому ничего лучше для данных целей ,чем язык C++ нету. Он в себе сочетает как свойства языка C, по части близости к аппаратуре, так и свойства более высокоуровневых языков по части манипулирования абстрактными, общими понятиями.
- Чтобы научиться делать большие и сложные веб-сайты, с другой стороны, если мы не хотим знать не каких сложных алгоритмов, а просто хотим просто делать красивые веб-сайты, тоже одна из прекрасных профессий, которая при хороших навыках, может принести неплохой доход, в этом случае наилучшим решением может стать JavaScript.
Ну и наконец, если мы хотим научиться программировать вообще, то есть если начинающий программист не умеет программировать и не знает с чего начать, то лучше всего тут подойдут языки C#, Java, Python, в современных условиях эти три языка, наилудшим образом подходят для того, чтобы начинать учиться программированию.
Так же при выборе языка не стоит рассчитывать на то, что самый популярный язык – это самый лучший язык. Выбирать нужно не тот язык, который «нравится», а тот , который наилудшим образом подходит для решения задачи. Чем профессиональнее программист, тем меньшее значение для него имеет выбор языка.
Например, программисту легла задача написать эффективный алгоритм работы с массивами, для этого алгоритма очень важна эффективность, то есть, он должен работать очень быстро, следовательно профессиональный программист делает вывод, что этот алгорит нужно писать на языке C++.
Стоит задача, нужно взять некоторый массив информации и красиво отобразить его на веб-сайте, профессиональный программист делает вывод, что здесь нужен язык JavaScript.
И он может не любить этот язык всей своей душой, но при этом отлично понимает, что в данных обстоятельствах именно этот язык будет наиболее подходящим.
Как уже и говорилось ранее, что бы хорошо уметь работать в разных областях программирования и уметь применять свои навыки в той или иной сфере, нужно знать несколько языков программирования. Наиболее распространенными в данном случае и наилучшими являются C#,C++, Python и желательно знать так же JavaScript.
2.1 Обзор характеристик языков программирования
Си (С – «си»); - широко используется при создании системного программного обеспечения. Наложил большой отпечаток 21 на современное программирование (первая версия – 1972 г.), является очень популярным в среде разработчиков систем программного обеспечения (включая операционные системы). Си сочетает в себе черты как языка высокого уровня, так и машинно-ориентированного языка, допуская программиста ко всем машинным ресурсам, чего не обеспечивают такие языки, как Бейсик и Паскаль.
Является базовым языком операционной системы Unix, однако применяется и вне этой системы, для написания быстродействующих и эффективных программных продуктов, включая и операционные системы. Для IBM PC имеется ряд популярных версий языка Си, в том числе - Turbo C (фирмы Borland), Microsoft C и Quick C (фирмы Microsoft ), а также Zortech C (фирмы Symantec). Многие из указанных версий обеспечивают также работу с Си и Си++.
Основные характеристики языка C:
Низкий уровень (близко к аппаратуре). Выжимает из оборудования максимум. Язык хакеров.
Классический язык: фундамент современного мира ПО. Предмет восхищения и критики.
Традиционный процедурный статически типизированный язык.
Есть на любом компьютере
Примеры программ: Windows, Linux, Android, Tizen.
Где можно попробовать: Microsoft Visual Studio, gcc, Clang (Linux).
#include <stdio.h>
int main() {
printf ("Hello, world!\n");
}
Си++ (С++); объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко повысить производительность программистов . Легло на унаследованную от языка Си определенный низкий уровень. Для IBM PC наиболее популярной является система Turbo C++ фирмы Borland (США).
Основные характеристики языка C++:
Выжимает из оборудования максимум. Совместим с С.
Обеспечивает все мыслимые потребности программирования; поэтому довольно сложный.
«Первый этаж» современного мира ПО. Предмет ожесточенной критики со всех сторон.
Мультипарадигменный язык: процедурный подход + ООП + ...
Примеры программ: Google Chrome, Firefox, Safari, Microsoft Office, Adobe Photoshop, YouTube, ваша любимая игра на PC .
Где можно попробовать: Microsoft Visual Studio, g++ (везде), Clang (Linux).
#include <iostream>
int main() {
std::cout << "Hello, world!"
<< std::endl;
}
C# (произносится си шарп) – объектно-ориентированный язык программирования. Разработан в 1998–2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA- 334 и ISO/IEC 23270. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java . По своему характеру он напоминает языки C++ и Java и предназначен для разработчиков программ, использующих языки C и С++ для того, чтобы программисты могли более эффективно создавать Интернет-приложения. Указывается, что C # будет тесно интегрирован с языком XML. Язык сильно вырос в плане популярности и стал чуть ли не самым предпочитаемым языком среди разработчиков Windows и Web-приложений, которые используют .NET Framework. Отчасти привлекательность языка С# связана с его понятным синтаксисом, который происходит от синтаксиса C/C++, но упрощает некоторые вещи. Несмотря на это упрощение, язык С# обладает той же мощью, что и C++.
Основные характеристики языка C#:
Объектно-ориентированный язык высокого уровня: классы, наследование, полиморфизм. Поддержка элементов функционального подхода.