Permalänk

Programmeringsyslektisk!!!

Hej!

Jag har jobbat som IT konsult i snart 15 år och omgett mig med avancerad mjukvara och tekniker. Mitt specialområde har varit inom telekom och testning och det har gått genomgående bra. Högre nivåns tester har det handlat om, systemtest, funktionstest, prestandatestning och verifiering. Testautomatisering, manuella tester och scriptning.

Nu till mitt dilemma som känns väldigt hopplöst. Det sägs att man ska kunna behärska programmering om man är vass på matte och har en högre nivå än allmänbildning på mjukvaruområdet. Bägge dessa tickar in på mig, men jag är totalt hopplös på programmering. Så fort det är en kompilator inblandat så skiter det sig totalt för mig oavsett programmeringsspråk. Även avancerad scripting utgör en blockering. Jag fattar fram till en viss enkel nivå (t.ex. villkor, reguljära uttryck), men när det kommer in på området pekare, anonyma metoder, delegater, klasser, metoder, derived classes osv osv så blir det rena grekiskan för mig ! Går in genom ena örat och ut genom andra och jag har jättesvårt att mobilisera intresse och driv för det .

Jag har försökt mig på så många olika programmeringsspråk genom åren men det stannar i princip alltid så fort det blir mer än ren basal kod som ska skrivas. Vet inte vilken metod jag ska använda mig av längre.

Nu hör det till saken att jag ska börja på ett nytt jobb som kräver mer programmeringskunnande från mig än tidigare. C# och XSLT/XML. Nu MÅSTE jag komma in i tänket. Men hur bär man sig åt? Självförtroendet är på nollnivå !

Tack på förhand och tar emot all hjälp jag kan få. Material och metoder på svenska får förtur! Detta är angeläget!

Permalänk
Hedersmedlem
Skrivet av mjolnir054:

Jag fattar fram till en viss enkel nivå (t.ex. villkor, reguljära uttryck), men när det kommer in på området pekare, anonyma metoder, delegater, klasser, metoder, derived classes osv osv så blir det rena grekiskan för mig ! Går in genom ena örat och ut genom andra och jag har jättesvårt att mobilisera intresse och driv för det .

Det är nog inte särskilt ovanligt att känna så. Försök utsätta dig för något problem där du tvingas använda koncepten; när man väl förstår vilket problem man försöker lösa känns det ofta mera logiskt.

Permalänk
Medlem

Det bästa sättet att lära sig är ju helt klart med ett projekt där du måste använda dig av olika saker.

Annars är det ju bara att läsa på saker du har svårt för, fast det kanske inte är så roligt eller lätt att förstå. Det finns inga direkta genvägar till att lära sig det.

Permalänk
Medlem

Istället för att tänka att du vill lära dig programmera , tänk dig istället att det finns problem som du vill lösa och börja jobba med de. Börja enkelt och sen ökar du på svårighets nivån med tiden. Bästa sättet att lära sig programmering är att öva öva och öva lite till.

Permalänk
Medlem
Skrivet av mjolnir054:

Men hur bär man sig åt? Självförtroendet är på nollnivå !

Tack på förhand och tar emot all hjälp jag kan få. Material och metoder på svenska får förtur! Detta är angeläget!

Två stegs metod egentligen, läs och lär dig en specifik sak, sedan träna på den rent praktiskt. Om engelska är ett problem så kanske att köpa en svensk bok om C# 6.0 skulle vara bästa lösningen.

Och du får vara envis om att lära dig, anledningen till din motivation och att det går in i ett öra och ut är för dessa delar upplevs som för svåra för dig, så våra människors hjärnor fungerar, informationen känns för jobbig och avancerad så man stänger bara av istället.

Du kan lära dig och fort dessutom, men det kräver att du använder mycket privat tid, räcker inte med en timme här och där direkt. Om du är mellan två jobb för tillfället skulle jag lägga minst 6-8 timmar per dag på att lära dig. Om du jobbar, lägg minst 3 timmar per kväll.

Permalänk
Medlem

Håller i stort sett med ovanstående om att det handlar om att hitta något faktiskt problem att lösa, då går det mkt enklare än att bara korvstoppa. Däremot tycker jag inte man ska lära sig programmera på svenska, då är det bättre att lära sig engelska först om det är ett problem för halva programmeringen brukar vara att söka runt på Internet på olika lösningar på problem, iaf om man sysslar med webbprogrammering

Permalänk

