Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   MS C++ vs. Borland C++ (https://www.delphipraxis.net/108771-ms-c-vs-borland-c.html)

richard_boderich 19. Feb 2008 11:52


MS C++ vs. Borland C++
 
Hallo zusammen!

Ich wollte mal Fragen, ob es sprachliche Unterschiede zwischen MS Visual C++ und Borland C++ Builder gibt. Das heist, ob zum Beispiel
bestimmte Construkte, Parameter oder Operanden fehlen bzw. unterschiedlich sind? Sind Sourcecodes austauschbar?
Unterstützt Borland auch RAD? Ist dort ein Pedant zur VCL mit enthalten?

mfG Richard

mkinzler 19. Feb 2008 11:58

Re: MS C++ vs. Borland C++
 
Beide Hersteller haben bestimmte Erweiterungen implemnetiert. So funktionieren c++-Dlls von VC nur dort. Borland hat Erweiterungen eingeführt um mit der in Delphi geschriebenen VCL interagieren zu können
Zitat:

Unterstützt Borland auch RAD?
Ja. C++-Builder
Zitat:

Ist dort ein Pedant zur VCL mit enthalten?
Ja, die VCL

richard_boderich 19. Feb 2008 13:29

Re: MS C++ vs. Borland C++
 
Also wenn ich auf Dll's und VCL verzichte sind sie Sourcen austauschbar? Oder gibts da noch Syntaxunterschiede?

mfG Richard

Muetze1 19. Feb 2008 15:15

Re: MS C++ vs. Borland C++
 
Zitat:

Zitat von richard_boderich
Also wenn ich auf Dll's und VCL verzichte sind sie Sourcen austauschbar? Oder gibts da noch Syntaxunterschiede?

Die DLLs sind nicht binärkompatibel. Sprich: wenn du dein C Quellcode erstellst welcher eine DLL ist, dann kannst du die mit beiden Produkten erstellen und dann auch nutzen. Aber z.B. C++ übder die Funktionen (Klassen, -zeiger, etc) sind nicht kompatibel. Da müsstest du eine C++ DLL vom MS VC auch mit einem MS VC Programm nutzen/ansprechen.

Und noch ein Hinweis: Microsoft bezeichnet sein MSVC explizit als nicht RAD. Eine RAD von Microsoft ist nur Visual Basic nach den Angaben von Microsoft.

richard_boderich 19. Feb 2008 15:36

Re: MS C++ vs. Borland C++
 
Ok, daank an euch zwei.

mfG Richard

DMW 19. Feb 2008 17:47

Re: MS C++ vs. Borland C++
 
Zitat:

Zitat von Muetze1
Die DLLs sind nicht binärkompatibel. Sprich: wenn du dein C Quellcode erstellst welcher eine DLL ist, dann kannst du die mit beiden Produkten erstellen und dann auch nutzen. Aber z.B. C++ übder die Funktionen (Klassen, -zeiger, etc) sind nicht kompatibel. Da müsstest du eine C++ DLL vom MS VC auch mit einem MS VC Programm nutzen/ansprechen.

Über COM wäre auch noch eine Möglichkeit, falls denn dringender Bedarf bestünde.


Zitat:

Zitat von Muetze1
Und noch ein Hinweis: Microsoft bezeichnet sein MSVC explizit als nicht RAD. Eine RAD von Microsoft ist nur Visual Basic nach den Angaben von Microsoft.

Die Information muß aber schon etwas älter sein. Jedenfalls weiß ich nicht, was an Visual C# weniger RAD sein soll als an VB.NET.
... oder Microsoft hat mit der Einführung von VB.NET auch die "RAD-ness" abgeschafft :mrgreen:

richard_boderich 19. Feb 2008 18:28

Re: MS C++ vs. Borland C++
 
Ich bezog mich auf die Win32 Entwicklung mit C++ und nicht mit C# ;)

DMW 19. Feb 2008 18:36

Re: MS C++ vs. Borland C++
 
Zitat:

Zitat von richard_boderich
Ich bezog mich auf die Win32 Entwicklung mit C++ und nicht mit C# ;)

Das war mir schon klar. Unabhängig davon bietet Microsoft trotzdem ein Tool namens Visual C# an, das das Attribut "RAD" meiner Auffassung nach ebenso(wenig?) verdient wie VB, womit ich lediglich die von Muetze1 zitierte Behauptung, VB sei die einzige MS-RAD-IDE, in Zweifel ziehen wollte. Insofern war das ein wenig OT und hatte gar nichts mir dir zu tun ;)

Muetze1 19. Feb 2008 19:48

Re: MS C++ vs. Borland C++
 
Hatte ich auf den VS2008 Express Edition Seiten gelesen. Dort stand dies wie oben genannt. Ich bin gerade am CSI schauen, somit erspare ich mir erstmal das raussuchen eines Zitats. Bitte verzeiht mir dies...

grenzgaenger 19. Feb 2008 21:25

Re: MS C++ vs. Borland C++
 
Zitat:

Zitat von richard_boderich
Also wenn ich auf Dll's und VCL verzichte sind sie Sourcen austauschbar? Oder gibts da noch Syntaxunterschiede?

die sourcen sind nur austauschbar, wenn du dich an einen höheren standard wie K&R oder ansi hälst. sonst fangen die problem nach den 16 befehlen im sprachcode bereits an.

pitti platsch 19. Feb 2008 22:00

Re: MS C++ vs. Borland C++
 
Das Problem von Standards (also ANSI) ist, dass sich Microsoft nur sehr oberflächlich bis gar nicht darn hält (zB STL), wie sich Borland da verhält weiß ich nicht, aber ich schätze, auch nicht so rosig. By the way: ich plädiere für den GCC^^

Peter

DMW 19. Feb 2008 22:23

Re: MS C++ vs. Borland C++
 
Zitat:

Zitat von pitti platsch
Das Problem von Standards (also ANSI) ist, dass sich Microsoft nur sehr oberflächlich bis gar nicht darn hält (zB STL)

Auch diese Information ist schon recht alt. Das galt bis VC 6 (1998-2001), mittlerweile ist VC 9 (2008) verfügbar. Die Standardunterstützung ist praktisch einwandfrei.


Zitat:

Zitat von pitti platsch
wie sich Borland da verhält weiß ich nicht, aber ich schätze, auch nicht so rosig.

Der BCC ist hinsichtlich Standardkompatibilität nicht ganz auf dem Niveau des VC (in den Untiefen der Template-Metaprogrammierung stolpert man manchmal über Probleme). Aber grundsätzlich ist die Unterstützung sehr gut, und die Tendenz ist seit C++Builder 2007 wieder stark steigend.

sakura 19. Feb 2008 22:23

Re: MS C++ vs. Borland C++
 
Zitat:

Zitat von pitti platsch
wie sich Borland da verhält weiß ich nicht, aber ich schätze, auch nicht so rosig.

Schon besser als MS, aber auch noch nicht 100% ANSI, wird aber mit jedem Release etwas besser. ;) Nur wenn der andere das nicht kann, dann nutzt es auch nicht viel :mrgreen:

...:cat:...

mschaefer 20. Feb 2008 08:39

Re: MS C++ vs. Borland C++
 
Mag da mal den Link auf den Borland c++ Ansi-Compiler legen Link Grüße /Martin

OregonGhost 20. Feb 2008 09:24

Re: MS C++ vs. Borland C++
 
Ich muss DMW zustimmen und sakura widersprechen, die Standardkonformität der letzten Microsoft-C++-Compiler (also ab 2005) ist bis auf einen Template-Bug, der mit dem 2005-SP1 gekommen ist (weiß gar nicht, ob er mit 2008 behoben wurde), sehr gut. Diese unglücklichen Altlasten wie for-Schleifenvariablen, die auch hinter der Schleife gültig bleiben und so, gehören also der Vergangenheit an (kürzlich in einem Code gefunden, der auf eVC++3 und VC++8 kompilieren muss) :mrgreen:
Der 2008er Compiler kann übrigens mit einem derzeit in Beta befindlichen Feature-Pack mit einigen TR1-Stücken ausgestattet werden. Das könnte insbesondere im Hinblick auf die Zukunft (also auf C++0x) interessant werden.

Übrigens ist der C++-Standard nicht mehr nur ein popeliger ANSI-Standard, sondern ein ISO-Standard. Nur mal nebenbei, weil das Schlagwort ANSI hier einige Male gefallen ist.

richard_boderich 20. Feb 2008 09:41

Re: MS C++ vs. Borland C++
 
mmmhhh...

Ich bin immernoch unschlüssig was ich nehmen soll. Gibt es sonst noch Vorteile/Unterschiede?
Gibt es den für MS C++ auch solche grafischen Frameworks wie die VCL für Borland C++? Ich denke da an wxwidgets oder QT, die RAD ermöglichen? Das Compilat sollte ohne .Net Framework als reine Win32 Lösung lauffähig sein.


mfG Richard

Bernhard Geyer 20. Feb 2008 09:43

Re: MS C++ vs. Borland C++
 
Es gibt die MFC, jedoch ist dies auch wenn die IDE Visuel im Namen hat alles anderer als eine RAD-Fähiges Framework.

mkinzler 20. Feb 2008 09:43

Re: MS C++ vs. Borland C++
 
Ja es gibt Frameworks. Neben den genannten noch GTK+, Fox, ...
Wenn du dich in Delphi auskennst würde sich aber der C++-Builder anbieten.

OregonGhost 20. Feb 2008 09:46

Re: MS C++ vs. Borland C++
 
Wenn du mit nativem C++ grafische Anwendungen entwickeln willst, hast du nicht wirklich eine Alternative zu Qt. Dann am besten gleich mit VS-Integration, dann kann man halbwegs komfortabel entwickeln. Richtig RAD ist der Qt-Designer jedoch nicht, aber Qt löst viele Probleme, die die Sprache C++ an sich aufwirft.

