Med en vision för en bättre framtid har Tesla inte bara blivit det mest värdefulla bilföretaget som någonsin existerat utan också överträffat sig självt som ett av världens främsta teknikföretag. Från autonoma fordon till AI Robots, Tesla har gjort allt. Men vilka programmeringsspråk har hjälpt organisationen att skapa sådana futuristiska produkter? Låt oss ta reda på.
Programmeringsspråk som används på Tesla
1. C & C++
Under de senaste åren har det skett ett tillflöde av ett stort antal nya programmeringsspråk som Elixir, Pony, Julia, etc, byggda för att göra uppgifter enklare med så lite kod som möjligt. Men Tesla är fortfarande starkt beroende av ett av de mest grundläggande språken: C & C++.
"Det mesta av programvaran i Tesla bilar är C eller C++, säger Mehdi Amini, teknisk chef på Tesla. En av de största styrkorna bland dessa gamla språk och förmodligen anledningen till att de överlevt genom tiden är att dessa språk kan köras på i stort sett alla typer av system. Tillskriver dess närhet till OS, dessa låga nivåer programmeringsspråk används i de flesta IoT och inbyggda system och hjälper ingenjörer att optimera mjukvara.
"Inget programmeringsspråk har kommit i närheten av C eller C++ när det kommer till effektivitet. De flesta moderna programmeringsspråk med skräpsamlare är icke-deterministiska när det kommer till minneshantering, det är helt enkelt inte lämpligt för kritiska inbyggda system som de i Tesla-bilar, säger Mehdi. Ett annat stort teknikföretag som flitigt använder C & C++ är Nvidia.
2. python
Förutom C & C++ är Tesla också mycket beroende av det kanske mest populära och mest använda språket; Python. I en serie tweets förklarar Elon hur de använder en kombination av C/C++ & Python för att bygga sina algoritmer:
Vår NN är initialt i Python för snabb iteration, sedan konverterad till C++/C/råmetalldrivrutinkod för hastighet (viktigt!). Dessutom behövs massor av C++/C-ingenjörer för fordonskontroll och hela resten av bilen. Utbildningsbakgrund är irrelevant, men alla måste klara hardcore kodningstest.
- Elon Musk (@elonmusk) Februari 3, 2020
Den här tweeten fick många utvecklare att lyfta fram bristerna med att konvertera från Python till C++/C, men låt oss komma ihåg att tweeten bara är en förtätad förklaring av en väl genomtänkt process och inte gör rättvisa åt den faktiska tekniker som används. Soumith Chintala, medskapare av PyTorch, förklarar att de med största sannolikhet följer automatisk konvertering från Python till C & C++. Elon påpekade också deras beroende av PyTorch;
PyTorch är den externa verktygsuppsättningen/biblioteket som används oftast
- Elon Musk (@elonmusk) Februari 3, 2020
PyTorch är ett bibliotek byggt för maskininlärning, datorseende och naturlig språkbehandling. Den är helt öppen källkod och är byggd av Facebooks AI-forskningslabb.
3. Java & Javascript
Baserat på en undersökning gjord av Burning Glass är Java och Javascript näst på tur när det gäller användning och betydelse för språk hos Tesla. Båda dessa språk används flitigt i att bygga system och appar för sina bilar. C++, Python och Java är de språk som krävs i nästan alla jobbtjänster på Tesla. Dessutom kräver Tesla en stark kunskap i Javascript för roller som involverar front-end-programmering. Läs mer om Jobb hos Tesla här.
4. Andra språk
Tesla kräver också spetskompetens i andra programmeringsspråk baserat på de specifika funktioner som vart och ett av dem utför. Reagera och skrivmaskin är Javascript-baserade språk som används flitigt av Tesla för front-end-utveckling. Dessutom, Rubin, CSS och PHP krävs i roller som involverar webbutveckling. Slutligen används SQL i stor skala för databashantering. Alla sådana språk kombineras för att bygga produkterna som lämnar oss i vördnad.
Slutsats
Trots att Tesla är ett av de stora teknikföretagen i världen, förlitar sig alltså främst på gamla skolans programmeringsspråk. Python, C & C++ är ett måste om du vill arbeta för företag som Tesla, SpaceX, Nvidia, Intel, etc. Tesla har dock mer än 300 ingenjörer i arbete med olika uppsättningar av färdigheter, som alla går samman för att skapa komplexa nätverk för att driva sina produkter. Ditt val av vilket programmeringsspråk du ska lära dig bör helt bero på vilken typ av funktion du vill utföra. Välj vist!
Kommentera uppropet