Ծրագրավորում
Ծրագրավորում, համակարգչային ծրագրի ստեղծման գործընթաց։ Ըստ Նիկլաուս Վիրտի հայտնի արտահայտության, «Ծրագրեր = ալգորիթմներ + տվյալների կառուցվածքներ»[1]։ Այլ խոսքով, ծրագրավորման անմիջական խնդիրներն են ալգորիթմների և տվյալների կառուցվածքների ստեղծումը և կիրառումը։ Ավելի լայն իմաստով ծրագրավորումը հասկացվում է որպես ամբողջ գործունեություն, որը կապված է աշխատանքային միջավայրում ծրագրերի ստեղծման ու պահպանման՝ ծրագրային ապահովման հետ: Այստեղ մտնում են խնդրի վերլուծությունն ու ներկայացումը, ծրագրի նախագծումը, ալգորիթմների կառուցումը, տվյալների կառուցվածքային մշակումը, ծրագրի տեքստի գրառումը, ծրագրի կարգավորումն ու տեստավորումը, փաստաթղթավորումը, ուրվագծումը, վերջնական մշակումը: Ծրագրավորումը հիմնվում է ծրագրավորման լեզուների օգտագործման վրա, որոնցով գրառվում են հրահանգները համակարգչի համար:
Ծրագրավորման միջավայրում տեքստային խմբագրիչը կարող է ունենալ հատուկ գործառնություն, այնպիսին, ինչպիսիք են անունների ինդեքսացումը, փաստաթղթերի պատկերումը, օգտագործողի ինտերֆեյսի վիզուալ ստեղծման միջոցները: Տեքստային խմբագրիչի օգնությամբ ծրագրավորողը դուրս է բերում ստեղծվող ծրագրի տեքստի հավաքակազմն ու խմբագրումը, որն անվանում են ելակետային կոդ: Ծրագրավորման լեզուն որոշում է ելակետային կոդի շարահյուսությունն ու նախասկզբնական իմաստաբանությունը:
ՊատմությունԽմբագրել
Հին Հունաստանում անտիկիթերայի սարքն իր աշխատանքն ապահովող տարբեր չափերով ու կոնֆիգուրացիաներով ատամնանիվներ օգտագործող հաշվիչ էր[2]: Մինչ այժմ օգտագործվում է լուսնա-արեգակնային օրացույցներում[3]: Ալ-Ջազարին ստեղծել է այն 1206 թվականին:
Ծրագրավորման լեզուներԽմբագրել
Ծրագրավորման լեզուներից են՝ PHP-ն, Ջավա (ծրագրավորման լեզու)-ն, C++-ը և այլն։
Ծրագրավորողի աշխատանքի մեծ մասը կապված է ելակետային կոդի գրառման, ծրագրերի՝ ծրագրավորման լեզուներից մեկով ծրագրի թեստավորման ու կարգավորման հետ: Ծրագրերի ելակետային տեքստերն ու օգտագործվող ֆայլերը համարվում են հեղինակային իրավունքի օբյեկտներ, նրանց հեղինակների ու իրավապաշտպանների մտավոր սեփականությունը:
Ծրագրավորման տարբեր լեզուներ ապահովում են ծրագրավորման տարբեր ոճերի օգտագործումը: Մասամբ ծրագրավորման արվեստը նրանում է, որ պետք է ընտրել տրված խնդրի լուծման համար առավել հարմար ծրագրավորման լեզուն: Տարբեր լեզուներ ծրագրավորողից պահանջում են ալգորիթմն իրականացնելու դետալների նկատմամբ ուշադրության տարբեր մակարդակներ, որի արդյունքը հաճախ լինում է համաձայնությունը ծրագրավորողի և օգտվողի միջև:
Միակ լեզուն, որն ուղղակի իրագործում է ԷՀՄ-ը, մեքենայական լեզուն է, որը կոչվում է նաև մեքենայական կոդ և մեքենայական հրամանների լեզու: Սկզբնապես բոլոր ծրագրերը գրվել են մեքենայական կոդով, սակայն այժմ գործնականորեն դա չի կատարվում: Դրա փոխարեն ծրագրավորողները ելակետային կոդը գրում են ծրագրավորման այս կամ այն լեզվով, ապա, օգտագործելով կոմպիլյատորը, մեկ կամ մի քանի քայլերով փոխակերպում են մեքենայական կոդի:
ԳրականությունԽմբագրել
- Дейкстра Э. Дисциплина программирования = A discipline of programming. — 1-е изд. — М.։ Мир, 1978. — 275 с.
- Бьярне Страуструп. Программирование։ принципы и практика использования C++, исправленное издание = Programming։ Principles and Practice Using C++. — М.։ Вильямс, 2011. — С. 1248. — ISBN 978-5-8459-1705-8.
- Александр Степанов, Пол Мак-Джонс. Начала программирования = Elements of Programming. — М.։ Вильямс, 2011. — С. 272. — ISBN 978-5-8459-1708-9.
- Роберт У. Себеста. Основные концепции языков программирования / Пер. с англ. — 5-е изд. — М.։ Вильямс, 2001. — 672 с. — ISBN 5-8459-0192-8 (рус.) ISBN 0-201-75295-6 (англ.).
- Иан Соммервилл. Инженерия программного обеспечения / Пер. с англ. — 6-е издание. — М.։ Вильямс, 2002. — 624 с.
- Иан Грэхем. Объектно-ориентированные методы. Принципы и практика / Пер. с англ. — 3-е изд. — М.։ Вильямс, 2004. — 880 с.
ՀղումներԽմբագրել
ԾանոթագրություններԽմբագրել
- ↑ * Вирт Н. Алгоритмы + структуры данных = программы. — М.: Мир, 1985;
- Вирт Н. Алгоритмы и структуры данных. Новая версия для Оберона + CD. М.: ДМК Пресс, 2010. ISBN 978-5-94074-584-6, 0-13-022005-9
- ↑ Ancient Greek Computer’s Inner Workings Deciphered. National Geographic News. November 29, 2006.
- ↑ Freeth, Tony; Jones, Alexander; Steele, John M.; Bitsakis, Yanis (հուլիսի 31, 2008)։ «Calendars with Olympiad display and eclipse prediction on the Antikythera Mechanism»։ Nature 454 (7204): 614–617։ PMID 18668103։ doi:10.1038/nature07130