Lära sig programmera, för nybörjare, tankar till er

Permalänk
Medlem

Lära sig programmera, för nybörjare, tankar till er

Krångla inte till det

Utan tvekan rekommenderar dom flesta en att börja med C, för att sedan gå över till valfritt annat språk.

Men, är inte detta lite bakvänt? varför inte börja med något lätt och sedan gå över till det svårare.

Min tanke blir därav Python som första språk för någon som inte har en aning om vad programmering är, när dom
lärt sig python går dom över till C.

Vi börjar ju inte lära oss Ma E på gymnasiet tex, vi börjar med MaA, MaB, osv osv.

Så varför krångla till det?

Kontentan av det hela torde bli, har ni aldrig programmerat och vill börja, börja då med ett lätt språk tex Python. Lär er detta
och gå sedan över till C, efter detta har ni en bra grund att stå på för att lära er ytterligare programmeringsspråk.

Några synpunkter?

Permalänk
Medlem

Jag skulle säga att det beror på vad du vill göra och hur motiverad du är. Men för de flesta är det säkert roligast att börja med något lätt språk där man snabbt får se resultat. Det tar ju en stund att göra ett fungerande spel med grafik i C om man aldrig programmerat förut...

Permalänk
Medlem

Jag tycker själv att det är onödigt att börja med ett "lättare" språk som t.ex. Python för att sedan gå över till ett språk som man kommer använda/arbeta med?

Börja med det ni troligtvis kommer använda er av.

Rekommenderar C++, C# eller java beroende på vad ni ska skriva

Permalänk
Medlem

Om man ska skriva enklare spel, som t ex snake, var ska man börja? Anta att man kan grunderna i C, C++ och java, dvs det varje grundläggande guide inom de olika språken går igenom. Jag tror att det är övergången mellan grunderna och att göra en applikation som många har svårighet för(inklusive mig).

Permalänk
Medlem

Varför krångla till det? Varför inte börja med ett språk "ALLA" redan har installerat. Javascript och med en "IDE" alla redan har installerat, en texteditor. En nybörjare vill *se* resultat så snabbt som möjligt och att sätta en pixel på en canvas kräver inte många rader och det finns otaliga förklaringar på alla de språk till att göra det. Och därifrån går man till rörlig grafik för att *sen* få ett hum över vad man egentligen vill göra.
Förr i tiden startade ju alla i BASIC och steget för att få något att hända var otroligt litet.

Permalänk
Medlem

Jag valde personligen Java för att det är lite lättare och riktar sig mot web och mobilutveckling (Android) som jag verkligen vill hålla på med.
Dock försöker jag lära mig lite C++ och Assembler också för att det är kul att verkligen förstå vad som händer.
Kan dock verkligen rekommendera att testa Assembler, inte för att bygga något men för att man får en djupare förståelse för hur programmen fungerar.

Visa signatur

Gaming: Epenis ++
Everything else: MacBook Air M1
Work: MBP M1

Permalänk
Medlem

Jag skulle faktiskt säga att VB .net skulle vara något att lära sig om man aldrig har programmerat förut, skippa Python och gå över till någon av C språken efter du kan VB .net någorlunda bra. Java är väl också bra att lära sig, lite som en förenklad C++
Dock känns det att Python är så lätt att personen inte kommer vilja gå över till andra språk. Varför lära sig ett svårare programmeringsspråk när man kan göra det mesta med Python och det är kompatibelt med flera OS?

Permalänk
Medlem

Jag rekomenderar c++ pga c# och java kan bli så enkelt decompilat så du kan i princip inte sälja några produkter eller göra något som kräver inloggning

Visa signatur

| Ryzen 1700 @ 4.0 ghz | Asus PRIME X370-PRO | 32 GB Corsair Vengeance LP 3000 mHz | Gigabyte GTX 770 2-way SLI | BenQ XL2410T, 5x AOC e2460SDA | Fractal design R5 | https://i.imgur.com/rjO3bLw.jpg

