Permalänk
Medlem

Sätt ett mål, ett program du vill göra. Sen börjar du koda och lär dig under tiden.
Jag tycker kurser och böcker är slöseri tidsmässigt, en lär sig mycket fortare när en kodar mot ett mål och söker efter de problem som dyker upp på nätet.
Lär man sig ett programmeringsspråk så kan man lära sig andra lätt. Det viktiga är att lära sig programmeringstänket som man sen applicera på andra språk.

Skrivet av klk:

Python är något man kan använda sig om man inte är intresserad av att lära sig programmera men ändå måste skriva lite kod eftersom man har behov av att få saker löst med datorer.

För att lära sig programmera är Python det sista språket att välja

Varför?
Jag har kodat i 30 år och anser python vara det absolut bästa språket för det mesta. Behövs hög prestanda så är givetvis C bättre men till det allra mesta så är det onödigt. Jag skulle säga att till 95% av sakerna jag stöter på i jobbet så är python den snabbaste lösningen.

Visa signatur

R&D Elektronik & Radioingenjör

Permalänk
Medlem

chatgpd är grym på python, säg vad du vill göra och gå igenom varje stycke av koden sen.
du kan även be AI ge dig frågor på vad som händer om du ändrar olika värden.

Visa signatur

CPU: 5800x3d
GPU: 3080
RAM: 32GB

Sluta gömma din identitet, skaffa en till istället

Permalänk
Medlem

En grej som jag tycker är värt att diskutera som jag inte har sett någon annan poängtera är att det finns en skillnad mellan att kunna kod, och att kunna kod *bra*.

Bara på grund av att du kan skriva kod för att lösa en problem innebär inte du kan skriva kod som du kan underhålla och bygga ut på ett vettigt sätt. Jag rekomenderar att alla nybörjare därför kollar på 'design patterns' för att lära sig skriva bra kod, som tex. SOLID för objekt orienterade språk så som Python (https://en.wikipedia.org/wiki/SOLID).

Permalänk
Medlem
Skrivet av iknight:

En grej som jag tycker är värt att diskutera som jag inte har sett någon annan poängtera är att det finns en skillnad mellan att kunna kod, och att kunna kod *bra*.

Bara på grund av att du kan skriva kod för att lösa en problem innebär inte du kan skriva kod som du kan underhålla och bygga ut på ett vettigt sätt. Jag rekomenderar att alla nybörjare därför kollar på 'design patterns' för att lära sig skriva bra kod, som tex. SOLID för objekt orienterade språk så som Python (https://en.wikipedia.org/wiki/SOLID).

Är man total nybörjare på programmering så känns SOLID som ett väl avancerat concept som lämpligen bör komma som ett andra steg när man lärt sig grunden.

Permalänk
Medlem
Skrivet av n0kturnal:

Är man total nybörjare på programmering så känns SOLID som ett väl avancerat concept som lämpligen bör komma som ett andra steg när man lärt sig grunden.

Problemet är dock att folk fastnar ofta i dåliga vanor, och fortsätter skriva dålig kod eftersom det är hur dem lärde sig, trots att dem vet bättre. Plus att det kan finnas en del motstånd till att lära sig skriva bra kod eftersom "men mitt kod löser ju ändå problemet, det tar bara mer tid att implementera dessa mönster" - särskilt när man lär sig själv, utan att bli "tvingad" till att förbättra.

Jag har varit lärare assistent på en hel del nybörjare kurser i programmering på högskolan, och det händer ofta till studenter (har bland annat haft samma studenter över två perioder, där dem först lär sig grunderna, och sen mer avancerade grejer. Det händer ofta). Det är ganska lätt att bryta trenden när folk har inte programmerat länge, men blir bara svårare desto längre dem har.

Jag nämnde just SOLID principerna eftersom de tar inte mycket tid att lära, och kan även ge en bättre förståelse över hur kod faktiskt funkar. Jag har haft studenter fråga varför de inte lärde vissa mönster tidigare flera gånger, eftersom de ger lösningar som hade underlättat problem de har tidigare haft/drastiskt minskat mängden "spaghetti kod" de har skrivit. Mer avancerade tekniker, såsom olika strukturerala mönster kan man dock vänta med.

Permalänk

Sätt dig och gör:

  • PCEP™ – Certified Entry-Level Python Programmer

  • PCAP™ – Certified Associate Python Programmer

https://pythoninstitute.org/

Deras läroplattform är väldigt bra plus att du får legitima certifikat.

Visa signatur

PenTest+, CEH, OSCP+, GPEN, OSCE, OSEE

Permalänk
Medlem
Skrivet av Rebben:

Varför?
Jag har kodat i 30 år och anser python vara det absolut bästa språket för det mesta. Behövs hög prestanda så är givetvis C bättre men till det allra mesta så är det onödigt. Jag skulle säga att till 95% av sakerna jag stöter på i jobbet så är python den snabbaste lösningen.

Vad du gör när du lär dig python är att lära dig komponenterna som följer med i python, python är inte gjort för att du själv skall lösa problem eller lära dig hantera kod som är det normala för programmerare.
Pythons mål är att skriva så lite kod som möjligt.

Jag menar inte att detta skulle vara dåligt men det är inte programmering, Det är en annan typ av kunskap

Är ganska säker på att det du gör i python oftast är kortare skriptliknande kod. Måste man ändra slängs ofta kod och nytt skrivs för det är så lätt och det är ett vanligt förlopp.

Jämför med kod i annat, kanske C++ där livslängden måste vara +20 år och kodmängden blir enorm. Det är ett helt annat jobb jämfört med python. Helt olika tankesätt

Skrivet av Rebben:

Behövs hög prestanda så är givetvis C bättre men till det allra mesta så är det onödigt.

Python är C/C++, python är en skriptmotor skriven i de språken som tolkar python kod och omvandlar den som i sin tur kör funktionalitet i komponenter som också de nästan alltid är skriven i C/C++.
Dessa komponenter som följer med i språket python har helt andra krav på att fungera och uppdateras jämfört med den koden du skriver i python

Permalänk

Oavsett om du väljer att påbörja din resa med Python eller något annat programmeringsspråk tycker jag du bör tänka ut ett projekt du ska försöka lösa - något problem du har som du vill lösa (även om det säkert redan finns tekniska lösningar för det idag).

Visa signatur
Permalänk
Medlem
Skrivet av Ca1P3:

Hejsan är sugen på att lära mig programmera och har märkt att många rekommenderar att man börjar med python.
Har ni något tips på var man kan lära sig detta typ om någon gått någon kurs på Udemy eller liknande ?

Kan starkt rekommendera "learn python The hard way"

Finns digitalt

https://www.akademibokhandeln.se/bok/learn-python-3-the-hard-...

Permalänk
Medlem

Det är skillnad på at se någon åka skateboard och klara av att göra det själv, som Kevin Powell brukar säga.

Att se videoklipp på hur man gör är jättebra för att lära sig grunderna till olika kommandon till ett programmeringsspråk. Men du måste praktisera dom för att kunna göra ett program. Prova att göra ett projekt och sedan göra samma resultat (utseende / funktion) med ny kod. Prova och se om du kan göra att ett moment går snabbare / tar längre tid eller kan göras enklare / mer komplicerat. Prova att göra båda riktningarna då lär du dig vad som är krävande eller störande moment för slutanvändaren.

Skriver man inte kod själv utan bara kopierar klipp så lär man sig inte göra något från grunden.

Visa signatur

Server: Fractal design Define 7 XL | AMD Ryzen 7 5800X 8/16 | ASUS ROG CROSSHAIR VIII DARK HERO | 64GB Corsair @ 3000MHz | ASUS Radeon RX 460 2GB | Samsung 960 PRO 512 GB M.2 | 2x 2TB Samsung 850 PRO SSD | 6x Seagate Ironwolf Pro 10TB
WS: Phantex Entoo Elite | AMD Ryzen Threadripper 1950X 16/32 | ASUS Zenith extreme | 128GB G.Skill @ 2400MHz | ASUS Radeon HD7970 | 3x 2TB Samsung 960PRO M.2 | 6x Seagate Ironwolf Pro 10 TB
NEC PA301W 30" @ 2560x1600 | Linux Mint 21.3 Cinnamon

Permalänk

Jag brukar alltid rekommendera https://www.codewars.com/ Du får små enkla uppgifter att lösa, kör dem mot en testsvit och när din lösning passerar alla tester och du anser dig klar får du se andras lösningar av samma problem. Här har de andra som också löst uppgiften kunnat rösta på de olika lösningarna enligt "Clever solution" och "Best Practice" så du får se de "bästa" lösningarna först. När du löst tillräckligt många problem går du upp i level och får lite svårare uppgifter att lösa.

Jag tycker det är väldigt lärorikt att först lösa problemet själv och sedan se hur andra gjort samma sak. Det är många gånger jag tänkt "kan man göra sådär - det var smart - det måste jag komma ihåg" och "aha, fanns det en biblioteksrutin some gjorde det där jag spenderade 20 rader kod på att göra...".

Just Python är ett språk man kan missbruka ganska ordentligt så du kommer se många lösningar där någon löst hela uppgiften på en rad, strunta i dem. Bry dig bara om lösningar som du förstår vad de gör. Du kommer också kunna lösa saker på en rad om du fortsätter med Pythonprogrammerande, men vänta med det tills du har lärt dig grunderna. One-liners är inte det rekommenderade sättet att lära sig Python. Som nybörjare är det heller inte viktigt att veta allt vad man kan göra med Pythons standardbibliotek, det är mer lärorikt att själv skriva kod som löser uppgiften.

Lycka till!