Gå til innhold

Noen fordeler og lære C++ framfor Python?


Anbefalte innlegg

Videoannonse
Annonse

Så lenge du kan å programmere er det ikke så voldsomt viktig hvilket språk du lærer. Å pugge/ lære de ulike forskjellene på semantikken mellom språka er ikke så viktig som det å faktisk klare å lage klasser, jobbe med objekter og lage funksjoner osv.

 

Så jeg ville holdt meg til C++ til du er lei og du føler at du kan det før jeg heiv meg over et nytt språk.

 

Nå veit jeg ikke hva Python er bra på, men er det likt C++ ville jeg heller tatt ett språk som er ulikt for å spre kunnskapen litt.

 

om du driver med c++ i dos så kanskje java eller C# kan være litt morro. tenker da på å lettere lage brukergrensesnitt og den biten?

Lenke til kommentar
Nå veit jeg ikke hva Python er bra på, men er det likt C++ ville jeg heller tatt ett språk som er ulikt for å spre kunnskapen litt.

Python er et scriptespråk som er mye brukt i Linux, bla for brukerprogrammer. Det er også det språket som Googles søkeroboter er laget i. Python er laget for å være enkelt å programmere i og forstå, og den har en syntax som kan virke litt rar med det første. Synes Python passer veldig bra for nybegynnere, det var der jeg lærte objektorientert programmering og classes o.l. Python er litt sakte, men som sagt passer det godt for skrivebordprogrammer hvor fart ikke er det viktigste.

Endret av Gimper
Lenke til kommentar

Python passer godt til forholdsvis små og enkle oppgaver når du "bare skal røre sammen noe". C++ er større, raskere og kraftigere, og egner seg derfor til større prosjekter der du trenger mer detaljstyring.

 

Generelt anbefaler jeg Python som nybegynnerspråk, fordi det er forholdsvis lett å lære, og C++ som språk nummer to, fordi C++... Vel, dere kjenner vel selv fordelene med C++ ;)

Lenke til kommentar

Synes det er greit å kunne litt python, gjerne som et hjelpemiddel til programmering i andre språk, rett og slett fordi det er veldig enkelt å teste f.eks. funksjoner og løkker. Man kan lage en funksjon, og kjøre funksjonen alene for å se om den gjør det den skal. Uten at man trenger noe mer enn selve funksjonen. Veldig greit når man har er stort program og ønsker å teste litt kode før koden legges til programmet.

Endret av Orjanp
Lenke til kommentar

Kjenner ikke Python så godt, så tilgi meg om noe av dette blir feil.

 

Men Python er et interpreted språk, noe som betyr at det ikke kompileres men kjøres fra kildekoden. Det betyr visse fordeler og ulemper. Hovedfordelen er at det som regel gjør det lettere å kjøre på forskjellige plattformer. Største ulempen er at det går tregere.

 

C++ er nok mer genrelt brukbart enn Python, bedre for store prosjekter, og bedre for oppgaver som krever regnekraft.

 

Men som sagt, selv kjenner jeg ikke Python ...

Lenke til kommentar

Python er enklere og raskere å skrive kode i, men koden kjører ikke like raskt, siden det ikke er maskinkode.

Python kompileres automatisk til «bytecode» (ala java) når det kjører, så farten er ikke så ille.

Ved hjelp av boost.python kan man eksportere klasser og funksjoner i C++ til python, slik at man kan bruke dem sammen.

Man kan f.eks skrive logikken og prototype i python, så kan man enkelt reimplementere kritiske deler, som tunge regneoperasjoner i C++.

 

Andre fordeler med python er at den krever en ryddig struktur (innrykk bestemmer scope bl.a (noen ser på dette som en ulempe)), man har et stort standardbibliotek på tvers av plattformene som inneholder det meste man trenger og man kan bruke python interaktivt, som gjør det enkelt å teste ting.

 

Lær begge deler, så kan du bruke dem sammen og på den måten kombinere styrkene.

Lenke til kommentar
Lær begge deler, så kan du bruke dem sammen og på den måten kombinere styrkene.

Hmm..lurer bare på hvordan man kombinerer to språk?

Som sagt, boost.python.

Da skriver man bare litt wrapperkode i C++, som lister opp hvilke funksjoner som skal eksporteres til python, så kompilerer man det til en .so (evt. .dll på windows).

Den kan man igjen importere i python som om det skulle vært en vanlig python-modul.

Titt på dokumentasjonen til boost.python.

Man kan også wrappe kode via C-interfacet, men det er ikke like enkelt, og boost.python gir deg flere fordeler.

Lenke til kommentar

Python funker slik, men har en litt annen syntaks. Tar jeg ikke mye feil blir koden din slik i Python:

if code = "begin":
 ...
elif code ="stop": // eventuelt...
 ...
elif code = "annet tull":
... // her tror jeg det blir feil pga tull med indents

Endret av Me sjøl
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...