Software developer

Permalänk
Medlem
Skrivet av epik:

Jag skulle faktiskt säga att VB .net skulle vara något att lära sig om man aldrig har programmerat förut, skippa Python och gå över till någon av C språken efter du kan VB .net någorlunda bra. Java är väl också bra att lära sig, lite som en förenklad C++
Dock känns det att Python är så lätt att personen inte kommer vilja gå över till andra språk. Varför lära sig ett svårare programmeringsspråk när man kan göra det mesta med Python och det är kompatibelt med flera OS?

Du får det att låta som om Python är det ultimata programmeringsspråket tycker jag..

Skrivet av makkesk8:

Jag rekomenderar c++ pga c# och java kan bli så enkelt decompilat så du kan i princip inte sälja några produkter eller göra något som kräver inloggning

Det där var ingen vidare bra anledning till att rekommendera C++, faktiskt en av de sämsta jag kan tänka mig. Det stämmer helt enkelt inte.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

Beror helt på vilken typ av programmering du vill göra.
Men C++ hade jag sagt. C++ är hands down svårast att lära sig, men när man kan det så är det bus-enkelt att lära sig alla andra programmerings-språk, det är bara annan syntax och saker som man slipper göra. Att lära dig något enkelt som Java eller Python först kan ge dig problem att lära dig minneshantering i C++ där du måste städa upp efter dig när du allokerar minne. Det är lätt att komma in i en vana att du bara kan allokera minne hur som helst och sen när du kör C++ ofta glömma detta. Det var i alla fall så mina lärare på min högskola förklarade det till varför vi läste C++ först och jag måste säga att jag håller med.
Det absolut viktigaste är dock att du använder Microsoft Visual Studio 2010 för att programmera, då denna programvara är helt fantastisk och det finns ingen annan IDE som äns kommer nära den (som jag testat iaf).
C# funkar också med Visual Studio så om du inte vill börja med C++ så säger jag C# i så fall. I C# är det också super-enkelt att göra ett fönster med knappar osv och det blir riktigt bra. Detta är riktigt svårt att göra med C++ så du får vara beredd på att sitta med den svarta konsollen ett bra tag om du bestämmer dig för C++. Är du sugen på 3D programmering är dock C++ nästan ett måste, och genom att börja med C++ kan du hyffsat snabbt börja jobba med 3D-motorer som tex. Irrlicht.
Python och Lua tycker jag inte är några direkta programmerings-språk utan mer scripting språk, så dessa hade jag inte rekomenderat. Java's enda fördel enligt mig är att typ 99% av alla datorer har det, så java hade jag inte valt. Så ja, C++ eller C#, om inte för språkens skull så för Visual Studio

Permalänk
Medlem
Skrivet av epik:

Varför lära sig ett svårare programmeringsspråk när man kan göra det mesta med Python och det är kompatibelt med flera OS?

För att det inte finns någon direkt bra IDE för python, och för att prestandan i python inte är något att hurra för om man ska göra något beräkningstungt, och för att Python är jobbigt att göra större mer komplicerade grejjer då tex. Arv och klasser inte är direkt lätt och intuativt att jobba med.

Skrivet av makkesk8:

Jag rekomenderar c++ pga c# och java kan bli så enkelt decompilat så du kan i princip inte sälja några produkter eller göra något som kräver inloggning

Det måste vara den sämsta anledningen jag hört, han ska lära sig programmera? Han ska inte göra en master-server till WoW?
Och sen får du gärna länka till en källa varför C# och Java skulle vara enkelt att decompila då jag inte tror på det ALLS.

Permalänk
Skrivet av iXam:

Varför krångla till det? Varför inte börja med ett språk "ALLA" redan har installerat. Javascript och med en "IDE" alla redan har installerat, en texteditor. En nybörjare vill *se* resultat så snabbt som möjligt och att sätta en pixel på en canvas kräver inte många rader och det finns otaliga förklaringar på alla de språk till att göra det. Och därifrån går man till rörlig grafik för att *sen* få ett hum över vad man egentligen vill göra.
Förr i tiden startade ju alla i BASIC och steget för att få något att hända var otroligt litet.

Borde inte JavaScript vara ett av de sämre språken att börja med om man ska gå vidare och lära sig andra språk efter?
Lär du dig tex C# är inte steget till Java eller liknande speciellt stort.
JavaScript skiljer sig ju från "alla andra" språk.

Permalänk
Medlem
Skrivet av MaloW:

För att det inte finns någon direkt bra IDE för python, och för att prestandan i python inte är något att hurra för om man ska göra något beräkningstungt, och för att Python är jobbigt att göra större mer komplicerade grejjer då tex. Arv och klasser inte är direkt lätt och intuativt att jobba med.

Eh.. va? Finns flera bra IDE för python. PyScripter är fenomenal och fungerar alldeles bra.
Ta en titt på Battle Field 2 och 2142, de använder en hel del Python där. BF2 är ett jävligt bra spel. Ganska många spelmotorer är delvis gjorda utav Python. Vad är din definition utav komplicerade grejer ?

Permalänk
Medlem

Personligen tycker jag man ska börja med C++. Varför börja med C när C i princip redan finns i C++? Dessutom så skulle jag tro att C++ i längden är en bra startpunkt. C är inte objektorienterat och är något viktigt att lära sig eftersom programmering numera är nästan bara objektorienterat.

Tycker man ska börja lungt, lära sig grunderna i c++, variabler,typer,arrayer,selektion,iteration sen kan man gå över till att lära sig funktioner och lite pekare, call-by-refrence,call-by-value,dynamiska arrayer. Sedan sätter man igång med objektorienterad programmering lite lätt, sen sist över till arv och lär sig den jobbigaste biten som jag tyckte va i c++, hade svårt att förstå i början vad polymorphism och dynamisk binding var, men det faller på plats efter ett antal omega-3 piller hehe och kanske lite huvudvärkstabletter.

Men det som är så bra med att ha C++ som grund är att man lär sig Java,C# relativt enkelt.
Desutom så tror jag inte script språk är så bra som första språk. Man behöver lära sig typer och sånt först och förstå hela principen.

Det vad jag tycker.

Visa signatur

OS: Win7 x64, GPU: Geforce Gigabyte GTX580 SOC
CPU: Intel i5 2500k (4.5gHz), MB: Asus P8P65 PRO Rev(3.1),
PSU: XFX 750w (modular), RAM: 2x Crosair Vengence 1600mz 4024mb
Cooling: CoolIT ECO A.L.C CPU COOLER
Chassi: Raven rv03

Permalänk
Medlem
Skrivet av epik:

Eh.. va? Finns flera bra IDE för python. PyScripter är fenomenal och fungerar alldeles bra.
Ta en titt på Battle Field 2 och 2142, de använder en hel del Python där. BF2 är ett jävligt bra spel. Ganska många spelmotorer är delvis gjorda utav Python. Vad är din definition utav komplicerade grejer ?

Att Python är ett bra scripting-språk och att det är fenomenalt att lägga bitar av sin logik i python håller jag helt med om. Precis som du säger använder BF python för att scripta delar av sin spel-logik. Vi använder just nu Python för att scripta våra NPCers beteende i en civ-simulator vi gör och det funkar okej. Men det är just det man gör med Python, scriptar.
Vad jag menar med komplicerade grejjer är tex att det inte går att ha statiska medlemsvariabler för objekt av klasser, för objekt av klasser måste man jobba med en self-variabel när man är inne i klassens funktioner. Att __ gör medlemsvariabler private gör koden väldigt svårläst när man börjar göra mer komplicerade funktioner med Arv och polymorfism och då blir det bara en massa underlines i koden tycker jag :P.
Visst man kan göra ALLT (mer eller mindre) i Python, och visst Python är lättare att börja med. Men när man börjar göra mer komplicerade grejjer tycker jag Python faktiskt är svårare och mindre logiskt än C++.

