Gå til innhold

Ny innen programmering.


Anbefalte innlegg

Personlig begynte jeg med Python fordi jeg ikke skjønte noen ting av C, også arbeidet meg oppover etterhvert som forståelse vokste. Python anbefales ihvertfall av meg

Hvis du startet med Python og bruker C nå, har du vel jobbet deg nedover? ;)

 

C gir et mye støre bruksområde en det Python kan levere. Python er for tregt når det kommer til avanserte kalkulasjoner. Du kan heller ikke f. eks injecte DLL/so-filer med python. Starter en med python så er C den rette vei å utvikle seg, sett at Python bygger på C. (CPython). Du kan lett kommunisere med C i Python.

Lenke til kommentar
Videoannonse
Annonse

Høynivå-språk er f.eks. Python, Ruby osv. mens lavnivåspråk er f.eks. Assembly, C osv. Forskjellen på høy- og lav-nivå er at du med høynivå ikke trenger å skrive så mye for å få til ting, mens med lavnivå får du ikke noe særlig hjelp til det du skal gjøre.

 

Du har nok misforstått en del om hva som er høynivå og hva som er lavnivå språk. C er et høynivå språk. Du jobber ikke mot registrene, du jobber ikke på stacken osv osv.

 

Forskjellen på høy og lav nivå språk er forsåvidt hvor mye av maskinvare som blir abstrakt vekk. Ikke hvor mange linjer kode det skal til for å få gjort ting.

Lenke til kommentar

Jeg synes påstanden "mens med lavnivå får du ikke noe særlig hjelp til det du skal gjøre" beskriver C ganske godt jeg. Det er jo bare å se på strenghåndtering og pekerhåndtering.

 

Om det er en fordel eller en ulempe kan sikkert diskuteres. Men for meg så er C såpass nærme jernet at det er et relativt lavnivå språk i mine øyne. Selv om jeg liker å kalle C høyniva assembler innimellom ;)

Lenke til kommentar

Nå er det ikke streng og peker håndtering som er definisjonen på om språket er lav eller høynivå språk. Men hvor mye man abstrakterer bort fra maskinvaren. Og da forbli C et høynivåspråk. :D Dette er forsåvidt offtopic i denne tråden. Selv om jeg er helt enig at C ligger lavere enn python og perl.

Lenke til kommentar

xaco har nok rett. C er per definisjon et høynivåspråk.

 

Hva som er mer interessant er om språket er dynamisk typet eller statisk typet. Sistnevnte er, per definisjon, ofte det som gjør forskjellen mellom et såkalt scriptspråk og et programmeringspråk, i og med at førstnevnte som regel ikke kompilerer koden før (første) kjøring.

 

Disse egenskapene er ofte de som gjør forskjellen mellom det nybegynnere vil kalle høynivå og lavnivå, mens det i virkeligheten egentlig er noe ganske annerledes. Det er også ofte det den samme gruppen vil merke når de avgjør om språket er "vanskelig" eller "lett" å lære seg, men dette fungerer kun i starten da man har små programmer som ikke har mye kode.

 

Dynamisk typede språk kan ofte virke enklere å bruke enn motparten fordi man ofte i prinsippet "slipper" å tenke på typer, men bidrar i realiteten ofte til å skape flere "vanskelige" bugs når kodebasen begynner å få en rimelig god størrelse. Det bidrar også til at nybegynnere som først lærer seg dynamisk typede språk ikke skikkelig lærer seg verdien av å kunne typesystemer, noe som kan være en stor ulempe senere. Det bidrar også til at man ikke finner feil som kun vil skje på tilsynelatende tilfeldige steder fordi programmet ikke ble statisk analysert før kjøring.

 

Jeg er enig med GeirGrusom at verdien av å først lære seg statisk typede språk er signifikant.

 

Lost

  • Liker 1
Lenke til kommentar

Nå er det ikke streng og peker håndtering som er definisjonen på om språket er lav eller høynivå språk. Men hvor mye man abstrakterer bort fra maskinvaren. Og da forbli C et høynivåspråk. :D Dette er forsåvidt offtopic i denne tråden. Selv om jeg er helt enig at C ligger lavere enn python og perl.

Skal ikke krangle på det.

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