Gå til innhold

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


Anbefalte innlegg

Videoannonse
Annonse
Ingen av oss anbefaler Perl som et begynner-språk. Sitter du med en Windows-maskin er C#.net et godt sted å begynne. Du får raskt se resultater, og det er lett å begynne med.

 

Har du noen linker til noen sider med tips? Eller bøker jeg kan kjøpe? Sett at kurs koster litt ;)

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

C# .NET er et veldig godt språk å starte med.

I dag vil jeg nok anbefale å starte med et managed-språk (.net eller java) og heller lære andre språk som c++\c, perl, etc siden.

 

Det fine med .Net er at du bruker same språk til mange forskjellige ting som websider, programmer, etc.

Det samme gjelder også Java, og begge språkene er også ettertraktet i jobbmarkedet.

 

Bunnen i Java og C# er veldig lik, så å gå fra ett til det andre er ikke vanskelig.

 

public static class TestKlasse
{
public static void Test()
{
int tall = 2524;
String tekst = "Jeg digger tallet " + tall;

// Kjøre "tall++;" 5 ganger
for (int i = 0; i < 5; i++)
{
tall++;
}

tall = tall + GetRandomNumber();
}

// En enkel funksjon\metode
private static int GetRandomNumber()
{
return 4; //Rolled by dice, guaranteed to be random.
}
}

 

Koden over er bare tull, men den vil fungere i både java og C#

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

Det hadde vært artig å høre hva som er pyton med Python, fra et litt mer faglig perspektiv.

 

Jeg vet du eller andre kommer til å si nevne whitespace, akkurat den biten virker å være et stort problem for de som ikke programmerer i Python. Jeg har skrevet mye Python de siste 5-6 årene, whitespace har *aldri*, ikke en eneste gang hvert et problem.

 

Python har derimot masse herligheter. Alt er objekter, ikke slik tullball som Java og C#, men ALT er objekter. Objektmodellen er i tillegg utrolig spennende og man kan gjøre fantastisk masse gøyalt med den. Et eksempel er ORMen i Django.

 

En annen ting jeg elsker med Python er måten jeg jobber med Python på. I stedet for top-down som det gjerne blir med Java/C# så jobber man gjerne bottom-up med Python og Lisp og lignende språk.

 

Et tredje viktig aspekt for meg er at språket har en voldsomt kraftig uttrykkskraft som i tillegg til å være kraftig er forståelig og ikke ender opp som bannende gloser i Andeby (Perl...).

Lenke til kommentar
Det hadde vært artig å høre hva som er pyton med Python, fra et litt mer faglig perspektiv.

 

Jeg vet du eller andre kommer til å si nevne whitespace, akkurat den biten virker å være et stort problem for de som ikke programmerer i Python. Jeg har skrevet mye Python de siste 5-6 årene, whitespace har *aldri*, ikke en eneste gang hvert et problem.

 

Python har derimot masse herligheter. Alt er objekter, ikke slik tullball som Java og C#, men ALT er objekter. Objektmodellen er i tillegg utrolig spennende og man kan gjøre fantastisk masse gøyalt med den. Et eksempel er ORMen i Django.

 

En annen ting jeg elsker med Python er måten jeg jobber med Python på. I stedet for top-down som det gjerne blir med Java/C# så jobber man gjerne bottom-up med Python og Lisp og lignende språk.

 

Et tredje viktig aspekt for meg er at språket har en voldsomt kraftig uttrykkskraft som i tillegg til å være kraftig er forståelig og ikke ender opp som bannende gloser i Andeby (Perl...).

Men alt det du nevner her er jo kun snakk om smakssak. Det er ikke en objektiv, faglig vurdering. Du snakker stygt om Perl, men det tror jeg bunner mer ut i at du ikke forstår syntaxen. Jeg synes Perl er et av de kraftigste og beste scriptespråkene jeg noen gang har brukt, og synes syntaxen er helt genial.

Lenke til kommentar
Men alt det du nevner her er jo kun snakk om smakssak.Det er ikke en objektiv, faglig vurdering.

Jeg nevner det ved python som jeg mener gjør Python til et godt språk: kraftig og ekstremt fleksibel objektmodell, at språket gjør en bottomup tilnærming enklere og høy uttrykkskraft med saklig syntaks. At jeg har så god smak kan jeg ikke noe for :) Jeg nevnte hvertfall NOE om språket, det gjorde ikke personen jeg svarte.

Du snakker stygt om Perl, men det tror jeg bunner mer ut i at du ikke forstår syntaxen.

Vel, da tror du feil.

Jeg synes Perl er et av de kraftigste og beste scriptespråkene jeg noen gang har brukt, og synes syntaxen er helt genial.

Jeg synes mye av semantikken i Perl er genial til scripting (implisitte variable feks). Syntaksen er grei nok til fra-hofta script, men til ting som skal vedlikeholdes synes jeg den blir litt for variabel fra programmerer til programmerer.

Lenke til kommentar
Men alt det du nevner her er jo kun snakk om smakssak.Det er ikke en objektiv, faglig vurdering.

Jeg nevner det ved python som jeg mener gjør Python til et godt språk: kraftig og ekstremt fleksibel objektmodell, at språket gjør en bottomup tilnærming enklere og høy uttrykkskraft med saklig syntaks. At jeg har så god smak kan jeg ikke noe for :) Jeg nevnte hvertfall NOE om språket, det gjorde ikke personen jeg svarte.

Jeg synes python ser forferdelig grisete ut. Og jeg klarer ikke jobbe med språk jeg ikke liker syntaxen til. Men det er min smak da. Men jeg har jo ikke så god smak som deg, snuppen :p

Du snakker stygt om Perl, men det tror jeg bunner mer ut i at du ikke forstår syntaxen.

Vel, da tror du feil.

Det er bare det vanligste. At de som klager over perl og perls syntax er de som ikke "catcher" den.

Jeg synes Perl er et av de kraftigste og beste scriptespråkene jeg noen gang har brukt, og synes syntaxen er helt genial.

Jeg synes mye av semantikken i Perl er genial til scripting (implisitte variable feks). Syntaksen er grei nok til fra-hofta script, men til ting som skal vedlikeholdes synes jeg den blir litt for variabel fra programmerer til programmerer.

Hehe.. Jeg tror ikke du vil høre historien om hele ordre-, salgs-, kundeservice-, administrasjons- og økonomisystemet vi hadde hos en mobiloperatør, hvor jeg jobbet tidligere :p

Lenke til kommentar
  • 3 uker senere...

Eg vil heilt klart anbefale Python, pga. kjapp utviklingstid og lav ressursbruk i forhold til andre språk på samme nivå (Ruby, PHP osv..). Jobber sjølv mykje med rammeverket Django, og det er utfattelig artig å kunne kaste opp ein fullverdig nettapplikasjon på ein time eller to.

 

Der Python ikkje kjem til kaster eg vanligvis opp ein modul i Erlang, som også er eit ufattelig artig språk, men kanskje ikkje eit språk for nybegynnarar. :)

 

Om du vil bevege deg over i platform-spesifikke applikasjoner, fins det GUI-verktøy som PyGTK, og rammeverk som PyObjC (som forresten er herlig å jobbe i). Den første alphaen av Checkout blei forresten satt saman på fem timer ved hjelp av XCode og PyObjC.

 

Python er generelt sett kraftig og versatilt i forhold til alternativa i si gruppe. Men dette er – som alltid – ei smakssak.

Lenke til kommentar
  • 1 måned senere...

Selv synes jeg at linux egentlig har en stor mangel når Visual Studio ikke er tilgjengelig der. MonoDevelop er rett og slett ikke et veldig bra alternativ for Visual C#.

 

Du har andre språk der dog, som C eller C++ som jeg bruker Code::Blocks til å skrive i til linux, men dette synes jeg ikke er bra begynnerspråk. Kanskje Java med Eclipse er et bra alternativ? Men jeg har veldig lite erfaring med Eclipse.

Lenke til kommentar
Hva ville man egentlig anbefale å bruke i Linux.

 

Birger :)

Av språk? Alle burde kunne C ihvertfall, selv om det ikke er så mange som faktisk kan skrive bra C kode. Perl og bash er også utrolig nyttig å kunne i linux, da kan du få gjort veldig mye på liten tid. Ellers er haskell og lisp veldig morsomme språk å lære og alle burde ihvertfall være borti disse en eller annen gang, bare fordi det er så totalt annerledes enn alt annet.

 

Hvis du tenker på utviklingsmiljø burde du lære deg enten emacs eller vim, selv foretrekker jeg vim. Det fins ingen andre editorer som kommer i nærheten av disse engang. Når du først har lært deg en av de kan du editere kode mye fortere enn med noen annen editor. Og de funker på alle platformer, så du kan trenger ikke bytte editor og lære deg noe nytt for hver platform. Ellers er unix kommandolinja + gnu toolsettet + vim/emacs et fullverdig utviklingsmiljø i seg selv, som er mye mer fleksibelt og kraftigere enn noe du finner i windows etter min mening.

Lenke til kommentar
Av språk? Alle burde kunne C ihvertfall, selv om det ikke er så mange som faktisk kan skrive bra C kode. Perl og bash er også utrolig nyttig å kunne i linux, da kan du få gjort veldig mye på liten tid. Ellers er haskell og lisp veldig morsomme språk å lære og alle burde ihvertfall være borti disse en eller annen gang, bare fordi det er så totalt annerledes enn alt annet.

 

Du har helt rett i alt du sier her, men jeg tror ikke C er noe bra nybegynnerspråk egentlig. Når en starter å programmere kan det være greit å få raske resultater, noe som kan gjøre C til et dårlig nybegynnerspråk.

 

Jeg synes selv at Linux mangler virkelig gode utviklingsmiljøer. Linuxutvikling er litt for retro for meg.

Lenke til kommentar
Av språk? Alle burde kunne C ihvertfall, selv om det ikke er så mange som faktisk kan skrive bra C kode. Perl og bash er også utrolig nyttig å kunne i linux, da kan du få gjort veldig mye på liten tid. Ellers er haskell og lisp veldig morsomme språk å lære og alle burde ihvertfall være borti disse en eller annen gang, bare fordi det er så totalt annerledes enn alt annet.

 

Du har helt rett i alt du sier her, men jeg tror ikke C er noe bra nybegynnerspråk egentlig. Når en starter å programmere kan det være greit å få raske resultater, noe som kan gjøre C til et dårlig nybegynnerspråk.

 

Jeg synes selv at Linux mangler virkelig gode utviklingsmiljøer. Linuxutvikling er litt for retro for meg.

Tja, jeg syns ikke IDE'er gjør så mye mer enn å kompilere og linke de riktige bibliotekene og sånn code completion-greie (selv om du får det til emacs og vim også, dog ikke like integrert med bibliotekene). Mens i linux kan du skrive kode for å automatisere og generere og analysere alt. Hvis du f.eks skriver et program som jobber med en mappestruktur som ligner et tre og er 5000 mapper stort, og hver mappe inneholder filer som har navn etter hvor de ligger i mappestrukturen osv, så trenger du bare skrive en linje i bash og vips så er alt generert så kan du begynne å teste. Hva gjør du i windows? Starter et nytt prosjekt og begynner på et C#-program? Eller hvis du vil debugge nettverkskoden så bruker du tcpdump og piper mot alle programmene som analyserer tekst og igjen så har du en linje i bash istedetfor å skrive et eget program som analyserer. Det at nesten alt i linux har et tekstinterface og alt kan behandles som filer er det som gjør det så enkelt og fleksibelt for du har så mange små verktøy som hver spesialiserer seg på en del av tekstprosessering/generering/analysering og så har du et scriptespråk som gjør det enkelt å binde alt sammen. Et utviklingsmiljø er mye mer enn å bare kunne kompilere enkelt eller å få opp riktig funksjonsnavn i editoren, det er evnen til å produsere testdata og analysere data som programmet ditt lager og binde dette sammen med tusenvis av andre programmer for videre prosessering/analysering så du slipper å finne opp hjulet på nytt hele tida. Og derfor suger IDE'er sammenliknet med en unix kommandolinje IMHO.