Tack för tipset om PyScripter btw, den ser rätt vettig ut, får ta och testa den

Permalänk
Medlem

Att dekompilera ett java eller C# program torde vara ganska irrelevant väl.. ingen av variabelnamnen kommer att ha sina värden kvar. Så du lär ju i stort sett få sätta dig in i hela projektet och ha exakt koll på allt för att kunna förstå nåt. Så även om det är lätt att dekompilera det, om man lyckas, så lär man ha ett hästjobb med att försöka dra någon nytta av det. Eller?

EDIT:
Min tanke kring detta är att det inte är så speciellt viktigt vilket programspråk du väljer. Du bör ha koll på grunderna, alltså hur man bryter ut sitt problem (programmering är problemlösning, alltid, i en eller annan form) till mindre bitar, som blir mer lätthanterliga (svårare än att lära sig syntax för ett programspråk..). Kan du inte få ner ditt problem i något konkret, så tror jag inte heller du lyckas skriva ett program som löser det.

Man måste även ha koll på sin logik - sant/falskt. Med bra koll på det så får du lättare tankegång, bättre kod och ett bättre program. Det ger mersmak för programmeringen..

Och, vill du programmera lite trevliga fönster så ska du inte sätta dig med assembler, då tar du nåt högnivåspråk.

Visa signatur

WS: Asus P8Z77-I Deluxe mITX | Intel 3770K@4.6 | NH-U12P | Asus 780 GTX | Corsair 2x8GB 1600Mhz CL9 | Samsung 840 512GB | Ubuntu 16.04.3 x86_64 | Corsair AX750 | 2x Dell U2412M | Puppe.se | NAS: i7 860, 16GB DDR3, GA-P55M-UD4, FD Define R3, 8x2TB Samsung F4EG, Serveraid M1015, EVGA 750W G2 PSU, FreeBSD x64

Permalänk
Skrivet av makkesk8:

Jag rekomenderar c++ pga c# och java kan bli så enkelt decompilat så du kan i princip inte sälja några produkter eller göra något som kräver inloggning

http://en.wikipedia.org/wiki/Security_through_obscurity

"The United States National Institute of Standards and Technology (NIST) specifically recommends against security through obscurity in more than one document."

Permalänk
Medlem

Jag anser att jag själv är en bra programmerare men jag kan absolut inte koda C++ eller Java speciellt bra dock är jag duktig på PHP. Jag började med C++ men gick sedan över till PHP,HTML,CSS och idag tar jag programmerings kurser för Java och jag fattar ingenting ^^

Så tror vart man börjar är en smaksak helt, och man måste ha den rätta motivationen.

Visa signatur

ᕦ(ツ)ᕤ

Permalänk
Skrivet av midiland:

Min tanke blir därav Python som första språk för någon som inte har en aning om vad programmering är, när dom
lärt sig python går dom över till C.

Själv så fick man börja med det simplaste: ren HTML, vet inte om man ska kalla det ett språk eller inte, men efter ett antal veckor i textrutan så satt principen bakom hur det är att skriva rätt så bra, stavning, kontroll och logik för att lösa problem är det viktigaste oavsett vilket språk: "Kan du inte tänka, kan du inte tala".

Därefter bar det av till Python. Själv så tyckte jag det var python till en början, datorerna som gick att använda i skolan var inte utrustade på något sätt och det hela slutade med att jag införskaffade eget material, och därefter så gick det hela smidigt. Om, jag säger om, det finns personal som har erfarenhet inom Python, inte bara c++, java eller liknande så bör det gå din väg och eleverna lär tycka det är kul. Om det däremot inte finns någon (eller något) som engagerar eleverna så kommer det förmodligen gå skepprätt åt helvete oavsett vilket språk ni väljer.

Visa signatur

