Sökes: Programmeringsspråk att lära sig!

Permalänk
Medlem

Sökes: Programmeringsspråk att lära sig!

Nu är det dags för mig att börja lära mig programmering på riktigt. Men att välja språk är svårare än jag trodde. Jag vill gärna att språket ska vara object oriented, dynamic, flexibelt, så cleant och lite kod som möjligt och självklart kraftfullt och logiskt. Det kanske låter som många krav men det tar ju tid att lära sig programmeringsspråk.

Vad vill jag kunna använda språket till? Göra både små och stora avancerade program, spel, men gärna också kunna koda kernels och sådan kod.

Många rekommenderar säkert C som är "basen" enligt många, men många menar också att detta språk är bloated. Jag vill inte heller vara beroende av något operativ system (som tex Microsoft Windows, så Visual Basic går bort).

Python är högst troligt att jag kommer lära mig eftersom det verkar bättre än Ruby On Rails (som för dom som inte vet är ett web framework för Ruby) och att det är kraftfullt, logiskt, lite kod osv. Så jag ska också koda för webben och Internet.

Många här är säkert erfarna kodare, men nu när man knappat kan programmera, vilket är då smartast och mest kraftfullt att lära sig idag och för framtiden? Det tar ju lång tid att lära sig ett språk, då är det bra att lära sig rätt språk direkt i stället för att ödsla tid på andra språk som man ej har någon nytta av.

Självklart kommer alla säga, det beror på, alla tycker olika, men jag vill höra era egna åsikter, och det här är ju inte som att jämföra andra saker för man vet vad alla programmeringsspråk kan göra och då kan ni ju veta efter min beskrivning vilket som passar bäst.

Några tips?

Permalänk
Medlem

Dina krav går emot varandra

Python är objektorienterat, dynamiskt och flexibelt, och relativt kraftfullt. Det går att skriva det mesta i Python (inklusive spel). Däremot lämpar det sig inte alls till prestandakrävande saker eller 'kernels och sådan kod'.

Språk som lämpar sig till prestandakrävande saker och 'kernels och sådan kod' är inte direkt dynamiska eller flexibla (beror på vad man menar med flexibelt förstås). Du lär få höra C eller C++ som rekommendation för dessa uppgifter.

Att C skulle vara bloated är ren dynga

Ruby on Rails är bara ett projekt som är skrivet i Ruby, döm inte ut hela språket p.g.a det eftersom Ruby är betydligt mer än bara Ruby on Rails.

Min personliga rekommendation är att du satsar på Python till att börja med. Skriv lite vanliga skrivbordsapplikationer, pröva något enkelt spel med PyGame, släng ihop någon webbapplikation med valfritt Python-framework.

Sen kan du kika på C och C++ om du behöver prestanda eller vill skriva lågnivåsaker (som t.ex. kärnor).

Permalänk
Glömsk

Svaret du inte vill ha: Krångla inte så mycket, välj ett språk. Om några år kommer du ändå ha erfarenhet av ett par-fem stycken och då kan du göra bättre bedömningar vad du gillar och inte gillar. Konsten programmering överstiger enskilda språk.

Svaret du vill ha: Börja med Python. Väldigt roligt språk som du kan göra mycket praktiskt med. Sen lär du dig antingen C eller Scheme. Inte lika roliga, fast lär dig mycket viktigt.

Visa signatur

...man is not free unless government is limited. There's a clear cause and effect here that is as neat and predictable as a law of physics: As government expands, liberty contracts.

Permalänk
Medlem

Jo det låter bra. Ne då, Ruby verkar bra, men är det bra att lära sig Ruby?

Är det inte bättre att först lära sig C och sen Python? Eller tvärtom? C borde man lära sig innan C++? Eller borde man i huvudtaget lära sig C++?

Kommer inte programmera för Microsoft Windows.

Permalänk
Glömsk

Tål att upprepas och förtydligas: Så länge du inte väljer ett katastrofalt dåligt språk och enbart använder det i flera år kommer det första språket du använder inte ha så stora inverkningar på hur du tänker och ser programmering. För att verkligen begripa ett språk måste man ju kunna programmera, så det första språket kommer du per definition inte lära dig (helt). Målet nu är allså att lära sig programmera, inte lära sig ett språk. Språk kommer du lära dig i mängder (nåväl) om ett tag.

Visa signatur

...man is not free unless government is limited. There's a clear cause and effect here that is as neat and predictable as a law of physics: As government expands, liberty contracts.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Psionicist
Tål att upprepas och förtydligas: Så länge du inte väljer ett katastrofalt dåligt språk och enbart använder det i flera år kommer det första språket du använder inte ha så stora inverkningar på hur du tänker och ser programmering. För att verkligen begripa ett språk måste man ju kunna programmera, så det första språket kommer du per definition inte lära dig (helt). Målet nu är allså att lära sig programmera, inte lära sig ett språk. Språk kommer du lära dig i mängder (nåväl) om ett tag.

Ok. Börjar nog med Python. Men vill fortfarande ha fler tips.

Permalänk

På tal om Ruby, någon annan som tycker att why's berömda guide mest är jobbig?

Bombur: kör igång med något bara, börja med det som ser intressant ut istället för att fundera så mycket :).

Visa signatur

This is my signature. There are many like it but this one is mine.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av "Tusse" Torvald
På tal om Ruby, någon annan som tycker att why's berömda guide mest är jobbig?

Bombur: kör igång med något bara, börja med det som ser intressant ut istället för att fundera så mycket :).

Tycker Python är intressant. Men funderar också på Perl, vill gärna höra några åsikter om Perl innan jag börjar med Python.

Permalänk
Medlem

Perl är som att såga upp toppen av skallen och hälla in flytande knark.

Jag avråder å det bestämdaste att välja Perl.

Permalänk

Skrev ett litet inlägg här innan mitt internet dog, vet inte om detta hjälper längre.
--------------------------
Jisses.
Först, "kernels och sådan kod" - det är väl knappast sånt man sysslar med dom första åren inom programmering?

Sen, fick du ens igång rubyonrails? Att du sågar ett framework till ruby med argumentet att det inte känns lika kraftfullt som python? Borde det inte vara bättre att jämföra Django och RoR?

Gå ner till lokala biblioteket och se vad du kan hitta, eller du kanske snart ska börja med programmering i skolan och på så sätt få lite inblick i det hela.

Du ska ju syssla med det du tycker är kul inte något som är ap-tråkigt bara för att om 15år kunna skriva något hitech-program, så pröva dig fram är mitt tips.

EDIT:
Psionicist sa något väldigt vackert: "Målet nu är allså att lära sig programmera, inte lära sig ett språk."

Kan även tillägga till er som börjat med ruby att "Ruby Cookbook" är mycket trevlig, 900sidor kod-exempel

Visa signatur

Ruby (on rails) är fint!

Permalänk
Medlem

Började med ruby idag och måste säga att det är ett otroligt trevligt språk. Kan även säga samma om python så mitt tips till dig är att börja med antingen python eller ruby.

"Tusse" Torvald: Vilken menar du? Länk?

*edit*
Jaha, den. Jo, den är grymt jobbig

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av bongo-apan
Skrev ett litet inlägg här innan mitt internet dog, vet inte om detta hjälper längre.
--------------------------
Jisses.
Först, "kernels och sådan kod" - det är väl knappast sånt man sysslar med dom första åren inom programmering?

Sen, fick du ens igång rubyonrails? Att du sågar ett framework till ruby med argumentet att det inte känns lika kraftfullt som python? Borde det inte vara bättre att jämföra Django och RoR?

Gå ner till lokala biblioteket och se vad du kan hitta, eller du kanske snart ska börja med programmering i skolan och på så sätt få lite inblick i det hela.

Du ska ju syssla med det du tycker är kul inte något som är ap-tråkigt bara för att om 15år kunna skriva något hitech-program, så pröva dig fram är mitt tips.

EDIT:
Psionicist sa något väldigt vackert: "Målet nu är allså att lära sig programmera, inte lära sig ett språk."

bongo, tror du jag direkt ska börja skriva en kernel? Nej. Jag vill bara ha ett språk som kan göra det, ett kraftfullt språk.

Varför gå till biblioteket? Internet är ju utmärkt.

Jag fick i gång Ruby On Rails ja, jag vet precis vad Ruby On Rails har för egenskaper. Men jag vet jag sågar inte Ruby, jag "sågade" Ruby On Rails till fördel för Python. Django vet jag att det är ett framework till Ruby. Likaså TurboGears.

Det tar tid att lära sig ett språk, det är inte bara att "ta nåt", man ska vara smart i sina val.
msl: Länk?

Permalänk
Medlem

Har jag inte helt fel så är det denna som det talas om (jag tyckte då den var jobbig )

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av msl
Har jag inte helt fel så är det denna som det talas om (jag tyckte då den var jobbig )

Ok, tack.

