PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Visual Basic / Visual C++



kalletronic
28.02.2008, 11:35
Hi leute, was sind eigendlich die Vorteile von C++ gegenüber Visual Basic????

fumir
29.02.2008, 10:00
z.b.:
- es ist nicht von microsoft :-)
- es hat schon im namen zwei plus :-)
- nach 100 jahren programmieren kennst du immer noch nicht alle möglichkeiten von C++ :-)

dremler
29.02.2008, 12:50
hmm naja das mit dem 100 jahren is auch in vb so...

die 2 plus im namen haben nix zu sagen;)

und c++ gibts auch von microsoft...


soviel zu deinen aussagen...die ihm nicht wirklich weiterhelfen werden...

ich selbst programmiere in vb ....das is für den anfang recht einfach und man kann ne menge mit machen..(es gab bis jetz noch nix was ich brauchte und vb konnte es nicht iwie...)

allerdings ist vb nicht so schnell.....allen anschein nach werden zb zur soundveränderung etc c++ bzw nur c programe eingesetzt weil vb zu langsam ist....

musst du als entscheiden was du überhaupt damit machen willst.....

fumir
01.03.2008, 12:33
na so richtig weiterhelfen wird ihm deine antwort aber vermutlich auch nicht :-)
was wohl aber eher an der sehr vage gehaltenen frage liegen dürfte!
was soll man auf so ne frage schon sinnvolles antworten.

ürbigens sagte ich nicht, dass es c++ nicht von microsoft gibt, sondern, dass es nicht von microsoft (entwickelt/erfunden) ist. im gegnsatz zu basic (der basic-interpreter von bill war wohl einer der ersten richtig guten, wenngleich er natürlich auch basic nicht erfunden hat - eigenlich hält mans bei microsoft eher mit dem kopieren und vermarkten von ideen) mit der bei microsoft eigentlich alles angefangen hat :-)

Scoby
01.03.2008, 14:56
Oh je, bei solchen Threads muss man immer aufpassen, dass es nicht in "Sprachbaching" endet.

Visual Basic:
Pro:
+ .net Anbindung
+ gut dokumentiert
+ einfache Erlernbarkeit
+ MS-Office-Anbindung

Kontra:
- Anbieterabhängigkeit
- Unterschiede der Versionen (z.t. nicht kompatibel)
- Plattformabhängigkeit
- geringe "Mächtigkeit"
- Langsam

Ich führe gesondert noch die (An-)Bindung an die Windowsapi an, da kann man sich streiten. Ebenso über die Syntax.
Ich hab mit der Sprache nicht viel zu tun. Es fehlen Sprachellemente. Außerdem mag ich die Microsoft Entwicklungsumgebungen nicht :-)

C++
Pro:
+ es geht ALLES
+ Plattformunabhängig sehr gut möglich
+ Masssen an Bibliotheken und Beispielen
+ "Esperanto" = Es versteht fast jeder
+ sehr schnell
+ effizient
+ zumindest C läuft auf fast jedem Microcontroller
+ Mengen an kostenloser Software zum Programmieren
+ sehr guter Standard (offen, dokumentiert, diskutiert)
+ Standard wächst langsam aber sehr Bedacht
Kontra:
- Komlexität
- kryptische Syntax
C++ ist meiner meinung nach nichts für den Einstieg. Für einen "schwarzen Gürtel" in C++ braucht man 10 Jahre Vollzeitbeschäftigung mit dem Thema (Templates sind Touringkomplett ;p). Wenn man es kann, dann stehen einem aber wirklich alle Türen offen.

Wie gesagt, ein heikles Thema, es kommt immer auf die Situation an...

mfg
Scoby

Delfin
01.03.2008, 15:33
hi scoby
da hast du mal einen guten vergleich gegeben.
Ich programmiere seit einem dreiviertel Jahr C, dann auch c++. Das ist meine erste Sprache. Jetzt sage ich einfach mal, dass ich mich ganz gut auskenne. Der Einstieg in C fiel mir nicht sehr schwer. Und die Sachen die dann oben drauf kamen sind auch "logisch". Ich finde davor sollte man nicht zurückschrecken.
Ich stimme in dir in allen punkten voll zu. C++ ist wirklich gut und ich habe bisher noch keine grenzen gefunden. Was ich immer wieder gerne sage: In C++ hat man auch die Möglichkeit z.b. Assembler in den Code einzubinden. Das macht bestimtme Aufgaben einfacher und Programme schneller.
Mit OpenGl (Grafik) kann man tolle Sachen machen. Natürlich ist das jetzt auf Pc nicht Roboter bezogen.
Kürzlich habe ich für die Schule ein Projekt abgeschlossen. Alles in C++ und OpenGl, es hat super geklappt.
mfg rob