Jag är trött på att alla vuxna säger att man kan få mardrömmar av spel, Själv så har jag dock varit med om det. När jag var liten så spelade jag ett spel som gick ut på att stänga in små studsande bollar så snabbt och effektivt som möjligt. Men så en natt drömde jag att jag var bollen, det var då jag upptäckte att jag hade Klaustrofobi...

Permalänk

Jag hade stort sätt aldrig programmerat förr och jag startade med en bok som heter "Programming logic and design" som lär dig att tänka programmering på ett sätt som kan appliceras på många språk. Man lär sig struktur och att bryta ned ett problem i småproblem samt att skapa flowcharts och helt enkelt strukturera sitt projekt från start till slut. Därefter läste jag C och sedan lite C++, startade sedan med spelbiblioteket "Allegro" till C och gjorde ett enkelt fråga-val-spel med grafik och ljud. Detta på runt 8 veckor. ("spelet" ligger här nånstans och jag hade lika gärna kunna gjort ett animerat spel på samma tid, jag bara valde denna typen av spel för jag gillar oldschool)

Min motivation var ju att det var ett skolprojekt med fast start och slutdatum. Det skulle också skapas en rapport på ca 3k ord till detta.

Tror också att motivation är det viktigaste.

Permalänk
Inaktiv
Skrivet av Fronix:

Jag anser att jag själv är en bra programmerare men jag kan absolut inte koda C++ eller Java speciellt bra dock är jag duktig på PHP. Jag började med C++ men gick sedan över till PHP,HTML,CSS och idag tar jag programmerings kurser för Java och jag fattar ingenting ^^

Så tror vart man börjar är en smaksak helt, och man måste ha den rätta motivationen.

Om du tar Java kurser och "fattar ingenting" så kan du ju inte vara en bra programmerare

Själv tycker jag det är viktigare och lära sig programmera än vilken språk man programmerar i. Det är tänket man måste sätta sig in i, problemlösning m.m. Sen kan det ju självklart vara bra och kunna minneshantering, ochpointers i C++, men det är ganska avancerat och kanske inte det första man bör ge sig på.

Permalänk
Medlem
Skrivet av Yxskaftet:

Borde inte JavaScript vara ett av de sämre språken att börja med om man ska gå vidare och lära sig andra språk efter?
Lär du dig tex C# är inte steget till Java eller liknande speciellt stort.
JavaScript skiljer sig ju från "alla andra" språk.

Om du läser mitt inlägg igen så är mitt argument för Javascript att det är så otroligt lätt att komma igång med. Inget behövs installeras för att komma igång och mao så är vägen till ens första program/resultat litet. Att då ha fått extra eld i sitt programmeirngsintresse kan göra att man inte ger upp när man ska ta nästa steg.

Permalänk
Medlem
Skrivet av MaloW:

Att Python är ett bra scripting-språk och att det är fenomenalt att lägga bitar av sin logik i python håller jag helt med om. Precis som du säger använder BF python för att scripta delar av sin spel-logik. Vi använder just nu Python för att scripta våra NPCers beteende i en civ-simulator vi gör och det funkar okej. Men det är just det man gör med Python, scriptar.
Vad jag menar med komplicerade grejjer är tex att det inte går att ha statiska medlemsvariabler för objekt av klasser, för objekt av klasser måste man jobba med en self-variabel när man är inne i klassens funktioner. Att __ gör medlemsvariabler private gör koden väldigt svårläst när man börjar göra mer komplicerade funktioner med Arv och polymorfism och då blir det bara en massa underlines i koden tycker jag :P.
Visst man kan göra ALLT (mer eller mindre) i Python, och visst Python är lättare att börja med. Men när man börjar göra mer komplicerade grejjer tycker jag Python faktiskt är svårare och mindre logiskt än C++.

Tack för tipset om PyScripter btw, den ser rätt vettig ut, får ta och testa den

Fiinns en ny plugin för visual studio för python. Där får du också intellisense. Dock vet jag inte hur bra den fungerar för det är en alpha än så länge.

