Gå til innhold

Noe som er bedre en C++ ?


Anbefalte innlegg

Har nå programert i ca ett år, hadde det i prosjekt til forypning i fjord (vg2) og fikk 6 , hva nå enn det er verdt. lagde to prosjekter, ett var en IM(offline)med bøde server og klient, den andre var et "Casino-RPG". Har fram til nå programert C++ og da bare bare med standard C++ kode uten noen flere biblioteker.

 

Det jeg ønsker meg er noe mer "hige-lvl" der det ikke finnes noe som heter "char". Et programerings språk som lar meg lage applikasjoner som kan komunisere med resten av maskinen og verden rundt meg uten å bruke 100 ekstra biblioteker.

 

Ting jeg kan tenke meg å lage er:

-Synkroniserings tjeneste (dropbox)

-Desktop enviroment(for linux)

-RSS leser

 

+ Div i jobb sammenheng, mye tilfeldig smådill...

 

Har ikke noe krav om en spesiel plattform.

 

Håper på svar :)

 

EDIT: Ser denne har havnet litt feil...

Endret av Eldox
Lenke til kommentar
Videoannonse
Annonse

Den store styrken til C++ er nettopp alle bibliotekene som finnes til det. Ulempen er det at du må lete opp bibliotekene, laste dem ned og sette dem opp. Og det kan bli en haug med .DLL filer du må inkludere med .exe'n din.

 

Har nylig prøvd Qt litt. Letteste biblioteket til C++ jeg har prøvd.

Sjekk det ut

http://qt.nokia.com/downloads

 

Du kan laste ned LGPL versjonen (uten gui designer), men med et IDE og GCC kompilatoren. Den lar deg åpne eksempel prosjekter og kjøre dem med en gang.

 

Qt har noe som minner om delegates, de kaller det signals og slots. Mye bedre enn å bruke callbacks!

http://doc.trolltech.com/3.3/signalsandslots.html

 

C# og Java har et veldig rikte biblioteker som følger med. Har du prøvd disse? Ulempen er at brukerne må ha .NET og Java Runtime installert. De fleste har .NET i disse dager, da det følger med Vista.

 

Et lite eksempel på hva som er mulig med .NET:

 

Loki @ codewiki.no har lagd ett synkroniseringsprogram med Visual Basic (den nye .NET versjonen, ikke 6.0!)

Se her.

 

Visual Basic .NET og C# bruker de samme bibliotekene.

 

Et språk som jeg har brukt en del og er veldig glad i er BlitzMax. Det er en mellomting mellom C++ (fullkontroll) og Java/C# (enkelt å bruke).

 

Det har mange biblioteker innebygd og bruker C og C++ i bunn. Det er også mulig å skrive et program delvis i BlitzMax og C/C++, eller lage litt "glue-kode" for å få gjøre et C/C++ bibliotek tilgjengelig for BMax.

 

Her er en liste over biblioteker (blitzmax moduler) som en bruker har lagd "glue-kode" for:

http://brucey.net/programming/blitz/index.php

 

BlitzMax er rettet mot spillutviklere, men det er fullt mulig å skrive vanlige GUI programmer:

 

http://brucey.net/programming/blitz/radio/index.html

 

Det jeg elsker med BlitzMax er at det er morsomt å bruke! Du får nesten ytelsen til C++ uten alle frustrasjonene (pekere, rare kompilator meldinger, header-filer som må oppdateres).

(BMax har pekere om du skulle trenge det)

 

En annen ting er alle kodesnuttene i kodearkivene:

http://www.blitzbasic.com/codearcs/codearcs.php

 

Bare klipp ut, lim inn og kjør. :D Ikke noe oppsett av kjipe .h filer, .lib-filer og .DLL-er.

 

Vel. Så lenge du bruker standardbibliotekene som følger med Bmax. Men det å bruke moduler er også ganske enkelt, ihvertfall hvis den er ferdig kompilert. Bare lagre den i blitzmax/mods og begynn å bruk.

 

