Gå til innhold

Hva kan man lage i C++?


Anbefalte innlegg

Videoannonse
Annonse

Hmm du kan begynne med hallo world programmet.

 

#include "stdafx.h"

#include "iostream"

using namespace std;

 

int _tmain(int argc, _TCHAR* argv[])

{

cout <<"hi, there";

return 0;

}

 

I VS.NET 2005, win32 commandline progg...

 

Kan du functions, datatyper, grunnleggende syntaks så vil jeg anbefale og lese litt om win32 api.

 

Er bare å søke på nettet, lån bøker på ditt lokale bibliotek... det tar tid å lære seg dette.

C++ er enormt...

Lenke til kommentar

Samme program, bare i generisk C-kode:

 

#include <stdio.h>

 

int main (void){

printf("morn, du\n");

return 0;

}

 

For å lære C-kode, vil jeg anbefale boken "The C Programming Language - ANSI C" av Kernighan & Ritchie (Ritchie er en av de som sto bak det originale UNIX-operativsystemet, og han står også bak programmeringsspråket C). Denne boken er ikke av de letteste, men er regnet som en av de desidert beste bøkene på området. Vil sterkt anbefale at skal man lære C/C++ programmering skikkelig, er det viktig å lære seg generisk C/C++. Jeg har programmert en del applikasjoner med ANSI C ved bruk av teksteditor (med syntaks-visning) + UNIX kompilator i forbindelse med et fag jeg har hatt dette halvåret. Fungerer bra det også.

Endret av stigfjel
Lenke til kommentar

Ikke for å tråkke stigfjel på tærne, men jeg mener det er bedre å sikte seg inn på objektorientering, og alt det innebærer. Det finnes så alt for mange ineffektive programmerere, som ikke har den fjerneste anelse hva design er godt for, hva TDD innebærer, hva patterns kan redde en fra, osv.

 

Er heller ikke helt sikker på om jeg vil godta C som "generisk". C er C, C++ er C++, som er basert på C. Hva man burde bruke, kommer helt an på hva man vil lage. Skal man bruke mye av tiden sin på kernelutvikling, embedded eller lignende, finnes det mange grunner for at C er et bedre alternativ, og i visse tilfeller, fullstendig enerådende. I andre sammenhenger, derimot.. -- Omtal heller språkene som C og C++, og programmér de på sitt vis, til sin bruk.

 

Skal du lære C++, går du og kjøper en god C++-bok (med fokus på objektorientering), ikke C. Det er my two cents.

Lenke til kommentar

Snakker selvfølgelig også om at C++ er viktig å lære seg, ikke bare C. Men det er fremdeles nisjer hvor C kan være mer praktisk enn C++. Vil fremdeles si at det er essensielt at man ikke binder seg for sterkt til noen spesifikke utviklingsverktøy a'la VS.NET. Holder man et mest mulig generisk fokus, vil man lett kunne jobbe på de fleste plattformer. Det er i hvert fall min mening. Programmeringsspråk jeg aldri kommer til å ta i, er språk som C#, et MS-spesifikt språk. Kan man C/C++ godt, kan man det meste.

Lenke til kommentar

..fikk lyst til å skrive en rant, så her er den..

 

jeg synes i grunn man kan hoppe over hele C++ i sammenheng med det meste av (spesiellt) applikasjonsutvikling og heller bruke andre bedre og mer moderne (feature-wise) høynivåspråk

 

...når det gjelder C kontra C++, om man _absolutt_ trenger hastigheten, nå, med én gang: C er lettere (for ikke å si mulig) å kalle fra disse andre høynivåspråkene når man finner områder (tight inner loops o.l.) man ønsker å optimalisere siden .. i tillegg er C mye ("alltid"?) brukt i sammenheng med operativsystemer, noe som gjør det mulig å bruke høynivåspråkene uten å miste muligheten til å kalle OS-spesifike funksjoner (så denne muligheten er ikke et argument for å holde seg til C++ i det hele tatt egentlig)

 

cl-user> (foreign-funcall "strlen" :string "Hello World!" :int)
12

 

C++ er dog mulig å bruke ved å passe på å ikke kreve at man må skrive nye klasser for å bruke biblioteket (f.eks. subklasse+metoder for å definere event-håndterere), og ved å legge til extern "C"-deklarasjoner forran funksjoner .. men man mister liksom litt av poenget da; altså om man videre velger å skrive _hele_ applikasjonen i "portabel assembler" (en C++ som nærmest kan kallest C)

 

vel, IMHO er det rimelig høl i hue at vi i Y2K bruker et språk som dette, eller for ikke å si i denne familien, frivillig (jeg er klar over de sosiale "problemene"), når man f.eks. allerede i 1960 hadde myemye bedre språk med kun ett problem; dårlig hardware

 

