Gå til innhold

Hvilket programmerings-språk bør man begynne med?


Anbefalte innlegg

Videoannonse
Annonse
  • 8 måneder senere...
c99 er c, bare med noen forskjeller. Du skal ikke ha noe problem å lese c-kode som er skrevet i en gamlere standard.

 

Så vidt jeg har skjønt er det to forskjeller jeg har lagt merke til.

 

Variabel størrelse på arrays:

 

int a = 3;

a = randomstuff;

int array[a];

 

Dette er vel ikke lov i gammel C, hvis ikke int a blir deklarert som en const, right?

 

Og den som ble nevnt over med deklarering av variabel inni en for-løkke.

Lenke til kommentar
  • 2 måneder senere...
Java er for pokker ikke et språk, det minner mere om et operativsystem!, ikke plassen å begyne for en newbie!

Java, evt. C#, er greiet språk å lære objektorientert programmering i. Spaghetti-scripting er sikkert morsomt å holde på med, men den pedagogiske verdien er tvilsom.

 

Edit: wohoo, denne tråden var *noget* eldre enn jeg fikk med meg ...

Endret av quantum
Lenke til kommentar
  • 2 måneder senere...

ålreit, dette ser ut til å begynne å gå helt ut av proporsjoner...

 

Det ser veldig ut som om alle slags "fanboys" kommer og skal vise fram "sitt" språk...

 

(Vet at jeg sikkert kommer til å få mange kommentarer på det jeg skriver, men det får bare stå til...)

 

Og forresten: hvor sa trådstarter at han skulle bruke linux til å programmere? Ser veldig ut som om de som svarer dikter opp mye.

 

Personlig har jeg nettopp begynt med programmering (skikkelig), og mener at Visual Basic er ganske fint å begynne med, er veldig enkelt å forstå, er lett å lage GUI (Graphical User Interface, også kjent som det du ser med tekst og bilde), og er ganske fleksibelt.

 

Kan jo gi deg ett eksempel:

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       WebBrowser1.Navigate(TextBox1.Text)
   End Sub

 

I den koden der, så har jeg lagt til en knapp, en tekstboks, og en nettleser (til å lage nettopp det, er vel ment for noe som kan gå på nettet og åpne .html og lignende) knappen heter "Button1", som når den blir trykt på, kjører resten av koden, tekstboksen (hvor du skriver inn nett addressen) heter "TextBox1" og du forstår vel hva den siste heter ;) (ellers vil du nok få noen problemer)

 

WebBowser1.navigate

 

Sier til webbrowseren at den skal navigere til en lokasjon, som er satt i parentes "()"

 

(TextBox1.Text)

 

Sier at webbrowser elementet skal ta info (data) fra objektet TextBox1, og at "IDen" til infoen er "Text"

 

Og vips, så har du en nettleser (husk å trykke på "play" pila øverst) :) lykke til

Lenke til kommentar
  • 2 uker senere...

Personlig har jeg nettopp begynt med programmering (skikkelig), og mener at Visual Basic er ganske fint å begynne med, er veldig enkelt å forstå, er lett å lage GUI (Graphical User Interface, også kjent som det du ser med tekst og bilde), og er ganske fleksibelt.

Det du utelater å si er at du bruker VB#.NET og når du først kjører på .NET-plattformen så spiller språket relativt lite å si. Koden for å gjøre akkurat det samme som du gjør over er nesten identisk om du skriver den i C# eller IronPython, for systemkallene er akkurat likt.

 

Jeg vil ikke anbefale VB til en nybegynner, men det er nå bare meg. Python synes jeg er det mest renhårige for å lære det programmeringstekniske, men om du er oppegående er det vel så gøy å starte med C (som jeg startet med da jeg gikk på videregående). Da lærer du hvordan ting _egentlig_ henger sammen :)

Lenke til kommentar
  • 2 måneder senere...

Jeg er ikke lenger like sikker på at OOP er "veien, sannheten og livet" som da denne tråden ble startet. For all del, Java og Ruby er fortsatt gode språk, men til alle som vil lære programmering anbefaler jeg Haskell.

 

Foreslår at du starter med de første 4-5 videoene fra Erik Meijers forelesninger om funksjonell programmering i Haskell.

 

