~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 4A9739C864C46CE9E1816DEF6CAE75E0__1716795180 ✰
Заголовок документа оригинал.:
✰ General-purpose programming language - Wikipedia ✰
Заголовок документа перевод.:
✰ Язык программирования общего назначения — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/General-purpose_programming_language ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/4a/e0/4a9739c864c46ce9e1816def6cae75e0.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/4a/e0/4a9739c864c46ce9e1816def6cae75e0__translat.html ✰
Дата и время сохранения документа:
✰ 22.06.2024 18:53:13 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 27 May 2024, at 10:33 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Язык программирования общего назначения — Википедия Jump to content

Язык программирования общего назначения

Из Википедии, бесплатной энциклопедии

В компьютерном программном обеспечении язык программирования общего назначения ( GPL ) — это язык программирования для создания программного обеспечения в самых разных областях применения . И наоборот, предметно-ориентированный язык программирования (DSL) используется в определенной области. Например, Python — это лицензия GPL, а SQL — это DSL для запросов к реляционным базам данных .

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

Ранние языки программирования, как и компьютерное оборудование, были разработаны для научных вычислений (численных расчетов) или коммерческой обработки данных. Научные языки, такие как Fortran и Algol, поддерживают вычисления с плавающей запятой и многомерные массивы, а бизнес-языки, такие как COBOL, поддерживают форматы файлов с фиксированными полями и записи данных . Гораздо менее широко использовались специализированные языки, такие как IPL-V и LISP, для обработки символьных списков ; COMIT для манипуляций со строками; APT для станков с числовым программным управлением . Системное программирование, требующее манипулирования указателями , обычно выполнялось на языке ассемблера , хотя JOVIAL использовался для некоторых военных приложений. [1]

Система IBM System /360 , анонсированная в 1964 году, была спроектирована как унифицированная аппаратная архитектура, поддерживающая как научные, так и коммерческие приложения, и IBM разработала для нее PL/I как единый язык общего назначения, поддерживающий научное, коммерческое и системное программирование. . Действительно, подмножество PL/I использовалось в качестве стандартного языка системного программирования для операционной системы Multics .

Со времени PL/I различие между научными и коммерческими языками программирования уменьшилось: большинство языков поддерживают основные функции, необходимые обоим, а большая часть обработки файлов специального формата делегируется специализированным системам управления базами данных .

Начиная с 1960-х годов также были разработаны многие специализированные языки: GPSS и Simula для моделирования дискретных событий; MAD , BASIC , Logo и Pascal для обучения программированию; C для системного программирования; JOSS и APL\360 для интерактивного программирования. [1]

GPL против DSL [ править ]

Различие между языками программирования общего назначения и языками программирования предметной области не всегда четкое. [2] Язык программирования может быть создан для конкретной задачи, но использоваться за пределами этой исходной области и, таким образом, считаться языком программирования общего назначения. Например, COBOL , Fortran и Lisp были созданы как DSL (для бизнес-обработки, числовых вычислений и символьной обработки), но со временем перешли под лицензию GPL. [ сомнительно обсудить ] И наоборот, язык может быть разработан для общего использования, но применяться на практике только в определенной области. [3] Язык программирования, который хорошо подходит для решения задачи, будь то язык общего назначения или DSL, должен минимизировать требуемый уровень детализации, оставаясь при этом достаточно выразительным в предметной области. [4] Как следует из названия, язык общего назначения является «общим» в том смысле, что он не может обеспечить поддержку нотации, специфичной для предметной области, в то время как DSL могут быть разработаны для различных проблемных областей для решения этой проблемы. [4] Языки общего назначения предпочтительнее DSL, когда предметная область приложения недостаточно понятна, чтобы гарантировать использование собственного языка. В этом случае вместо этого может использоваться язык общего назначения с соответствующей библиотекой типов данных и функций для предметной области. [5] Хотя DSL обычно меньше GPL, поскольку они предлагают меньший диапазон обозначений абстракций, некоторые DSL фактически содержат всю GPL в качестве подъязыка. В этих случаях DSL способны предложить выразительную силу для конкретной предметной области наряду с выразительной силой GPL. [6]

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

