Parema tuleviku visiooniga Teslast ei ole mitte ainult saanud kõige väärtuslikum autofirma, mis kunagi eksisteerinud, vaid ka ületanud end ühe maailma tipptehnoloogiaettevõttena. Tesla on teinud kõike alates autonoomsetest sõidukitest kuni tehisintellekti robotiteni. Kuid millised programmeerimiskeeled on aidanud organisatsioonil selliseid futuristlikke tooteid luua? Uurime välja.
Teslas kasutatavad programmeerimiskeeled
1. C & C++
Viimastel aastatel on juurde tulnud suur hulk uusi programmeerimiskeeli, nagu Elixir, Pony, Julia jne, mis on loodud ülesannete lihtsamaks muutmiseks võimalikult väikese koodiga. Kuid Tesla toetub endiselt suuresti ühele kõige põhilisemale keelele: C & C++.
"Suurem osa tarkvarast on sees Tesla autod on C või C++,” ütles Tesla insenerijuht Mehdi Amini. Üks nende vanade keelte suurimaid tugevusi ja tõenäoliselt ka selle aja jooksul püsimajäämise põhjus on see, et need keeled võivad töötada peaaegu igas süsteemis. Arvestades selle lähedust OS-iga, on need madalad programmeerimiskeeled kasutatakse enamikus asjade Internetis ja manustatud süsteemides ning aitavad inseneridel tarkvara optimeerida.
„Tõhususe osas pole ükski programmeerimiskeel C-le ega C++-le lähedalegi jõudnud. Enamik kaasaegseid prügikogujatega programmeerimiskeeli on mäluhalduse osas mittedeterministlikud, see lihtsalt ei sobi selliste kriitiliste manustatud süsteemide jaoks, nagu Tesla autodes, ”ütles Mehdi. Teine suur tehnoloogiaettevõte, mis kasutab laialdaselt C & C++, on Nvidia.
2 Püthon
Peale C & C++ toetub Tesla suurel määral ka võib-olla kõige populaarsemale ja laialdasemalt kasutatavale keelele; Python. Elon selgitab mitmes säutsudes, kuidas nad kasutavad oma algoritmide koostamiseks C/C++ ja Pythoni kombinatsiooni:
Meie NN on algselt Pythonis kiireks iteratsiooniks, seejärel teisendati kiiruse huvides C++/C/toormetalli draiverikoodiks (tähtis!). Lisaks on vaja palju C++/C-insenere sõiduki juhtimiseks ja kogu ülejäänud auto jaoks. Hariduslik taust ei oma tähtsust, kuid kõik peavad läbima raskekujulise kodeerimise testi.
- Elon Musk (@elonmusk) Veebruar 3, 2020
See säuts ajendas paljusid arendajaid tõstma esile puudujääke Pythonist C++/C-ks teisendamisel, kuid pidagem meeles, et säuts on lihtsalt läbimõeldud protsessi kokkusurutud selgitus ega anna tegelikule olukorrale õiglaselt. kasutatud tehnikad. PyTorchi kaaslooja Soumith Chintala selgitab, et tõenäoliselt järgivad nad Pythonilt C & C++ automaatset teisendamist. Elon juhtis tähelepanu ka nende sõltuvusele PyTorchist;
PyTorch on kõige sagedamini kasutatav välistööriistade komplekt/teek
- Elon Musk (@elonmusk) Veebruar 3, 2020
PyTorch on masinõppe, arvutinägemise ja loomuliku keele töötlemise jaoks loodud raamatukogu. See on täielikult avatud lähtekoodiga ja selle on loonud Facebooki AI uurimislabor.
3. Java ja Javascript
Burning Glassi läbiviidud küsitluse põhjal on Java ja Javascript Teslas keelte kasutuse ja tähtsuse poolest järgmised. Neid mõlemaid keeli kasutatakse laialdaselt nende autode ehitussüsteemides ja rakendustes. C++, Python ja Java on peaaegu kõigil Tesla töökohtadel nõutavad keeled. Lisaks nõuab Tesla esiotsa programmeerimisega seotud rollide jaoks tugevat Javascripti oskust. Lisateavet Tesla töökohtade kohta leiate siin.
4. Muud keeled
Tesla nõuab ka teiste programmeerimiskeelte oskust, mis põhinevad nende konkreetsetel funktsioonidel. Reageerima ja Masinakiri on Javascripti-põhised keeled, mida Tesla kasutab laialdaselt esiotsa arendamiseks. Enamgi veel, rubiin, CSS ja PHP on vajalikud veebiarendusega seotud rollides. Lõpuks kasutatakse SQL-i andmebaaside haldamiseks laialdaselt. Kõik sellised keeled ühendavad koos, et luua tooteid, mis jätab meid aukartust tundma.
Järeldus
Seega, hoolimata sellest, et Tesla on üks suuremaid tehnoloogiaettevõtteid maailmas, tugineb Tesla peamiselt vana kooli programmeerimiskeeltele. Python, C & C++ on kohustuslikud, kui soovite töötada sellistes ettevõtetes nagu Tesla, SpaceX, Nvidia, Intel jne. Teslas on aga tööl üle 300 inseneri, kellel on erinevad oskused, mis kõik kokku loovad keerukaid oskusi. võrgud oma toodete käitamiseks. Teie valik, millist programmeerimiskeelt õppida, peaks täielikult sõltuma sellest, millist funktsiooni soovite täita. Vali targalt!
Jäta vastus