Om disse vekket appetitten din på FP og Haskell finner du mer info her.

 

Når det kommer til bøker, så bør nybegynnere vurdere Programming in Haskell av Graham Hutton. (Som brukes av kursvideoene jeg linket til over).

Folk med programmeringserfaring kan hoppe rett på Real World Haskell, som evt. kan leses gratis på nettet.

Endret av Frank2004
Lenke til kommentar

Personlig har jeg nettopp begynt med programmering (skikkelig), og mener at Visual Basic er ganske fint å begynne med, er veldig enkelt å forstå, er lett å lage GUI (Graphical User Interface, også kjent som det du ser med tekst og bilde), og er ganske fleksibelt.

Det du utelater å si er at du bruker VB#.NET og når du først kjører på .NET-plattformen så spiller språket relativt lite å si. Koden for å gjøre akkurat det samme som du gjør over er nesten identisk om du skriver den i C# eller IronPython, for systemkallene er akkurat likt.

Ikke helt sant. Visual Basic, C# og IronPython genererer forskjellig CIL kode. Men selve systemkallene er like fordi de bruker samme standardbibliotek. Av en eller annen grunn går C++/CIL raskere enn C#. Jeg ANER ikke hvorfor ettersom begge to genererer CIL og ikke native code. Det er sikkert en god grunn til det dog.

 

Jeg synes ikke Python er et bra utgangspunkt fordi det mangler variabeldeklerasjoner og statiske datatyper som jeg har opplevd som noe mange strever svært mye med i startfasen.

 

Så jeg tviholder på C. Det er et enkelt språk, samtidig som du kan få til akkurat hva du vil med det.

Lenke til kommentar
  • 2 måneder senere...

Jeg er ikke lenger like sikker på at OOP er "veien, sannheten og livet" som da denne tråden ble startet. For all del, Java og Ruby er fortsatt gode språk, men til alle som vil lære programmering anbefaler jeg Haskell.

Takk for tips (og beklager å vekke opp en sovende tråd)! Du er ikke den eneste som pusher funksjonell programmering som en bedre inngangsport til programmering. Folka bak How to Design Programs kan jo rapportere om vesentlig bedre javaprogrammerere for de som starter med et introkurs til programmering vha et funksjonelt språk (som Scheme eller Haskell).

 

Jeg er i hvert fall stadig mer skeptisk til C-familien av språk som første språk. Man blir altfor opptatt av småting enn god design. Men som andrespråk ...

 

Men bare for at dette ikke skal bli en språkrelatert flamefest siterer jeg forfatterne av en interessant rapport som trekker konklusjonen over: "We have found that teaching Scheme for Scheme’s sake (or Haskell

for Haskell’s sake) won’t work. (...) The two keys to our

success were to tame Scheme into teaching languages that beginners can handle

and to distill well-known functional principles of programming into generally ap-

plicable design recipes."

 

 

(http://www.cs.brown.edu/~sk/Publications/Papers/Published/fffk-htdp-vs-sicp-journal/paper.pdf)

Endret av 8086
Lenke til kommentar

Har nå tenkt å ta opp programmering for fullt, og skulle gjerne hatt noen tips - selv om det er mange uenigheter. :)

 

Har erfaring innen (HTML, CSS), PHP, Javascript, samt litt Python (mest på syntax-nivå...). Kort og godt: jeg skjønner grunnleggende programmeringsprinsipper som løkker, men har lite (ingen) kunnskap i fht. OOP.

 

Planen vår å gå rett på C, eller C++, og har derfor gått til anskaffelse av boken "Accelerated C++", som er anbefalt for 5 år siden i stickyen på C/C++-subforaet. Problemet mitt er slik: er denne boken utdatert? Den er skrevet rundt 2000. Tidligere har jeg begynt på boken "ANSI C, second edition", men jeg følte den var utdatert; eksemplene fungerte ikke. Selvsagt, mulig jeg hadde gjort noe feil - men det er ikke så mye som kan gjøres feil når syntaksen er rett og man kompilerer med "gcc -o". Ja, jeg bruker Linux.

 

Leser at noen mener det er en dårlig ide å begynne med C++, men har virkelig lyst til å gå rett på (litt fordi jeg hører man få Java gratis).

 

 

Er boken + språket å anbefale? Takk!

Lenke til kommentar

Både C og C++ passer dårlig til en hel masse, og bra til en hel masse annet; hva er målet ditt? Hva skal du bruke dette til?

 

PS: Tror ikke GCC i "standard modus" skal ha noen problemer med koden fra TCPL 2nd ed.; kanskje du kan poste noe kode så vi kan se?

Endret av worseisworser
Lenke til kommentar

Har nå tenkt å ta opp programmering for fullt, og skulle gjerne hatt noen tips - selv om det er mange uenigheter. :)

 

Har erfaring innen (HTML, CSS), PHP, Javascript, samt litt Python (mest på syntax-nivå...). Kort og godt: jeg skjønner grunnleggende programmeringsprinsipper som løkker, men har lite (ingen) kunnskap i fht. OOP.

 

Planen vår å gå rett på C, eller C++, og har derfor gått til anskaffelse av boken "Accelerated C++", som er anbefalt for 5 år siden i stickyen på C/C++-subforaet. Problemet mitt er slik: er denne boken utdatert? Den er skrevet rundt 2000. Tidligere har jeg begynt på boken "ANSI C, second edition", men jeg følte den var utdatert; eksemplene fungerte ikke. Selvsagt, mulig jeg hadde gjort noe feil - men det er ikke så mye som kan gjøres feil når syntaksen er rett og man kompilerer med "gcc -o". Ja, jeg bruker Linux.

 

Leser at noen mener det er en dårlig ide å begynne med C++, men har virkelig lyst til å gå rett på (litt fordi jeg hører man få Java gratis).

 

 

Er boken + språket å anbefale? Takk!

Kjør på. C++ fungerer fint som første språk hvis du er motivert for å lære det. Accelerated C++ var og er fortsatt en god bok, så der er det også bare å kjøre på. Folk mener stort sett at det ikke er ideelt med C++ som førstespråk fordi det er vanskelig og blablabla, men i bunn og grunn handler det om motivasjon og vilje til å lære seg dritten.

Lenke til kommentar

Folk mener stort sett at det ikke er ideelt med C++ som førstespråk fordi det er vanskelig og blablabla, men i bunn og grunn handler det om motivasjon og vilje til å lære seg dritten.

Dette er fullstendig sant, men her er et motargument mot C++ allikevel:

 

Jeg pleier ikke å anbefale C++ fordi de aller fleste undervurderer hvor lang tid det tar å lære C++ samtidig som de undervurderer sin egen læringskurve.

 

Consumers underpredict their ability to learn new products

 

Altså det dukker opp ganske mange her som tror de skal lære seg programmering over helgen, og når de først prøver seg, så tror de at at de aldri vil klare å lære seg det. Dette er ikke bare et motivasjonsproblem, dette er et generelt problem for mennesker. Vi ser det igjen ved hver eneste lansering av Windows og Office. Vi ser det spesielt godt innen programmering.

 

Jeg ser dette fenomenet også på skolen. Fra dette grunnlaget pleier jeg å anbefale å starte med et enklere språk. Ikke fordi det er umulig å lære C++, men fordi det skal langt mindre til for å bli demotivert og mennesker generelt (ikke alle) er håpløse når det gjelder å lære nye ting.

Lenke til kommentar

Takker veldig for motivasjon i fht. C++, men har allerede begynt å gå litt videre på Python, da jeg nettopp ikke er en person som kan holde på med samme ting over lengre tid.

 

Er klar over det sies at man ikke kan C++ før man har kodet 1000 timer i det, og vet at jeg ikke hadde klart det "i en sleng." Altså, jeg hadde tatt læringsprosessen i intervaller - noe som kanskje ikke er så effektivt.

 

Python er jo også objekt-orientert, så tenker at jeg kommer til å ha igjen for det hvis jeg søker tilbake til C++ - vil jeg ha igjen for det? Det er vel samme prinsipper?

 

Må sies at når det gjelder noe så stort som å lære seg et nytt språk, er vel mange klar over at de kanskje overvurderer sin egen læringsevne, som Geir sier, og blir personlig i den sammenheng redd for å "skuffe" meg selv. Altså, at det ikke går så fort som jeg håpte. Gjelder å undervurdere seg selv, men det er vanskelig. :)

 

Igjen, takk!

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...