@mjolnir054: Nu är jag lite sen till partyt, men jag tänkte bidra med mina tankar ändå. Det är helt klart så att folk har olika fallenhet för programmering, för somliga går det lätt medan andra får jobba hårdare. Om du inte har en helt underutvecklad vänster hjärnhalva handlar programmering till stor del om rutin. När du väl kommer igång ordentligt kommer det gå lättare att ta nästa steg. Efter trettio års programmerande bryter jag instinktivt ner problemet i lagom stora delproblem, jämför dessa med andra problem jag löst tidigare och ser om jag kan lösa dessa på liknande sätt som jag gjort tidigare. Ju fler problem du redan löst, desto större blir chansen att du redan har en god ide om hur du kan lösa ett eller ett par av delproblemen utan större ansträngning.

Det jag säger här är alltså att du skall programmera för att lära dig programmare, smart va? Ge inte upp från början utan börja med en lärobok eller en kurs på nätet (MOOC). Övningsuppgifterna bli stegvis mer och mer komplexa ju längre man kommer i boken eller kursen, men det handlar ofta om att du skall lära dig ett nytt tankesätt eller att använda en ny finess i språket. Uppgiften är vald så att det skall passa att lösa med de koncept/finesser som ni just lärt er. När saker och ting verkar helt omöjliga att lösa, fundera på vad ni just gått igenom. Vad var nytt i exemplen? Skulle det passa i din övningsuppgift? Och ju fler problem du kan traggla dig igenom, desto bättre rustad kommer du vara när du skall angripa nästa problem.

Lycka till!

Permalänk
Medlem
Skrivet av mjolnir054:

Hej!

Jag har jobbat som IT konsult i snart 15 år och omgett mig med avancerad mjukvara och tekniker. Mitt specialområde har varit inom telekom och testning och det har gått genomgående bra. Högre nivåns tester har det handlat om, systemtest, funktionstest, prestandatestning och verifiering. Testautomatisering, manuella tester och scriptning.

Nu till mitt dilemma som känns väldigt hopplöst. Det sägs att man ska kunna behärska programmering om man är vass på matte och har en högre nivå än allmänbildning på mjukvaruområdet. Bägge dessa tickar in på mig, men jag är totalt hopplös på programmering. Så fort det är en kompilator inblandat så skiter det sig totalt för mig oavsett programmeringsspråk. Även avancerad scripting utgör en blockering. Jag fattar fram till en viss enkel nivå (t.ex. villkor, reguljära uttryck), men när det kommer in på området pekare, anonyma metoder, delegater, klasser, metoder, derived classes osv osv så blir det rena grekiskan för mig ! Går in genom ena örat och ut genom andra och jag har jättesvårt att mobilisera intresse och driv för det .

Jag har försökt mig på så många olika programmeringsspråk genom åren men det stannar i princip alltid så fort det blir mer än ren basal kod som ska skrivas. Vet inte vilken metod jag ska använda mig av längre.

Nu hör det till saken att jag ska börja på ett nytt jobb som kräver mer programmeringskunnande från mig än tidigare. C# och XSLT/XML. Nu MÅSTE jag komma in i tänket. Men hur bär man sig åt? Självförtroendet är på nollnivå !

Tack på förhand och tar emot all hjälp jag kan få. Material och metoder på svenska får förtur! Detta är angeläget!

Jag skulle vilja föreslå en bok som har en lite annan stil än normala läroböcker i programmering. Det finns flera olika böcker i samma serie och med samma stil. När det gäller programmering så får man ha tålamod. Jag tycker att det låter som att du läser om saker som är lite för svåra innan du helt lärt dig de föregående sakerna.
Här är i alla fall boken jag föreslår: Head first Python http://shop.oreilly.com/product/0636920003434.do

Jag tycker Python är ett bra nybörjarspråk. När du kommit in bra i det så kan du gå vidare till något annat om du vill.
Jag vet ingen riktigt bra instruktion/bok på svenska.

Visa signatur

/M

Permalänk
Avstängd

f*n oxå...

...läste ts mer noga...
Man kan säga, att allt du nämnde, förutom pekare, är fullständig skitsnack.

De sakerna du har problem med är delvis produkter a psykopati och företags behov av att marknadsföra sig. Det är inga verkliga saker, förutom pekare.
En del saker i java finns för att Sun, som utvecklade den, införde dessa för att få uppmärksamhet, nylansera sig.
Samma sak gäller M$ och dotnet.
Precis som med politiker som gör saker bara för att, sitter dessa människor och gör saker bara för att...

Jag har fördelen att jag började programmera på lågnivå, med assembler och C... Jag kan även en hel del abstrakt matematik, som gör att präster till funktionsprogrammering inte kommer så långt med mig :DDD

