Python wychodzi na prowadzenie w systemach embedded

| Gospodarka Mikrokontrolery i IoT

Według ankiety przeprowadzonej przez IEEE (Instytut Inżynierów Elektryków i Elektroników) to właśnie Python jest obecnie najczęściej używanym językiem programowania w systemach embedded. Członkami IEEE są inżynierowie, dlatego zrozumiałe jest, że wyniki ankiety odbiegają od podobnych badań przeprowadzanych w środowisku programistów oprogramowania konsumenckiego, gdzie najpopularniejszym językiem jest wykorzystywany w programowaniu stron internetowych i aplikacji webowych Javascript.

Python wychodzi na prowadzenie w systemach embedded

W ostatniej dekadzie dominującym językiem do tworzenia oprogramowania firmware'u był język C. Programiści zgodnie twierdzili, że pozwala on na stworzenie kodu nie tylko działającego najszybciej, ale też wydajniejszego pod kątem obliczeniowym od innych dostępnych języków. C jest jednocześnie względnie przystępny dla programistów. Niemniej branża programistyczna należy jednak do najszybciej zmieniających się na świecie, jeszcze 20 lat temu najpopularniejszym i wydającym się nie do zastąpienia językiem używanym w systemach wbudowanych był assembler, nie dziwi więc fakt, że to właśnie zyskujący od wielu lat na popularności Python przejął pozycję lidera wśród języków używanych w systemach wbudowanych.

Zalety Pythona

Kod napisany w C/C++ jest niewątpliwie szybszy oraz wymaga mniejszej mocy obliczeniowej od napisanego w Pythonie, jest jednak dużo mniej czytelny oraz bardziej podatny na błędy w procesie tworzenia, co wydłuża czas potrzebny na stworzenie oprogramowania. Stale rosnąca moc obliczeniowa mikrokontrolerów sprawia, że producenci urządzeń są w stanie pozwolić na zwiększenie tempa realizacji projektu kosztem wymaganych większych zasobów sprzętowych.

 
Rys. 1. Ranking popularności języków programowania w systemach wbudowanych według IEEE

Kolejnym niewątpliwie ważnym czynnikiem wpływającym na wybór języka do oprogramowania jest liczba programistów umiejętnie posługującym się tym językiem. Obecnie na większości uczelni wyższych oraz na stale zyskujących na popularności kursach programowania podstawowym nauczanym językiem jest Python. Wielu absolwentów rozpoczynających swoją karierę zawodową nie zna języka C i C++, co niekorzystnie wpływa na liczbę specjalistów na rynku posługujących się tymi językami.

Wyniki przeprowadzonej ankiety nie oznaczają oczywiście, że Python całkowicie opanuje rynek systemów wbudowanych. W wielu rozwiązaniach nie będzie w stanie zastąpić C/C++ lub assemblera jednak niewątpliwie stał się liczącym się językiem w systemach wbudowanych, a ze względu na jego liczne implementacje użyteczne w embedded, takie jak CPython czy PyPy, pozwalający na jego kompilacje do kodu bajtowego Javy lub C, oraz stale rozwijające się biblioteki jego popularność dalej będzie się zwiększać. (PM)