Gå til innhold

Hva er forskjell på c / c++ / c# ...?


Anbefalte innlegg

Videoannonse
Annonse

C# er ikke et "c-språk" .. det er MS sin versjon av Java

 

http://public.research.att.com/~bs/bs_faq.html#difference

 

vet ikke om det blir nevnt der, men det er verdt å si at man ikke uten videre kan kalle C++-funksjoner fra andre språk .. det er kun mulig ved å legge til extern "C" forran deklarasjonen av funksjonen (og da mister man endel av C++-mulighetene i sammenheng med den funksjonen) .. (derimot det å kalle funksjoner skrevet i C uten forbehold er mulig)

 

C blir i dag mye brukt til å skrive de små delene av et program som trengs å være optimale med tanke på hastighet - mens man i stedet bruker andre høynivå-språk til selve "logikken" .. man skriver gjerne hele programmet i et høynivå-språk først, for så å luke ut de delene som trengs å optimaliseres og skriver da disse om i C (altså når man helt til slutt er sikker på hvor disse sitter)

 

C (og muligens C++) er dog verdt å lære seg uansett med tanke på at det er ganske nært maskinvaren; og man får da en god forståelse av hvordan minne og slike ting fungerer

 

var jeg deg ville jeg droppet C#, da det er laget av et firma er kjennt for å "føkke opp" og gjøre ting vanskelig for brukere og utviklere .. Java er et mye bedre alternativ her; da Sun i det minste er villig til å drive aktiv support og utvikling på andre plattformer enn sine egne ..

Lenke til kommentar

det er MS sin /implementasjon/ av Java (?)

 

i stedet for «versjon» kunne jeg kanskje sagt «svar», men et svar behøver ikke være så (forholdsvis) likt som det C# og Java er (ment å være?) .. vet egentlig ikke hvilke av ordene som gjør at en utenforstående forstår forholdene best

Lenke til kommentar

C# har vel prøvd å ta det beste fra java og det beste fra c++ og sette dette sammen til det ultimate språket. Til en viss grad fungerer dette bra i de fleste applikasjoner, men til tyngre oppgaver som må være optimaliserte og uten noe særlig form for overhead bruker man C eller eventuelt assembly.

 

Som nevnt over vil enhver programmerer ha godt av å kunne litt C da språket tar for seg mange av grunnprinsippene innen programmering, og man blir ikke passet på i like stor grad som f.eks i Java. Man må sørge for frigjøring og allokering av minne selv blant annet.

 

I det store og det hele er Java/C# meget brukbare språk spesielt når det gjelder objekt orientert programmering, mens C er litt mer "hardcore".

 

Eks:

Jeg vil lage en CD/DVD database og vil ha et greit brukergrensesnitt for å legge inn og lese info om mine CD/DVD'er. Bruker C#/Java for det går fort å sette opp og tar sikkert ikke mer enn noen timer å få ferdig applikasjonen.

 

Eks2:

Jeg vil lage en Open GL (3D) demo/spill. Jeg bruker C/C++ med OpenGL libraries for jeg vil at applikasjonen skal kompileres og optimaliseres for maks ytelse. Og jeg vil absolutt ikke at den skal dele ressursene og bli kjørt som bytecode i CLR/JRE (Common Language Runtime/Java Runtime Engine)

Lenke til kommentar
php gtk er et slags program som gjør om "programmer" du har skrevet i php til stand-alone applikasjoner, tror jeg.

Eller noe sånt...

5357780[/snapback]

 

Rått. Noen som vet mer om dette? Hadde vært gøy å prøve.

 

Edit: Dabear, du kan vel?

Endret av AlXz
Lenke til kommentar

Både C# og Java blir regnet som C-baserte språk. De har tatt mange elementer fra C spesielt med tanke på syntaks. Og de fleste C/C++ programmerere vil ha små problemer med å lese og skrive C# og Java.

 

