welche MFC IDE? C++6.0, c++ .net oder gar c# ??
-
Hallöchen,
habe vor mir endlich mal ne richtige IDE zu kaufen. Ich weiss schon das C# ganz toll sein soll aber dafür langsam. Dann nehm ich doch lieber java statt c#...
Stimmt das so ? oder ist das Troll Geschwätz?
Sehe ich das richtig das c++.net und c++6.0 sich nur darin unterscheiden, das c++.net noch einige Bibliotheken mehr mitbringt, sodass es NUR Sinn macht gleich Visual c++ .net zu verwenden?? Oder gibt es noch mehr Unterschiede?
Ich kann mir als Student nur die Standard Version leisten. Unterscheidet diese sich nur lizenzrechtlich zur Professional oder auch funktional?
Darf ich mit der Standard shareware erstellen, oder nur freeware?
-
Du darfst auch mit Standard schon alles erstellen und verkaufen, was du willst... allerdings fehlt da so einiges im Vergleich zur Professional (udn noch mehr zur Enterprise-Edition). Was genau das ist, kann ich dir jetz nicht sagen (steht auf der Microsoft Website) , ich glaub das sind bestimmte Laufzeitoptimierungsmöglichkeiten und ähnliches..
-
Compileroptimierungen, statisches Linken der MFC-DLLs.
-
da gibt's studenten versionen zum schnäpchen!
-
hmm Danke!
aber noch mal zur anderen Frage. Was empfielt Ihr mir c++, c++ .net c# ?
-
.NET ist das ganze spezialisiert für Internet/verteilte Anwendungen/ASP ! Also keine neue Programmiersprache!
Unterscheiden kann man nur zwischen C++, Managed C++ und C#
Prinzipiell ist das ganze Geschmacksache, daher nur meine Meinung:- Managed C++ ist C++ mit der Eigenschaft, das alles Objekte mit new angelegt werden. Handelt es sich aber um lokale Objekte, wird das Objekt beim Verlassen der Routine gelöscht. Ist also meiner Meinung nach schlecht für die Verständlichkeit der Unterscheidung zwischen Heap- und Stack-Variablen. Weiterhin gibts keine syntaktische Unterscheidung zwischen Pointern und Stackvariablen
- C# ist zuviel Geschreibsel
Bsp.:this.lstColor.MeasureItem += new System.Windows.Forms.MeasureItemEventHandler(this.MeasureItemHandler);
Ausserdem ist noch nicht sicher, inwieweit sich die beiden durchsetzen werden, d.h. auf anderen Betriebsystemen laufen!
-
okay Danke! Aber noch mal meine Frage: Gibt es einen Unterschied der Programmiersprache c++ und c++ .net ?
Ich will nämlich eine API verwenden, die c++ .net voraussetzt. Ist das ganz normales c++ mit den net Bibliotheken, oder muss ich undbedingt zu c++ version 6 greifen um ganz normal c++ coden zu können?
thx!
-
Original erstellt von RenéG:
**
- C# ist zuviel Geschreibsel
Bsp.:this.lstColor.MeasureItem += new System.Windows.Forms.MeasureItemEventHandler(this.MeasureItemHandler);
**
Na, so kann ich das aber nicht stehenlassen.
Mit ner vernünftigen IDE nimmt dir IntelliSense ne Menge Arbeit ab. Außerdem werden dir Statements wie oben schon von der IDE per Klick generiert.
-
Es gibt zu viele C++-Entwickler, die nix mit .NET am Hut haben, daher wird M$ sicherlich reines C++ weiterhin implementieren.
Wie schon gesagt, aber von Dir net richtig gelesen: C++ .net gibt es nicht. Es ist nur leichter, mit dem neuen .NET-Framework verteilte Anwendungen zu debuggen bzw. COM-Server anzusprechen!
-
'tschuldigung, aber wer soll das lesen. Ich habe alleinigerweise ein Projekt in MFC-C++ geschrieben, welches mehr als 1,2MB Quellcode hat und mit der neuen Syntax, auch wenn einiges von Assistenten übernommen wird, fast das doppelte an Code einnimmt. Wer soll denn das noch lesen?
-
Für dieses Problem hat MS ja das Schlüsselwort #region eingeführt, damit man in der IDE den Quellcode auf- und zuklappen kann.
-
hmm sorry ich peils immer noch nicht ganz. Es gibt von M$ folgende IDEs:
1. Visual Studio .NET
2. Visual C++.NET
3. Visual C++ 6
4. Visual C#.NETKann Ich mit ersteren 3en ganz normalen c++ code schreiben, so wie ich es gewohnt bin?
Eine kleine Erklärung zu den 4 IDEs wäre sehr willkommen. Kann nirgendwo finden wie sich diese unterscheiden..
-
Visual Studie.NET behinhaltet
Visual Basic.NET
Visual C#.NET
Visual C++.NETWenn du .NET-Applikationen schreibst, ist es (fast) egal, welche Sprache du nimmst, weil ja alle drei auf dem .NET-Framework aufsetzen.
Du kannst aber mit Visual C++.NET auch Nicht-.NET-Applikationen schreiben.
Visual C++.NET hat ATL 7.0 and MFC 7.0.Alle 3 Sprachen in Visual Studio.NET verwenden die selbe IDE.
[ Dieser Beitrag wurde am 25.10.2002 um 10:26 Uhr von ms editiert. ]
-
-
als student brauchst du dir sowas doch nicht zu kaufen. es gibt doch dieses academic alliance programm oder wie das heisst. also wir koennen uns an der uni saemtliche microsoft cds einfach ausleihen und kopieren. (auch betriebssysteme und visio und so)
-
Na da muß ich mal volles Rohr dazwischen gehen!!!!!!!!!!!
An den Menschen der gesagt hat das C# viel geschreibe wäre.
Kollege, schon mal was von Namensbereichen gehört?????[cpp]
Also in C++:
namespace desired_namespaceund in C#
using System.Windows.Forms;
[/cpp]Von wegen viel Schreibarbeit!
-
C# .NET und WinAPI im Zusammenspiel, da wird der neumodische Blödsinn (?!) so richtig sichtbar:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp09192002.asp
Da ist MFC + WinAPI + C++ doch richtig niedlich und einfach dagegen.
-
@CPPSchwachsinniger:
in C++:
class C1 { public: void F1() = 0; void F2(); // Im Public-Bereich, daher kann Schlüsselwort gespart werden protected: virtual void F3(); void F4() = 0; // Im Protected-Bereich, daher kann Schlüsselwort gespart werden }; class C2 : public C1 { public: void F3(); // überschreibt F3 in C1 automatisch, weil in C1 als virtual deklariert };
in C#:
abstract class C1 // wozu hier abstract?? Wenn abstrakte Methode, dann logischerweise Klasse auch abstrakt! { public abstract void F1(); public void F2(); protected virtual void F3(); protected abstract void F4(); }; class C2 : C1 // Was ist das für eine Vererbungsmethode? { public override void F3(); // Schlüsselwort override muss net sein! };
Fazit: Ich gebe Bill Gates recht!
-
abstract class C1 // Lesbarkeit?
{
public abstract void F1();
public void F2();
protected virtual void F3();
protected abstract void F4();
// so steht das ja nie im Quellcode. da Methoden nur inline definiert werden können,
// verliert man ohne diese Schlüsselwörter den Überblick
// wenn man beabsichtigt nur abstrakte Methoden zu deklarieren, nimmt man besser gleich ein interface
};
class C2 : C1 // öffentliche Vererbung, private und protected hab ich in C++ auch nur seltenst gesehen
{
public override void F3();
};[/code]