Det verkar som Python inte är fullt OO, medans Ruby är det, annars verkar Python bättre än Ruby. Synd att det är så. Men Python verkar bäst.
Något annat man kan notera: C++ är komplecerat och snabbare än Java, Java är snabbare än Python och Ruby. Annars är det fördelar för Python och Ruby mot Java.

Permalänk
Medlem

Ta nåt och börja nu, idag, istället för att slösa tid på det här. Python är ett utmärkt val.

Visa signatur

:€

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Bombur
Ok, tack.

Det verkar som Python inte är fullt OO, medans Ruby är det, annars verkar Python bättre än Ruby. Synd att det är så. Men Python verkar bäst.
Något annat man kan notera: C++ är komplecerat och snabbare än Java, Java är snabbare än Python och Ruby. Annars är det fördelar för Python och Ruby mot Java.

Har uppmärksammat även detta jag och hamnat i ett litet dilemma. På något sätt känns python bättre än ruby men ruby känns nästan lite trevligare. Python har ju bland annat pygame vilket kan vara otroligt trevligt så vad ska man egentligen välja att börja med?

Permalänk
Medlem

tyvärr kan jag inte svara utan att vara överdrivet partisk åt ruby-lägret till.

dock är det lite så att att jämföra ruby och python är som att jämföra gröna äpplen med röda äpplen. båda är äpplen, men smakar lite olika. ruby och python skiljer en del i designfilosofi, och jag råkar gilla gröna äpplen mer än röda.

Jag talar bara för mig själv, men jag finner rubykod vara mer lättläst än motsvarande pythonkod. ruby är influerat ganska kraftigt av smalltalk och perl, vilket är en rätt intressant kombination. jag tycker perl är rätt svårläst, och tycker allmänt att det språket gör det för lätt för programmeraren att skriva "fult", medan ruby underlättar vacker och lättläst kod. Nu lär jag ha trampat tillräckligt mycket folk på fötterna antar jag, så jag avslutar nog med att säga att det inte spelar någon större roll vilket av dem du väljer, varför inte lära dig båda, ett i taget? Eller vad sjutton, lär dig Pike!

ja. detta inlägg lär troligen gå till historien för att det innehåller en av de skummaste liknelserna någonsin.

Visa signatur

The power of GNU compiles you!
"Often statistics are used as a drunken man uses lampposts -- for support rather than illumination."

Permalänk
Medlem

Jo jag ska nog lära mig båda. Men vad jag sett så verkar dom flesta faktiskt tycka att Python har mer clean kod än Ruby. Men nu ska jag lära mig Python! Får se hur det går! Och msl, Pygame är underbart då man kan göra spel med Python.

Ni får gärna tipsa om Python tutorials! Har kollat in den officiella, men den verkar inte rikta sig helt mot nybörjare.

Permalänk

Jodå, det var http://poignantguide.net som jag menade. Hopplös.

Visa signatur

This is my signature. There are many like it but this one is mine.

Permalänk
Medlem

Bombur Eftersom du verkar ha väldigt bråttomt att lära dig programmera så föreslår jag att du läser igenom "Teach Yourself Programming in Ten Years"

Visa signatur

[AMD Athlon64 X2 4400+][Corsair TWINX2048-3500LLPRO][Leadtek 8800GTS 640MB][ASUS A8N-SLI Premium][Antec P180][Antec Neo HE 550W]

Permalänk

Som tidigare talare sagt spelar det nog inte jättestor roll vad du väljer för språk. Jag är absolut ingen programmerare på hög nivå, men har alltid velat kunna Under de åren jag har hållt på med datorer har jag nog kommit i kontakt / försökt lära mig dessa:

c64 basic
68k asm
AMOS (basic)
pascal
c
c++
e
rebol
php
ruby

Inte för att jag kan något av språken särskilt bra (php ligger nog bäst till), men en sak jag har märkt är att när man väl kan programmerandet i sig och vet hur loopar, pekare, variabler m.m. fungerar och beter sig, är språken i sig / syntaxen inte särskilt svår att lära sig.

Det svåra är att ha tålamodet, motivationen, orken, intressanta projekt / meningsfulla saker att koda och bra material att lära sig ifrån (böcker, tutorials, källkod m.m)

Visa signatur

/Mvh Stefan

Permalänk
Medlem

Har inte läst igenom tråden så noga, men ett språk som helt klart är värt att testa är actionscript, dvs flash. Det är väldigt enkelt att lära sig, det finns hundratals utmärkta exempel och tutorials på internet, tex på http://www.gotoandlearn.com och du kan bygga riktigt bra och användbara saker efter bara några veckors träning!

