Gå til innhold

Anbefalte innlegg

Hva er Linux programert i?

 

Siden Linux er såkalt opensource bør man kanskje benytte seg av dette, forstår det slik at man kan lage sin egen distro med LFS eller omprogramere f.eks. Debian til sitt eget behov....

Men hva trenger jeg og vite før jeg gir meg ut på dette?

C++ eller C?

Lenke til kommentar
Videoannonse
Annonse

Begge deler...

QT(KDE) er C++, GNOME(GTK+) er C.

 

Det finnes masse wrappere rundt GNOME og GTK, blandt annet gtkmm og gnomemm, som er C++.

 

De fleste "bunnutils" er skrevet i C.

 

Uansett så er jo de to språkene ganske like, bare att c++ har "litt" oppdateringer.

 

Jeg driver iallefall å lærer meg c++ :D

Lenke til kommentar
Begge deler...

QT(KDE) er C++, GNOME(GTK+) er C.

 

Det finnes masse wrappere rundt GNOME og GTK, blandt annet gtkmm og gnomemm, som er C++.

 

De fleste "bunnutils" er skrevet i C.

 

Uansett så er jo de to språkene ganske like, bare att c++ har "litt" oppdateringer.

 

Jeg driver iallefall å lærer meg c++ :D

 

Unnskyld meg, men er du riv ruskende gal mann? :roll:

LINUX ER PROGRAMMERT I C. Sjekk ut kildekoden selv da vel!

Som du selv sier, er QT/KDE i C++, men det er da vitterlig ikke en del av Linux...

Lenke til kommentar
Anbefaler C++. Kan du C++ så forstår du greitt C. C++ er som sagt nyere og "bedre", deriblandt at det er OO, i motsetning til ren C. Men det er vel en smaksak som så meget annet.

Men er ikke C lettere og lære seg?

har forstått det slik at mange C++ bøker/tutorials baserer seg på at du har litt tidligere C kunnskaper...

Hvis jeg begynner med C, forstår jeg C++ bedre etter vært da?

Lenke til kommentar

Linuxkjernen er skrevet i assembly, mens "høynivåfunksjonene" er skrevet i C (kanskje noen flere også). Uansett så har C vært *nix-standard en stund.

 

Anbefaler C++. Kan du C++ så forstår du greitt C. C++ er som sagt nyere og "bedre", deriblandt at det er OO, i motsetning til ren C. Men det er vel en smaksak som så meget annet.

Men er ikke C lettere og lære seg?

har forstått det slik at mange C++ bøker/tutorials baserer seg på at du har litt tidligere C kunnskaper...

Hvis jeg begynner med C, forstår jeg C++ bedre etter vært da?

Jeg mener det er ett fett om du begynner med C eller C++ . GCC støtter begge programmeringsspråkene, så det blir ikke noe problem...

 

Jeg er selv helt fersk i C++, men har nå tatt en pause på den fronten til fordel for Assembly. Det gjør jeg fordi jeg har lyst til å lære litt mer om hvordan maskinen fungerer (det er det beste argumentet for å lære seg asm), mens "høynivå"/mellomnivåspråk som C++ ikke gir de samme mulighetene.

Lenke til kommentar
Assembly?

Er det lett?

Noen tutorials?

Er det vanskelig og lære seg det, når man ikke kan noe form for annen programering?

Vel... Fortidens programmerere hadde ikke annet valg enn å lære seg asm, men idag så er Assembly overflødig med tanke på produktivitet. De færreste trenger å lære seg Assembly, men hvis du har lyst til å lære deg hvordan CPUen fungerer, så er asm et "must". For å si det på en annen måte: Alt man kan gjøre i andre programmeringsspråk kan man gjøre i asm, men ikke omvendt! Det å lære seg assembly krever ingen forkunnskaper innen programmering. Tvert imot så er det kanskje en fordel å starte med "blanke ark"?

 

Jeg begynte å lese på Randall Hydes " Art of assembly", men kjøpte like så godt "Assembly language step-by-step". Ikke at det var noe galt med "Art of assembly", men jeg vil gjerne få flere perspektiv på saker og ting.

 

Hva det angår "Art of assembly" (AoA) så baserer leksjonene seg på assembly med høynivåsyntaks. Eller for å si det på en annen måte: Man slipper å måtte skrive inn/ut-rutiner (de er definert i headerne slik som i C++, med mindre man vil skrive dem selv). Foremålet med dette er at de som skal lære seg asm kan begynne raskest mulig med programmeringen, uten at man skal behøve 1 mnd. forberedelse. Uansett så burde du lære deg hva det binære tallsystemet er, og hvordan det "virker" + det heksadesimale (alt i asm skrives på hex...).

Lenke til kommentar
Hva med bash hva er det, er det ett programeringsspråk?

Jeg tenkte og lære meg enten C eller C++, for å forstå Linux bedre. Jeg har startet med C++.. Men C ser lettere ut. Hva anbefaler dere?

 

Personlig mener jeg at C er en god inngangsport. Let's face it, C++ og andre er vel langt mer populær blant "de nye skarer", men C er fortsatt et kraftig språk. Kanskje viktigst er det at nesten alle moderne språk i bunn og grunn ligner C, for å gjøre det lettere for gamle C-programmerere. Jeg ville anbefale å lære seg det grunnleggende ang. programmering i C, for så vurdere om du vil fortsette med C, eller om du har behov for objektorientert programmering som jo C++ gir deg.

Lenke til kommentar

Har sett at tidligere utgaver av bøkene "C++ for dummies" legger vekt på at du kan litt C i fra før...Men de nyere utgavene har en mer "nøye" guide slik at du slipper å ha tidligere kunnskaper om C.

Så derfor tenkte jeg at, først lære seg litt eller mye C, for så å gå over til C++. Er ikke det lettere da?

 

