учебник информатика
.pdf
|
Глава 5. Основы разработки программного обеспечения |
|
Продолжение таблицы 5.1 |
||
Стадии |
Этапы работ |
|
|
|
|
8. Сопровож- |
8.1. Выполнение работ в соответствии с гарантийными |
|
обязательствами |
||
дение |
||
8.2. Послегарантийное обслуживание |
||
|
||
|
|
5.1 Классификация языков программирования
Язык программирования – система синтаксических правил для написания команд, из которых состоит программа, непосредственно исполняемая на компьютере (язык низкого уровня) или исполняемая на компьютере после преобразования (трансляции) в исполняемую программу (язык высокого уровня).
Языки низкого уровня относятся к машинно-ориентированным языкам, т. к. используют возможности определенного вида процессоров, например, процессоров Intel Core 2 Duo, AMD Athlon, Intel Xeon, и пр.
Кязыкам низкого уровня относятся:
программирование в машинных кодах;
ассемблер;
макроассемблер.
Как выглядит программа в машинных кодах можно увидеть, если открыть любой исполняемый файл в Блокноте (двоичные коды будут показаны, как символы ASCII) или в Hex-редакторе (коды в шестнадцатеричном виде – см. рисунок 5.6).
Рисунок 5.4. Фрагмент программы в машинных кодах (шестнадцатеричный код)
Конечно, ни одну сложную программу в наше время никто не будет писать на языке машинного кода. Да и Ассемблер, который представляет собой мнемоничесую запись тех же машинных команд, используется системными программистами достаточно редко. Фрагмент того же кода в машинных командах и на Ассемблере будет выглядеть следующим образом:
351
Глава 5. Основы разработки программного обеспечения
сячно рассчитывает глобальный рейтинг 50-ти языков программирования и отслеживается динамика его изменения. Рейтинг основан на расчете количества разработчиков, использующих различные языки по всему миру, количества различных курсов и производителей, использующих те или иные языки. Для расчета рейтинга используются поисковые системы Google, MSN, Yahoo! и YouTube. В таблице 5.2 показан рейтинг для первой двадцатки языков за декабрь 2009 года.
Таблица 5.2. TIOBE Programming Community Index
Язык |
|
Позиция |
Измене- |
Рейтинг, % |
, % |
|
||
програм- |
Категория |
|
|
|
|
Ста- |
||
|
|
|
|
|||||
|
|
ние по- |
|
|
||||
ми- |
языка |
дек. 09 |
дек. 08 |
дек. 09 |
дек. 08 |
тус |
||
зиции |
||||||||
рования |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
Java |
ОО |
1 |
1 |
0 |
17,06 |
-2,31 |
A |
|
|
|
|
|
|
|
|
|
|
C |
П |
2 |
2 |
0 |
16,28 |
+0,12 |
A |
|
|
|
|
|
|
|
|
|
|
PHP |
ОО, П |
3 |
4 |
1 |
9,77 |
+0.29 |
A |
|
|
|
|
|
|
|
|
|
|
C++ |
ОО |
4 |
3 |
-1 |
9,18 |
-1,72 |
A |
|
|
|
|
|
|
|
|
|
|
(Visual) Basic |
ОО, П |
5 |
5 |
0 |
7,78 |
-1,70 |
A |
|
|
|
|
|
|
|
|
|
|
C# |
ОО |
6 |
6 |
0 |
6,26 |
+1,61 |
A |
|
|
|
|
|
|
|
|
|
|
Python |
ОО |
7 |
7 |
0 |
5,2 |
+0.62 |
A |
|
|
|
|
|
|
|
|
|
|
JavaScript |
ОО, П, Ф |
8 |
9 |
1 |
3,52 |
+0,45 |
A |
|
|
|
|
|
|
|
|
|
|
Perl |
П |
9 |
8 |
-1 |
2,69 |
-0. 91 |
A |
|
|
|
|
|
|
|
|
|
|
Ruby |
ОО |
10 |
11 |
1 |
2,65 |
+0,34 |
A |
|
|
|
|
|
|
|
|
|
|
Delphi |
ОО |
11 |
10 |
-1 |
2,30 |
-0,75 |
A |
|
|
|
|
|
|
|
|
|
|
PL/SQL |
П, Л |
12 |
13 |
+1 |
1,49 |
+0,35 |
A |
|
|
|
|
|
|
|
|
|
|
Objective-C |
ОО |
13 |
35 |
+22 |
1,16 |
+1,00 |
A |
|
|
|
|
|
|
|
|
|
|
SAS |
П |
14 |
14 |
0 |
0,9 |
+0,07 |
A |
|
|
|
|
|
|
|
|
|
|
Lisp/Scheme |
Ф |
15 |
19 |
+4 |
0,88 |
+0,37 |
А- |
|
|
|
|
|
|
|
|
|
|
ABAP |
П |
16 |
17 |
+1 |
0,72 |
+0,12 |
А- |
|
|
|
|
|
|
|
|
|
|
Pascal |
П |
17 |
15 |
-2 |
0,70 |
-0.01 |
B |
|
|
|
|
|
|
|
|
|
|
ActionScript |
ОО |
18 |
21 |
+3 |
0,66 |
+0,17 |
B |
|
|
|
|
|
|
|
|
|
|
D |
ОО |
19 |
12 |
-7 |
0,59 |
-0,60 |
A |
|
|
|
|
|
|
|
|
|
|
Lua |
П, Ф |
20 |
20 |
0 |
0,56 |
+0,09 |
B |
|
|
|
|
|
|
|
|
|
Статус в таблице 5.2 – принадлежность языка программирования к группе основных используемых (A) или второстепенных (B). A- означает сдвиг в сторону второстепенных.
Категория языка в таблице:
•ОО – объектно-ориентированный;
•П – процедурный;
355