Link: http://pytools.codeplex.com/releases

Visa signatur

OS: Win7 x64, GPU: Geforce Gigabyte GTX580 SOC
CPU: Intel i5 2500k (4.5gHz), MB: Asus P8P65 PRO Rev(3.1),
PSU: XFX 750w (modular), RAM: 2x Crosair Vengence 1600mz 4024mb
Cooling: CoolIT ECO A.L.C CPU COOLER
Chassi: Raven rv03

Permalänk
Medlem
Skrivet av midiland:

Krångla inte till det

Utan tvekan rekommenderar dom flesta en att börja med C, för att sedan gå över till valfritt annat språk.

Men, är inte detta lite bakvänt? varför inte börja med något lätt och sedan gå över till det svårare.

Min tanke blir därav Python som första språk för någon som inte har en aning om vad programmering är, när dom
lärt sig python går dom över till C.

Vi börjar ju inte lära oss Ma E på gymnasiet tex, vi börjar med MaA, MaB, osv osv.

Så varför krångla till det?

Kontentan av det hela torde bli, har ni aldrig programmerat och vill börja, börja då med ett lätt språk tex Python. Lär er detta
och gå sedan över till C, efter detta har ni en bra grund att stå på för att lära er ytterligare programmeringsspråk.

Några synpunkter?

Faktum är att min klass började med matte C... Och själv tycker jag det är lättare att lära sig c# och java (kan vara för att en av mina lärare har skrivit böcker om detta) och det finns alltid roliga saker att göra i de=)

Det är inte så svårt att börja med java eller c#, bara man har någon som visar lite grunder. Finns massa hjälpsamma tuts på nätet till lite grunder.

Visa signatur

