Програмування

Програмування — процес проєктування, написання, тестування, зневадження і підтримки комп'ютерних програм. Програмування поєднує в собі елементи інженерії (існує навіть відповідна спеціальна галузь інженерії — програмна інженерія, англ. software engineering), фундаментальних наук (перш за все комп'ютерних наук і математики) і мистецтва[1].

У вужчому значенні програмування розглядається як кодування — реалізація у вигляді програми одного чи кількох взаємопов'язаних алгоритмів (у сучасних умовах це здійснюється з застосуванням мов програмування). У ширшому розумінні процес програмування охоплює і створення, тобто розроблення, алгоритмів, і аналіз потреб майбутніх користувачів програмного забезпечення. Результатом програмування зазвичай є програма або програмний продукт.

Технологія програмування постійно розвивається, що призводить до появи нових мов програмування, інструментів розроблення і сфер застосування. Також підвищується потужність готових компонентів, доступних для використання програмістами. Тому важливою ознакою програмування є регулярне опанування нових технологій.

У широкому значенні програмування означає також створення програми дій або алгоритмів та навчання людей або пристроїв діяти за алгоритмами.

Історія

Сучасне програмування

Критерії якості

Яким би не був підхід до створення програмного забезпечення, кінцева програма має задовольняти деяким вимогам. Найчастіше зустрічаються[джерело не вказане 4460 днів]:

  • Ефективність/Продуктивність: кількість ресурсів системи, що споживає програма (час процесора, розмір пам'яті, зовнішня пам'ять, ширина каналу мережі, і навіть взаємодії з користувачем). Чим менше ресурсів споживається, тим краще;
  • Надійність: ймовірність того, що результат роботи програми правильний. Це залежить від коректності алгоритмів та правильності кодування;
  • Стійкість: як програма розв'язує проблеми в нестандартних ситуаціях, як-от неправильні дані, недоступність необхідних ресурсів, таких як пам'ять чи локальна мережа, та неправильні дії користувача;
  • Зручність: ергономічність програми. Легкість, з якою особа може використовувати програму для своїх цілей;
  • Платформонезалежність: діапазон апаратного забезпечення та операційних систем на яких можна компілювати чи інтерпретувати код програми, виконуючи її. Це залежить від відмінностей в програмних ресурсах наданих різними платформами, включаючи ресурси, наявність компіляторів та бібліотек для мови програмування;
  • Масштабованість: Простота подальшого супроводження програми, тобто внесення в неї додаткових вдосконалень, що збільшують функціональність чи виправляють помилки. Цей критерій не стосується користувача безпосередньо, але впливає на час, протягом якого програма буде використовуватись.
  • Естетичність: Вигляд програми на екрані з погляду підбору кольорів, форм, розмірів графічних елементів і контролів, гармонійності їх взаємного розташування, якість малюнків, вибір шрифтів тексту, а також доречність звукових сигналів і мелодій, рухів вібродвигуна.
  • Етичність: Ступінь спрямованості на задоволення справжніх потреб людей, реалізацію кращих і законних бажань користувачів і розробників.

Рівні програмування

Успішне програмування передбачає виконання необхідних дій на таких рівнях[джерело?]:

  • Економічний (бізнес-логіка): Формування вимог до програмного продукту з урахуванням привабливості для користувачів, прибутковості для розробника і наявних можливостей розробника. Побудова загального уявлення про функціональність, спрямованість і призначення програмного продукту;
  • Структурний (архітектура): Створення переліку і взаємозв'язків потрібних модулів, графічних і звукових елементів, алгоритмів, баз даних, файлів, вибір мови програмування. Результатом цього кроку є повне, детальне й однозначне уявлення про функціонування майбутнього програмного продукту, включно з усіма графічними елементами, подіями і їх обробниками, станами й режимами роботи програми, сценаріями використання ("use cases") і протоколами обміну, а також послідовність дій програміста, яка призводить до реалізації задуманого продукту;
  • Детальний/Фізичний (кодування): Реалізація окремих функцій з використанням конструкцій, операторів і бібліотек мови програмування, формування образів екранів в графічних дизайнерах, друкування тексту програми на клавіатурі.

Для кожного програмного проєкту наведену послідовність дій можна виконувати декілька разів, що призводить до «ітеративного покращення» програмного продукту.

Суперкомпіляція

Суперкомпіляція — метод аналізу й перетворення програм на основі наступних дій:[2][3]

  • Робиться спроба «виконати» програму не для конкретних вхідних даних, а «символічно» у «загальному» вигляді, тобто для довільних вхідних даних. Для цього будується «дерево процесів».
  • Якщо початкова програма містить цикли та/або рекурсію, то дерево процесів є нескінченним. У цьому випадку робиться спроба згорнути нескінченне дерево у скінченний «граф конфігурацій». Для цього конфігурації порівнюються між собою.
  • Побудований скінченний граф конфігурацій перетворюється в «залишкову» програму.

Спеціалізація програм. Нехай  — програма,  — обмеження на умови експлуатації . Тоді на вхід спеціалізатора подається , а задача спеціалізатора — породити залишкову програму яка повинна задовільняти наступним умовам

  • за умов ;
  • отримується з шляхом вилучення непотрібних фрагментів в результаті накладання умов .

Мова програмування

Це система позначень яку використовує програміст для опису програми.

Теорія програмування

Пов'язана з вивченням програмування в загальному контексті інформатики як наукової дисципліни.

Див. також

Спортивне (олімпіадне) програмування

Примітки

  1. Graham, Paul. Knuth: Computer Programming as an Art. Процитовано 11 травня 2017.
  2. Анд. В. Климов, С.А.Романенко - Суперкомпиляция: основные принципы и базовые понятия.
  3. И. Г. Ключников - Суперкомпиляция функций высших порядков.

Посилання

Література

  • Зубенко В. В. Програмування: навчальний посібник (гриф МОН України) / В. В. Зубенко, Л. Л. Омельчук. — К. : ВПЦ «Київський університет», 2011. — 623 c.
  • Логічне і функціональне програмування: навч. посіб. / В. М. Заяць, М. М. Заяць ; Нац. ун-т «Львів. політехніка». — Львів ; Кам'янець-Подільський: Гордукова І. Є., 2016. — 398 с. : рис.
  • Нікітченко М. С. Теоретичні основи програмування: навчальний посібник / М.С Нікітченко — Ніжин: Видавництво НДУ імені Миколи Гоголя, 2010. — 121 с.
  • Основи програмування: навч. посіб. / Л. І. Козак, І. В. Костюк, С. Л. Стасевич. — Львів: Новий Світ — 2000, 2019. — 326 с.
  • Програмування веб-застосувань (фронт-енд та бек-енд): навч. посіб. / Р. А. Мельник ; Нац. ун-т «Львів. політехніка». — Львів: Вид-во Львів. політехніки, 2018. — 247 с. : рис., табл.


Read other articles:

Kipped climate category For the influence of continental climates on viticulture, see continental climate (wine). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Continental climate – news · newspapers · books · scholar · JSTOR (November 2007) (Learn how and when to remove this template message) Areas of the wo…

American meat production company For the founder of the company, see Oscar F. Mayer. For his son, see Oscar G. Mayer Sr. For his grandson, see Oscar G. Mayer Jr. Oscar MayerCompany typeSubsidiaryFounded1883; 141 years ago (1883)FounderOscar F. MayerHeadquartersChicago, Illinois, U.S.ParentKraft HeinzWebsiteoscarmayer.com Oscar Mayer is an American meat and cold cut producer known for its hot dogs, bologna, bacon, ham, and Lunchables products. The company is a subsidiary of the …

126th Air Refueling Wing126th Air Refueling Wing KC-135 59–1500 taking off to a forward deployed location in support of Joint Task Force Odyssey Dawn, 24 March 2011Active8 September 1942–PresentCountry United StatesAllegiance IllinoisBranch  Air National GuardTypeWingRoleAir RefuelingPart ofIllinois Air National GuardGarrison/HQScott Air Force Base, Belleville, IllinoisMotto(s)Anytime, AnywhereTail CodeBlue tail stripe bordered in orange, with Illinois in white letters ov…

Motorsport track in the United States This article is about the track in Rockingham, USA. For the former track located in Northamptonshire, UK, see Rockingham Motor Speedway. Rockingham SpeedwayThe RockD-shaped Oval (1965–present)LocationRockingham, North CarolinaTime zoneUTC−5 (UTC−4 DST)Coordinates34°58′27.05″N 79°36′37.51″W / 34.9741806°N 79.6104194°W / 34.9741806; -79.6104194Capacity34,500[1]OwnerRockingham Properties LLC. (August 2018–pres…

City and municipality in Veracruz, MexicoVeracruzCity and municipalityHeroica Veracruz Top: Clavijero Theatre (left) and City Hall (right); middle top: aerial view of Veracruz; middle bottom: Portal de Miranda (left), Venustiano Carranza Lighthouse (center) and Veracruz Cathedral (right) ; bottom: Castle of San Juan de Ulúa (left) and Portales de Lerdo (right) Coat of armsVeracruzShow map of VeracruzVeracruzShow map of MexicoCoordinates: 19°11′25″N 96°09′12″W / 19…

Questa voce o sezione sull'argomento edizioni di competizioni calcistiche non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento. Gauliga 1937-1938 Competizione Fußball-Bundesliga Sport Calcio Edizione 31º Organizzatore DFB Date dal 13 marzo 1938al 3 luglio 1938 Luogo  Germania Partecipanti 16 Risultat…

Bagian dari seri tentangBuddhisme SejarahPenyebaran Sejarah Garis waktu Sidang Buddhis Jalur Sutra Benua Asia Tenggara Asia Timur Asia Tengah Timur Tengah Dunia Barat Australia Oseania Amerika Eropa Afrika Populasi signifikan Tiongkok Thailand Jepang Myanmar Sri Lanka Vietnam Kamboja Korea Taiwan India Malaysia Laos Indonesia Amerika Serikat Singapura AliranTradisi Buddhisme prasektarian Aliran Buddhis awal Mahāsāṃghika Sthaviravāda Aliran arus utama Theravāda Mahāyāna Vajrayāna Konsens…

American economist (born 1968) For the ice hockey referee, see Peter Ország. Peter OrszagPeter Orszag in 202337th Director of the Office of Management and BudgetIn officeJanuary 20, 2009 – July 20, 2010PresidentBarack ObamaDeputyRob NaborsPreceded byJim NussleSucceeded byJeff Zients (Acting)7th Director of the Congressional Budget OfficeIn officeJanuary 18, 2007 – November 25, 2008Preceded byDouglas Holtz-EakinSucceeded byDouglas Elmendorf Personal detailsBornPeter Richard…

Protected area in Romania This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Măcin Mountains – news · newspapers · books · scholar · JSTOR (January 2017) (Learn how and when to remove this message)The Danube and Măcin Mountains in the background The Măcin Mountains (Romanian: Munții Măcin) is a mountain range…

  关于与「华盛顿州」標題相近或相同的条目页,請見「华盛顿」。   此條目介紹的是美國西北部太平洋沿岸的州。关于与之同名的美国首都所在地,请见「華盛頓哥伦比亚特区」。 此條目需要擴充。 (2007年9月26日)请協助改善这篇條目,更進一步的信息可能會在討論頁或扩充请求中找到。请在擴充條目後將此模板移除。 华盛顿州 美國联邦州State of Washington …

此條目可参照英語維基百科相應條目来扩充。 (2021年5月6日)若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低品质内容。依版权协议,译文需在编辑摘要注明来源,或于讨论页顶部标记{{Translated page}}标签。 约翰斯顿环礁Kalama Atoll 美國本土外小島嶼 Johnston Atoll 旗幟颂歌:《星條旗》The Star-Spangled Banner約翰斯頓環礁地…

2016年美國總統選舉 ← 2012 2016年11月8日 2020 → 538個選舉人團席位獲勝需270票民意調查投票率55.7%[1][2] ▲ 0.8 %   获提名人 唐納·川普 希拉莉·克林頓 政党 共和黨 民主党 家鄉州 紐約州 紐約州 竞选搭档 迈克·彭斯 蒂姆·凱恩 选举人票 304[3][4][註 1] 227[5] 胜出州/省 30 + 緬-2 20 + DC 民選得票 62,984,828[6] 65,853,514[6] 得…

Vorobyovy GoryStasiun Metro MoskwaLokasiRussiaPemilikMoskovsky MetropolitenJalur!C  1  Jalur Sokolnicheskaya Jumlah peron1 peron pulauJumlah jalur2KonstruksiTinggi peron1ParkirTidak adaFasilitas sepedaTidak adaInformasi lainKode stasiun016SejarahDibuka1 Desember 1959; 64 tahun lalu (1959-12-01)Dibangun kembali20 Oktober 1983; 40 tahun lalu (1983-10-20) to 14 Desember 2002; 21 tahun lalu (2002-12-14)Nama sebelumnyaLeninskye GoryOperasi layanan Stasiun sebelumnya…

بلينكو     الإحداثيات 41°55′49″N 96°04′51″W / 41.930277777778°N 96.080833333333°W / 41.930277777778; -96.080833333333   [1] تقسيم إداري  البلد الولايات المتحدة[2]  التقسيم الأعلى مقاطعة مونونا  خصائص جغرافية  المساحة 1.961393 كيلومتر مربع1.961394 كيلومتر مربع (1 أبريل 2010)  ارتفاع 31…

Tổ hợp nghệ thuật in Sydney, ÚcBản mẫu:SHORTDESC:Tổ hợp nghệ thuật in Sydney, ÚcNhà hát Opera SydneyLogo kỷ niệm 50 năm khánh thànhThông tin chungDạngTổ hợp nghệ thuậtPhong cáchBiểu hiệnHệ thống kết cấuKhung bê tông & mái bê tông được đúc sẵnĐịa điểmSydney, ÚcXây dựngHoàn thành1973Mở cửa20 tháng 10 năm 1973Thiết kếKiến trúc sưJørn UtzonKỹ sư kết cấuOve Arup & Partners Di sản thế gi…

Национальное аэрокосмическое агентство Азербайджана Штаб-квартира Баку, ул. С. Ахундова, AZ 1115 Локация  Азербайджан Тип организации Космическое агентство Руководители Директор: Натиг Джавадов Первый заместитель генерального директора Тофик Сулейманов Основание Основ…

Grey's Anatomy is an American medical drama television series that premiered on the American Broadcasting Company (ABC) as a mid-season replacement on March 27, 2005.[1] The series focuses on the fictional lives of surgical interns and residents as they evolve into seasoned doctors while trying to maintain personal lives. The show's premise originated with Shonda Rhimes, who serves as an executive producer, along with Betsy Beers, Mark Gordon, Krista Vernoff, Rob Corn, Mark Wilding, and …

Monumento a Cristóbal Colón UbicaciónPaís  ArgentinaUbicación Plaza Puerto Argentino, Buenos Aires, ArgentinaCoordenadas 34°36′32″S 58°22′11″O / -34.608832, -58.369658CaracterísticasTipo Escultura en mármolAutor Arnaldo ZocchiDimensiones 26 m (entre 6 y 7 m le corresponden a la estatua)Materiales MármolHistoriaInauguración 15 de junio de 1921 (103 años)ProtecciónCaracterísticas Realizado en mármol de Carrara; peso: 623 t[editar datos en Wikid…

Type of boat or ship having only one hull A monohull is a type of boat having only one hull, unlike multihulled boats which can have two or more individual hulls connected to one another. Fundamental concept Among the earliest hulls were simple logs, but these were generally unstable and tended to roll over easily. Hollowing out the logs into a dugout canoe doesn't help much unless the hollow section penetrates below the log's center of buoyancy, then a load carried low in the cavity actually st…

سفارة دولة فلسطين لدى اليمن فلسطين اليمن البلد اليمن  المكان صنعاء العنوان حي فج عطوان الاختصاص اليمن  السَفير جلال البروز تعديل مصدري - تعديل   سفارة دولة فلسطين لدى اليمن هي الممثلية الدبلوماسية العُليا لدولة فلسطين لدى الجمهورية اليمنية. تقع السفارة في حي فج عطان …