Die neue MFC (2008) hat übrigens auch einen Ribbon, bin jedoch nicht sicher, ob das in der RTM mit drin ist oder als kostenloses Feature-Pack heruntergeladen werden muss. MFC ist aber eher nicht so angenehm für die Entwicklung, finde ich.

Edit: Ich habe noch einen Artikel im MSDN gefunden, der die Abweichungen vom Standard auflistet.

richard_boderich 20. Feb 2008 10:46

Re: MS C++ vs. Borland C++
 
Mir hat man erzählt mit mit VS ab Version 2005 kann man aber gar nicht mehr Visuell Native Win32 entwickeln, da die Compilate .Net benötigen. Rüstet QT diese Funktion dann nach? Oder was meinst du mit VS Integration? MFC wollte ich nmir nicht antun.

mfG Richard

mkinzler 20. Feb 2008 10:52

Re: MS C++ vs. Borland C++
 
Zitat:

Mir hat man erzählt mit mit VS ab Version 2005 kann man aber gar nicht mehr Visuell Native Win32 entwickeln, da die Compilate .Net benötigen.
Visuell konnte man im VC noch nie entwickeln. Der Formulardesigner kommt mit der VS-Integration von Qt.

OregonGhost 20. Feb 2008 13:19

Re: MS C++ vs. Borland C++
 
Ab Visual C++ 2005 kannst du wählen, ob du natives C++ oder C++/CLI verwenden willst. MFC gibt es meines Wissens nachwievor nur für natives C++, und ja, es gibt da einen visuellen Designer. Nicht vergleichbar mit den .NET-Designern oder dem Delphi-Designer, aber es ist immerhin ein visueller Designer :)
Ich sprach jedoch vom Qt-Designer. Qt-Anwendungen sind ebenfalls nativ. Mit C++/CLI kannst du hingegen .NET-Anwendungen entwickeln, inklusive Windows-Forms-Designer und allem Pipapo. Der 2008er bringt sogar eine STL-Implementierung mit .NET-Unterstützung mit (STL/CLI, heißt die glaub ich).

DMW 20. Feb 2008 13:54

Re: MS C++ vs. Borland C++
 
Zitat:

Zitat von sakura
Schon besser als MS, aber auch noch nicht 100% ANSI, wird aber mit jedem Release etwas besser. ;)

Leider ist das nicht zutreffend. Der BCC war lange besser als der VC, aber nachdem Borland zwischen 2002 und 2005 fast nicht am BCC arbeitete und sich den C++BuilderX-Flop leistete, zugleich Microsoft aber zwischen 1998 und 2003 mit viel Aufwand den VC modernisiert hatte, kehrte sich das Bild ein wenig um.

Der C++Builder 2007, in dem einige Langzeitprobleme behoben wurden, ist allerdings ein sehr hoffnungsvolles Release, und die Tatsachen, daß Alisdair Meredith C++Builder-Produktmanager geworden ist und CodeGear aufgrund des Deals mit Rußland über etwas mehr Kapital als bisher verfügen dürfte, lassen eine sehr optimistische Perspektive entstehen.


Der Formulardesigner, der für die MFC verwendet wird, ist AFAIK ein gewöhnlicher Windows-Dialogressourceneditor (jedenfalls war er das in VC 6 und 2003 noch), vergleichbar mit dem aus Pelles C. Das Produkt hat, wie Charles Petzold in diesem übrigens sehr lesenswerten Vortrag erwähnte, seine Wurzeln im Dialog-Editor, der irgendwann zwischen Windows 1.0 und 2.0 erschien. Mit dem VCL-Designer hat das wirklich nicht viel zu tun.


Wenn du Win32-Programme in C++ schreiben, aber den Komfort von Delphi haben möchtest, ist C++Builder eigentlich konkurrenzlos.


Zitat:

Zitat von mschaefer
Mag da mal den Link auf den Borland c++ Ansi-Compiler legen Link Grüße /Martin

Der BCC 5.5 ist der Compiler des C++Builder 5, der 2000 erschien. Das Ding ist acht Jahre alt! Es gibt, vielleicht ein 28K-Modem ausgenommen, wirklich _gar_ keinen Grund mehr, ihn zu verwenden, allein wegen der Existenz von Turbo C++ Explorer, der kostenlosen Edition des C++Builder 2006.

Bernhard Geyer 20. Feb 2008 13:59

Re: MS C++ vs. Borland C++
 
Zitat:

Zitat von richard_boderich
Mir hat man erzählt mit mit VS ab Version 2005 kann man aber gar nicht mehr Visuell Native Win32 entwickeln, da die Compilate .Net benötigen.

Immer diese Märchen. VS hat immer noch einen native Compiler für C++ an Bord (ist halt nicht mehr der einzige Compiler). Wie soll denn sonst MS die ganzen Dinge wie MS SQL-Server, Windows Explorer, Internet Explorer, ... mit ihren aktuellen Compiler weiterentwickeln. Und erst die ganzen BS-Loader, HAL, ...

delphirocks 20. Feb 2008 20:27

Re: MS C++ vs. Borland C++
 
Wenn du den CPP-Builder mit wx verwenden möchtest:
http://www.twinforms.com/


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz