НПП ИТЭЛМА corporate blog
Programming
Programming microcontrollers
Car Gadgets
Transport
12 November 2019

В современном автомобиле строк кода больше чем…

image

Количество строк кода в современном автомобиле в 200 раз больше чем в Шаттле, в 60 раз больше, чем в истребителе F-22 Raptor, в 50 раз больше, чем в телескопе Хаббл, в 20 раз больше чем в марсоходе Curiosity, в 4 раза больше чем в истребителях пятого поколения, в 2 раза больше, чем в большом адронном коллайдере или Facebook, если распечатать весь код на бумаге, то стопка будет высотой 200 метров. (по данным на 2009-2012 год)

Данные по количеству строк кода в современном автомобиле вызвали бурные споры на Reddit. Вопросы на темы от «В каком месте эти строчки прячутся, если у микроконтроллеров ограничена память?» до «Разве количество строк кода хоть что-то значит?»

Сравнительные данные по количеству строк кода (SLOC) в различных проектах довольно интересные.

image

Маргарет Гамильтон и её исходники кода для посадки Апполон-11

Количество строк кода меньше миллиона


10.000 — Unix v 1.0 (1971) [пруф]
10.000 — простая игра для iOS app [пруф]
14.000 — Win32/Simile virus [пруф]
39.000 — iOS app — photo editing [пруф]
80.000 — электрокардиостимуятор [пруф]
120.000 — первая версия Photoshop v1 (1990) [пруф]
200.000 — браузер Camino [пруф]
310.000 — движок Quake 3 [пруф]
400.000 — Space Shuttle [пруф]

> миллиона


image


Билл Гейтс в 1994 году демонстрирует, что на компакт-диск вмещается больше информации, чем на высоченные стопки бумаги.

1.000.000 строк кода помещается на 18.000 страницах, 2 метра высотой (в 14 раз больше чем «Война и мир», в 25 раз больше чем «Улисс», в 63 раза больше чем «Над пропастью во ржи»)

1.000.000 — игра Crysis [пруф]
1.140.000 — геном бактерии, вызывающей сифилис [пруф]
1.200.000 — Age of Empires Online [пруф]
1.200.000 — модель климата планеты CESM [пруф]
1.700.000 — истребитель F-22 Raptor [пруф]
1.800.000 — Linux Kernel 2.2.0 (1999) [пруф]
2.000.000 — Космический телескоп «Хаббл» [пруф]
2.000.000 — движок Unreal Engine 3 [пруф]
2.500.000 — Windows 3.1 (1992) [пруф]
3.500.000 — управляющий софт в дронах [пруф]
3.500.000 — софт для управления петабайтами данных с адронного коллайдера ROOT [пруф]
4.500.000 — Photoshop CS 6 (2012) [пруф]
4.500.000 — Windows NT 3.1 (1993) [пруф]
4.700.000 — HD DVD Players on XBox [пруф]
5.000.000 — марсоход Curiosity [пруф]
5.200.000 — Linux kernel 2.6.0 (2003) [пруф]
5.500.000 — сервер World of WarCraft [пруф]
6.100.000 — Windows XP Service Pack 1
6.500.000 — авионика и online support systems на Boeing 787 [пруф]
6.700.000 — Google Chrome [пруф]
7.500.000 — Windows NT 3.5 (1994) [пруф]
9.000.000 — LibreOffice [пруф]
9.500.000 — Windows NT 3.51 (1995) [пруф]
9.700.000 — Firefox [пруф]
10.000.000 — электроавтомобиль Chevy Volt [пруф]
10.000.000 — бухгалтерский программный пакет Intuit Quickbooks [пруф]
11.300.000 — OpenOffice [пруф]
11.500.000 — Windows NT 4.0 (1996) [пруф]
12.000.000 — Android (включая 3 миллиона строк на XML, 2.8 миллиона строк на C, 2.1 миллиона строк на Java и 1.75 миллиона строк на C++) [пруф]
12.500.000 — библитотеки Mozilla Core [пруф]
12.500.000 — MySQL [пруф]
14.000.000 — весь софт Boeing 787 [пруф]
15.000.000 — Android (верхняя оценка)
15.000.000 — Linux 3.1 (2013) [пруф]
20.000.000 — Linux kernel pre-4.2 (2015) [пруф]
23.000.000 — Apache Open Office [пруф]
24.000.000 — истребитель-бомбардировщик пятого поколения F-35 Fighter [пруф]
25.000.000 — Microsoft Office (2001) [пруф]
29.000.000 — Windows 2000 (2000) [пруф]
30.000.000 — Microsoft Office for Mac (2006) [пруф]
37.600.000 — Symbian [пруф]
40.000.000 — Windows 7 [пруф]
40.000.000 — Windows XP (2001) [пруф]
45.000.000 — Microsoft Office (2013) [пруф]
50.000.000 — Large Hadron Collider [пруф]
50.000.000 — Microsoft Visual Studio 2012 [пруф]
50.000.000 — Windows Vista (2007) [пруф]
62.000.000 — Facebook (without backend code) [пруф]
68.000.000 — Debian 5.0 codebase [пруф]
86.000.000 — Mac OS X 10.4 [пруф]
100.000.000 — софт в типичном новом автомобиле 2013 года [пруф]
324.000.000 — Debian 5.0 (all software in package) [пруф]
2.000.000.000 — Google [пруф] стопка распечатанных страниц высотой 3.6 км

Большая картинка с инфографикой
image


Мы копнули первоисточники и выяснили, что первыми про 100 миллионов строк кода заявили в журнале IEEE Spectrum, сославшись на почетного профессора Мюнхенского технического университета Манфред Брой, который заслужил медаль Конрада Цузе (почти нобелевка в области computer science) в публикации 2009 «This Car Runs on Code»:
These are impressive amounts of software, yet if you bought a premium-class automobile recently, ”it probably contains close to 100 million lines of software code,” says Manfred Broy, a professor of informatics at Technical University, Munich, and a leading expert on software in cars. All that software executes on 70 to 100 microprocessor-based electronic control units (ECUs) networked throughout the body of your car.



О компании ИТЭЛМА


image

Мы большая компания-разработчик automotive компонентов. В компании трудится около 2500 сотрудников, в том числе 650 инженеров.

Мы, пожалуй, самый сильный в России центр компетенций по разработке автомобильной электроники. Сейчас активно растем и открыли много вакансий (порядка 30, в том числе в регионах), таких как инженер-программист, инженер-конструктор, ведущий инженер-разработчик (DSP-программист) и др.

У нас много интересных задач от автопроизводителей и концернов, двигающих индустрию. Если хотите расти, как специалист, и учиться у лучших, будем рады видеть вас в нашей команде. Также мы готовы делиться экспертизой, самым важным что происходит в automotive. Задавайте нам любые вопросы, ответим, пообсуждаем.

UPD


Результат опроса по строкам кода в вашем проекте в ВК
Only registered users can participate in poll.Log in, please.
Вы работаете над проектом, в котором строк кода
29.66% меньше 10.000 132
31.01% 10.000 - 100.000 138
13.26% 100.000 - 500.000 59
6.29% 500.000 - 1.000.000 28
9.66% 1-10 млн 43
2.25% 10-50 млн 10
0.22% 50-100 млн 1
2.47% больше 100 млн 11
5.17% другое 23
445 users voted. 167 users abstained.

+13
20.7k 53
Comments 83