PC [ I7 3770K 3.5 GHz OC 4.6 GHz | 2 x Gigabyte Geforce GTX 680 2048 MB GDDR5 OC 1137MHz |16 GB DDR3, Corsair VENGANCE LP 1600 MHz | Switch 810 | SSD 80 GB | SSD 2 X 120 GB | Western 2 T | MSI Z77A-S01 | Power 750 Watt | Logitech G510 | Logitech G35 | R.A.T. 7 | Razer goliathus | Speakers Andersson HomeCinema surround system | LG 42 " Full HD tv ]
Laptop [ MSI GE70 2OE | Samsung 27'' S27B550V LED | Logitech Performance Mouse MX ]

Permalänk
Medlem
Skrivet av midiland:

Krångla inte till det

Utan tvekan rekommenderar dom flesta en att börja med C, för att sedan gå över till valfritt annat språk.

Men, är inte detta lite bakvänt? varför inte börja med något lätt och sedan gå över till det svårare.

Min tanke blir därav Python som första språk för någon som inte har en aning om vad programmering är, när dom
lärt sig python går dom över till C.

Vi börjar ju inte lära oss Ma E på gymnasiet tex, vi börjar med MaA, MaB, osv osv.

Så varför krångla till det?

Kontentan av det hela torde bli, har ni aldrig programmerat och vill börja, börja då med ett lätt språk tex Python. Lär er detta
och gå sedan över till C, efter detta har ni en bra grund att stå på för att lära er ytterligare programmeringsspråk.

Några synpunkter?

Du skriver "och sedan gå över till C" som om det vore något slags krav. Rör inte C om du inte måste, skulle jag säga. Jag håller för övrigt med om att Python är rätt bra att börja med.

Dessutom vet jag inte om man får en "bra grund" bara för att man lärt sig lite Python och C. Jag tycker det mer handlar om problemlösning och sånt, vilket språk man har använt spelar inte så stor roll. Dessutom är både Python och C imperativa, så man får inte så brett perspektiv.

Skrivet av scared:

Jag tycker själv att det är onödigt att börja med ett "lättare" språk som t.ex. Python för att sedan gå över till ett språk som man kommer använda/arbeta med?

Börja med det ni troligtvis kommer använda er av.

Rekommenderar C++, C# eller java beroende på vad ni ska skriva

Det är inte alls onödigt. Man har mycket nytta av att kunna ett spårk som Python. Det är mycket lättare att göra vardagsgrejer som att gå igenom filer, sätta ihop bilder, scrapa hemsidor osv med Python än med Java.

Dessutom går det mycket snabbare att lära sig att programmera med Python, inte bara för att det är en enklare syntax, utan också pga den interaktiva tolken.

Vidare är det inte nödvändigtvis så att man kommer att jobba med C++, C# eller Java. Helst så bör man undvika de språken, för de är kassa. Dessutom är C++, C# och Java väldigt lika varandra, så att säga "C++, C# eller java beroende på vad ni ska skriva" är som att säga "Klohammare, kulhammare eller slägghammare beroende på vad du vill bygga" (obs: allt kan inte byggas med hammare).

Skrivet av iXam:

Varför krångla till det? Varför inte börja med ett språk "ALLA" redan har installerat. Javascript och med en "IDE" alla redan har installerat, en texteditor. En nybörjare vill *se* resultat så snabbt som möjligt och att sätta en pixel på en canvas kräver inte många rader och det finns otaliga förklaringar på alla de språk till att göra det. Och därifrån går man till rörlig grafik för att *sen* få ett hum över vad man egentligen vill göra.
Förr i tiden startade ju alla i BASIC och steget för att få något att hända var otroligt litet.

Jag tycker att man gott kan hålla sig till textbaserade program i 6 månader eller betydligt längre om man inte har en speciellt stor lust att göra något grafiskt. Alla nybörjarkurser som innehåller något annat är bara textbaserade program och teori tror jag är dåliga. (Jag kan ju inte säga med säkerhet att det är så, med det känns som att allt som har med grafik och sånt att göra är bara där för att göra det "roligare", men drar fokus ifrån det som är viktigt. Men man bör inte bli programmerare om man inte tycker programmering är roligt utan bilder.)

Skrivet av makkesk8:

Jag rekomenderar c++ pga c# och java kan bli så enkelt decompilat så du kan i princip inte sälja några produkter eller göra något som kräver inloggning

Jag vet inte vad jag ska säga. I alla fall: Inget att oroa sig över för en nybörjare.

Skrivet av MaloW:

Beror helt på vilken typ av programmering du vill göra.
Men C++ hade jag sagt. C++ är hands down svårast att lära sig, men när man kan det så är det bus-enkelt att lära sig alla andra programmerings-språk, det är bara annan syntax och saker som man slipper göra. Att lära dig något enkelt som Java eller Python först kan ge dig problem att lära dig minneshantering i C++ där du måste städa upp efter dig när du allokerar minne. Det är lätt att komma in i en vana att du bara kan allokera minne hur som helst och sen när du kör C++ ofta glömma detta. Det var i alla fall så mina lärare på min högskola förklarade det till varför vi läste C++ först och jag måste säga att jag håller med.
Det absolut viktigaste är dock att du använder Microsoft Visual Studio 2010 för att programmera, då denna programvara är helt fantastisk och det finns ingen annan IDE som äns kommer nära den (som jag testat iaf).
C# funkar också med Visual Studio så om du inte vill börja med C++ så säger jag C# i så fall. I C# är det också super-enkelt att göra ett fönster med knappar osv och det blir riktigt bra. Detta är riktigt svårt att göra med C++ så du får vara beredd på att sitta med den svarta konsollen ett bra tag om du bestämmer dig för C++. Är du sugen på 3D programmering är dock C++ nästan ett måste, och genom att börja med C++ kan du hyffsat snabbt börja jobba med 3D-motorer som tex. Irrlicht.
Python och Lua tycker jag inte är några direkta programmerings-språk utan mer scripting språk, så dessa hade jag inte rekomenderat. Java's enda fördel enligt mig är att typ 99% av alla datorer har det, så java hade jag inte valt. Så ja, C++ eller C#, om inte för språkens skull så för Visual Studio

Undvik C++ hade jag sagt, SPECIELLT som nybörjare. Det kommer bara vara frustrerande (och det kommer aldrig att sluta vara det). Dessutom så består inte mängden "alla andra programmeringsspråk" av Python, Java och C#. Språk som Lisp, Prolog, Erlang, Haskell, SQL, osv är ganska annorlunda.

Visual Studio är rätt bra för C++ och C#, men inte för alla språk. Dessutom är IDE:n/editorn långt ifrån det viktigaste för nya programmerare.

Om jag skulle ge tips till nybörjare skulle det vara:
* Ta ett språk med en interaktiv tolk, tex Python, Ruby eller Scheme.
* Fokusera på att lära dig problemlösning och teori. Lär dig tex vad skillnaden på stacken och heapen är, hur man analyserar tidskomplexitet, vad djupet-först-sökning och bredden-först-sökning är. Bli bekväm med rekursion. Lär dig alla viktiga datastrukturer och hur de funkar, inklusive hashmaps, träd, heaps, länkade listor, arrayer, stacks, osv. Om du inte kan lösa tex http://projecteuler.net/problem=67 och http://projecteuler.net/problem=31 så gå inte vidare till nästa språk.
* Bry dig inte om sekundära saker som IDE, editor, om språket är snabbt eller inte, om det är populärt eller inte, osv.
* Testa språk från olika paradigm. Om du tex lär dig Python först, testa sedan Prolog eller Lisp.
* Fråga inte så mycket. Jag ser många trådar på detta forum tex som frågar om triviala saker. Saker som man antingen bör kunna svaret på själv om man har lärt sig språket ordentligt, eller kan söka sig till. Om det är något klurigt så klura själv, du lär dig mer på det i längden.

Permalänk
Medlem
Skrivet av tufflax:

Dessutom är IDE:n/editorn långt ifrån det viktigaste för nya programmerare.

Det håller jag faktiskt inte med om. Innan jag började på högskolan hade jag jobbat lite med C++ i Bloodshed DevC++, men när jag började här och började använda Visual Studio istället ökade min produktivitet och därav hur mycket jag hann lära mig med minst dubbelt. Att ha en bra IDE som tydligt visar vilka fel du gör sparar så mycket tid i onödig felsökning, som att man tex missade en parantes eller något annat simpelt, vilkte gör att man kan lägga ner den tiden på att göra produktiva saker istället. C# intellisensen är dock snäppet vassare än C++ intellisensen till och med, så att börja med C# är nog det bästa imo. Också för att det är så busenkelt att dra ihop ett GUI i C#.

Permalänk
Medlem
Skrivet av MaloW:

Det håller jag faktiskt inte med om. Innan jag började på högskolan hade jag jobbat lite med C++ i Bloodshed DevC++, men när jag började här och började använda Visual Studio istället ökade min produktivitet och därav hur mycket jag hann lära mig med minst dubbelt. Att ha en bra IDE som tydligt visar vilka fel du gör sparar så mycket tid i onödig felsökning, som att man tex missade en parantes eller något annat simpelt, vilkte gör att man kan lägga ner den tiden på att göra produktiva saker istället.

Visst, IDEs kan vara bra, men så länge man inte använder notepad så brukar man kunna se missade parenteser. Dessutom är nybörjares program korta, antagligen, så då får IDEn ett mindre värde. Och det tar lite tid att lära sig IDEn.

Skrivet av MaloW:

C# intellisensen är dock snäppet vassare än C++ intellisensen till och med, så att börja med C# är nog det bästa imo. Också för att det är så busenkelt att dra ihop ett GUI i C#.

En interaktiv tolk är bättre, tror jag, än en bra IDE/editor. Dvs Python är nog bättre än C# om man bara pratar om hjälp man kan få ifrån verktyg (och bättre av andra anledningar). Börja inte med C#, och gör inte GUIs.