Permalänk

Lära sig programmering

Hej! Jag är lite sugen på att lära mig programmering. Har lite kunskaper inom IT (jobbat 4+ år inom support osv) men är helt grön på programmeringsbiten.

Jag har några frågor som några av er eventuellt har svar på:
- Vilket språk rekommenderar ni att man borde börja med att lära sig?
- Finns det några bra distans/intensiv/yrkesförberedande utbildningar som ni kan rekommendera?
- Övriga tips kring detta.

Tacksam för förslag

Permalänk
Medlem

Drygt svar: Programmering handlar väldigt mycket om att kunna söka information på nätet genom "googling". Hade du t.ex. googlat på den här frågan, så hade du funnit den bland de andra hundratals identiska frågorna här på forumet

Icke drygt svar: Det beror väl lite på vad du vill programmera inom? Är det webbutveckling? Ja då har du inte jättemycket att välja på. Där finns JavaScript, C# (.NET) och PHP som är de "största" språken (exklusive HTML & CSS då dessa inte riktigt är "programmering").

Är det bara för att just lära dig programmering? Då är Python, C# eller t.ex. Java "lätta" språk att ta in. Språk som C och C++ är mycket svårare att lära sig från början, men är istället otroligt bra att kunna för att förstå varför det faktiskt blir som det blir.

Jag skulle rekommendera C# eftersom jag känner mig mest bekväm i detta, och att det är ett så otroligt brett språk idag. Du kan i princip utveckla allt från mjukvaror, webbsidor och appar åt Android, iOS och UWP.

Visa signatur

NZXT H510 Flow MSI B450 Tomahawk MAX
AMD Ryzen 5800X3D RX 7900XTX Kingston Fury 64GB

Permalänk
Medlem

C för inbyggda system, C++ för Linux Kernel och Java för Android framework och applikationer.

Youtube eller Google for diverse kurser och tips.

Permalänk
Medlem

Programmering är ett verktyg. Frågan är då, vad vill du göra med programmeringen? Det kan bli väldigt svårt och man kan ge upp lätt om man inte har något roligt man vill göra med den nya kunskapen.

Om man bara allmänt vill programmera lite så är nog Python ett bra, kraftfullt och enkelt språk att börja med.

Sedan så är det alltid trevligt med Arduino, leka lite med elektronik och programmering samtidigt. Det blir lätt att lära sig om man kan se resultaten framför sig. Finns även bra community och nybörjarkits.

Visa signatur

CPU: Intel core i7-2600K @ 4.8 GHz, GPU: Asus Strix RX580, Moderkort: Asus Maximux IV Gene-Z, RAM: 16gb Corsair Vengance 1600 MHz PSU: Corsair AX 850w Chassi: CM SL600M.

Permalänk
Medlem

Vi körde en kurs i c++ i skolan och tack vare den kursen så blev det mycket lättare för oss att hänga med i andra programmeringsspråken som vi använde till tex robotar. Så personligen tycker jag att en kurs i c++ gav väldigt mycket.

Permalänk
Medlem

Python verkar vara ett bra språk att börja med när man skall lära sig programmera. Men man skall inte sluta där.
En bra programmerare behöver lära sig flera programmeringsspråk - helst så olika varandra som möjligt.
Varje nytt språk lär en nya sätt att angripa olika problem.

Permalänk
Medlem

Språket beror delvis på vad du vill uppnå. Jag håller med @parmudas om att Java, C# och Python kan vara bra språk att börja med.
Det viktiga är att man hittar information lätt om språket man håller på att lära sig.

Programmering handlar mycket om att lösa problem och lära sig hur man gör det med programmering som verktyg.
Att börja med C++ eller C tycker jag är lite väl onödigt. Det blir en hög tröskel till en början. Det är mycket bra att kunna dessa språk, men det lär man sig lätt senare när man greppat ett par andra språk.

Om du inte har gjort det så börja med att läsa Programmering 1 på komvux. Ofta är den kursen ett förkunskapskrav, åtminstone på Yrkeshögskolan.

Ta och leta efter information på nätet. Youtube är en fantastisk källa till information! Men ännu viktigare är att lägga tid på att träna själv på att praktisera det man lär sig.

Om du känner att C# kan vara något att testa så kan man börja här: https://youtu.be/gfkTfcpWqAY