Men, tillbaka till ditt problem: vill du få en uppfattning av hur programmering funkar när den väl funkar, måste du lära dig C, och assembler.
Då kommer du att kunna sortera i skitsnacket, och ta av det bara det minsta som behövs för att få ditt program att fungera på en given plattform...

Visa signatur

Linux + AMD 1055T, Kingston 16GB ECC, Asus M5A88-M EVO, Sapphire 5850, Antec P180 mini, Cooler Master Silent Pro M600

Permalänk
Medlem
Skrivet av sae:

...läste ts mer noga...
Man kan säga, att allt du nämnde, förutom pekare, är fullständig skitsnack.

De sakerna du har problem med är delvis produkter a psykopati och företags behov av att marknadsföra sig. Det är inga verkliga saker, förutom pekare.
En del saker i java finns för att Sun, som utvecklade den, införde dessa för att få uppmärksamhet, nylansera sig.
Samma sak gäller M$ och dotnet.
Precis som med politiker som gör saker bara för att, sitter dessa människor och gör saker bara för att...

Jag har fördelen att jag började programmera på lågnivå, med assembler och C... Jag kan även en hel del abstrakt matematik, som gör att präster till funktionsprogrammering inte kommer så långt med mig :DDD

Men, tillbaka till ditt problem: vill du få en uppfattning av hur programmering funkar när den väl funkar, måste du lära dig C, och assembler.
Då kommer du att kunna sortera i skitsnacket, och ta av det bara det minsta som behövs för att få ditt program att fungera på en given plattform...

Va? Oerhört dåligt råd!

Varför ska han lära sig ett lågnivåspråk när det är ett högnivå han ska jobba inom?
Det står klart och tydligt att han måste kunna mer C#, då blir genast de "icke-verkliga" (?) sakerna väldigt relevanta.

Jag förstår att du tycker om lågnivåspråk och det är helt OK, men att ge ett subjektivt råd i form av det du gav är oerhört oprofessionellt.

@mjolnir054

Det finns oerhört mycket information angående C# som du kan vända dig till. Mängder av tutorials för nybörjare.

Permalänk
Avstängd

necessary and sufficient

@debben:
Därför att det är inom ett lågnivåspråk han kommer att lära sig vad som är "nödvändigt och tillräckligt" för att ett problem ska vara beskrivet av ett program.
Som i matematikens "necessary and sufficient"...

TS verkar säga det själv, att det är den människocentrerade verkligheten han har problem med, inte den logiska... För mig verkar det som att han har hoppat över grunderna och fastnat i marknadsförings-blah-blah...
Typ: ojojojoj vad gör vårt språk så speciellt? Jo jo, det är att den har hypertemplates med abstrakta partiella tilldelningar...
Vad fan e det ens, å vad har det med nåt att göra?

Visa signatur

Linux + AMD 1055T, Kingston 16GB ECC, Asus M5A88-M EVO, Sapphire 5850, Antec P180 mini, Cooler Master Silent Pro M600

Permalänk
Medlem
Skrivet av sae:

@debben:
Därför att det är inom ett lågnivåspråk han kommer att lära sig vad som är "nödvändigt och tillräckligt" för att ett problem ska vara beskrivet av ett program.
Som i matematikens "necessary and sufficient"...

Jo, fast frågan blir, varför? Varför skall personen lära sig andra språk, eller rent av lågnivå språk när det inte ingår i arbetsuppgifterna. Jobbet i sig handlar om IT test verktyg, troligtvis mot server, nätverk, produkter osv, iaf hur jag uppfattade det.

Så programmering koden kan vara lite smutsig, inte så perfekt eller effektiv, så länge det funkar för företaget person är anställd hos och de gör nog sina verktyg i C# helt enkelt, kanske testerna körs från Windows klienter.

TS kan alltid efter att ha lärt sig C# bättre att gå in på djupare förståelse och lära sig sådant. Idag så är det väldigt vanligt att en yngre generation lär sig t.ex Java eller C# och att de senare i sin karriär går djupare, när de börjar gå mot senior utvecklare.

Permalänk
Avstängd

@VexedRelic:
för att jag tror helt ärligt inte att han kommer att förstå annars...
jag var tvungen att erkänna det för mig själv, men folk som började med java i utbildningen kan inte lika mycket som dom som dom som började med assembler, som jag...

TS har inte frågat vad som är aktuellt idag, eller vad ni har för tips...
TS sa att han har problem med moderna språk, bland annat med de mer abstrakta deklarationerna.
"men när det kommer in på området pekare, anonyma metoder, delegater, klasser, metoder, derived classes osv osv så blir det rena grekiskan för mig !"

