Προς το περιεχόμενο

Διαφορές C# και C++


Sonam

Προτεινόμενες αναρτήσεις

Τώρα τελευταία βλέπω να γίνεται πολύ λόγος για την C#. Τι είναι αυτό και πως ξεφύτρωσε? Το πιο περίεργο είναι ότι την βλέπω σχεδόν πάντα να αναφέρεται σε συνσυασμό με την καινύρια πλατφόρμα .NET της Microsoft. Είναι όντως καινούρια έκδοση της C++ ή καμιά πατέντα της Microsoft? Ποιες είναι οι διαφορές της με την C++ και αν μπορεί κάποιος να κάνει τα ίδια πράγματα που έκανε με την C++. <img border="0" title="" alt="[Confused]" src="images/icons/confused.gif" />

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

εχουν αναφερθεο πολλα ποστ κατα το παρελθον περι του .NET... η C# δεν εχει τοσο μεγαλη σχεση με την C++ .ειναι μια microsoft εκδοχη της Java ...μοιαζει 99% στην συνταξη με την Java...

και οχι μονο.... το .ΝΕΤ ειναι η νεα πλατοφορμα αναπτυξης λογισμικου που προσφερει η Microsoft..σε πολλα σημεια κυριος language mechanics εχει ακριβος τις ιδιες λειτουργιες με την Java , δηλαδη η υπαρξη παραπλησιου μηχανησμου με το Java Virtual Machine (Microsoft Common language Runtime, intermediate compile κωδικας (aseeblies παραπλησιο του Java bytecode κτλ κλτ)

 

Ναι με την c# μπορεις να κανεις οτι και με την c++ και μαλιστα πολυ πιο ευκολα...σαν σημειο αναφορα να εχεις την Java που κατα γενικη ομολογια ειναι πολυ πιο ευχρηστη γλωσσα απο την c++ .

 

H c# ειναι το μεγαλο στοιχημα της Microsoft κατα της Java .. γενικα ειναι μια αξιοπροσεχτη γλωσσα που ομως δεν εχει να μας δειξει κατι καινουργιο γιατι απλα απτωλει μια αντιγραφη αλλων πραγματων ...μεσα στην πλατφορμα του .Net υπαρχει μια ακομη κυρια γλωσσα η VB.Net που δυστηχως για τους VBαδες δεν εχει καμια σχεση με την παλια VB ...Επισης πρεπει να πουμε οτι οι μξχανισμοι που παρεχει το .ΝΕΤ οπως το Common language Runtime ειναι δυνατον μεσα απο το περιβαλλον εργασιας της MS να λειτουργησουν και με παλιες γλωσσες οπως η C++ ..δηλάδη μπορεις να κανεις compile κωδικα C++ και να σου παραγει τα λεγομενα assebly files τα οποια θα μπορουν να τρεξουν σε μηχανημα που θα εχει υποστηριξη του Microsoft Common Runtime Language .

Κακα τα ψεματα το ολο ενχειρημα ειναι αξιοπροσεκτο μονο και μονο για το τα διαφορα χαρακτησριστικα που δινει ..και τους εσωτερικους μηχανισμους...το μονο του κακο και μελανο σημειο ειναι οτι δεν δινει κατι νεο...βασιζεται σε ιδεες και πατεντες που αλλοι της εχουν κανει και παιζουν εδω και καιρό...

 

Ελπιζω να σε καλυψα

 

<small>[ 06-05-2002, 18:34: Το μήνυμα επεξεργάστηκε από: apoc ]</small>

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">Originally posted by apoc:

<strong>

ειναι δυνατον μεσα απο το περιβαλλον εργασιας της MS να λειτουργησουν και με παλιες γλωσσες οπως η C++ ..δηλάδη μπορεις να κανεις compile κωδικα C++ και να σου παραγει τα λεγομενα assebly files τα οποια θα μπορουν να τρεξουν σε μηχανημα που θα εχει υποστηριξη του Microsoft Common Runtime Language .

</strong></font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Αυτό δεν είναι 100% σωστό. Δεν μπορείς να χρησιμοποιήσεις στο CLR sandbox C++ που συμορφώνεται με τα ANSI πρότυπα, ούτε COBOL, Eiffel, Java, ο,τιδήποτε. Η Microsoft είχε να κάνει αλλαγές για ακόμα μία φορά (ω, τι έκπληξη) στη σύνταξη και στην αρχιτεκτονική των γλωσσών. Αντί για τις κανονικές γλώσσες μπορούνε να χρησιμοποιηθούνε παραλλαγές των αυτών των γλωσσών που συνήθως παίρνουνε το # σύμβολο στο τέλος (για παράδειγμα Eiffel#, COBOL# κοκ). Μαζί με τις γλώσσες αυτές πρέπει να χρησιμοποιηθούνε ειδικοί κανόνες και επιπλέον εντολές που ονομάζοντε Managed Extensions για να μπορεί το CLR να καταλάβει τα μετα-στοιχεία που δεν υποστηρίζοντε από τις πρότυπες γλώσσες.

 

Το παρακάτω είναι ένα παράδειγμα χρησιμοποιώντας Managed Extensions για C++:

 

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">#using <mscorlib.dll>

using namespace System;

 

namespace SDExample {

__gc public class SimpleComponent {

 

private:

String* mName;

 

public:

SimpleComponent() {

mName = new String("anonymous");

}

 

__property int get_Name()

{ return mName; }

};

};[/code]</blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Με λίγα λόγια πρέπει να γίνουνε αλλαγές σε ήδη υπάρχων C++ κώδικα για να δουλέψει με το .ΝΕΤ.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν και δεν έχω προλάβει να ασχοληθώ με την καινούργια πλατφόρμα της Microsoft (εκτός λίγο απο την VB όπου διαπίστωσα και εγώ τις μεγάλες διαφορές), αλλά αν ισχύουν αυτά που λές Γηρυο (μόνο εσύ θα μου κόβεις το όνομα?) τότε θα ήθελα να δώ πώς θα πείσει η microsoft τους χιλιάδες πελάτες τους να πληρώσουν τα κέρατα τους για να ξαναγράψουν ήδη γραμμένο κώδικα.

Εκτός και αν υπάρχουν tools που το κάνουν αυτόματα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

As min ksexname kai to basikotero paidia. Yposxete na oti tha ipostiriksei se 5 xronia pragmata pou i java idi ta ipostirizei.

 

To basikotero...i java einai asfalestati kai den exoun anaferthei problimata edo kai tosa xronia pou kikloforei (Exei dokimastei arketa xronia), eno i .NET liges meres prin apo tin kikloforia tis eixan anakoinothei idi 2 ioi kai arketa bug.

 

Kaka ta psemata paidia, ta monopolia tis microsoft kindinevoun apo afto pou apokaloume platform independent. Gia afto kai prospathise prin merika xronia na xtipisei tin Java me tin J# kai eftixos apetixe (Anagastike na plirosei kai prostimo gia tin diaforopioimeni JVM tis). Tora kanei mia defteri prospatheia kai apo tin stigmi pou den exei dosei basi stin asfaleia (pou paizei simantiko rolo stin epoxi mas) den fenete na exei kai poli mellon.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Apo oti katalaba, giati epsaksa na enhmerwthw kai to koitaksa poly analutika, den sumferei na asxolitheis katholou me c#. Kalytera na parameinw se C++ pou thn kserw kai ypostirizetai apo oles tis platformes leitourgikwn para na programmatizw mono gia proionta tis Microsoft... <img border="0" title="" alt="[Cool]" src="images/icons/cool.gif" />

 

Bebaia proseksa kapoia kainouria stoixeia tis C# pou den yparxoun sthn C++, ta opoia exoun uotheththei apo Java.

 

Telika h Microsoft ti paei na kanei? Dikes tis glwsses programmatismou? Allh mia apotyxia ston orizonta. Microsoft enantion olwn... <img border="0" title="" alt="[big Grin]" src="images/icons/grin.gif" />

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Opos sosta proipothike i C# ( proferetai C sharp ) einai mia pliris antigrafi tis Javas. Malista ta palikarakia tis microsoft exoun kanei kai parser o opoios apo oti legetai metafrazei java kodika se C#. To provlima pou prokeiptei omos einai oti autos o "metafrastis" einai compatible mono me to jdk1.X den thimamai akribos pio ver alla einai palaiotero kai apo to industry standard. Pisteuo oti i apantisi stin erotisi sou einai, "Poies oi diafores tis Javas kai tis C++ " mias kai opou C# kane replace me Java. Os gnosto auta ta paidia sti Microsoft den boroun na kanoun kati diko tous, prepei panta na exoun kleipsei kati.......

 

Anamenontai polla gelia me tin Intel kai tin Microsoft se ligo kairo tha deite ti ponokefalo tha feroun ta 64 - Bit.

 

If u cn r3d dis u mst b uzn unx.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εννοείς ότι μεταφράζει Java κώδικα σε C# πηγαίο κώδικα ή σε .NET bytecode; Γιατί ήδη υπάρχει μεταφραστής που μεταφράζει Java πηγαίο κώδικα σε .NET bytecode. Αλλά όπως είπες και εσύ είναι μία παλαιά έκδοση, η τελευταία που επιτράπηκε στη Microsoft να χρησιμοποιήσει τη Java (πρωτού κάνει τις παράνομες μετατροπές της), η 1.1.4, ενώ η πρότυπη έκδοση είναι η 1.2 (aka Java 2). Γι' αυτό και ο J++ αποδελτιωτής έχει μείνει ακόμα στην 1.1.4.

 

Sonam: Χίλιες φορές C++ παρά C#.

 

Μπάντι: χεχεχεχε. Νομίζω ότι κάποτε το ψευδώνυμό σου ήτανε μπάντι ή κάνω λάθος;

 

<small>[ 08-05-2002, 15:33: Το μήνυμα επεξεργάστηκε από: Γηρυόνης ]</small>

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Mallon me mperdebeis me kapoion ellon egaphte gyrionh <img border="0" title="" alt="[smile]" src="images/icons/smile.gif" />

To prohgoumeno pseudonimo mou htan Dimokritus <img border="0" title="" alt="[big Grin]" src="images/icons/grin.gif" />

Pantws kai meta apo oti egrapse o root katalhgoume sto idio sumperasma:

Kalytera C++ para C#.

 

Pantws h microsoft phge na kanei kati prototypo:

 

c#=j++=c++=java=delphi=pascal=...=lisp=logo... <img border="0" title="" alt="[big Grin]" src="images/icons/grin.gif" /> <img border="0" title="" alt="[big Grin]" src="images/icons/grin.gif" /> <img border="0" title="" alt="[big Grin]" src="images/icons/grin.gif" />

 

Genika:

Kalytera oti den anagrafei "Made by Microsoft"

<img border="0" title="" alt="[Wink]" src="images/icons/wink.gif" />

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν και εχω περασει για λιγο αποτον κοσμο της C++

(αρα η γνωμη δεν εχει ιδιαιτερο βαροσ) , και μαλιστα την γνωρισα σε δυστροπα πραγματα οπως WINAPI 32 και δεν μου αρεσαι καθολου ...οφειλω να ομολογησω οτι προτειμο να κανω Windows Based (μιλαω με Windows System Specific ) πραγματα με την C# παρα με την C++ ...δεν ξερω αν συμφωνει κανεις.....

Απο την αλλη μαλλον εχω συνηθισει πολυ της ευκολιες της Java και καθε ευκαιρια που για διαφορους λογους πρεπει να γυρισω σε C++ , μαλλον μου κακοφαινεται!...χεεεχεχεχ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

I C# den ksefytrose alla ypirxe apo kairo kai malista theoreite i adikatastatria tis C++ (etoimazete 7.0)

Einai polli kali san glossa kai grigori prosopika ego tin protimo apo java logo tis taxytitas tis.

I kyria isos diafora tis me tin C++ einai oti i C# exei dynatotites antikeimenostrefous programmatismou (koinos Java) oxi pos i C++ den eixe alla i C# leei polla ston tomea ayto

Conclusion: Sou proteino anepifylakta na asxolitheis me C# einai to mellon!!

29 programmatistes synistoun... <img border="0" title="" alt="[Wink]" src="images/icons/wink.gif" />

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Nai i c# einai poli oraia glosa, moiazei poli me java(den einai omos java) exei orismena stoixeia apo C kai einai pio grigori apo tin java.

Omos i java einai pio asfales glossa, kai episis otan tha vgoun oi protoi kanonikoi compilers JIT(gia windows, uparxoun gia solaris)to thema taxutas den tha uparxei H h diafora tha einai poli mikri.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Η C# δεν ξεφυτρωσαι αλλα ουτε εχει ριζες με την C++ ...το concept της C# ειναι πληρως βασισμενο στο concept της Java (με λιγη δοση Delphi)... τωρα οι κυριοι στην Microsoft λενε οτι το .net ειναι προσπαθεια 5 ετων...ε ενταξει τα παραλενε λιγο...

Αληθεια μηπως εχει παρατηρησει κανεις οτι c# windows application πραγματα κατα το execution δεν ειναι τοσο σβελτα οσο μια κλασικη C++ εφαρμογή..χεχεχ καλωςηθατε στον κοσμο του Virtual Machine βλεπε CLR ...η Java (SUN) 3-5 χρονια εμπειριας πανω σε τεχνογνωσια τετοιου ειδους....

το χασμα στις επιδοσεις ειναι θεμα χρονου να βελτιωθει..οχι παρα πολυ...παραπλα αυτα ειναι ενα προβλημα..που το αναγωριζουν ολοι...

 

επισης για να κανουμε και μια μικρη αναδρομη στο παρελθον και να αναγνωριζουμε ποιοι πραγματικα εχουν φερει επαναστατικες ιδεες στον κοσμο του προγραμματισμου...να θυμισω οτι το concept του intermediate language , Virtual Machine και Run time...σε μια απλοποιημενη μορφη...ανοικει σε μια εκδοση της Pascal ..την λεγομενη UCSD Pascal...

Γιατι ετσι οπως παμε θα αρχιζουμε να πιστευουμε οτι ολα τα εφιαξε η Μιcrosoft...

 

c# μια πραγματικα Multiplatform γλωσσα

Win95/win98/winMe/Win2000/WinXP

χαχαχαχχα και ομως στα διαφημιστικα τους σε παρουσιασεις του .Νετ αυτα λενε....

 

..ζητω συγνωμη αν το παρακανα...στα σχολια μου

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">Originally posted by sk8:

<strong>I C# den ksefytrose alla ypirxe apo kairo

</strong>

</font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Τι εννοείς όταν λες ότι υπήρχε από καιρό; Θυμάμαι η επίσημη ανακοίνωση της C# είχε γίνει το καλοκαίρι του 2000 και το DD Journal είχε κάνει αφιέρωμα τον Οκτώβριο του 2000. Τώρα αν εσύ εννοείς 2 σχεδόν χρόνια «από καιρό» αυτό είναι άλλη υπόθεση.

 

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">

<strong>

kai malista theoreite i adikatastatria tis C++ (etoimazete 7.0)

</strong>

</font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Ποιός το λέει αυτό; Σε δικτυακό τόπο της Microsoft το διάβασες; Λογικό θα ήτανε άλλωστε μιας και αν δεν παινέψεις το σπίτι σου θα πέσει να σε πλακώσει.

 

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">

<strong>

Einai polli kali san glossa kai grigori prosopika ego tin protimo apo java logo tis taxytitas tis.

</strong>

</font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">ʼτοπον και φρούδο. Από τη στιγμή που και οι δύο γλώσσες στηρίζοντε στην ίδια αρχιτεκτονική τί σε κάνει να το λες αυτό; Ίσα ίσα το αντίθετο θα έλεγα. Η Java είναι γρηγορότερη από τη C# εφόσον είναι πιο παλαιά και η Εικονική της Μηχανή είναι αρκετά πιο βελτιστοποιημένη από την αντίστοιχη της C#.

 

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">

<strong>

I kyria isos diafora tis me tin C++ einai oti i C# exei dynatotites antikeimenostrefous programmatismou (koinos Java) oxi pos i C++ den eixe alla i C# leei polla ston tomea ayto

</strong>

</font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Η κύρια διαφορά της με τη C++ δεν είναι καθόλου η αντικειμενοστραφής προσανατολισμός αλλά πάμπολες άλλες. Ο τρόπος με τον οποίο χειρίζεται τη μνήμη, η μετάφραση του κώδικα, η αυτόματη δημιουργία COM αντικειμένων (κάθε αντικείμενο στη C# είναι αυτονοήτως COM), εύκολη προσαρμογή web services και XML κλπ. Ο αντικειμενοστραφής χαρακτήρας είναι από τα τελευταία και τα λιγότερο ξένα μεταξύ τους.

 

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">

<strong>

Conclusion: Sou proteino anepifylakta na asxolitheis me C# einai to mellon!!

</strong></font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Θα ήτανε πολύ καλύτερο να ασχοληθείς με τη C++, Smalltalk, Eiffel ή οποιαδήποτε άλλη παρά με τη C#. Δεν προσφέρει τίποτα αρκετά σημαντικότερο από αυτά που μπορούνε να σου προσφέρουνε οι προαναφερθείσες γλώσσες. Και επιπλέον τρέχει μόνο σε .NET. Αν πάλι θέλεις να ασχολείσαι αποκλειστικά και μόνο με MS προϊόντα τότε η επιλογή είναι δική σου. Πάντως εμείς σε προειδοποιήσαμε.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...