En annan youtubekanal som jag har använt mig mycket av är https://www.youtube.com/user/IAmTimCorey

Glöm inte att öva, öva och öva! Lycka till!

Permalänk
Medlem

Är lite nyfiken, varför föreslår folk Java som ett enkelt språk? Jag tycker det är motsatsen till enkelt, det har väldigt komplicerad syntax för en nybörjare och det är rätt så jobbigt att ens få upp ett IDE

Visa signatur

Corsair Carbide 500R | i5 4670K | Asus 1070 Dual | Ballistixsport 4x4GB | GB Z87-HD3 | Samsung 850 Pro 128GB SSD | Seagate 1TB HDD | CM 600W | Samsung DVD |

Permalänk
Medlem

Jag skulle säga att det mest handlar om att det finns mycket information om språket tillgänglig.
Sen är det inte enkelt alls att lära sig att programmera. Det blir lite dumt när man skall försöka dra ner på svårighetsgraden för mycket. Det viktiga är att man kan få mycket hjälp att komma igång.
@TroubleBaker

Permalänk
Medlem

Jag läser Kandidat i Datavetenskap, vi började att lära oss C - tyckte personligen att det blev väldigt lätt att lära sig andra språk efter detta.

Det är (enligt mig) lättare att gå från något komplicerat till något mindre komplicerat än tvärtom. Tänk att lära sig Python och sedan gå till C..

Ps. lär dig inte Java, det kommer få dig att vilja sluta programmera ^_^.
Kör på C eller C# enligt mig. Hade rekommenderat någon Kurs på Udemy för att få igång en grundförståelse i hur allting fungerar.

Bara att ta valfri kurs inom något språk som har högt betyg. Kostar ca 140 kronor, men väl värt det.

edit: om du vill lära dig Java så kan du köra på denna kursen, jag köpte själv den som komplement till min lärare som inte var allt för pedagogisk.

udemy.com/course/java-the-complete-java-developer-course/
De första 15-20 timmarna är grunder inom programmering, som du har användning för
oavsett vilket språk du lär dig.

Visa signatur

10700K | NVIDIA RTX 3080

Permalänk

Att bara skumma igenom en onlinekurs fokuserad på ett specifikt språk är inget jag rekommenderar till nybörjare. Många teoretiska grunder missas vilka är till stor hjälp med hur en utvecklare bör tänka när det kommer till systemutveckling.

En riktigt bra (och otroligt nog gratis) kurs som ger både teori samt möjlighet att testa olika språk är Harvard cs50:

https://online-learning.harvard.edu/course/cs50-introduction-...

Är man motiverad och tar sig igenom den i sin egen takt så har man kommit en bra bit på vägen.

Visa signatur

Intel 4670K| 16GB | Galax 1080 | Corsair AX 750

Permalänk
Medlem
Skrivet av TroubleBaker:

Är lite nyfiken, varför föreslår folk Java som ett enkelt språk? Jag tycker det är motsatsen till enkelt, det har väldigt komplicerad syntax för en nybörjare och det är rätt så jobbigt att ens få upp ett IDE

Många lär sig Java från början; därmed har det svårt för jordliga språk, då Java snackas exklusivt i helvetet.
Personligen tycker jag alla borde börja med C++, inte för att det är nödvändigtvist lätt men för att ska lära sig att programmera, inte lära sig ett språk och för det är C++ oslagbart då det flesta objektorienterade språk är C liknande.

Permalänk
Medlem

Jag vet inte om det är rätt sätt att tänka men jag hade gärna valt Java istället för C#. Inte för att språket är bättre eller mer användbart, de är så lika så du lär dig båda samtidigt. Dock är de stöden, felmeddelandena och hjälpmedlen i Eclipse riktigt bra för att hjälpa dig komma igång jämfört med Visual studio som jag upplever mindre hjälpsamt än ett svartvitt textdokument. I min begränsade erfarenhet känns det som om man jobbar med Eclipse och emot Visual Studio, men det kanske finns bättre alternativ för C#.

Visa signatur

i5-7600k . GTX 1080 . 16 GB

Permalänk
Medlem

Tänker ge mig in i språkkriget också.

Python är det språk man ska börja i, alternativt något helt funktionellt språk.

Hello World i python

print("Hello World")

Hello World i Java/C#

