Med en vision for en bedre fremtid er Tesla ikke kun blevet det mest værdifulde bilfirma, der nogensinde har eksisteret, men har også overgået sig selv som en af de bedste teknologivirksomheder i verden. Fra autonome køretøjer til AI Robots, Tesla har gjort det hele. Men hvilke programmeringssprog har hjulpet organisationen med at skabe sådanne futuristiske produkter? Lad os finde ud af det.
Programmeringssprog, der bruges hos Tesla
1. C & C++
I de senere år har der været en tilstrømning af en lang række nye programmeringssprog som Elixir, Pony, Julia, etc, bygget til at gøre opgaver nemmere med så lidt kode som muligt. Tesla er dog stadig stærkt afhængig af et af de mest grundlæggende sprog: C & C++.
"Det meste af softwaren i Tesla biler er C eller C++,” sagde Mehdi Amini, Engineering Manager hos Tesla. En af de største styrker blandt disse gamle sprog og sandsynligvis årsagen til deres overlevelse gennem tiden er, at disse sprog kan køre på stort set alle slags systemer. Tilskriver dets nærhed til OS, disse lavt niveau programmeringssprog bruges i de fleste IoT og indlejrede systemer og hjælper ingeniører med at optimere software.
“Intet programmeringssprog er kommet i nærheden af C eller C++, når det kommer til effektivitet. De fleste moderne programmeringssprog med skraldeopsamlere er ikke-deterministiske, når det kommer til hukommelseshåndtering, det er simpelthen ikke egnet til kritiske indlejrede systemer som dem i Tesla-biler,” sagde Mehdi. En anden stor teknologivirksomhed, der i vid udstrækning bruger C & C++ er Nvidia.
2. Python
Udover C & C++ er Tesla også stærkt afhængig af muligvis det mest populære og mest brugte sprog; Python. I en række tweets forklarer Elon, hvordan de bruger en kombination af C/C++ & Python til at bygge deres algoritmer:
Vores NN er oprindeligt i Python til hurtig iteration, derefter konverteret til C++/C/råmetal-driverkode for hastighed (vigtigt!). Der er også brug for tonsvis af C++/C-ingeniører til køretøjskontrol og hele resten af bilen. Uddannelsesbaggrund er irrelevant, men alle skal bestå hardcore kodningstest.
- Elon Musk (@elonmusk) Februar 3, 2020
Dette tweet fik mange udviklere til at fremhæve manglerne ved at konvertere fra Python til C++/C, men lad os huske på, at tweetet blot er en fortættet forklaring på en gennemtænkt proces og ikke yder retfærdighed til den faktiske anvendte teknikker. Soumith Chintala, medskaber af PyTorch, forklarer, at de højst sandsynligt følger automatisk konvertering fra Python til C & C++. Elon påpegede også deres afhængighed af PyTorch;
PyTorch er det mest brugte eksterne værktøjssæt/bibliotek
- Elon Musk (@elonmusk) Februar 3, 2020
PyTorch er et bibliotek bygget til maskinlæring, computersyn og naturlig sprogbehandling. Det er fuldstændig open source og er bygget af Facebooks AI-forskningslaboratorium.
3. Java & Javascript
Baseret på en undersøgelse foretaget af Burning Glass er Java og Javascript næste i rækken med hensyn til brug og betydning for sprog hos Tesla. Begge disse sprog bruges flittigt i at bygge systemer og apps til deres biler. C++, Python og Java er de sprog, der kræves i næsten alle jobstillinger hos Tesla. Derudover kræver Tesla en stærk færdighed i Javascript for roller, der involverer front-end programmering. Få mere at vide om job hos Tesla her.
4. Andre sprog
Tesla kræver også ekspertise i andre programmeringssprog baseret på de specifikke funktioner, som hver af dem udfører. Reagerer , maskinskrift er Javascript-baserede sprog, der i vid udstrækning bruges af Tesla til frontend-udvikling. I øvrigt, Rubin, CSS og PHP er påkrævet i roller, der involverer webudvikling. Endelig bruges SQL i stor skala til databasestyring. Alle sådanne sprog kombineres for at bygge de produkter, som efterlader os i ærefrygt.
Konklusion
På trods af at Tesla er en af de største teknologivirksomheder i verden, er Tesla således primært afhængig af old-school programmeringssprog. Python, C & C++ er et must, hvis du ønsker at arbejde for virksomheder som Tesla, SpaceX, Nvidia, Intel osv. Tesla har dog mere end 300 ingeniører på arbejde med forskellige sæt af færdigheder, som alle samles for at skabe komplekse netværk til at drive deres produkter. Dit valg af, hvilket programmeringssprog du skal lære, bør helt afhænge af den slags funktion, du ønsker at udføre. Vælg klogt!
Giv en kommentar