... dette problemet har vi ikke lengre ...

 

edit:

"n00bs" som ikke tror på meg som enkeltperson kan spørre hvilke som helst andre med litt peil her; kan man virkelig ikke uttrykke det samme, eller uttrykke seg på samme vis, med C++ som med språk som har eksistert i flere tiår før C++?

 

("turing complete" tells _IKKE_ ... de som ikke vet hva dette innebærer (ASM-freaks og andre 14iser) når de skal svare kan like gjerne la være ....)

 

til resten; hva er egentlig grunnen til at dere kaller C++ "avansert"? .. er det fordi man kan gjøre masse "crazy shit" i språket, eller er det, egentlig, fordi det er tungvinnt og gammeldags? ..

 

... hallo? - ingen som ser dette? ...

 

..irriterer meg grenseløst over programmererer som akkurat har kommet over første kneika.. de kan så vidt lage noe litt mer avansert enn Hello World i C++, og kommer så med råd til nybegynnere der de forklarer at "C++ er kanskje litt for avansert i starten, men det er språket man må satse på i fremtiden" ... :roll: ... når da? i 2060 (også!) eller?

 

....nei, jeg synes folk skal være veldig kritiske når de vurderer C++ (eller C)....

Endret av dayslepr
Lenke til kommentar

Hehe nice :thumbup:

 

For all del du, jeg har lyst til å lære meg C++ for det er et språk som har eksistert i stor betydning.

 

Siden C++ blir sett på som litt mer hardcore ( :blush: ) og ser litt mer kryptisk ut syntes jeg det bare virker litt tøffere.

 

Jeg ser på det som første skritt over til andre plattformer også, (VB dude).

Vel C++ er enormt og det tar vel tid å lære seg det, som mangen andre språk men så er C++ C++ :D

 

"Go with the flow"... :roll:

 

Edit:

 

Syntes C++ er helt greit helt til du må begynne med GUI. :p

Noen som vet hvordan jeg kan kalle klasser skrevet i C++ via VB.NET?

Nei, du skal ikke si alt til meg... bare si hvilket ord jeg skal google. :innocent:

Endret av chills
Lenke til kommentar

Fint å se at denne diskusjonen gled ut.

 

Long story short; jeg begynner å se hvorfor flere og flere skoler i Norge har dratt Java inn i varmen, i stedet for C++. I første rekke bør man lære seg good practices og fornuftig kodetankegang - mener jeg. Senere finner man ut hva man vil bruke kunnskapen til, være det seg lavnivåutvikling eller random web gadgets. Det valget nytter det ikke ta up front.

 

Tråder som dette får veldig fort en harsk tone, som kan splittes i tre hovedgrupper:

- De som utvikler primært for Windows

- De som utvikler primært for Linux/Unix

- Forkjempere for språk utenfor "hovedveien"

 

Som med debatten Linux vs. Windows, er den håpløs å gjennomføre, da alle har sin approach, og sine (sterke) meninger. Konklusjonen er nå, som da: Alt til sin tid, og sin bruk.

Lenke til kommentar

Om man driver med programmering professionelt, og produktet er det viktigste, er kanskje ikke C/C++ tingen (ihvertfall ikke om man skal lage vanlige applikasjoner.), ettersom ting ofte kan gjøres mer effektivt i andre språk.

 

Men for folk som meg, som bare vil ha det gøy, lage små saker og ting, eksprimentere litt og slikt, så er C++ ypperlig. :thumbup:

 

Men dette avhenger jo selvfølgelig av hva man definerer som "gøy" men. :p

 

Edit: forøvrig er jeg veldig enig av det alt-til-sitt-bruk snakket til einaros :)

Endret av zirener
Lenke til kommentar

Hoi, her var det mange rare meninger. Grunnen til at det finnes så mange språk å velge mellom er at det er så mange forskjellige oppgaver som skal løses. Å sammenligne PHP og C++ blir nesten litt dumt uten å spesifisere hva slags oppgave man skal løse.

 

For de som skal lære seg programmering så er ikke språket det viktigste, om man lærer seg Java, C#, C++ eller noe annet så er det viktigste allikevel at man lærer noe, og at man kan bruke det man lærer til å lage noe som motiverer. Hvis man er en dreven programmerer i ett språk, så er det å skifte over til ett annet språk en mindre ting, ofte er miljøet rundt språket (utv. verktøy) og kanskje plattform en større utfordring å lære seg, enn selve språket.

 

De som mener at C++ er et gammel og tungvindt språk bør sjekke litt hva slags verktøy som brukes av de største software firmaene. Så godt som alt MS lager er skrevet i C++, Word, Excel osv. Opera og Trolltech er 2 store norske programvarehus hvor C++ brukes. På Linux er også C++ store, QT og alle applikasjoner som bruker dette er C++, osv osv.

 

