Programiści systemów wbudowanych słabo znają język C

Według badań rynkowych ponad 80% programistów systemów embedded wykorzystuje C lub C++ jako swój podstawowy język programowania. Jednak w teście dotyczącym znajomości języka C wypadli oni bardzo słabo.

Dodaj do ulubionych źródeł w Google
Posłuchaj
00:00

Test na stronie Netrino.com sprawdzający znajomość języka C w systemach wbudowanych w ciągu 25 miesięcy rozwiązało ponad 4000 osób, a wyniki zbiorcze oraz w podziale na kraje i regiony dostarczają ciekawych wniosków – programistom systemów wbudowanych za znajomość języka C należy się jedynie ocena dostateczna.

Rys. 1. Rozkład wyników testu znajomości języka embedded C

Jest to wynik bardzo niepokojący, biorąc pod uwagę fakt, że od pisanego przez nich oprogramowania urządzeń medycznych, aplikacji przemysłowych, urządzeń ABS czy instrumentów znajdujących się w kabinie pilota może zależeć ludzkie życie. Embedded C Quiz składa się z 10 pytań wielokrotnego wyboru, z których każde ma cztery możliwe odpowiedzi, w tym okazjonalną w stylu „żadna z powyższych”. Rozwiązanie testu w sposób całkowicie losowy pozwoliłoby na zdobycie zaledwie 20 lub 30% punktów.

Udzielenie odpowiedzi trwa kilka minut, jednak nie ma limitu czasowego. Każde pytanie jest całkowicie niezależne od innych, a kolejność pytań taka sama dla wszystkich uczestników. Test został opracowany przez ekspertów z dziedziny firmware’u, a jego założeniem było sprawdzenie znajomości tych cech języka C, które są najbardziej specyficzne dla oprogramowania embedded.

Przykładowe kwestie poruszane w teście dotyczą właściwego użycia stałych, zmiennych i zmiennych statycznych, pisania mobilnego kodu C z użyciem kompilatorów i preprocesorów kompatybilnych z ANSI/ ISO oraz wykorzystania rotacji bitowych. Na przykład w jednym z pytań należy z dostępnych odpowiedzi wybrać właściwy typ „x” dla deklaracji „int * const x;”.

W innym trzeba wskazać jedną z czterech linii kodu, która „zresetuje najmniej znaczący bit x”. Długość prezentowanych fragmentów kodu nie przekracza jednej linii, a większość testowanych koncepcji i technik jest dokładnie opisana na stronie internetowej Netrino. Autorzy oceniają, że zdecydowana większość uczestników testu jest zatrudniona jako twórcy firmware’u. Quiz został opracowany w taki sposób, aby wyniki były jak najbardziej sensowne.

Jednak należy mieć świadomość, że nie było to badanie naukowe, do którego programiści systemów wbudowanych powinni być wybierani losowo, zamiast zgłaszać się samodzielnie. Autorzy mają nadzieję, że próbka była jak najbardziej reprezentatywna, gdyż w badaniu wzięło udział mniej niż 1% z 500 000 osób odwiedzających stronę, na której przez dwa lata znajdował się link do quizu.

Zasięg geograficzny

Quiz i cała strona, na której był on umieszczony, wykonana jest w języku angielskim, dlatego można się spodziewać, że uczestnicy, dla których jest to język ojczysty, byli w uprzywilejowanej sytuacji. W podziale na geograficzne regiony ponad 1000 wyników uzyskano ze Stanów Zjednoczonych (1465 wyników), Indii (1361) oraz reszty świata (1247). Resztę świata można podzielić na trzy główne podgrupy o ponad 100 wynikach: Europę Zachodnią (446), Azję bez Indii (304) oraz Bliski Wschód (101).

Wyniki

Tabela 1. Wyniki testu znajomości języka C w aplikacjach embedded w podziale na kraje i regiony

Średni wynik dla całego świata wyniósł 61%. Każdy programista systemów wbudowanych odpowiedział błędnie średnio na cztery z dziesięciu pytań wielokrotnego wyboru dotyczących swojego podstawowego języka programowania. Jest to niepokojący fakt, ponieważ język C jest językiem do wyboru w większości projektów embedded, a C++ jeszcze trudniej opanować.

