|
ооо. Презентация 11. Языки программирования
Языки программирования Выполнили: Заскалов Ю. А. Валеев Е. Р. Python Что такое Python? Что такое Python? - Python (произносится как «пайтон», но многие говорят «питон») – это язык программирования общего назначения, который широко применяется в различных областях: от создания банальных веб-страниц до систем управления роверами на других планетах.
- Язык скриптовый, он универсален и является самым популярным языком программирования в мире (по данным издания Tiobe, составляющего топы наиболее востребованных языков).
Что пишут на Python? - Что вздумается. Любой программный продукт, независимо от сложности и специфики, можно создать на Python и одном из сотен фреймворков, разработанных для него.
Веб-разработка Веб-разработка - Для создания веб-приложений и сайтов используются сторонние библиотеки в духе Pyromid, Flask, Django и десятков других, помогающих заменить PHP и JavaScript.
- На Python даже полноценные системы управления данными пишут, которые впоследствии становятся аналогами мастодонтов наподобие WordPress и Drupal. Также на Python создают вспомогательные инструменты для работы с вебом, например скрапперы, собирающие информацию с чужих веб-страниц.
Десктопная разработка - На Python создавались мощные приложения и инфраструктуры, например редактор изображений GIMP, магазин приложений в операционной системе Ubuntu, редакторы 3D-графики, bittorrent-сети и т.п. Список можно продолжать долго.
- Также Python нередко становится составной частью подобных приложений. Например, Sublime Text написан на С++, а расширения и плагины для него написаны на Python.
- Так что Python можно нередко встретить в совершенное неожиданных местах.
Мобильная разработка - Приложения для iOS и Android создаются на сотнях различных языков, и Python в их числе. Чаще, конечно, это касается их серверной составляющей, потому что за интерфейс отвечают более распространенные фреймворки либо какие-то узкоспециализированные технологии. Тем не менее за бэкенд (то есть внутреннюю логику программы) часто отвечает именно Python.
- Видеоигры
- Python используется в разработке игр как раз из-за возможности создавать с помощью языка надежные и продуманные скрипты. Они отвечают за движение персонажей, выполнение каких-либо действий, переход от одного события в игре к другому и так далее.
С++ C++ — компилируемый, статически типизированный язык программирования общего назначения, на котором можно создавать программы любого уровня сложности. С++ – это мультипарадигмальный язык (от слова парадигма – стиль написания компьютерных программ), включающий широкий спектр различных стилей и технологий программирования. Часто его причисляют к объектно-ориентированным языкам, но, строго говоря, это не так. В процессе работы разработчик получает абсолютную свободу в выборе инструментов для того, чтобы задача, решаемая с помощью того или иного подхода, была решена максимально эффективно. Иными словами, С++ не понуждает программиста придерживаться только одного стиля разработки программы (например, объектно-ориентированного). Синтаксис C++ унаследован от языка C. Одним из принципов разработки было сохранение совместимости с C. Тем не менее, C++ не является в строгом смысле надмножеством C. Со временем, практическая совместимость между языками C и C++ постепенно будет утрачиваться, так как языки разрабатывают разные группы по стандартизации, не взаимодействующие друг с другом. C++ повлиял на многие языки программирования, в их числе: Java, C#, PHP, Perl, D, Lua, Rust. C++ имеет богатую стандартную библиотеку, которая включает в себя распространённые контейнеры и алгоритмы, ввод-вывод, регулярные выражения, поддержку многопоточности и другие возможности. За время своего существования за языком С++ закрепились устойчивые мифы, которые легко опровергаются. - C++ — компилируемый, статически типизированный язык программирования общего назначения, на котором можно создавать программы любого уровня сложности. С++ – это мультипарадигмальный язык (от слова парадигма – стиль написания компьютерных программ), включающий широкий спектр различных стилей и технологий программирования. Часто его причисляют к объектно-ориентированным языкам, но, строго говоря, это не так. В процессе работы разработчик получает абсолютную свободу в выборе инструментов для того, чтобы задача, решаемая с помощью того или иного подхода, была решена максимально эффективно. Иными словами, С++ не понуждает программиста придерживаться только одного стиля разработки программы (например, объектно-ориентированного). Синтаксис C++ унаследован от языка C. Одним из принципов разработки было сохранение совместимости с C. Тем не менее, C++ не является в строгом смысле надмножеством C. Со временем, практическая совместимость между языками C и C++ постепенно будет утрачиваться, так как языки разрабатывают разные группы по стандартизации, не взаимодействующие друг с другом. C++ повлиял на многие языки программирования, в их числе: Java, C#, PHP, Perl, D, Lua, Rust. C++ имеет богатую стандартную библиотеку, которая включает в себя распространённые контейнеры и алгоритмы, ввод-вывод, регулярные выражения, поддержку многопоточности и другие возможности. За время своего существования за языком С++ закрепились устойчивые мифы, которые легко опровергаются.
Где применяется С++? - Где применяется С++?
В недавнем интервью по ссылке ниже создатель языка рассказал, что C++ используют практически во всех областях. Мы выделим три направления, в которых лучше всего раскрываются преимущества языка. - Оптимизация
Перепишите любой код с языка более высокого уровня на C++, чтобы программа работала быстрее. Так часто делают в сфере глубокого обучения и других алгоритмических областях, где важна скорость. Подход может выглядеть так: пишу код на Python; заставляю работать нейросеть, которая решит мою проблему; переношу код на C++. Но это не всегда приносит пользу: иногда быстрая разработка важнее производительности, или выгода от переноса кода на C++ совсем незначительна. Игры - Игры
В инди-играх обычно используются высокоуровневые языки и игровые движки (C# и Unity, Java и jMonkeyEngine), но на том же Unreal Engine можно создавать игры и на C++. Множество игр AAA-класса пишутся на C++ по нескольким причинам: - топовые игры надо хорошо оптимизировать, а С++ достаточно гибкий для этого. Но вместе с тем на нём удобно писать в ООП-стиле, не спускаясь до очень низкого уровня;
- использование собственного движка для полного контроля любых игровых механик. Да, так делают не всегда, но часто — в основном из-за проблем с лицензиями и необходимостью делить прибыль с продаж;
- кроссплатформенность: игра должна хорошо работать на всех поддерживаемых устройствах. Хотя многие движки по умолчанию предоставляют эту особенность, она не всегда эффективна: у кого-то игра может работать быстрее, а у кого-то медленнее. Код пишется так, чтобы оптимизировать компиляцию в бинарные файлы на разных платформах.
- GPU-вычисления
Nvidia CUDA и OpenCL — две платформы, позволяющие запускать код C++ на графическом процессоре. GPU содержат сотни небольших вычислительных ядер, которые могут одновременно выполнять простые математические операции. Написав код для GPU, распараллеливающий сложные вычисления, можно добиться очень высокой производительности и скорости. C++ отлично подходит для этого. - Среди возможных применений:
- майнинг биткоинов: код на C++ помогает майнить быстрее;
- обучение нейросетей: большинство библиотек Deep Learning используют C/C++ код на CUDA или OpenCL, чтобы нейросети обучались и работали быстрее. Однако многие функции доступны как на C++, так и на более высокоуровневых языках;
- шейдеры для игр и графического ПО. Шейдеры — небольшие участки кода, параллельно запускающиеся на GPU и выполняющие сложные графические задачи (например, трассировку лучей).
C# - C# — объектно-ориентированный, ориентированный на компоненты язык программирования. C# предоставляет языковые конструкции для непосредственной поддержки такой концепции работы. Благодаря этому C# подходит для создания и применения программных компонентов. С момента создания язык C# обогатился функциями для поддержки новых рабочих нагрузок и современными рекомендациями по разработке ПО.
- С# популярен за счет своей «простоты». Простоты для современных программистов и больших команд разработчиков, чтобы те могли в сжатые сроки создавать функциональные и производительные приложения. Этому способствуют нетипичные конструкции языка и специфичный синтаксис, помогающий максимально органично реализовать намеченные функции.
- Популярность языка – еще одно значимое преимущество. Большое количество поклонников C# способствуют его развитию. Также это благоприятно влияет на рост числа вакансий, связанных с разработкой на языке Microsoft. Программисты, хорошо знакомые с С#, востребованы в индустрии, несмотря на их большое и постоянно увеличивающееся количество.
- Microsoft — приложения для Windows и Xbox.
- Tesla — корпоративные веб-сервисы и программы.
- Stack Overflow — серверную логику сайтов.
- Сбербанк — 3D-графику и программы виртуальной реальности.
- Ozon — складские и логистические системы.
- «Яндекс» — приложения для автоматизации продаж.
Java - Java – это язык программирования общего назначения. То есть язык, который применяется в разработке различных программных продуктов, без четкой специализации в конкретной сфере. Он во многом похож на Python, JavaScript и другие языки того же уровня, что и Java. Кроме того, Java заимствует массу синтаксических конструкций из C и C++.
- Это объектно-ориентированный язык. Вся структура строится вокруг объектов, классов, инстансов и прочих формальных сущностей, принятых в сообществе программистов за стандарт разработки ООП. Это как проектирование домов с использованием отдельных строительных блоков, которые потом можно задействовать при постройке различных типов зданий. Программы, написанные на Java, состоят из подобных «блоков», что сокращает время разработки, а также делает код более читаемым и удобным для модификации.
- А еще Java выступает в роли платформы. Код, написанный на этом языке, запускается в виртуальной машине JVM и без проблем инициализируются в любой системе, где поддерживается соответствующая виртуальная машина.
Сферы применения языка Java Сферы применения языка Java - Java используется во многих сферах начиная с e-commerce веб-сайтов и заканчивая приложениями для Android, в научных исследованиях и финансах, играх вроде Minecraft и настольных приложениях Eclipse, Netbeans и IntelliJ.
- Мобильные приложения Android
- Java Micro Edition – это популярная кроссплатформенная среда, применяемая для создания приложений смартфонов. Примеры мобильных приложений, написанных на Java: Netflix, Tinder, Google Earth, Uber и т. д.
- Игры на Java
- Сайт Java-Gaming.org полностью посвящен созданию игр на Java. Библиотека LWJGL значительно упрощает этот процесс. Примеры написанных на Java игр перечислены в статье 38 лучших приложений (англ.).
- Серверные финансовые приложения
- Глобальные инвестиционные банки Goldman Sachs, Citigroup, Barclays, Standard Charted используют Java для написания фронт и бэк-офисов систем электронной торговли, систем расчетов и подтверждения транзакций, обработки данных и т. д.
- Веб-приложения на Java
- Из представленной ниже таблицы следует, что Java – самый популярный серверный язык среди ведущих технологических компаний. В сравнении с другими языками программирования, Java обладает лучшей безопасностью, адаптируемостью и масштабируемостью приложений.
SQL - SQL (сокращение от англ. Structured Query Language) — это язык запросов, который применяют, чтобы работать с базами данных, структурированных особым образом. Главные задачи SQL — составлять запросы так, чтобы находить среди большого объёма информации ту, что нужна для конкретных целей, сортировать её, структурировать и представлять в наиболее простом и понятном виде.
- Чтобы понять, зачем нужен язык SQL, представьте, что женщина выбирает в интернет-магазине летнее платье жёлтого цвета и хочет уложиться в 5 тысяч рублей. Всего в магазине 10 тысяч платьев. Если просто перебирать их по каталогу, уйдёт несколько часов. Но можно задать в фильтрах настройки по категории, сезону, цвету, цене и сразу найти нужные модели. Эти фильтры работают за счёт языка SQL.
- Первый прототип SQL представила в 1979 году компания-разработчик Oracle. Сначала это был простейший инструмент для извлечения нужных данных, вроде фильтров в Excel-таблицах. С годами он усложнился, и теперь его применяют в качестве одного из основных инструментов для обработки данных. С помощью SQL можно:
● собирать и хранить данные в виде таблиц; ● объединять данные и выполнять вычисления; ● защищать и распределять доступ. Кому нужен SQL? Кому нужен SQL? SQL, как простой и лёгкий в изучении язык сегодня активно применяется: - разработчиками для обеспечения функциональности приложений;
- тестировщиками в ручном и автоматическом тестировании;
- аналитиками для анализа и преобразования данных;
- администраторами для поддержания работоспособности среды.
Язык универсален и обладает чётко определённой структурой за счет устоявшихся стандартов. Взаимодействие с базами данных происходит быстро даже в ситуациях, когда объёмы данных велики (Big Data). Кроме того, эффективное управление возможно даже без особых познаний кода. - создавать таблицы данных;
- получать, изменять и хранить данные;
- изменять структуру данных;
- объединять данные;
- выполнять вычисления;
- обеспечивать защиту данных.
И хотя язык SQL легкий в изучении и обладает множеством функциональных возможностей, он не является привычным процедурным языком программирования, т.е. не предоставляет средств для построения циклов, ветвлений и т. д. Поэтому позже стали появляться процедурные расширения. Например, PL/SQL – расширение, разработанное Oracle. Такие расширения позволили создавать программы, которые хранятся в базах данных и выполняются СУБД, они обеспечили решение практически всех возможных задач, связанных с данными, а еще позволили автоматизировать их обработку. |
|
|