dvs: han har problem med just det som finns idag, och jag läser det som att han saknar grunderna som hade gjort det lättare att sålla bort skitsnacket...

va e problemet?

Visa signatur

Linux + AMD 1055T, Kingston 16GB ECC, Asus M5A88-M EVO, Sapphire 5850, Antec P180 mini, Cooler Master Silent Pro M600

Permalänk
Medlem
Skrivet av sae:

@VexedRelic:
för att jag tror helt ärligt inte att han kommer att förstå annars...
jag var tvungen att erkänna det för mig själv, men folk som började med java i utbildningen kan inte lika mycket som dom som dom som började med assembler, som jag...

TS har inte frågat vad som är aktuellt idag, eller vad ni har för tips...
TS sa att han har problem med moderna språk, bland annat med de mer abstrakta deklarationerna.
"men när det kommer in på området pekare, anonyma metoder, delegater, klasser, metoder, derived classes osv osv så blir det rena grekiskan för mig !"

dvs: han har problem med just det som finns idag, och jag läser det som att han saknar grunderna som hade gjort det lättare att sålla bort skitsnacket...

va e problemet?

Det är delvis vettigt att förstå hur en kompilator funkar för ett språk, men att förstå minneshantering och gå ner lågt på hårdvarunivå är inte ens relevant för vad han kommer hålla på med.

"Grunderna" han saknar har ingenting med assembler att göra.

Permalänk
Medlem

Jag föreslår att du börjar med att göra enkla databas applikationer. Börja med en todolista, många har gjort detta men du kan ju ha som mål att anpassa det efter ett visst område som är specifikt för just dig.

Strunta i allt runt om utan fokusera bara på det som du behöver för att slutföra uppgiften. Det var så jag lärde mig. Ett alternativ är att kanske ta några kurser?

Visa signatur

8D

Permalänk
Medlem

Sök efter "C# Tutorial for Absolute Beginners" på YouTube. Det skall finnas ett klipp på cirka 6 timmar (har själv bara kommit 3 timmar in) som jag i alla fall tycker verkar vettig och har hjälpt mig förstå saker och ting lite bättre (ingen C#-erfarenhet sedan tidigare).

Tyvärr inte på Svenska, men det kanske går ändå?

Visa signatur

Grubblare

Permalänk
Medlem

Det gäller att mängdträna. Pascal är ett bra språk att lära och använda om man vill göra program snabbt. Det är snabbt och på en bra nivå. Turbovägen till Pascal är en bra lärobok med många uppgifter att jobba igenom. Delphi om man ska lära sig objektorienterad programmering.

Sen kan man lätt gå över till både C och C++. Det är riktiga programmeringsspråk (inget java, Python eller C#), som du kan göra allt du vill med (alltifrån firmware till stora objektorienterade applikationer).

Assembler är bra, men det är lite latinstuk på det. Viktigt att åtminstone på ett senare stadium kunna läsa det och skriva något enklare i tex inline. Ett måste om man vill hacka/debugga grejer.

Visa signatur

Propaganda syftar till att göra det politiska opolitiskt.

Permalänk
Medlem
Skrivet av IlyaZ:

Det gäller att mängdträna. Pascal är ett bra språk att lära och använda om man vill göra program snabbt. Det är snabbt och på en bra nivå. Turbovägen till Pascal är en bra lärobok med många uppgifter att jobba igenom. Delphi om man ska lära sig objektorienterad programmering.

Sen kan man lätt gå över till både C och C++. Det är riktiga programmeringsspråk (inget java, Python eller C#), som du kan göra allt du vill med (alltifrån firmware till stora objektorienterade applikationer).

Assembler är bra, men det är lite latinstuk på det. Viktigt att åtminstone på ett senare stadium kunna läsa det och skriva något enklare i tex inline. Ett måste om man vill hacka/debugga grejer.

Jag skulle tro att det är ganska meningslöst att köra pascal nuförtiden. Visst körde man det som undervisningsspråk förr men nu är det nog vettigare att köra något av de välanvända Java, C# eller python som startspråk. Om man inte är specifikt intresserad av inbäddad programmering så kan man i princip skippa C, C++ och Assembler, de tre är det ju ändå ingen som verkligen vill använda

Visa signatur

/M

Permalänk
Medlem
Skrivet av debben:

Va? Oerhört dåligt råd!

Varför ska han lära sig ett lågnivåspråk när det är ett högnivå han ska jobba inom?
Det står klart och tydligt att han måste kunna mer C#, då blir genast de "icke-verkliga" (?) sakerna väldigt relevanta.

Jag förstår att du tycker om lågnivåspråk och det är helt OK, men att ge ett subjektivt råd i form av det du gav är oerhört oprofessionellt.

Håller med, får känslan att det är en hel del fanatism snarare än realism som lyser igenom i sae:s inlägg. En bra normal programmerare idag handlar väldigt mycket om produktivitet och rätt lite om att man ska vara "världens bästa hacker". Det finns så klart undantag, typ om man ska bygga avancerade sökmotorer, spelmotorer och liknande där prestanda är väldigt viktigt men det är nog rätt liten del av marknaden totalt sett. Att dessutom rekommendera någon som säger sig ha svårt för programmering men ändå vill lära sig det att köra assembler och C tycker jag nästan är på gränsen till lite hånfullt om jag ska vara ärlig...

Permalänk
Medlem
Skrivet av sae:

@VexedRelic:
för att jag tror helt ärligt inte att han kommer att förstå annars...
jag var tvungen att erkänna det för mig själv, men folk som började med java i utbildningen kan inte lika mycket som dom som dom som började med assembler, som jag...

TS har inte frågat vad som är aktuellt idag, eller vad ni har för tips...
TS sa att han har problem med moderna språk, bland annat med de mer abstrakta deklarationerna.
"men när det kommer in på området pekare, anonyma metoder, delegater, klasser, metoder, derived classes osv osv så blir det rena grekiskan för mig !"

dvs: han har problem med just det som finns idag, och jag läser det som att han saknar grunderna som hade gjort det lättare att sålla bort skitsnacket...

va e problemet?

Törs man fråga vad du jobbar med/som idag där man har nytta av det du argumenterar för? Min egen erfarenhet är som jag nämnt tidigare i tråden att en bra programmerare är någon som är smidigt att jobba med, produktiv och som inte krånglar till saker i onödan.

Permalänk
Medlem

Jag förstår egentligen inte hur du kan ha lyckats vara it konsult men känner att du helst vill lära dig saker på svenska. Datajobb är för mig 90% engelska även om man jobbar i sverige, OS kör vi på engelska, manualer läser vi på engelska, kurser går vi på engelska, blir något tokigt så googlar man på engelska, blir något riktigt knasigt så ringer man oftast engelsk support då dom brukar vara bäst, kod skrivs på engelska... ja du fattar. Engelskan får iaf jag så mycket genom jobbet och jag ofta slår om hjärnan och tänker och drömmer på engelska istället för svenska. Jag till och med föredrar engelskan då det är ett större språk med fler möjligheter att uttrycka sig. Och läser jag en bok så läser man den ju såklart på engelska om det är orginalspråket.

Men rent praktiskt: Bli bättre på engelska och öva på specifika programmeringsuppgifter tills de sitter. Man måste kunna sina if, else, then, int, goto, array etc som ett rinnade vatten. De flesta programeringsspråk är egentligen väldigt lika, det handlar om att lära sig principer.

Sedan när man blir bättre finns det bara ett ord som gäller: "SNO"

Alla "duktiga" programmerare är sällan så jätteduktiga men de har lärt sig hitta kod som passar som andra skrivit på nätet på ett snabbt och bra sätt. Återigen det här med engelskan. Sedan pusslar man ihop det och det är klart. Finns nästan ingen som skriver allt från grunden idag, det skulle ta för lång tid.

Permalänk
Medlem
Skrivet av Marowak:

Jag skulle tro att det är ganska meningslöst att köra pascal nuförtiden. Visst körde man det som undervisningsspråk förr men nu är det nog vettigare att köra något av de välanvända Java, C# eller python som startspråk. Om man inte är specifikt intresserad av inbäddad programmering så kan man i princip skippa C, C++ och Assembler, de tre är det ju ändå ingen som verkligen vill använda

Det är nog ingen höjdare för kollaborativa projekt, eftersom få kan det, men pseudokod är ofta av Pascalkaraktär. Vill jag bygga ihop ett program själv, eller någon fönsterapplikation snabbt, på några timmar, använder jag Delphi och det drag/drop som finns där. Pascal/Delphi är ett utmärkt RAD-språk. Jag kan förstå att man använder tex Python om man vill testa något algoritmiskt utan att bli uppslukad i detaljer, men Pascal duger ganska bra där också. Det beror lite på vad man vill göra för program. Pascal (+ C/C++) ger i alla fall bra möjlighet att göra precis allt man vill. Kanske inte med bäst produktivitet, men resultatet blir oftast väldigt bra. Sen är det en bonus att det är förhållandevis lätt att lära.

Visa signatur

Propaganda syftar till att göra det politiska opolitiskt.