Edit:

BlitzMax har kanskje litt rar syntax, men ikke la det stanse deg.

 

En kort beskrivelse av Bmax:

http://wiki.gamedev.net/index.php/BlitzMax

Hjemmesiden:

http://www.blitzbasic.com/

 

Prøv mange språk! Finn det som passer deg!

Endret av JAPCU
Lenke til kommentar

Tja, en fin start kan jo kanskje være å dobbeltklikke i adressefeltet i nettleseren din, skrive inn google.com, finne frem til søkefeltet og taste inn p, r, o, g, r, a, m, m, i, n, g, mellomrom, l, a, n, g, u, a, g, e, s, mellomrom, c, o, m, p, a, r, i, s, o, n eller noe i den duren.

 

Å lage et desktop environment for Linux tror jeg du bør legge på hylla med det første. Det tar lang tid og veldig mye jobb. Synkroniseringstjeneste og RSS-leser bør derimot ikke være noe problem. Dette kan f.eks. veldig enkelt gjøres med språk som Python og Ruby.

 

Edit: Glemte en ting. Det gir ikke mening å snakke om at "det språket er bedre enn det språket". Når det gjelder hastighet og effektivitet er C++ et av de beste språkene som er, men dette kommer på bekostning av at du har mye "ansvar" mht. minnehåndtering og rett og slett at du ofte må skrive jævla mye kode. Andre språk gir deg ikke de samme mulighetene, men er kanskje enklere og raskere å utvikle med.

Endret av Dead_Rabbit
Lenke til kommentar
  • 2 uker senere...

De gangene jeg må bruke chars er i : arrays , text behandling mot filer og div transport protokoller jeg har vært borti.

 

Etter å laget noen små prosjekter i python er min konklusjon at C++ er for low-level iforhold til hva jeg ønsker å lage :) Tror jeg kommer til å fortsette i python.

Lenke til kommentar
Etter å laget noen små prosjekter i python er min konklusjon at C++ er for low-level iforhold til hva jeg ønsker å lage :) Tror jeg kommer til å fortsette i python.

Prøv å lag en bootstrapper i python. Alt har sine egenskaper hvor de er bedre en andre. Av det hjelper det ikke å fremstå som religiøs ang. valg av verktøy, os. Alt har sine fordeler og ulemper.

 

http://scene.org/file.php?file=%2Fparties%...ip&fileinfo

 

Prøv å reimplementer denne i python med lik størrelse og og lik preformance. I dare you :)

Lenke til kommentar
De gangene jeg må bruke chars er i : arrays , text behandling mot filer og div transport protokoller jeg har vært borti.

 

Etter å laget noen små prosjekter i python er min konklusjon at C++ er for low-level iforhold til hva jeg ønsker å lage :) Tror jeg kommer til å fortsette i python.

I standardbiblioteket til C++ har man jo streams til output og input for filer, så der er det ikke nødvendig å bruke char-arrays. Av transport-protokoller har jeg bare blitt nødt til å bruke char-arrays når jeg bruker POSIX sockets direkte, men Boost.Asio er jo mye bedre å bruke og der er jo det problemet eliminert også. :)

Lenke til kommentar

Som aC sier, alle språk har sine fordeler og ulemper, og etter hva jeg har erfart passer ikke C++ helt til hva jeg ønsker å lage. Jeg har ingen ideer om å lage noen monstre applikasjon i photoshop størelse.

 

Detter er noen linjer fra mitt første C++ prosjekt der jeg og en kompis laget en offline chat klient+server. Hør måtte vi bruke og plages med chars en hel del. Vet vi sikkert kunne brukt noen andre biblioterer og gjort det litt bedre en ren text transport;)

 

IN.getline(MEMORY.GET,512);

 

AUTO_CONNECT_TEST = (char*) memchr (MEMORY.GET, '#', strlen(MEMRY.GET));

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