eg skjønte heller ikke vitsen med OOP før jeg faktisk prøvde det...nå klarer jeg meg ikke uten.
Hva er OOP da?
Lenke til kommentar

Lage egen distro?

Du trenger ikke kunne C eller C++ for å lage din egen distro.

En distro består i første omgang (vanligvis) av en CD som gjør det mulig å installere selve distroen med dens mest nødvendige programmer på en maskin slik at man kan starte denne maskinen og ha et system som fungerer.

 

Videre følger det i distroen ofte med en "pakke-håndterer" som gjør det mulig for en bruker å laste ned, installere og konfigurere andre programmer på en enklest mulig måte. Denne pakke-håndtereren, som er det som kanskje egentlig er det viktigste i en distro, kan være skrevet i et hvilket som helst språk; ikke nødvendigvis C eller C++.

 

I LFS, etter som jeg har forstått, må du selv installere de mest nødvendige programmene og sørge for å få "bootstrappet" systemet som det kalles. Men hvem -vil- egentlig gjøre denne jobben om igjen og om igjen for hver installering, når man ender opp med et system som ikke er noe forskjellig fra det man hadde fått hvis man brukte en "vanlig" distro som gjorde denne, etter min mening, kjedlige jobben mer eller mindre automatisk?

Bortkastet tid, synes nå jeg,- programmering er mer intressant. :)

 

C eller C++..?

0 og 1 (boolsk algebra) er enkelt og forstå - men vanskelig å lage noe

fornuftig i.

 

ASM er vanskeligere å forstå og lære enn 0'ere og 1'ere - men er litt lettere å lage noe fornuftig i enn 0'ere og 1'ere.

 

C er vanskeligere å forstå og lære enn ASM - men enda litt lettere å lage noe fornuftig i enn ASM.

 

C++ er vanskeligere å forstå og lære enn C - men enda litt lettere å lage noe fornuftig i enn C.

 

Fornuftig?

Fornuftig kan tolkes på mange måter, men jeg tenker kanskje mest på størrelse eller hvilke funksjoner programmet skal ha.

 

Hvis du skal lage et program som bare legger sammen to tall (eller noe sånnt?!); kan du skrive det i hva som helst.

 

Skal du lage et program som skal subtrahere, gange, lese fra tastaturet og skrive til skjermen er C litt lettere - når du kan det.

Som en ekstra fordel når du har skrevet det i C, vil det fungere på andre maskiner også - siden C er en standard som fungerer på flere platformer.

Det er riktignok mulig å skrive kode i C som bare fungerer på din platform og til og med bare på din type CPU, siden man kan skrive ASM i C koden eller bruke "ASM-lignende funksjonalitet" i den.

 

Skal du lage et program som skal ha mulighet til å vise grafer, skrive ut ting, ha nettverks-muligheter og kommunisere med andre programmer er C++ litt lettere - når du kan det. C++ er/har også en standard, slik at det du skriver fungerer på flere plattformer.

 

Men det som er snedig, er at alt du kan lage i C kan også lages i C++, siden C++ er C med litt ++ i. Samme med C, C er assembler med litt ekstra i og siden C++ fortsatt er C, så vil C++ bli alt i ett.

 

Hvis du ikke vet konkret hva du skal lage, så lær C++ og gå bakover når du får behov for det. Det er lettere å lære hvordan man bruker en bil enn hvordan den fungerer invendig. Når man bruker C man lære seg hvordan ting fungerer innvendig (pekere, malloc, etc.), mens med C++ kan man ta dette siden - når man har behov for det (man bruker std::string i stedet for char*..etc.).

 

Angående bøker og C før C++

Jeg tror disse bøkene misforstår litt - C++ er også C.

Det de kanskje mener er at man må kunne det som er -basic- og ganske likt uansett språk; slikt som løkker, funksjoner osv.

Det som er forskjellen er at C bruker visse teknikker mer enn C++. Grunnen til dette er at i C++ trenger man ikke, (men man kan), bruke disse teknikkene og da trenger man heller ikke kunne C's teknikker for å lære og/eller bruke C++.

Lenke til kommentar

En ting jeg lurer på: Er Assembly på en måte en "samling" av alle programeringspråk?

Alt man kan gjøre i andre programmeringsspråk kan man gjøre i asm, men ikke omvendt!

 

Takk for svar :woot:

Nei.

Assembly er det grunnleggende programmeringsspråket. Assembly er et lavnivå programmeringsspråk som bygger opp mye av sin på syntaks på mnmoniske uttrykk. Disse mnmoniske uttrykkene tilsvarer "opkoder" i det binære tallsystemet. Dvs. at de uttrykkene man skriver er direkte instruksjoner til CPUen (assembleren oversetter koden til maskinspråk), som at den f.eks skal hente en verdi fra minneadressen 38FF:A130, og legge verdien i EBX registeret på CPUen.

 

For å si det på en annen måte: Alle programmeringsspråk har Assembly som utgangspunkt. Kompilatoren oversetter f.eks c++ kode til Assembly, deretter går koden gjennom en assembler, evt. en linker (den "pakker" seperate filer sammen, f.eks så kan inn/ut rutinene defineres i èn fil, mens resten av koden er i en annen). Ulempen med Assembly er at du må gjøre alt selv. Man har ikke et beskyttende "skall" rundt seg, og maskinen vil ikke stille spørsmål uansett hva du foretar deg (så sant du bruker gyldig syntaks ;-) ). Dette betyr at programmer skrevet i Assembly har lettere for å kræsje maskinen (det var mer aktuelt i DOS-dagene ;-) ), og feilene kan være svært vanskelige å spore tilbake.

 

Sjekk denne linken: http://webster.cs.ucr.edu/

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...