Маючы бачанне лепшай будучыні, Tesla не толькі стала самай каштоўнай аўтамабільнай кампаніяй, якая калі-небудзь існавала, але і стала адной з вядучых тэхналагічных кампаній у свеце. Ад аўтаномных транспартных сродкаў да робатаў AI, Tesla зрабіла ўсё. Але якія мовы праграмавання дапамаглі арганізацыі стварыць такія футурыстычныя прадукты? Давайце даведаемся.
Мовы праграмавання, якія выкарыстоўваюцца ў Tesla
1. C і C++
У апошнія гады з'явіўся прыток вялікай колькасці новых моў праграмавання, такіх як Elixir, Pony, Julia і г.д., створаных для палягчэння задач з як мага меншай колькасцю кода. Тым не менш, Tesla па-ранейшаму ў значнай ступені абапіраецца на адзін з самых асноўных моў: C і C++.
«Большасць праграмнага забеспячэння ў Аўтамабілі Tesla гэта C або C++", - сказаў Мехдзі Аміні, менеджэр па тэхніцы Tesla. Адна з самых моцных бакоў гэтых старых моў і, верагодна, прычына іх выжывання ў часе заключаецца ў тым, што гэтыя мовы могуць працаваць практычна ў любой сістэме. Прыпісваючы сваю блізкасць да АС, гэтыя нізкаўзроўневыя мовы праграмавання выкарыстоўваюцца ў большасці IoT і ўбудаваных сістэм і дапамагаюць інжынерам аптымізаваць праграмнае забеспячэнне.
«Ні адна мова праграмавання не наблізілася да C або C++ па эфектыўнасці. Большасць сучасных моў праграмавання са зборшчыкамі смецця недэтэрмінаваныя, калі справа даходзіць да кіравання памяццю, гэта проста не падыходзіць для крытычна важных убудаваных сістэм, такіх як у аўтамабілях Tesla», — сказаў Мехдзі. Яшчэ адна буйная тэхналагічная кампанія, якая шырока выкарыстоўвае C & C++ Nvidia.
2. пітон
Акрамя C і C++, Tesla таксама ў значнай ступені абапіраецца на, магчыма, самую папулярную і шырока выкарыстоўваную мову; Пітон. У серыі твітаў Ілон тлумачыць, як яны выкарыстоўваюць камбінацыю C/C++ і Python для стварэння сваіх алгарытмаў:
Наша NN першапачаткова на Python для хуткай ітэрацыі, затым пераўтворана ў C++/C/raw metal код драйвера для хуткасці (важна!). Акрамя таго, тоны інжынераў C++/C неабходныя для кіравання транспартным сродкам і ўсёй астатняй часткай аўтамабіля. Адукацыя не мае значэння, але ўсе павінны прайсці жорсткі тэст на кадаванне.
- Элона Маск (@elonmusk) Люты 3, 2020
Гэты твіт заахвоціў многіх распрацоўшчыкаў падкрэсліць недахопы пераўтварэння з Python ў C++/C, але давайце мець на ўвазе, што твіт - гэта проста сціслае тлумачэнне добра прадуманага працэсу і не адпавядае рэчаіснасці выкарыстоўваюцца метады. Суміт Чынтала, састваральнік PyTorch, тлумачыць, што яны, хутчэй за ўсё, выконваюць аўтаматычнае пераўтварэнне з Python на C і C++. Ілон таксама адзначыў іх залежнасць ад PyTorch;
PyTorch з'яўляецца найбольш часта выкарыстоўваным знешнім наборам інструментаў/бібліятэкай
- Элона Маск (@elonmusk) Люты 3, 2020
PyTorch гэта бібліятэка, створаная для машыннага навучання, камп'ютэрнага зроку і апрацоўкі натуральнай мовы. Гэта цалкам адкрыты зыходны код і створаны даследчай лабараторыяй AI Facebook.
3. Java і Javascript
На падставе апытання, праведзенага Burning Glass, Java і Javascript з'яўляюцца наступнымі ў плане выкарыстання і важнасці для моў у Tesla. Абедзве гэтыя мовы актыўна выкарыстоўваюцца ў стварэнні сістэм і прыкладанняў для сваіх аўтамабіляў. C++, Python і Java - гэта мовы, неабходныя амаль ва ўсіх вакансіях у Tesla. Акрамя таго, Tesla патрабуе моцнага валодання Javascript для роляў, звязаных з праграмаваннем інтэрфейсу. Даведайцеся больш пра вакансіі ў Tesla тут.
4. Іншыя мовы
Тэсла таксама патрабуе дасканаласці ў іншых мовах праграмавання на аснове канкрэтных функцый, якія выконваюцца кожнай з іх. Рэагаваць і Машынапіс гэта мовы на аснове Javascript, якія шырока выкарыстоўваюцца Tesla для распрацоўкі інтэрфейсу. Акрамя таго, лал, CSS і PHP неабходныя ў ролях, звязаных з вэб-распрацоўкай. Нарэшце, SQL выкарыстоўваецца ў вялікіх маштабах для кіравання базамі дадзеных. Усе гэтыя мовы аб'ядноўваюцца разам, каб ствараць прадукты, што выклікае ў нас захапленне.
заключэнне
Такім чынам, нягледзячы на тое, што з'яўляецца адной з найбуйнейшых тэхналагічных кампаній у свеце, Tesla абапіраецца ў першую чаргу на мовы праграмавання старой школы. Python, C і C++ з'яўляюцца абавязковымі, калі вы хочаце працаваць у такіх кампаніях, як Tesla, SpaceX, Nvidia, Intel і г.д. Аднак у Tesla працуюць больш за 300 інжынераў з рознымі наборамі навыкаў, якія аб'ядноўваюцца для стварэння складаных сеткі для запуску сваіх прадуктаў. Ваш выбар мовы праграмавання для вывучэння павінен цалкам залежаць ад роду функцыі, якую вы хочаце выконваць. Выбірайце з розумам!
Пакінуць каментар