~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 1C41734FCD79A2FAEC016D1C691E0B1B__1706815620 ✰
Заголовок документа оригинал.:
✰ Automatic programming - Wikipedia ✰
Заголовок документа перевод.:
✰ Автоматическое программирование — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Automatic_programming ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/1c/1b/1c41734fcd79a2faec016d1c691e0b1b.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/1c/1b/1c41734fcd79a2faec016d1c691e0b1b__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 10:29:33 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 1 February 2024, at 22:27 (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

Автоматическое программирование

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

В информатике . автоматическое программирование [1] — это тип компьютерного программирования , в котором некий механизм генерирует компьютерную программу , позволяющую программистам- людям писать код на более высоком уровне абстракции.

До сих пор не существует единого мнения по поводу точного определения автоматического программирования, главным образом потому, что его значение со временем изменилось. Дэвид Парнас , прослеживая историю «автоматического программирования» в опубликованных исследованиях, отмечал, что в 1940-х годах оно описывало автоматизацию ручного процесса перфорации бумажной ленты . Позже это относилось к переводу языков программирования высокого уровня, таких как Фортран и АЛГОЛ . Фактически, одна из первых программ, идентифицируемых как компилятор , называлась Autocode . Парнас пришел к выводу, что «автоматическое программирование всегда было эвфемизмом для программирования на языке более высокого уровня, чем тот, который был тогда доступен программисту». [2]

Синтез программы — это один из видов автоматического программирования, при котором процедура создается с нуля на основе математических требований.

Происхождение [ править ]

Милдред Косс , один из первых программистов UNIVAC , объясняет: «Написание машинного кода включало несколько утомительных шагов — разбиение процесса на дискретные инструкции, назначение определенных ячеек памяти для всех команд и управление буферами ввода-вывода. После выполнения этих шагов для реализации математических процедур, библиотеки подпрограмм и программ сортировки, нашей задачей было рассмотреть более широкий процесс программирования. Нам нужно было понять, как мы можем повторно использовать проверенный код и использовать машинную помощь в программировании. В процессе программирования мы исследовали этот процесс. и попытался придумать способы абстрагировать эти шаги, чтобы включить их в язык более высокого уровня. Это привело к разработке интерпретаторов, ассемблеров, компиляторов и генераторов — программ, предназначенных для работы с другими программами или их создания, то есть автоматического программирования . " [3]

Генеративное программирование [ править ]

Генеративное программирование и связанный с ним термин «метапрограммирование». [4] это концепции, согласно которым программы могут быть написаны «для автоматического производства компонентов программного обеспечения». [5] точно так же, как автоматизация улучшила «производство традиционных товаров, таких как одежда, автомобили, химикаты и электроника». [6] [7]

Цель — повысить производительность программистов . [8] Это часто связано с темами повторного использования кода, такими как разработка программного обеспечения на основе компонентов .

Генерация исходного кода [ править ]

Генерация исходного кода — это процесс генерации исходного кода на основе описания проблемы. [9] или онтологическую модель, такую ​​как шаблон, и реализуется с помощью инструмента программирования , такого как процессор шаблонов или интегрированная среда разработки (IDE). Эти инструменты позволяют генерировать исходный код любым из различных способов.

Современные языки программирования хорошо поддерживаются такими инструментами, как Json4Swift ( Swift ) и Json2Kotlin ( Kotlin ).

Программы, которые могут генерировать код COBOL , включают:

Эти генераторы приложений поддерживали вставки и переопределения COBOL.

Макропроцессор , который заменяет шаблоны в исходном коде в соответствии с относительно , такой как препроцессор C простыми правилами, представляет собой простую форму генератора исходного кода. Также существуют инструменты генерации исходного кода. [11] [12]

Большие языковые модели , такие как ChatGPT, способны генерировать исходный код программы на основе описания программы, данного на естественном языке. [13]

Приложения с низким кодом [ править ]

Платформа разработки с низким уровнем кода среду, (LCDP) — это программное обеспечение, которое предоставляет программистам которую используют для создания прикладного программного обеспечения с помощью графических пользовательских интерфейсов и конфигурации вместо традиционного компьютерного программирования .

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

Примечания [ править ]

  1. ^ Рикардо Алер ​​Мур, « Автоматическое индуктивное программирование, архивировано 4 марта 2016 г. в Wayback Machine », Учебное пособие ICML 2006 г. Июнь 2006 года.
  2. ^ Д.Л. Парнас. « Программные аспекты систем стратегической обороны ». Американский учёный . Ноябрь 1985 года.
  3. ^ Чун, Венди. «О программном обеспечении, или устойчивость визуальных знаний». Серая комната 18. Бостон: 2004, стр. 30.
  4. ^ «О генеративном программировании» . Генеративное программирование, как подобласть метапрограммирования, описывает практику написания программ, которые генерируют другие программы в ходе своего выполнения.
  5. ^ П. Коинте (2005). «На пути к генеративному программированию». Нетрадиционные парадигмы программирования . Конспекты лекций по информатике. Том. 3566. стр. 315–325. дои : 10.1007/11527800_24 . ISBN  978-3-540-27884-9 . Генеративное программирование (GP) — это попытка автоматизированного производства компонентов программного обеспечения путем разработки программ, синтезирующих другие программы.
  6. ^ «Генераторное программирование: концепции и опыт (GPCE)» .
  7. ^ Конференция SIGPLAN на эта тема запланирована на ноябрь 2018 года. Попытки начала 1970-х годов в этой области включали Yacc и соответствующие программы Lex.
  8. ^ Джеймс Уилкокс, « Слишком много платят за разработку индивидуальных приложений », март 2011 г.
  9. ^ «Генератор приложений» . PCmag.com. Программное обеспечение, которое генерирует прикладные программы на основе описания проблемы, а не с помощью традиционного программирования. Он находится на более высоком уровне и его проще использовать, чем язык программирования высокого уровня, такой как...
  10. ^ «Синтаксис команды DYL-280» (PDF) . Архивировано из оригинала (PDF) 30 июля 2018 г. Проверено 3 сентября 2018 г.
  11. ^ Ноаже, Габриэль, Кристоф Жайе и Микаэль Краецки. « Транслятор исходного кода: OpenMP C в CUDA ». Высокопроизводительные вычисления и коммуникации (HPCC), 2011 г., 13-я Международная конференция IEEE. ИИЭР, 2011.
  12. ^ Куинлан, Дэн и Чуньхуа Ляо. « Инфраструктура компилятора ROSE из исходного кода ». Семинар по инфраструктуре пользователей и компиляторов Cetus совместно с PACT. Том. 2011. 2011.
  13. ^ Тунг, Лиам (26 января 2023 г.). «ChatGPT может писать код. Теперь исследователи говорят, что он также хорошо справляется с исправлением ошибок» . ЗДНЕТ . Архивировано из оригинала 3 февраля 2023 года . Проверено 22 июня 2023 г.

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

  • Генеративное программирование: методы, инструменты и приложения Кшиштофа Чарнецкого и Ульриха В. Эйзенекера, Аддисон Уэсли, 2000.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 1C41734FCD79A2FAEC016D1C691E0B1B__1706815620
URL1:https://en.wikipedia.org/wiki/Automatic_programming
Заголовок, (Title) документа по адресу, URL1:
Automatic programming - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)