Scoby
02.03.2008, 17:54
Meine Einstellung zum C-Lernen kann daran liegen, dass ich mit Pascall angefangen hab. Das ist nunmal wirklich als akademische Lehrsprache gedacht und entwickelt worden. Das merkt man (sowohl Positiv als auch negativ ;p)!

dremler
03.03.2008, 19:40
nun hab ich noch mal eine frage..... was zeichnet die unterschiedlichen versionen von C voneinander ab?

also

C
C++
C#

vor bzw nachteile.....bzw dinge, für die die programmiersprachen besonders "gemacht" sind...

Felix G
03.03.2008, 20:16
Naja, C ist die älteste der 3 Programmiersprachen, und heutzutage besonders bei der Programmierung von Mikrocontrollern und Betriebssystemen (für den PC) verbreitet.

C ist verglichen mit den anderen beiden Sprachen am leichtesten zu erlernen, da es eine rein prozedurale Programmiersprache ist (d.h. das Programm läuft mehr oder weniger linear, schön eine Anweisung nach der anderen, so wie es im Quelltext steht).


C++ ist der Nachfolger von C, und teilt dessen Syntax. Allerdings ist C++ eine objektorientierte Programmiersprache, und damit wesentlich mächtiger als C. Das Prinzip der objektorientierten Programmierung ist gerade für Anfänger oft nicht ganz leicht zu verstehen, daher ist C++ schwerer zu erlernen als C.


C# ist sozusagen Microsofts Antwort auf die beliebte objektorientierte Programmiersprache Java. Und das merkt man auch, denn im Prinzip wirkt es wie eine Mischung aus Java und C++. Es ist die zentrale Programmiersprache des sogenannten .net Frameworks. Wenn man den Dreh erstmal raus hat (was eine Weile dauern kann, denn die Unterschiede zu C++ sind ziemlich groß), lässt es sich in C# aber sehr angenehm programmieren (was auch an den mehr als umfangreichen Bibliotheken liegt, wodurch sich die meisten gängigen Probleme recht elegant mit wenigen Zeilen Code lösen lassen).



Zur Programmierung von Mikrocontrollern kann man eigentlich nur C empfehlen, oder bei den leistungsfähigeren Exemplaren auch C++. C# hingegen schleppt etwas zu viel Ballast mit sich herum, den man bei Mikrocontrollern nie braucht.

Scoby
03.03.2008, 20:27
Noch so ein Thema :-)
radikal kuzer Geschichtsabriss:
c ist (von B inspiriert) entstanden als AT&T / Bell eine Programmiersprache entwickeln wollte die hardwarenahe und performnant auf Unixen läuft. C++ ist enstanden als bei gerade genannten eine Sprache mit den Eigenschaften von Simula (übrigens hatte Simula schon in den 60ern einen Garbigecollector, Objekte und wurde Interpretiert!) mit der Performance von C gesucht wurde. Daraus wurde erstmal eine Erweiterung von C (heute auch, auch wenn da echte C++ler mich jetzt gen Erdmittelpunkt wünschen). C++ beinhaltet wie gesagt nicht den gesamten Sprachumfang von C und es gibt auch im vergleichbar interpretierten Bereich unterschiede (<1% Sprachumfang). Beides sind ISO-Standards die von mehreren Namenhaften Firmen getragen werden.
Nun zu C# (gesprochen "C Scharp", wie der Elektronikkonzern) hat entgegen erster vermutungen nichts mit einem erweitertem Taschenrechnerbauer aus Japan zu tun. Es ist die plattformabhängige (kein "un") reinkarnation von Java aus Redmond. Es ist der Versuch endlich die elend langen Kompatiblitätszöpfe der alten Windowsversionen in den Griff zu bekommen, bzw. eher sie in Zukunft zu vermeiden, da man auf seiner eigenen Plattform "Plattformunabhängig" ist. Durch den Druck der immer besser werdenden Implementierung von Mono und sicherlich etwas Nachhilfe des EU-Gerichtshofs-Urteils hat M$ mittlerweile einiges an Spezifikation verraten, Hoffnung besteht. C# will, wie Java, eine Eierlegendewollmilchsau sein; ich halte nichts von Programmen die nicht nativ laufen. Wer nicht sauber programmieren kann, solls lassen! Für schnelle Entwicklung und wenn man Programmcode von anderen ausführen muss (z.B. Hosting, Scripting in Anwendungen) gibt's Scriptsprachen. Man kann eigentlich alle Eigenschaften die ich zu VB oben aufgeführt habe auch zu C# schreiben. Gut man kanns auch als ASP durch den IIS jagen, da kann ich aber mangels Erfahrung nichts zu sagen...