C på sin side blir mindre brukt for hver dag som går. Svært få nye programmerere lærer eller bruker C. De som bruker C i PC-verdenen i dag er stort sett erfarne programmerere som foretrekker det av gammel vane. Men språket har fortsatt et liv for platformer med begrenset tilgang til andre kompilatorer.

 

Angående C# deler jeg ikke daysleprs skepsis selv om det er MS som har utviklet språket. Det finnes allerede i dag implementasjoner av C# på andre platformer og det finnes også en referanseimplementasjon av en C#-kompilator for FreeBSD tilgjengelig for de som er interesserte. C# er etter mitt synspunkt et nydelig språk som er mer gjennomtenkt og bedre enn Java. Og Java er faktisk på mange måter mer lukket enn C#. Men begge språkene har jo sine fordeler og ulemper.

 

Noe som er helt sikkert er at C# og Java er kommet for å bli. GUI på Windows kommer nesten utelukkende til å bli skrevet i .NET og C# om et par år. Det vil alltid bli stilt høyere krav til programvare og dermed økt produktivitet. Derfor vil det alltid være behov for verktøy som gjør det enklere for oss programmerere. Og det er ikke tvil om at C#/.NET og Java gjør akkurat det.

Lenke til kommentar

grunnen til at jeg er litt skeptisk til C# er at jeg har mistanke om at MS kommer til (som mange ganger tidligere) å legge til utvidelser siden, uavhengig av standarer -- og man ender da opp med ikke-portabel kode/programmer .. dette kan gjelde både på språk- og bibliotek-siden

 

får se hva som skjer .. det er jo fortsatt relativt nytt .. jeg holder meg i hvertfall "rolig" foreløpig

Lenke til kommentar

I hvor mange år skal man kalle et språk nytt? C# har da eksistert i noen år nå... Jeg er heller ikke helt enig i at MS har for vane å gjøre ting vanskelig for utviklere. Jeg mener at C# er mer anvendelig enn Java (og ja, jeg kan begge). I alle fall med tanke på at alle mine kunder bruker Win og slikt...

Lenke til kommentar
grunnen til at jeg er litt skeptisk til C# er at jeg har mistanke om at MS kommer til (som mange ganger tidligere) å legge til utvidelser siden, uavhengig av standarer -- og man ender da opp med ikke-portabel kode/programmer .. dette kan gjelde både på språk- og bibliotek-siden

 

får se hva som skjer .. det er jo fortsatt relativt nytt .. jeg holder meg i hvertfall "rolig" foreløpig

5360037[/snapback]

Det har allerede kommet oppdateringer på C#. Versjonen i Visual Studio 2005 fikk blant annet støtte for anonyme metoder og generics. Såvidt jeg vet er forandringene sendt inn for standardisering til ECMA (slik de gjorde med første versjon).

 

ECMA link: http://www.ecma-international.org/publicat...ds/Ecma-334.htm

Endret av kjetil7
Lenke til kommentar

Hvorfor sier Microsoft at .NET er platformuavhengi?

 

De lager ikke .NET-runtime til Linux/BSD.

Det er nesten som om de burde betale mono prosjektet for og lage open .NET, og hva er forresten vitsen med og lage et platformuavhengi rammeverk for så og ha det på bare egen platform?

Lenke til kommentar

Hotstian: definer plattform for meg, det kan nemlig ha flere betydninger. Wikipedia bekrefter dette:

the free encyclopedia.

Jump to: navigation, search

 

In computing, a platform describes some sort of framework, either in hardware or software, which allows software to run. Typical platforms include a computer's architecture, operating system, or programming languages and their runtime libraries.

Så viss MS mener kanskje her at .net er uavhengig av programmeringsspråk?

 

Angående php-gtk: Det er rett og slett skikkelig dårlig. Det er treigt, og gtkapi-frontenden (om jeg kan kalle det det) er delvis veldig dårlig. Og det er slit å kompilere phpkoden til .exe filer. Og da er programmet plutselig ikke plattformuavhengig.

 

Jeg ville sagt: sats på python.

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