Akademicka ocena wyników testu to słaba trójka. Programiści z USA uzyskali wynik o 1% lepszy niż średnia. Programiści z Indii wypadli poniżej średniej, zdobywając 59,3% punktów, a reprezentacja reszty świata uzyskała 61,7%. W tabeli 1 przedstawiono punktację dla kilkunastu wybranych krajów i regionów.

W skali światowej test został rozwiązany bezbłędnie tylko przez 238 osób. Po drugiej stronie skali znalazło się 209 programistów, którzy uzyskali punktację mniejszą niż oczekiwana dla losowego wyboru (25%). Pełny rozkład wyników dla wszystkich krajów przedstawiono na rysunku 1. Dane pokazują, że wynik 80% lub wyższy uzyskała mniej niż jedna trzecia programistów systemów wbudowanych.

Co przykre, jedna czwarta uzyskała mniej niż 50% możliwych do zdobycia punktów, mimo że w przypadku zgadywania wartość oczekiwana wyniosła co najmniej 25%. W teście pojawił się również rodzimy akcent, gdyż uzyskano 27 wyników z Polski. Średnia punktacja wyniosła tutaj aż 69,3%, należy jednak zauważyć stosunkowo niewielką liczebność próby. Co ciekawe, do grupy najmniej licznie reprezentowanych w teście zaliczają się Japonia (2 wyniki), Hong Kong (4), Korea Południowa (10) czy Tajwan (13).

We wrześniu 2009 roku na stronie Netrino uruchomiono kolejny quiz, tym razem sprawdzający znajomość języka C++ w aplikacjach embedded. Jak podają autorzy, wstępne wyniki są gorsze niż te uzyskane w teście znajomości języka C. Większy jest również odsetek osób, które testu nie ukończyły. Najważniejsza jest jednak wielkość próby, zatem jeśli ktoś z czytelników wykorzystuje w pracy język C++, to zachęcamy do rejestracji i przetestowania swoich umiejętności na stronie Netrino www.netrino.com .

Grzegorz Michałowski

Chcesz częściej widzieć nasze artykuły w Google? Dodaj ElektronikaB2B do ulubionych źródeł
Powiązane treści
Optymalizacja wydajności programów w języku C
Europa rozwija systemy wbudowane
Zobacz więcej w kategorii: Gospodarka
Komponenty
Micron uruchamia fundusz o wartości 250 mln dolarów dla sektora AI
Projektowanie i badania
Unia Europejska stawia na bezpieczeństwo w kwestii AI
Produkcja elektroniki
Rynek urządzeń do produkcji półprzewodników (WFE) u progu eksplozji - ponad 1,2 bln dolarów skumulowanej sprzedaży do 2031 roku
Komunikacja
eSIM staje się nowym fundamentem cyberbezpieczeństwa
Optoelektronika
TSMC i Sony łączą siły w produkcji sensorów obrazu. Projekt wart 6,3 mld dolarów
Produkcja elektroniki
Dla producentów pamięci AI to żyła złota
Zobacz więcej z tagiem: Artykuły
Magazyn
Sierpień 2026
Targi zagraniczne
Electronica 2026 - targi i konferencja producentów elektroniki
Targi zagraniczne
Elmässan Stockholm 2026

Szafa wydawcza JotKEl

Nowoczesny przemysł stanowi szczególne wyzwanie dla gospodarki magazynowej. Duże znaczenie ma zwłaszcza pozyskanie informacji zwrotnej o aktualnym stanie zasobów, co umożliwia optymalizację dostaw. Dobrze zorganizowana gospodarka magazynowa zapewnia ciągłość produkcji, a to bezpośrednio wpływa na redukcję kosztów postojów. Wychodząc naprzeciw tym wymaganiom i bazując na prawie 50-letnim doświadczeniu, firma JotKEl stworzyła system automatycznych mebli wydawczych.
Zapytania ofertowe
Unikalny branżowy system komunikacji B2B Znajdź produkty i usługi, których potrzebujesz Katalog ponad 7000 firm i 60 tys. produktów