public ... class

void main ...
console ...

Vad exakt får man ut av att ha all denna boilerplate kod ni som förespråkar C#/java/C++

Permalänk
Medlem

Jag har arbetat med programmering i över 40 år och har programmerat i över hundra olika programspråk och jag blir lite förvånad när jag ser folk rekommendera C++, C# eller Java som förstaspråk. Jag har också under mer än 25 år lärt ut programmering på KTH, både på grundläggande nivå och på avancerad nivå.

Ska man lära sig programmering är det viktigt att använda ett språk med enkel syntax och helst med en enkel semantik också. Under åren har man valt olika språk som förstaspråk och det idag utan jämförelse vanligaste språket är Python (python3).

Tidigare var Scheme populärt eftersom det hade en extremt enkel syntax och innan dess var Pascal (finns knappt kvar) populärt.

Jag skulle föreslå Python som förstaspråk och att man använder någon på nätet fritt tillgänglig lärobok som grund (t.ex. någon av böckerna på https://codeburst.io/15-free-ebooks-to-learn-python-c299943f9... ) och att man använder ett Python IDE (integrated development environment). Jag är bara bekant med Linux (är usel på andra OS) men där använder jag Spyder3.

När man sen har fått in grunderna och lärt sig förstå principer och idéer kan man gå över till andra språk men tänk då på att Python också används för komplicerade och känsliga programvaror där högsta säkerhet krävs.

Mina favoritspråk: Python(3), Groovy (modern variant av Java), Scheme (mycket parenteser men kul språk).

Programmerar jag bara om jag är tvungen (p.g.a. att inget annat språk erbjuds för uppgiften): Java, C#, C++, Fortran, Cobol (alla är egentligen ganska OK men omständliga)

Annars tar man vad man har. Har man ett eller ett par språk i bagaget funkar det mesta med lite inläsning.

Kul språk (en liten varning, kanske): Oz med programmeringsomgivningen Mozart (jobbig syntax och semantik)

Kul språk utan varning: Scheme, ML, Miranda, Prolog (logikprogrammering)

Gamla språk som varit viktiga: C, Fortran, Algol, Simula, SmallTalk, Pascal.

Rättade slarvfel
Permalänk
Medlem
Skrivet av skyw00lker:

Tänker ge mig in i språkkriget också.

Python är det språk man ska börja i, alternativt något helt funktionellt språk.

Hello World i python

print("Hello World")

Hello World i Java/C#

public ... class

void main ...
console ...

Vad exakt får man ut av att ha all denna boilerplate kod ni som förespråkar C#/java/C++

Förståelse för objekt.

#include <iostream> int main() { std::cout << "Hello World!\n"; }

Förståelse för bibliotek, funktioner, namespaces, strömmar, osynliga karaktärer, om man bara kan ställa sig frågan "varför är den saken så?"

Nyfikenhet är viktigt.

Permalänk
Medlem

Jag är själv ingen stjärna i programmering men jag tror det är väsentligt att du har en idé om vad du vill göra med programmeringen. För mig har det iallafall alltid varit lättare att lära mig om det finns nåt att tillämpa kunskaperna på.

Därför tycker jag arduino är nåt väldigt bra som kombinerar teori o praktik.

Visa signatur

Gigabyte RTX 3070 | Samsung 980 | AMD 5950x
32GB 3600MHz CL14 | Corsair RM850X | ASUS ROG CROSSHAIR VIII DARK HERO
Skärm: Acer 27" ConceptD CP3271KP IPS 4K HDR 144 hz

Skriv gärna ett svar om ditt problem löste sig.

Permalänk
Medlem

@Sinery: Är det viktigt för en nybörjare att få in alla de koncepten för att skriva ut en sak till skärmen?

Det är inget exklusivt för c++, utan allt det som du nämner finns i python också.

Permalänk
Medlem

Om du jobbar med support mot windowsmiljöer kan Powershell vara en startpunkt. Troligen kommer du rätt fort få in några grunder i hur man kan tänka kring objekt, properties etc. Du kommer snabbt ha nytta av det i ditt arbete för att automatisera tråkiga och repetitiva arbetsuppgifter.

Nu är PS mer av script än programmering men när jag körde igenom min första pythonkurs för ett år sedan tyckte jag lite powershellkunskaper var trevliga att ha med mig.

Jag lärde mig genom boken Powershell in a month of lunches vilket är precis vad det handlar om så det är ingen gigantisk tidsinvestering heller.

Visa signatur

Primär: R9 3900X | ASUS X570-F Gaming | NH-D15 | 64GB@3200MHz | RTX 3080 10GB | Seasonic 850W | Fractal Define R6 |
Gamla bettan: i5 750@3.8GHz | 8GB | HD5770 | Corsair VS 550W | FD R2 |

Permalänk
Medlem
Skrivet av skyw00lker:

@Sinery: Är det viktigt för en nybörjare att få in alla de koncepten för att skriva ut en sak till skärmen?

Det är inget exklusivt för c++, utan allt det som du nämner finns i python också.

Nej, men koden är fortfarande där och när man behöver använda en av dessa koncept blir det ett "aha" istället för att det abstraktheras bort.

Permalänk
Medlem

@Sinery:

Med det argumentet är det bättre att ge nybörjaren ett exempel med alla koncept direkt så inte personen blir överraskad, med python kan man enkelt presentera idé för idé.

Detta får bli sista inlägget för mig i denna diskussion.

Permalänk
99:e percentilen
Skrivet av Sinery:

Förståelse för objekt.

Tycker inte det ska räknas som en fördel (i kontexten språkval för nybörjare) att objekt trycks ner i halsen på programmeraren. Tror det är bättre att börja med att lära sig grundläggande programmeringstänk, typer, funktioner, satser, uttryck och liknande, utan att objektkonceptet får möjlighet att gräva de djupa hjulspår det så ofta gör.

Ska erkänna att jag tycker att det är svårt att föreslå ett nybörjarspråk, för alla har sina för- och nackdelar. Men hellre Python än Java iallafall. Eller kanske, om man får vara lite vild, TypeScript?

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Medlem
Skrivet av serafim:

Jag har arbetat med programmering i över 40 år och har programmerat i över hundra olika programspråk och jag blir lite förvånad när jag ser folk rekommendera C++, C# eller Java som förstaspråk. Jag har också under mer än 25 år lärt ut programmering på KTH, både på grundläggande nivå och på avancerad nivå.

Ska man lära sig programmering är det viktigt att använda ett språk med enkel syntax och helst med en enkel semantik också. Under åren har man valt olika språk som förstaspråk och det idag utan jämförelse vanligaste språket är Python (python3).

Tidigare var Scheme populärt eftersom det hade en extremt enkel syntax och innan dess var Pascal (finns knappt kvar) populärt.

Jag skulle föreslå Python som förstaspråk och att man använder någon på nätet fritt tillgänglig lärobok som grund (t.ex. någon av böckerna på https://codeburst.io/15-free-ebooks-to-learn-python-c299943f9... och att man använder ett Python IDE (integrated development environment). Jag är bara bekant med Linux (är usel på andra OS) men där använder jag Spyder3.

När man sen har fått in grunderna och lärt sig förstå principer och idéer kan man gå över till andra språk men tänk då på att Python också används för komplicerade och känsliga programvaror där högsta säkerhet krävs.

Mina favoritspråk: Python(3), Groovy (modern variant av Java), Scheme (mycket paranteser men kul språk).

Programmerar jag bara om jag är tvungen (p.g.a. att inget annat språk erbjuds för uppgiften): Java, C#, C++, Fortran, Cobol (alla är egentligen ganska OK men omständliga

Annars tar man vad man har. Har man ett eller ett par språk i bagaget funkar det mesta med lite inläsning.

Kul språk (en liten varning, kanske): Oz med programmeringsomgivningen Mozart (jobbig syntax och semantik)

Kul språk utan varning: Scheme, ML, Miranda, Prolog (logikprogrammering)

Gamla språk som varit viktiga: C, Fortran, Algol, Simula, SmallTalk, Pascal.

Underbart svar!

Varför vill man lära sig programmering? Är det för att det är något som verkar kul, kanske lite hemma fix, bara för att lära sig mer eller tänker man sig en framtida karriär och det fort.

Jag som bara pillar lite med det för det är lite spännande tycker Python har varit underbart. Går att göra mycket och finns överallt. Jag kan skriva enklare grejer till telefonen, går att göra saker på min hemmaserver, Raspberry PI kan det göra saker på (enklare spel t.ex.), windows linux MacOS , ja går att använda överallt. Det är enkelt att komma igång tyckte jag.

Något annat som har varit roligt och lärorikt är ARDUINO. Oändliga möjligheter och mycket information om hur man skall göra saker och ting. Det ger en mer känsla av att komma närmre hårdvaran och ofta får man se sina resultat på ett annat sätt än bara på en skärm. Det som jag tycker har varit extra roligt med arduio miljön har varit att få pilla med elektronik samtidigt. Svårt och snabbt beskriva allt som går att göra med denna miljön men går att göra massor. Jag byggde en fuktövervakning till krypgrunden i huset.

Min bakgrund inom programmering är ett intresse och blandade kurser genom åren i skolan men inget jag har jobbat med. Tex. var det Pascal och basic i gymnasiet. Led mig igenom en Java kurs på högskolan. Råkade hamna på någon kurs om Siemens PLC.

Ett sista nybörjar råd:

Ha ett mål!

Med det menar jag att fundera ut något du vill göra. Tex en miniräknare. Enklare att hänga upp det du läser mot något. Att planlöst sätt sig på sida 1 i C++ boken och läsa kommer inte att ge dig lika mycket som om du kan hänga din nyfunna kunskap mot något.

Önskar dig all lycka i denna värld

Visa signatur

Laptop: HP Elitebook 640 G9
Server: HP Microserver N54L, 8 GB ram, 8 TB hd.

Permalänk
Medlem

Att lära sig programmera idag är tyvärr ofta svårare än vad det behöver vara, mycket på grund utav att den nuvarande versionen utav väletablerade språk såsom C++, Java eller C# bygger på väldigt många tidigare versioner utav språket och det finns därför väldigt många (onödiga) koncept som tillkommit efterhand som du onekligen kommer stöta på när du försöker lära dig något utav dessa språk genom att googla själv. Jag avråder dig även från paradigmer såsom objektorientering (tyvärr bastardiserad i många moderna språk så som Java/C#) då det kommer med tjocka böcker av egna abstrakta koncept som inte alls är nödvändiga för att vara produktiv i sin programmering.

Att C lär dig hur en dator fungerar köper jag bara till viss del, då det är ett språk som tillkom som en relativt tunn abstraktion över assembly redan på 70-talet, och har inte förändrats supermycket sedan dess förutom en del syntaxtisk socker, kodkonventioner och säkrare abstraktioner. Det är definitivt ett mycket använt språk som kan vara värt att lära sig om man vill hålla på med utveckling av operativsystem eller programmera mikrokontrollers, men jag ställer mig tveksam till om det är ett klokt förstaspråk för majoriteten av människor (ska tilläggas att det var det första språket jag fick lära mig).

Jag är inne på samma spår som @serafim, i början är det viktigt att få ägna sig åt att faktiskt programmera snarare än att studera syntax & semantik och sätta upp utvecklingsmiljöer som fungerar. Nu framgår det inte exakt i vilket syfte du vill lära dig att programmera, om det är av praktiska själ eller om det handlar mer om självförverkligande/nyfikenhet.

Om du är ute efter att enbart göra dig bekant med programmering och lära för lärandet skull kommer jag att rekommendera Scheme alla dagar i veckan. Scheme är en dialekt av Lisp med otroligt enkel/liten syntax. Det är inte en överdrift att du kan lära dig all dess syntax på endast ett par timmar, vilket i min mening är väldigt viktigt då du redan kommer vara förvirrad/frustrerad av massa andra saker i början. Racket är en Scheme som kommer med en färdig utvecklingsmiljö och editor samt massa dokumentation. Den är gjord specifikt för att utforska språk, vilket Lispar i allmänhet lämpar sig väl för. Det finns även en uppsjö av nybörjarmaterial anpassat för Scheme då det historiskt varit ett populärt språk att lära ut på universitet.

Scheme är tyvärr inte särskilt praktiskt för de flesta ändamål idag, men koncepten du lär dig från Scheme är i princip universellt applicerbara i andra moderna programmerinsspråk. Om du istället känner att du vill smälla upp en hemsida så fort som möjligt skulle jag istället rekommendera Javascript/Python. Båda språken är väldigt enkla att komma igång med då du egentligen bara behöver ett program att redigera text i, exempelvis Notepad++, och såklart behöver du installera Python. Överlag är Javascript lite mer av vilda västern och jag tror det är enklare att dra på sig dåliga ovanor i det språket jämfört med Python, då det i Python-communityn finns en ganska stark åsikt om vad som gör kod "Pytonistisk" och inte.

Hur du än gör så önskar jag dig lycka till! Programmering kan vara en extremt givande sysselsättning, och jag har ännu inte stött på någon som mått sämre av att de lärt sig programmera.

Permalänk
Medlem

- Vilket språk rekommenderar ni att man borde börja med att lära sig?
c#
- Finns det några bra distans/intensiv/yrkesförberedande utbildningar som ni kan rekommendera?
Kolla Udemy.com
- Övriga tips kring detta.
Learn by doing, tänk ut något du vill göra konkret och ta reda på hur du kan göra det. behöver inte vara världens bästa lösning men det är givande att faktiskt göra

Permalänk
Medlem

Det finns distanskurser i c++ på diverse högskolor och även lokala kurser om du föredrar att gå till skolan. Sedan finns det även kurser på högskolan i många andra språk. Fördelen med högskola är att du får uppgifter, handledning och även poäng från kursen plus att du får någon som går igenom din kod och ger feedback.

Permalänk
Medlem

För att göra ytterligare ett mystiskt avstick i tråden kan jag säga att många skolbarn idag (i lägre ålder) börjar med Scratch eller liknande blockbaserade språk. Tycker själv att det tar mer än det ger att jobba i sådana men har sett en del spel och grejs gjort i det.

I skolan används även t.ex. microbits som finns att köpa på diverse ställen på nätet. Ska du göra något användbart är troligen Arduino bättre som någon annan redan lyft.

Visa signatur

Primär: R9 3900X | ASUS X570-F Gaming | NH-D15 | 64GB@3200MHz | RTX 3080 10GB | Seasonic 850W | Fractal Define R6 |
Gamla bettan: i5 750@3.8GHz | 8GB | HD5770 | Corsair VS 550W | FD R2 |

Permalänk
Datavetare
Skrivet av dasomannen:

Hej! Jag är lite sugen på att lära mig programmering. Har lite kunskaper inom IT (jobbat 4+ år inom support osv) men är helt grön på programmeringsbiten.

Jag har några frågor som några av er eventuellt har svar på:
- Vilket språk rekommenderar ni att man borde börja med att lära sig?
- Finns det några bra distans/intensiv/yrkesförberedande utbildningar som ni kan rekommendera?
- Övriga tips kring detta.

Tacksam för förslag

Oh, en "vilket språk rekommenderar ni" fråga! Sådana få de flesta andra skyttegravskrig att framstå som banala sandlådebråk, men känner att det inte går att låta bli att svara på sådant

Frågan kring vilket språk man ska börja med är till stor del irrelevant om målet är att lära sig programmera. Tror ingen skulle föreslå det jag lärde mig programmera med, BASIC+assembler, men även det gick ju rätt bra i slutändan...

Ska du lära dig på egen hand är mitt tips att testa lite olika språk. Har skrivit en hel del i Python och tycker det är riktigt bra för småprogram. Har testat på en lång rad andra dynamiskt typade programspråk och för mig passar dessa väldigt illa, även om jag har en viss förkärlek till Lisp (men skulle inte rekommendera att köra det som förstaspråk, det är hemskt att köra Lips i en debugger).

Orsaken att välja "stora" språk som C, C++, Java, JavaScript eller C# är primärt att dessa har generellt sett det bästa stödet i verktyg, IDEer, kompilatorer, etc.

Kan man välja helt fritt kan man ju väga in områden man är intresserad av. Jag vet att det går att hitta undantag, men är man (som jag är) intresserad av att skriva programvara för operativsystem, realtids-system, spel eller andra fall där prestanda är kritiskt finns egentligen bara tre val: C, C++ och Rust.

Alla relevanta OS kärnor är idag skrivna i C medan grundläggande services är skrivna i C eller C++. Både Windows- och Linux-gängen har avfärdat C++ i kärnan, men båda dessa (och andra inom RTOS/embedded) tittar på att börja skriva vissa delar i Rust framöver.

Skulle jag förslå ett språk att lära sig 2020 är det just Rust. Multi-core CPUer är idag en självklarhet, Rust hindrar dig skriva (kompileringsfel) en lång rad buggar relaterat till multi-core problem som anses "normala" i C, C++, Java, C#, Python, i princip alla språk som kan köra mer än en tråd. För någon som redan kan någon av C-språken (C, C++, C#, Java) är det en hyfsad initialt tröskel att börja med Rust, men gissar att en nybörjare kanske inte alls kliver ned i de hålen då en sådan inte lärt sig "fel" sätt att hantera vissa saker!

Är man intresserad primärt av webbprogrammering är JavaScript en självklarhet, eller möjligen TypeScript om man som jag vill ha statiskt typning. Orsak: JS är webbens assembler, allt bygger på JS där så är rätt irrelevant vad man tycker om JS som språk. Rätt använt är JS är rätt mycket Lisp med vettig placering av parenteser, vilket bl.a. gör att man kan skriva interaktiva debuggers som uppför sig på ett rimligt sätt

Är man primärt intresserad av spelprogrammering skulle jag vilja skriva: använd Rust. Förhoppningsvis kommer man gå allt mer från C++ till Rust här, men just nu är C++ totaldominant inom spelprogrammering. Om du väljer C++, se till att helt ignorera "gamla" C++, se till att lära dig C++11 och senare. Sättet man skriver "bra" C++ kod ser rätt annorlunda ut i modern C++ (C++11/14/17/20) jämfört med tidigare. Enda anledningen att överhuvudtaget bry sig om "gamla" C++ är om man är tvungen (jobbar med en gammal kodbas).

Vill man kliva runt i "back-end" träsket kommer det primärt handla om Java och C#. Java är långt större i världen i stort, men C#/.Net är väldigt populärt här hemma i Svedala!

Java är ju mer än ett språk, det är också en plattform. Håller man sig till plattformen Java finns ju lite roligare språk som Kotlin (viktigt att kunna om man vill jobba med Android)! Då jag jobbar en hel del med Jenkins är jag mer eller mindre tvingad till att uthärda Groovy. Det finns värre språk, men skulle själv inte använda Groovy för något alls om det gick att välja...

Arduino har nämnts. Gillar man att kunna "se" resultatet av sitt program mer handgripligen är det en jättebra plattform. Rekommenderar i så fall Visual Studio Code + Plattform IO. Även om det går att köra de flesta språk här, så är det nog enklast för en nybörjare att hålla sig till "standardvalet" som är en väldigt nedskalad variant av C++ (mer C med nyckelordet "class" tillagt).

Föredrar man Python (eller Rust, C, C++, eller vad det nu må vara) men vill pillra med lågnivå på ett lättsmält sätt är en RPi4 ett lysande val!

Både Arduino och RPi4 har fördelen att projekten tenderar vara väldigt begränsade, vilket är trevligt när man är nybörjare då det går rimligt fort att komma i "mål". RPi4 är inte smärtsamt långsam, så den går hyfsat OK att jobba på likt en "vanlig" dator. Det gör vissa moment lite enklare, t.ex. köra debugger.

Visst man man välja någon av de obskyra språken "ingen" använder. Men man bör nog ha en idé om varför man gör det om man väljer fritt. Går man en utbildning och får något av dessa slängt i knät är det bara att gilla läget, är målet att lära sig programmera spelar som sagt inte språket superstor roll.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk

Skulle annars föreslå kika på Javascript. Hela webben är javascript och det finns galet bra guider att följa på Freecodecamp.com som är gratis och lätta att komma igång med!

Permalänk
Medlem
Skrivet av Daz:

Om du jobbar med support mot windowsmiljöer kan Powershell vara en startpunkt. Troligen kommer du rätt fort få in några grunder i hur man kan tänka kring objekt, properties etc. Du kommer snabbt ha nytta av det i ditt arbete för att automatisera tråkiga och repetitiva arbetsuppgifter.

Nu är PS mer av script än programmering men när jag körde igenom min första pythonkurs för ett år sedan tyckte jag lite powershellkunskaper var trevliga att ha med mig.

Jag lärde mig genom boken Powershell in a month of lunches vilket är precis vad det handlar om så det är ingen gigantisk tidsinvestering heller.

Du skrev nästan exakt det jag tänkte skriva, så nöjer mig med en citering.