Lycka till!

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av KTottE
Perl är som att såga upp toppen av skallen och hälla in flytande knark.

Jag avråder å det bestämdaste att välja Perl.

Nu tycker jag inte att du ska vara så negativ mot mitt kärleksbarn. =/

Nej vars, Perl är inte så farligt när man väl vant sig, och man behöver inte koda fult eller skriva allting i one-liners. Så länge man håller koll på sin kod och inte manglar på så har man ett utmärkt verktyg.

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

Jag har valt Python och redan skrivit mitt första program, så klart, Hello World! Underbart enkelt och avancerat programmeringsspråk! Älskar det!!

Kolla vad lätt man skriver Hello World i Python jämfört med tex C++ och Java:

Python:

print "Hello, World!"

LOC (Lines Of Code): 1

C++:

#include <iostream.h> void main () { cout << "Hello, world." << endl; }

LOC: 5

Java:

class Hello { public static void main (String[] args) { System.out.println ("Hello, world."); } }

LOC: 4

Vinnare: Python (1 LOC), Java (4 LOC), C++ (5 LOC)
Summarium: Python är helt klart mest logiskt och enklast. Roligt är det också!

PS. I början fatta jag inte varför alla tyckte Textmate är så bra, men oj oj, älskar Textmate, kunna köra script så lätt!

Föressten någon som vet hur man navigerar (till desktop tex) i Mac OS X terminalen? Alltså navigera tillbaka till desktop från en folder.

Fråga: Jag har skrivit ett script:

print 1+1 print"is what 1 plus 1 is"

där "is what 1 plus 1 is" hamnar på raden under. Jag funderar på hur jag kan få dom på samma rad. Jag provade bara klistra över den men då blev det syntax error. Några förslag?

Hur kör man Python Shell (Python Prompt) i Mac OS X terminalen eller Texmate eller i huvudtaget?

Permalänk
Medlem

print 1 + 1, 'is what 1 plus 1 is'

Tusse: o ja.

Edit: lägg märke till att ovanstående är giltig Ruby också.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Akira

print 1 + 1, 'is what 1 plus 1 is'

Tusse: o ja.

Edit: lägg märke till att ovanstående är giltig Ruby också.

Tack. Enkelt fixat. " och ' används till samma sak och betyder precis likadant? Så det inte alls spelar någon roll vilken man använder? Funkar med båda.

Akira, vet du hur man kör Python Shell i Mac OS X då? Och navigerar tillbaks till desktop i Mac OS X terminalen?

Så det är så man gör i Ruby också? Vad är andra sättet Ruby annars gör?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Bombur
Tack. Enkelt fixat. " och ' används till samma sak och betyder precis likadant? Så det inte alls spelar någon roll vilken man använder? Funkar med båda.

Är ingen Python-expert, men i strängar inom ' så tolkas inte variabler.. tror jag.

Citat:

Akira, vet du hur man kör Python Shell i Mac OS X då?

python

Citat:

Och navigerar tillbaks till desktop i Mac OS X terminalen?

cd ~/Desktop

Citat:

Så det är så man gör i Ruby också? Vad är andra sättet Ruby annars gör?

Ja. Annars kan man använda puts i Ruby, då skrivs en newline ut i slutet.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Akira
Är ingen Python-expert, men i strängar inom ' så tolkas inte variabler.. tror jag.

python

cd ~/Desktop

Ja. Annars kan man använda puts i Ruby, då skrivs en newline ut i slutet.

Tack!

Kommer med fler frågor när det behövs.

Vet också varför det är så. Tex

print ""text""

är fel, ger syntax error.

Men detta funkar:

print '"text"'

Vilket ger texten: "text".

Men tror inte det är enda anledningen till att det är så.

OT fråga: Om man blir van med Dvorak/Svorak som du är, kan du då också lätt använda QWERTY om det behövs?

Permalänk
Medlem

Om jag tittar på tangentbordet går det bra, det står mycket om det i Svorak-tråden..

print ""text"" är fel för att det andra dubbla citattecknet avslutar det första print "\"text\"" fungerar dock

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Akira
Om jag tittar på tangentbordet går det bra, det står mycket om det i Svorak-tråden..

print "\"text\"" fungerar dock

Ok.

>>> print "\"text\" File "<stdin>", line 1 print "\"text\" ^ SyntaxError: EOL while scanning single-quoted string

Intressant om man vill skriva bara "text så funkar inte detta print '"text" utan man måste i stället skriva:

print '"print'

Annan fråga, hur sätter man på/arbetar med Python Interpreter?

Edit: Nvm, det är ju Python Shell kom jag på.