Lenke til kommentar
Tja, jeg syns ikke IDE'er gjør så mye mer enn å kompilere og linke de riktige bibliotekene og sånn code completion-greie (selv om du får det til emacs og vim også, dog ikke like integrert med bibliotekene). Mens i linux kan du skrive kode for å automatisere og generere og analysere alt. Hvis du f.eks skriver et program som jobber med en mappestruktur som ligner et tre og er 5000 mapper stort, og hver mappe inneholder filer som har navn etter hvor de ligger i mappestrukturen osv, så trenger du bare skrive en linje i bash og vips så er alt generert så kan du begynne å teste. Hva gjør du i windows? Starter et nytt prosjekt og begynner på et C#-program? Eller hvis du vil debugge nettverkskoden så bruker du tcpdump og piper mot alle programmene som analyserer tekst og igjen så har du en linje i bash istedetfor å skrive et eget program som analyserer. Det at nesten alt i linux har et tekstinterface og alt kan behandles som filer er det som gjør det så enkelt og fleksibelt for du har så mange små verktøy som hver spesialiserer seg på en del av tekstprosessering/generering/analysering og så har du et scriptespråk som gjør det enkelt å binde alt sammen. Et utviklingsmiljø er mye mer enn å bare kunne kompilere enkelt eller å få opp riktig funksjonsnavn i editoren, det er evnen til å produsere testdata og analysere data som programmet ditt lager og binde dette sammen med tusenvis av andre programmer for videre prosessering/analysering så du slipper å finne opp hjulet på nytt hele tida. Og derfor suger IDE'er sammenliknet med en unix kommandolinje IMHO.

 

Nå har jeg aldri hatt de problemene du sier her, men jeg er enig i at det finnes mye hendige verktøyer i Linux, og console delen av Windows er veldig dårlig.

 

Men jeg har heller aldri hatt bruk for det, datanalyse gjøres utelukkende i debuggeren. Der sjekker jeg hvilke data jeg mottar og resultatet av programmet mitt. Det er aldri nødvendig å skrive ut dataene for å etterpå analysere det i et eksternt program, og jeg bruker aldri kommandolinjen, for det skal være unødvendig med et bra IDE etter min mening.

 

post-31659-1229737332_thumb.png

 

Et godt IDE sparer deg for mye utviklingstid.

Lenke til kommentar
Nå har jeg aldri hatt de problemene du sier her, men jeg er enig i at det finnes mye hendige verktøyer i Linux, og console delen av Windows er veldig dårlig

 

Men jeg har heller aldri hatt bruk for det, datanalyse gjøres utelukkende i debuggeren. Der sjekker jeg hvilke data jeg mottar og resultatet av programmet mitt. Det er aldri nødvendig å skrive ut dataene for å etterpå analysere det i et eksternt program, og jeg bruker aldri kommandolinjen, for det skal være unødvendig med et bra IDE etter min mening.

 

post-31659-1229737332_thumb.png

 

Et godt IDE sparer deg for mye utviklingstid.

Altså, jeg tenkte ikke på dataanalyse som i å sjekke verdien av en variabel i en debugger. Hvis programmet ditt genererer 500mb med data f.eks er ikke en debugger veldig egnet for å analysere det. Men det er en god sjanse for at du kan skrive et enkelt script som luker ut informasjonen du vil ha og gjør noe mer nyttig med den, mater den inn i gnuplot f.eks. Slike ting kan ikke et IDE gjøre. Og det samme gjelder testdata for programmet. De fleste programmer tar jo data som input og genererer data som output. Hvis dette er tekst er det fryktelig greit å ha en bråte av programmer som alle spesialiserer seg på hver sin del av tekstprosessering og en kommandolinje som også er en interpreter for et scriptespråk som kan binde det hele sammen. Et IDE blir rett og slett hemmende sammenliknet.

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...