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.