Преимущества и недостатки [ править ]

Языки программирования общего назначения чаще используются программистами. Согласно исследованию, C , Python и Java были наиболее часто используемыми языками программирования в 2021 году. [7] Одним из аргументов в пользу использования языков программирования общего назначения по сравнению с предметно-ориентированными языками является то, что больше людей будут знакомы с этими языками, что избавит от необходимости изучать новый язык.

Кроме того, для многих задач (например, статистического анализа, машинного обучения и т. д.) существуют тщательно протестированные и оптимизированные библиотеки. Теоретически наличие этих библиотек должно устранить разрыв между языками общего назначения и предметно-ориентированными языками. [4]

Эмпирическое исследование 2010 года было направлено на измерение эффективности решения проблем и производительности между GPL и DSL, предлагая пользователям задачи, которые были знакомы с GPL ( C# ) и незнакомы с DSL ( XAML ). В конечном итоге пользователи этого конкретного предметно-ориентированного языка показали лучшие результаты на 15%, хотя они были лучше знакомы с GPL, что требует дальнейших исследований. [4]

Примеры [ править ]

С [ править ]

Предшественник C , B , был разработан в основном для конкретной цели: системного программирования . [8] Напротив, C нашел применение в различных вычислительных областях, таких как операционные системы , драйверы устройств , прикладное программное обеспечение и встроенные системы .

C подходит для использования в самых разных областях из-за своей универсальности. Он обеспечивает экономичность выражения, управление потоками, структуры данных и богатый набор операторов, но не ограничивает пользователей использовать его в каком-либо одном контексте. [9] В результате, хотя его создатели впервые использовали его для переписывания ядра операционной системы Unix , [10] его легко адаптировать для использования при разработке приложений, встроенных системах (например, программировании микропроцессоров), видеоиграх (например, Doom ) и так далее. Сегодня C остается одним из самых популярных и широко используемых языков программирования. [11]

С++ [ править ]

Задуманный как расширение C, C++ представил объектно-ориентированные функции, а также другие удобства, такие как ссылки, перегрузка операторов и аргументы по умолчанию. Как и C, универсальность C++ позволяла использовать его в широком диапазоне областей. Хотя основной областью применения C++ является системное программирование (из-за способности C++ предоставлять доступ к низкоуровневой архитектуре), [12] он широко использовался для создания настольных приложений, видеоигр, баз данных, финансовых систем и многого другого. [13] Крупнейшие компании-разработчики программного обеспечения и финансовые компании, такие как Microsoft , Apple , Bloomberg и Morgan Stanley , по-прежнему широко используют C++ в своих внутренних и внешних приложениях. [13]

Питон [ править ]

Python был задуман как язык, в котором особое внимание уделяется читаемости и расширяемости кода. [14] [15] Первый позволял инженерам, не связанным с программным обеспечением, легко изучать и писать компьютерные программы, а второй позволял специалистам в предметной области легко создавать библиотеки, подходящие для их собственных случаев использования. По этим причинам Python использовался в широком спектре областей.

Ниже приведены некоторые области использования Python: [16]

  • Веб-разработка. Такие платформы, как Django и Flask, позволяют веб-разработчикам создавать надежные веб-серверы, которые также могут использовать преимущества более широкой экосистемы Python.
  • Наука и академические круги: Научные библиотеки и библиотеки данных, такие как SciPy и Pandas , позволили использовать Python в научных исследованиях. [17]
  • Машинное обучение. Такие библиотеки, как scikit-learn и Tensorflow, повысили доступность машинного обучения для разработчиков. [18]
  • Общая разработка программного обеспечения: разработка пользовательских приложений, программ для очистки веб-страниц, игр и другого общего программного обеспечения.

Список [ править ]

Ниже приведены некоторые языки программирования общего назначения:

См. также [ править ]

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

  1. ^ Перейти обратно: а б Жан Э. Саммет, «Языки программирования: история и будущее», Communications of ACM 15 :7:601-610 (июль 1972 г.) дои : 10.1145/361454.361485
  2. ^ «Языки конкретной предметной области: аннотированная библиография». CiteSeerX   10.1.1.33.8207 . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  3. ^ Берри, Джерард (май 2006 г.). «Программирование в реальном времени: языки специального или общего назначения» . HAL Открытая наука .
  4. ^ Перейти обратно: а б с д Косар, Томаз (май 2010 г.). «Сравнение языков общего назначения и языков для конкретной предметной области: эмпирическое исследование» (PDF) . Информатика и информационные системы . 7 (2): 247–264. дои : 10.2298/CSIS1002247K .
  5. ^ ван Дёрсен, Ари (декабрь 1998 г.). «Маленькие языки: мало ухода?» . Журнал обслуживания программного обеспечения: исследования и практика . 10 (2): 75–92. doi : 10.1002/(SICI)1096-908X(199803/04)10:2<75::AID-SMR168>3.0.CO;2-5 .
  6. ^ ван Дёрсен, Ари; Клинт, Пол; Виссер, Йост (июнь 2000 г.). «Предметно-ориентированные языки: аннотированная библиография» . Уведомления ACM SIGPLAN . 35 (6): 26–36. дои : 10.1145/352029.352035 . ISSN   0362-1340 . S2CID   1049872 .
  7. ^ «Самые популярные языки программирования – 1965/2021 – Новое обновление – Статистика и данные» . Статистикаanddata.org . Проверено 3 июня 2022 г.
  8. ^ Томпсон, К. (7 января 1972 г.). «Титульный лист технического меморандума» (PDF) . Телефонные лаборатории Белла . Архивировано (PDF) из оригинала 11 июня 2015 г. Проверено 3 июня 2022 г.
  9. ^ В., Керниган, Брайан (2016). Язык программирования Си . Прентис Холл. ISBN  978-0-13-110370-2 . OCLC   1004153413 . {{cite book}}: CS1 maint: несколько имен: список авторов ( ссылка )
  10. ^ Ричи, Деннис (апрель 1993 г.). «Развитие языка Си» (PDF) . Уведомления ACM SIGPLAN . 28 (3): 201–208. дои : 10.1145/155360.155580 .
  11. ^ «Индекс ТИОБЕ» . ТИОБЕ . Проверено 3 июня 2022 г.
  12. ^ Страуструп, Бьярн (1995). Язык программирования C++ . Аддисон-Уэсли.
  13. ^ Перейти обратно: а б «Приложения C++» . www.stroustrup.com . Проверено 3 июня 2022 г.
  14. ^ «Артима — Создание Python» . www.artima.com . Проверено 3 июня 2022 г.
  15. ^ «Общие часто задаваемые вопросы по Python — документация Python 3.10.4» . docs.python.org . Проверено 3 июня 2022 г.
  16. ^ «Приложения для Python» . Python.org . Проверено 3 июня 2022 г.
  17. ^ «Популярность языков программирования в 12 086 исследовательских статьях – количественная оценка здоровья» . Проверено 3 июня 2022 г.
  18. ^ Педрегоса, Фабиан (2011). «Scikit-learn: машинное обучение на Python» (PDF) . Журнал исследований машинного обучения . 12 : 28:25–28:30. arXiv : 1201.0490 . Бибкод : 2011JMLR...12.2825P .
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 4A9739C864C46CE9E1816DEF6CAE75E0__1716795180
URL1:https://en.wikipedia.org/wiki/General-purpose_programming_language
Заголовок, (Title) документа по адресу, URL1:
General-purpose programming language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)