Har selv jobbet i over 10 år med C++ utvikling, og enda finnes det ikke et språk som kan konkurere med C++ til vårt bruk. Lettere programmer og utilities kan vi gjerne lage i VB eller C#, men til større programmer og systemer er det som sagt ingen andre språk enn C++ som gir oss den fleksibiliteten og hastigheten vi ønsker. C# kan bli en konkurent på sikt, hvis applikasjonsbiblioteket styrkes, og et par andre småting kommer på plass.

 

Anbefaler vanligvis ikke nybegynnere å lære seg C++ som første språk, men er man tøff og sta nok så anbefaler jeg følgende oppskrift. Lær deg selve språket først, lag enkle console programmer uten gui og lær deg detaljene i språket, klasser, arv, oo osv. Ikke bruk mye tid på IO. Når du kan skrive en template klasse for linkede lister uten å tenke deg stort om er du ferdig. Start så med MFC, QT eller andre GUI bibliotek, lær deg koden som appwizard lager og sjekk eksemplene. Etter det bør man sjekke ut fine ting som er laget på f.eks www.codeproject.com og liknende steder.

 

gl

Lenke til kommentar
  • 2 uker senere...
Hoi, her var det mange rare meninger. Grunnen til at det finnes så mange språk å velge mellom er at det er så mange forskjellige oppgaver som skal løses. Å sammenligne PHP og C++ blir nesten litt dumt uten å spesifisere hva slags oppgave man skal løse.

 

For de som skal lære seg programmering så er ikke språket det viktigste, om man lærer seg Java, C#, C++ eller noe annet så er det viktigste allikevel at man lærer noe, og at man kan bruke det man lærer til å lage noe som motiverer. Hvis man er en dreven programmerer i ett språk, så er det å skifte over til ett annet språk en mindre ting, ofte er miljøet rundt språket (utv. verktøy) og kanskje plattform en større utfordring å lære seg, enn selve språket.

 

De som mener at C++ er et gammel og tungvindt språk bør sjekke litt hva slags verktøy som brukes av de største software firmaene. Så godt som alt MS lager er skrevet i C++, Word, Excel osv. Opera og Trolltech er 2 store norske programvarehus hvor C++ brukes. På Linux er også C++ store, QT og alle applikasjoner som bruker dette er C++, osv osv.

 

Har selv jobbet i over 10 år med C++ utvikling, og enda finnes det ikke et språk som kan konkurere med C++ til vårt bruk. Lettere programmer og utilities kan vi gjerne lage i VB eller C#, men til større programmer og systemer er det som sagt ingen andre språk enn C++ som gir oss den fleksibiliteten og hastigheten vi ønsker. C# kan bli en konkurent på sikt, hvis applikasjonsbiblioteket styrkes, og et par andre småting kommer på plass.

 

Anbefaler vanligvis ikke nybegynnere å lære seg C++ som første språk, men er man tøff og sta nok så anbefaler jeg følgende oppskrift. Lær deg selve språket først, lag enkle console programmer uten gui og lær deg detaljene i språket, klasser, arv, oo osv. Ikke bruk mye tid på IO. Når du kan skrive en template klasse for linkede lister uten å tenke deg stort om er du ferdig. Start så med MFC, QT eller andre GUI bibliotek, lær deg koden som appwizard lager og sjekk eksemplene. Etter det bør man sjekke ut fine ting som er laget på f.eks www.codeproject.com og liknende steder.

 

gl

6195580[/snapback]

 

He, kunne gjerne tenkt meg å bidratt med noe i denne debatten, men ærlig talt, dette oppsummerte det meste. Selv veksler jeg litt avhengig av fag (Ser ut som jeg har hatt fag sammen med stigfjel dette semesteret :cool:), men jah.... Eneste som kan sies er vel at dette støttes helhjertet! :thumbup:

Lenke til kommentar

Men så har det seg slik at mange her inne driver på hobby basis, da mener jeg at C++ er overkill.

Da i dag, vil du kunne lage alt du kan i C++ i VB.NET/C#.NET.

 

Men er du sta, kjøp deg en tusenkronersbok -"and start reading".

Anbefaler engelske bøker.

 

Edit: (les: hobby) ;)

Endret av chills
Lenke til kommentar

Når det kommer til RAD verktøy, så er vel VB nettopp det.

C++, har med hastighet, kontroll, og mer grundig gjennomførte prosjekter som krever mye mer.

 

Er vel sjeldent du på hobby basis krever den kontrollen C++ gir, men hvis nå C++ er hobbyen din så koz deg. :wee:

Endret av chills
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...