Ich glaub ich schaff das heut nicht viel sachlicher, aber:
Wenn man keine Objektorientheit für ein Projekt braucht (bzw. C++ Libarys), ist C super. Wenn mann modernen objektorientierten Code haben will ist C++ super. Wie gesagt, unternander hochkompatibel (C++/C-Evangelisten verzeiht mir).
C# ist gar nicht so schlecht wie es oben weg gekommen ist. Der Ansatz ist gut, aber das man in Redmond immer das Rad neu erfinden muss und es dann nicht mal 100% rund wird ist traurig! Ist eben genau in der selben Ecke wie Java zu sehen. Es ist für Leute die einfach was für einen X86/64 PC schreiben wollen was schnell zusammengeklickt ist und läuft. Jeder kann selber drüber denken was er will.

einen schönen Abend, mfg
Scoby

Edit:
tschuldigung für den fast gleichen Post wie Felix, habe was länger getippt und mir zwischendurch noch nen Kaffee gekocht (es lebe Senseo)!

fumir
04.03.2008, 10:15
inwiefern enthält c++ denn nicht den gesamten sprachumfang von c ?
soweit ich weiß enthält c++ prinzipiell c als untermenge.

Scoby
04.03.2008, 11:44
Es gibt z.B. unterschiede im Typsystem z.B. wie mit Casts umgegangen werden kann. Ich kann einen INT-Pointer in C als LONG casten, in C++ nicht. Außerdem gibt einige Sprachbereiche wo es Probleme geben kann, etwa bei reservierten Worten (C hat weniger als C++ -> in C kann ich es als Variablennamen eines dieser Worte nehmen in C++ nicht).

Wie gesagt marginal, aber man muss drauf achten...

mfg
Scoby

Kuwe
25.08.2009, 18:52
moin,
oben wurde erwähnt,
dass nicht jede version von vb mit microkontrollern kombinierbar ist.
Wie sieht das denn mit mincrosoft visual studios Visual Basic 2008 aus?
Befor ich c++ lerne wäre es einfacher in vb zu lernen (das ich schon ein bischen kenne).
Wäre dankbar für eure Antwort
gruß kai

Besserwessi
25.08.2009, 20:28
VB ist ein Compiler nur für Microsoft Windows, ggf. noch Windows CE und damit dann doch für ein paar wenige µCs. Ohne Windows Betreibssystem macht VB aber kaum Sinn.

Wenn man schon mal eine Programmiersprache kann, ist der Umstieg zwischen Basic - Pascal - C oder ähnlichem eigentlich relativ einfach.

C++ und andere Obektorientierte Sprachen sind oft so, das man auch erst mal klarkommt ohne die zusätzlichen Funktionen zu nutzen. Bei µCs ist C++ aber noch eher die Ausnahmen, geht aber mit kleinen Einschränkungen. Man wird da in der Regel aber ohnehin anfangen erst mal C zu lernen, wenn auch nicht mit allen Feinheiten, und dann C++.

Netzman
25.08.2009, 21:17
Da im Threadtitel "Visual Basic / Visual C++" steht, gehe ich mal davon aus es ist das Visual Studio von Microsoft gemeint. Beide haben als Unterlage .Net und werden als Managed Code (ähnlich wie Java) ausgeführt. Sind dadurch untereinander leicht portierbar, Visual Basic kann genauso mit OOP umgehen wie Visual C++ und zeigt auch ähnliche Ausführungsgeschwindigkeiten, die trotz Managed Code erstaunlich schnell ist.
Es gibt auch Open Source Portierungen von .Net, von denen Mono (Linux, Mac und Win) am weitesten entwickelt ist und nahezu alle Funktionen von .Net abbildet.

mfg

Kuwe
28.08.2009, 17:02
moin :^o
Ich bin aus den Antworten nich nicht ganz schlüssig geworden.
hmm... kann ich mikrocontroller mit Visual Basis (microsoft visual studios) pogrammieren oder muss ich auf die Objektorientierte C++ Sprache umlernen {nicht visual sondern normal c++}.
Villeicht ist das eine bessere Formulierung.
gruß kai

Netzman
28.08.2009, 17:24
Weder noch, im Visual Studio gibts zwar auch Kompilieroptionen für zb. Win CE auf ARM-Prozessoren, aber für einen AVR oder PIC ist das ein bisschen zuviel. Der Verwaltungsoverhead für OOP ist da auch schon zuviel und eigentlich nicht nötig, d.h. du programmierst die Controller in reinem C, Assembler etc.
Es gibt auch diverse Basic-Dialekte für o.g. µCs, zb. Bascom, mikroBasic, ...

mfg

Kuwe
30.08.2009, 10:28
danke nochmal an alle für die Antwort,
werde mir mal die Sprachen ankucken.
gruß kai :^o