C / C# / C++

Tags:    c++

Hej jeg ville bare lige høre hva forskellen er på C / C# / C++



32 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Ja det kan man godt, det findes noget som hedder win32 api'et til c++ som kan bruges til at lave "rigtige" windows programmer i. Der er dog også andre muligheder end win32 api'et, men jeg tror det er den mest brugte.



Well diskotionen kan holdes evigt i gang. Jeg har lige et kort og simpelt spørgsmål jeg vil have svar på: Kan man bygge en kerne f.eks. som Windows XP kernen i ren C++. Kun JA ELLER NEJ, ellers kan vi diskutere resten af natten :D


Til tider er svaret på et spørgsmål så kompliceret at et simpelt ja/nej svar vil være meget tæt på at være løgn.

Skulle jeg besvare dit spørgsmål ville jeg svare:
Nej er mindre ukorrekt end ja.


Okay, hvori ligger det du mener? Pga. af at man skal bruge assambler eller? Fordi det ikke er stærkt nok?



Dygtig brug af inline assembleren i C, kan vel stadig kaldes C? :) Hvis ja, så kan en kerne skrives i ren C eller C++. Ellers, nej,


Nej. Inline assembly er stadig assembly.
Man kan heller ikke sige at JavaScript indlejret i en HTML side er HTML.
C kan heller ikke håndtere interrupts og memory management (på OS niveau), så man slipper ikke uden om assembly.

Ja, det er nemlig det jeg vægter på. Så ved ikke helt hvad jeg vælger. Har arbejde med lidt med begge sprog.


Hvis det er GUI programmering og dit første sprog ville jeg vælge C#. Det er nemmere at komme i gang med og ikke så mange fejl man kan begå.



C, C++ og C# er alle programmeringssprog.

C# er et sprog beslægtet med Java og er en del af .NET. C# er det mest anvendte sprog, når man skal lave løsninger på .NET platformen. Selv foretrækker jeg at bruge C++, men det er ikke særlig anvendligt, når man anvender .NET da C++ på .NET platformen er en MEGET modificeret udgave af C++, hvor syntax'en er meget anderledes fx den managed del, som også hedder C++/CLI. Derfor hvis du vælger C++ så vil jeg anbefale at du benytter native C++.

C# (see section on naming, pronunciation) is an object-oriented programming language developed by Microsoft as part of their .NET initiative, and later approved as a standard by ECMA and ISO. C# has a procedural, object-oriented syntax based on C++ that includes aspects of several other programming languages (most notably Delphi, Visual Basic, and Java) with a particular emphasis on simplification (fewer symbolic requirements than C++, fewer decorative requirements than Java [citation needed]).

C++ (generally pronounced /si pl?s pl?s/) is a general-purpose, high-level programming language with low-level facilities. It is a statically-typed free-form multi-paradigm language supporting procedural programming, data abstraction, object-oriented programming, and generic programming. Since the 1990s, C++ has been one of the most popular commercial programming languages.

Bjarne Stroustrup developed C++ (originally named "C with Classes") in 1983 at Bell Labs as an enhancement to the C programming language. Enhancements started with the addition of classes, followed by, among other features, virtual functions, operator overloading, multiple inheritance, templates, and exception handling. The C++ programming language standard was ratified in 1998 as ISO/IEC 14882:1998, the current version of which is the 2003 version, ISO/IEC 14882:2003. A new version of the standard (known informally as C++0x) is being developed.

C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system.[1] It has since spread to many other operating systems, and is now one of the most widely used programming languages. C also has had a great influence on many other popular languages,[2] especially C++, which was originally designed as an enhancement to C. It is the most commonly used programming language for writing system software,[3][4] though it is also widely used for writing applications.




C, er nok en af de første rigtige programmerings sprog. C bygger ikke på f.eks. dotNet og er platforms uafhænging sammen med C++. Du kan bygge f.eks. bygge et OS i det, og det kan man IKKE i C# da den bygger på .NET teknologien.

C++ er en udvidelse af C. C++ er OOP.

Ja.... Det er vidst lige det jeg ved af forskelle mellem de sprog. Der er mange ting endnu.



Indlæg senest redigeret d. 09.05.2007 19:36 af Bruger #6559
Du kan bygge f.eks. bygge et OS i det, og det kan man IKKE i C# da den bygger på .NET teknologien.


Wrong.
http://en.wikipedia.org/wiki/Singularity_(operating_system)




C++ er en udvidelse af C, det vigtigste er at C++ er objekt orienteret, det understøtter operator overload og templates.

C# har intet med C og C++ at gøre.



The-Freak, de skriver på siden du linker til:
"The lowest-level x86 interrupt dispatch code is written in assembly language and C"

Det synes at indikere at man ikke kan lave et OS i ren C#



C er det sprog som ligger tættest på maskinen, siger man. Efter C har du kun assembler og derefter ren maskinkode. C er et funktionel programmeringssprog som blev udviklet i 1972 af en fyr ved navn Dennis Ritchie.
Dette var ikke nok for Bjarne Stroustrup, så han lånte Simula67 tankegangen som Kristen Nygaard, sammen med en anden nordmand, havde opfundet. Det smarte her var at det var en objekt orienteret programmeringssprog. OOP blev dermed populært og C++, først kaldt "C with objects", blev "formanden" for de nye OOP sprog som sprang frem.
Altså kan man sige at C++ er en udvidelse af C. C++ er et mere abstrakt sprog, hvor imod C er mere ligefrem. C skjuler ingenting.
Ligheden her er at C og C++ kan kompileres med en og samme kompiler. De bliver kompilet og derefter køre på enhver processor.
C# kender jeg ikke meget til men jeg ved at det er en MS teknologi som har et omfattende bibliotek og framework bag sig, som gør den meget rig for en programmør. C# er et OOP sprog som har lånt lidt fra mange steder. Java, Delphi og C++.


The-Freak og Martin Kristensen << altså den evige diskussion er jo det I har gang i :) Singularity er bygget, sådan cirka, i C# men den indholder stadig C og C++ kode. Men det kan man jo diskutere til hudløshed. Min mening omkring dette? Hvor ville man være med det OS hvis man ikke havde C og C++?



Indlæg senest redigeret d. 09.05.2007 21:09 af Bruger #1151
The-Freak, de skriver på siden du linker til:
"The lowest-level x86 interrupt dispatch code is written in assembly language and C"

Det synes at indikere at man ikke kan lave et OS i ren C#


Sidste indlæg fra mig i den her tråd, promise.

Forudsat at man udvider C# sproget nok til at kunne beskrive ting på de helt laveste niveauer, så kan det lade sig gøre, men sådan er det selvfølgelig med de fleste sprog.

Anyway, det jeg mest hentød til var Martin's grund til at man ikke kunne lave et OS i C#, at C# er baseret på .NET-platformen, hvilket også er rigtigt, men som Singularity viser, kan C# sagtens udvides til maskinkode som C og C++.

Så skal jeg nok lade være med at smide mundlort her :).



t