Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Вибір мови програмування

Читайте также:
  1. XIV. Реалізація права вступників на вибір місця навчання
  2. Алгоритми з повтореннями. Оператори циклу мовою програмування.
  3. Вибір дидактичних методів
  4. ВИБІР І ВИВЧЕННЯ ЛІТЕРАТУРИ.
  5. Вибір стратегій підприємства
  6. Вибір теми, етапи виконання та порядок захисту курсової роботи
  7. Декларативне програмування
  8. З навчальної дисципліни вибіркового циклу
  9. І крок - вибір організаційно-правової форми власності підприємства.

 

Позбавляючи розум всієї непотрібної роботи хороша нотація дозволяє зосередитися на більш складних проблемах і в кінцевому рахунку підвищує інтелект людства. До появи арабської нотації множення було досить складним, а ділення цілих чисел вимагало зусиль провідних математиків. Можливо, ніщо в сучасному світі не змогло б здивувати грецького математика сильніше, ніж те, що більшість європейців вміють ділити великі числа. Це здалося б йому абсолютно неможливим... Легкість виконання операцій над десятковими дробами – майже надприродний результат поступового виявлення відмінної нотації.

Альфред НортУайтхед

 

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

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

Якщо мова добре знайома програмістам, вони працюють більш продуктивно. Дані, отримані за допомогою моделі оцінки Сосомо II, показують, що програмісти, які використовують мову, з якою вони працювали три роки або більше, приблизно на 30% більш продуктивні, ніж програмісти, що володіють аналогічним досвідом, але для яких мова є новою (Boehmetal., 2000). У більш ранньому дослідженні, проведеному в IBM, було виявлено, що програмісти, які володіють багатим досвідом використання мови програмування, були більш ніж втричі продуктивніше програмістів, що мають мінімальний досвід (WalstonandFelix, 1977). (Розходження результатів двох досліджень пояснюються тим, що в моделі Сосомо II більш ретельно ізолюють вплив окремих факторів.)

Програмісти, які використовують мови високого рівня, досягають більш високої продуктивності і створюють більш якісний код, ніж програмісти, які працюють з мовами низького рівня. Стверджується, що при роботі з такими мовами, як C++, Java, Smalltalk і VisualBasic, продуктивність праці програмістів, а також надійність, простота і зрозумілість програм в 5-15 разів вище, ніж при використанні низькорівневих мов, таких як асемблер та С (Brooks, 1987; Jones, 1998; Boehm, 2000). Позбувшись необхідності проводити святкову церемонію кожен раз, коли оператор мови робить те, що було задумано, ви заощадите час. Більш того, високорівневі мови виразніші за низькорівневі. Кожен рядок коду виконує більший обсяг роботи. В табл. 1 зазначено типове ставлення функціональності команд деяких мов до функціональності операторів мови С. Показник, що перевищує 1, означає, що рядок коду на зазначеній мові виконує більше роботи, ніж рядок коду на С.

 

Таблиця 1.

Порівняння функціональності операторів високорівневих мов з функціональністю операторів С

Мова Функціональністьоператорівупорівняннізмовою С
С
С++ 2,5
Fortran 95
Java 2,5
Perl
Python
Smalltalk
Microsoft Visual Basic 1 4,5

 

Деякі мови краще виражають концепції програмування, ніж інші. Тут доречно провести паралель між природними мовами – скажімо, англійською – і мовами програмування, такими як Java і C++. Вивчаючи природні мови, лінгвісти Сапір і Уорф (SapirandWhorf) висловили припущення, що здатність до роздумів над певними ідеями пов'язана з виразною силою мови. Згідно з гіпотезою Сапіра-Уорфа здатність людини до обдумування певних думок залежить від знання слів, за допомогою яких можна висловити цю думку. Якщо ви не знаєте слів, то не зможете висловити думку і, можливо, навіть сформулювати її (Whorf, 1956).

Програмісти відчувають аналогічний вплив мов програмування. «Слова», що мова надає програмісту для вираження думок, безсумнівно, впливають на спосіб їхнього вираження, а можливо, навіть визначають, які думки можна висловити на даній мові.

За доказами впливу, що чиниться мовами програмування на мислення програмістів, далеко ходити не треба. Типова історія така: «Ми писали нову систему на C++, але більшість наших програмістів не мали особливого досвіду роботи на C++. Раніше вони використовували Fortran. Вони писали код, який компілірувався на C++, але насправді це був замаскований Fortran. У підсумку вони змусили C++ емулювати вади мови Fortran (такі як оператори goto і глобальні дані) і проігнорували багатий набір об'єктно-орієнтованих можливостей C++». Цей феномен спостерігається в галузі вже багато років (Hanson, 1984; Yourdon, 1986).

Описи мов

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

Ada

Високорівнева мова загального призначення, що базується на мові Pascal. Розроблена під патронажем Міноборони США, вона особливо добре підходить для створення вбудованих систем і систем, що працюють в реальному часі. У мові Ada особлива увага приділяється абстракції даних і приховуванню інформації, а також проводиться відмінність між відкритими і закритими частинами кожного класу і пакету. Назва «Ada» було присвоєно мові в честь Ади Лавлейс (AdaLovelace) – жінки-математика, яку вважають першим програмістом у світі. Сьогодні мова Ada використовується переважно для розробки військових, космічних і авіаційних систем.




Дата добавления: 2015-04-12; просмотров: 16 | Нарушение авторских прав

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | <== 39 ==> | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 |


lektsii.net - Лекции.Нет - 2014-2023 год. (0.018 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав