Mając wizję lepszej przyszłości, Tesla nie tylko stała się najcenniejszą firmą motoryzacyjną, jaka kiedykolwiek istniała, ale także przebiła się jako jedna z najlepszych firm technologicznych na świecie. Od pojazdów autonomicznych po roboty AI, Tesla zrobiła wszystko. Ale jakie języki programowania pomogły organizacji stworzyć tak futurystyczne produkty? Dowiedzmy Się.
Języki programowania używane w Tesla
1. C i C++
W ostatnich latach nastąpił napływ dużej liczby nowych języków programowania, takich jak Elixir, Pony, Julia itp., zbudowanych w celu ułatwienia wykonywania zadań przy jak najmniejszej ilości kodu. Jednak Tesla nadal w dużym stopniu opiera się na jednym z najbardziej fundamentalnych języków: C i C++.
„Większość oprogramowania w Samochody Tesli to C lub C++” — powiedział Mehdi Amini, kierownik ds. inżynierii w Tesli. Jedną z największych zalet tych starych języków i prawdopodobnie powodem ich przetrwania w czasie jest to, że te języki mogą działać na prawie każdym systemie. Przypisując jej bliskość do systemu operacyjnego, te niskopoziomowe języki programowania są używane w większości systemów IoT i systemów wbudowanych oraz pomagają inżynierom optymalizować oprogramowanie.
„Żaden język programowania nie zbliżył się do C lub C++, jeśli chodzi o wydajność. Większość nowoczesnych języków programowania z garbage collectorami jest niedeterministyczna, jeśli chodzi o zarządzanie pamięcią, co po prostu nie jest odpowiednie dla krytycznych systemów wbudowanych, takich jak te w samochodach Tesla” – powiedział Mehdi. Inną dużą firmą technologiczną, która intensywnie używa C i C++, jest Nvidia.
2. Python
Oprócz C i C++, Tesla również w dużym stopniu opiera się na prawdopodobnie najpopularniejszym i najczęściej używanym języku; Python. W serii tweetów Elon wyjaśnia, w jaki sposób używają kombinacji C/C++ i Pythona do tworzenia swoich algorytmów:
Nasza sieć NN jest początkowo w Pythonie do szybkiej iteracji, a następnie przekonwertowana na kod sterownika C++/C/raw metal w celu zwiększenia szybkości (ważne!). Ponadto mnóstwo inżynierów C++/C potrzebnych do sterowania pojazdem i całą resztą samochodu. Wykształcenie nie ma znaczenia, ale wszyscy muszą zdać test hardkorowego kodowania.
- Elon Musk (@elonmusk) 3 lutego 2020 r.
Ten tweet skłonił wielu programistów do podkreślenia niedociągnięć konwersji z Pythona na C++/C, ale pamiętajmy, że tweet jest tylko skondensowanym wyjaśnieniem dobrze przemyślanego procesu i nie oddaje rzeczywistego stosowane techniki. Soumith Chintala, współtwórca PyTorch, wyjaśnia, że najprawdopodobniej podążają za automatyczną konwersją z Pythona na C i C++. Elon zwrócił również uwagę na ich zależność od PyTorch;
PyTorch to najczęściej używany zewnętrzny zestaw narzędzi/biblioteka
- Elon Musk (@elonmusk) 3 lutego 2020 r.
PyTorch to biblioteka stworzona z myślą o uczeniu maszynowym, wizji komputerowej i przetwarzaniu języka naturalnego. Jest całkowicie open-source i jest zbudowany przez laboratorium badawcze AI Facebooka.
3. Java i JavaScript
Na podstawie ankiety przeprowadzonej przez Burning Glass, Java i Javascript są następne w kolejności pod względem użycia i znaczenia dla języków w Tesli. Oba te języki są intensywnie używane w budowaniu systemów i aplikacji dla ich samochodów. C++, Python i Java to języki wymagane na prawie wszystkich stanowiskach pracy w Tesli. Ponadto Tesla wymaga dużej biegłości w języku JavaScript w przypadku ról obejmujących programowanie front-endowe. Dowiedz się więcej o pracach w Tesla tutaj.
4. Inne języki
Tesla wymaga również doskonałości w innych językach programowania w oparciu o określone funkcje wykonywane przez każdy z nich. React i Maszynopis są językami opartymi na Javascript, szeroko używanymi przez Teslę do programowania front-end. Ponadto, Rubin, CSS i PHP są wymagane w rolach związanych z tworzeniem stron internetowych. Wreszcie, SQL jest używany na dużą skalę do zarządzania bazami danych. Wszystkie takie języki łączą się ze sobą, tworząc produkty, które budzą w nas podziw.
Wnioski
Tak więc, pomimo bycia jedną z największych firm technologicznych na świecie, Tesla opiera się przede wszystkim na oldschoolowych językach programowania. Python, C i C++ są koniecznością, jeśli chcesz pracować dla firm takich jak Tesla, SpaceX, Nvidia, Intel itp. Jednak Tesla zatrudnia ponad 300 inżynierów o zróżnicowanych zestawach umiejętności, które razem tworzą złożone sieci do uruchamiania swoich produktów. Twój wybór języka programowania do nauki powinien całkowicie zależeć od rodzaju funkcji, którą chcesz wykonać. Wybierz mądrze!
Dodaj komentarz