Arve Systad Skrevet 20. april 2008 Del Skrevet 20. april 2008 Kjøp deg ei god bok om språket du vil lære, det er svært mykje bra litteratur om emnet der ute. Sjølv les eg Java: How to Program 5th edition (ISBN 9781405855150), og er igrunn fornøyd med den. Tar for seg ting grunding, og startar i bunn for å gi best mulig forståelse for ting. Ein annan ting du er heilt avhengig av for å lære deg å programmere, er interessen og stå-på-viljen. I starten ser du neppe stort meir enn eit terminalvindu som viser litt tekst eller tall, så ikkje forvent ferdige superfancy grafiske grensesnitt med ein gong Programmering er eit såpass stort emne at det er vanskelig å svare på "Alt om programmering" som du seier i førsteposten her. Om nokon skal lære seg programmering så anbefaler eg ofte Head First bøkene i valgfritt språk. Java, SQL, C# eller Javascript. Dei er veldig lettleste og har masse teikninger! Kombiner det med ein referansebok så er du godt på veg SQL og Javascript er vel ikkje akkurat programmering, strengt tatt. SQL er eit databasespråk, og det aleine får du ikkje gjort så ufattelig mykje spennande med. Javascript aleine har heller ingenting for seg, og må kombinerast med HTML og CSS for å få noko særlig ut av det. Er og eit scriptspråk, og ikkje eit programmeringsspråk. Lenke til kommentar
steingrim Skrevet 20. april 2008 Del Skrevet 20. april 2008 Er og eit scriptspråk, og ikkje eit programmeringsspråk. Det er for vanskelig å la være... Hvorfor er ikke et scriptspråk et programmeringsspråk? Gjelder tilsvarende for Perl, Python og Ruby? Lenke til kommentar
Manfred Skrevet 20. april 2008 Del Skrevet 20. april 2008 Hva med php? Dette er også scripting... Lenke til kommentar
GeirGrusom Skrevet 20. april 2008 Del Skrevet 20. april 2008 Programmeringsspråk genererer maskinkode på et eller annet punkt før programmet kjøres; dette skjer i Java, C#, VB.NET, VB6, C/C++, Assembly, D og lisp. Det skjer derimot ikke i Python og Ruby (Perl vet jeg ikke noe om) Python har et bytecode språk, men dette oversettes bare on-the-fly, og blir ikke direkte gjort om til maskinkode. Ruby skal vel få bytecode i neste versjon etter det jeg har hørt. .NET og Java kompilerer programmene sine til et mellomstadie (CIL og Java Bytecode) men disse programmene vil bli kompilert til maskinkode når programmene kjører (Just-in-time compilation) HTML og CSS er hverken programmeringsspråk eller scriptspråk. Det er ressurser som brukes av et annet program (IE, FireFox etc.) og kan ikke kalles et programmeringsspråk, da det ikke kan brukes til å regne ut noe som helst. Men man pleier ikke å skille så veldig mellom scriptspråk og programmeringsspråk annet en der det er nødvendig, f.eks. hvis en bruker Python som scriptspråk i et C++ program. Lenke til kommentar
steingrim Skrevet 20. april 2008 Del Skrevet 20. april 2008 (endret) Programmeringsspråk genererer maskinkode på et eller annet punkt før programmet kjøres; dette skjer i Java, C#, VB.NET, VB6, C/C++, Assembly, D og lisp.Det skjer derimot ikke i Python og Ruby (Perl vet jeg ikke noe om) Så Python er ikke et programmeringsspråk? Interessant, for å si det mildt. Hva med Jython og IronPython? Om et språk kompileres til mellomkode, maskinkode og NÅR denne oversettingen skjer er uinteressant. Det endrer ikke på det faktum at språket er et programmeringsspråk. ALT kjører jo på en maskin og blir dermed til maskinkode til syvende og sist, det er bare snakk om abstraksjoner. Hele skillet mellom "programmeringsspråk" og "scriptespråk" er uinteressant og enhver kategorisering basert på dette alene vil være feil. Uansett. Skill mellom språk og implementasjon av språk. Edit: skrivefeil Endret 20. april 2008 av steingrim Lenke til kommentar
GeirGrusom Skrevet 20. april 2008 Del Skrevet 20. april 2008 Skillet er egentlig ganske vesentlig. Det man gjør når man "programmerer" er å skrive instruksjoner til en prosessor, som regel x86. MEN hvis programmet du skriver i virkeligheten aldri genererer en eneste instruksjon direkte for prosessoren, kan man virkelig kalle det et programmeringsspråk? Lenke til kommentar
Manfred Skrevet 20. april 2008 Del Skrevet 20. april 2008 Hele skillet mellom "programmeringsspråk" og "scriptespråk" er uinteressant og enhver kategorisering basert på dette alene vil være feil. Uansett. Gud har talt! Lenke til kommentar
steingrim Skrevet 20. april 2008 Del Skrevet 20. april 2008 Skillet er egentlig ganske vesentlig. Slik du presenterer skillet er det jo fullstendig galt og da er det uvesentlig. Python er ikke et programmeringsspråk, men Jython og IronPython er det? Det er jo samme språk, bare forskjellige implementasjoner! Det man gjør når man "programmerer" er å skrive instruksjoner til en prosessor, som regel x86.MEN hvis programmet du skriver i virkeligheten aldri genererer en eneste instruksjon direkte for prosessoren, kan man virkelig kalle det et programmeringsspråk? Dette blir jo helt merkelig. Når jeg skriver brev i Word genererer jeg instruksjoner på prosessoren, men det betyr ikke at brevet mitt er et program. Eller script. Man kan ikke skille programmeringsspråk og scriptespråk utifra språket. Språket sier noe om hva og hvordan man kan uttrykke noe, med regler for dette. En gitt implementasjon av et språk kan oversette dette direkte til maskinkode, eller den kan oversette det i det språket tolkes. Om eksekveringen i en gitt implementasjon er realisert med mellomkode eller tolking endrer det ikke på faktumet at språket er et programmeringsspråk. Lenke til kommentar
GeirGrusom Skrevet 20. april 2008 Del Skrevet 20. april 2008 (endret) Dette blir jo helt merkelig. Når jeg skriver brev i Word genererer jeg instruksjoner på prosessoren Det gjør du aldeles ikke. Men når det gjelder selve språket har du egentlig rett, det går på implementasjonen. Men forskjellige implementasjoner fører også til endringer i språket for å støtte domenet som implementasjonen er ment for. Derfor: Python er et scriptspråk, IronPython er ikke det. Endret 20. april 2008 av GeirGrusom Lenke til kommentar
steingrim Skrevet 20. april 2008 Del Skrevet 20. april 2008 Men forskjellige implementasjoner fører også til endringer i språket for å støtte domenet som implementasjonen er ment for.Derfor: Python er et scriptspråk, IronPython er ikke det. Python og IronPython ER SAMME SPRÅK Hvis du virkelig mener at tolkede språk har et annet domene enn kompilerte språk så lever vi i totalt forskjellige virkeligheter. Det er ikke implementasjonen av et språk som bestemmer domenet. Python (eller CPython som den offisielle versjonen gjerne kalles) har forresten et bytecode språk som mellomspråk, disse ligger i .pyc-filer. Dermed kan man si det er kompilert om man synes det er vesentlig. Det synes dog ikke jeg det er, men det gjør altså du Lenke til kommentar
siDDis Skrevet 20. april 2008 Del Skrevet 20. april 2008 Eit scriptespråk er eit språk som kan kjøres uten å måtte kompileres først. F.eks Groovy er eit lag over Java der du kan programmere i *real-time*, ergo kjøre instrukser utan å måtte rekompilere. Det same vil eg tru gjelder for Jython også. Men alle går under definisjon programmeringsspråk. Lenke til kommentar
GeirGrusom Skrevet 20. april 2008 Del Skrevet 20. april 2008 (endret) Python (eller CPython som den offisielle versjonen gjerne kalles) har forresten et bytecode språk som mellomspråk, disse ligger i .pyc-filer. Dermed kan man si det er kompilert om man synes det er vesentlig. Det synes dog ikke jeg det er, men det gjør altså du Nei, det er ikke vesentlig bytecode er ikke det samme som maskinkode. Men det burde vært et annet navn på det som ikke er scriptspråk dog, for det fører til mer forvirring, siden man ikke kan påstå at man ikke lager programmer med Python. .NET og Java er også i en slags gråsone, siden disse krever en JIT compiler. Endret 20. april 2008 av GeirGrusom Lenke til kommentar
teflonpanne Skrevet 20. april 2008 Del Skrevet 20. april 2008 Jeg syns ikke det er noe galt å kalle python, perl etc. for programmeringsspråk. Man programmerer jo med disse språkene selv om det ikke blir generert maskinkode. Å programmere er jo bare å få datamaskinen til å gjøre ting, om det blir gjort ved å skrive instruksjoner til prosessoren eller interpretet er ganske likegyldig for meg ihvertfall. Kan jo se hva wikipedia sier også: http://en.wikipedia.org/wiki/Scripting_lan...namic_languages http://en.wikipedia.org/wiki/Programming_language Lenke til kommentar
GeirGrusom Skrevet 20. april 2008 Del Skrevet 20. april 2008 Det har med ytelse og funksjonalitet å gjøre. Et program som kjører i ren maskinkode er betydelig mer effektivt en et interperated språk, og avhengig av hva en prøver å gjøre, kan dette være veldig viktig. Aprikos dette har jeg ikke helt forstått hvorfor Python, Lua etc. bruker den stack metoden for å kommunisere med host programmet; kan ikke interperatoren eller compileren bare lage en bitteliten bit med native code som setter i gang interperatoren, istedet for at programmereren må dytte ting av og på stack? Det jeg tenker på, er at man i språket har f.eks. en funksjon def myfunc(x) i python, kan oversettes til typedef PYOBJECT* (*myfunc) (PYOBJECT* x); i C, og man bruker funksjonspekere istedet? da blir det plutselig helt opp til interperatoren å behandle stacken, og ting kan gjøres mye mer effektivt. f.eks. struct call_proc_x86 { // Dytt variabler til stacken char opcode; // 0x9A jump far absolute (32-bit) void* jmp_address; char return_code; // 0xCB far return to calling procedure }; Men det er sikkert noe jeg ikke vet om her, siden det ikke gjøres slik... Lenke til kommentar
teflonpanne Skrevet 20. april 2008 Del Skrevet 20. april 2008 (endret) Det har med ytelse og funksjonalitet å gjøre.Et program som kjører i ren maskinkode er betydelig mer effektivt en et interperated språk, og avhengig av hva en prøver å gjøre, kan dette være veldig viktig. Hæ? Nå snakker vi om hva som kan kalles et programmeringsspråk, hva har ytelse og effektivitet med det å gjøre? Et programmeringsspråk kan kontrollere en datamaskin, kalkulere osv. Python, perl etc passer fint inn her etter min mening og wikipedia også for den saks skyld. Står ingenting om verken ytelse eller at det må kompileres til maskinkode. Så lenge det er en universal turingmaskin og turingkomplett eller bygger på lambdakalkulus er det et programmeringsspråk. Endret 20. april 2008 av teflonpanne Lenke til kommentar
GeirGrusom Skrevet 20. april 2008 Del Skrevet 20. april 2008 Et programmeringsspråk programmerer en datamaskin. Et scriptspråk programmerer et annet program. Lenke til kommentar
teflonpanne Skrevet 20. april 2008 Del Skrevet 20. april 2008 Velvel, wikipedia er altså ikke enig med deg. Skjønner heller ikke hvorfor du begynte å dra inn ytelse og funksjonalitet. Lenke til kommentar
Manfred Skrevet 20. april 2008 Del Skrevet 20. april 2008 ...så vil jeg vel ikke si at Wikipedia er den beste kilden uansett. Det er noe som heter kildekritikk, liksom. Men det er en ganske grei definisjon: - Programmeringsspråk = programmerer datamaskin - scriptsrpåk = Programmerer/instruerer et annet program Lenke til kommentar
teflonpanne Skrevet 20. april 2008 Del Skrevet 20. april 2008 ...så vil jeg vel ikke si at Wikipedia er den beste kilden uansett. Det er noe som heter kildekritikk, liksom. Du vil ikke si det nei? Wikipedia er en jævlig bra kilde for fysikk/matte/informatikk osv, det har blitt verifisert flere ganger. Men det er en ganske grei definisjon: - Programmeringsspråk = programmerer datamaskin - scriptsrpåk = Programmerer/instruerer et annet program Ja, da får dere holde dere til den definisjonen da, så forholder jeg meg til det alle andre mener. Lenke til kommentar
Manfred Skrevet 20. april 2008 Del Skrevet 20. april 2008 Lærer dere ingenting om kildekritikk på skolen lenger? Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå