Visual Basic

Tockra

Lt. Commander
Registriert
Dez. 2008
Beiträge
1.063
Hallo Leute,
mich interessiert, für was GENAU Visual Basic eigentlich gedacht ist.
Ich kenne mich damit aus, da wir das Program in der Schule durchgenommen haben, aber eine Antwort auf die Frage wozu genau das Programm gedacht ist habe ihc bis heute noch nicht.
Was kann man damit was man mit C++ nicht kann? Oder was kann es besser?
MfG. Ich
 
Tockra schrieb:
mich interessiert, für was GENAU Visual Basic eigentlich gedacht ist.

Visual Basic ist eine Programmiersprache.

Tockra schrieb:
Ich kenne mich damit aus, da wir das Program in der Schule durchgenommen haben, aber eine Antwort auf die Frage wozu genau das Programm gedacht ist habe ihc bis heute noch nicht.

Was meinst du mit "das Programm"? Visual Basic ist wie schon gesagt eine Programmiersprache, kein Programm


Tockra schrieb:
Was kann man damit was man mit C++ nicht kann? Oder was kann es besser?
MfG. Ich

Kommt jetzt drauf an, auf welcher Ebene du das meinst, aber wenn mans als Anwender sieht: Gar nichts. Rein Funktionell kann man mit beiden Sprachen alles machen. Visual C++ ist ja sogar im selben Framework verfügbar und kann somit auch mit Visual Basic kombiniert werden.
Andere Compiler für C++ sagt man nach, dass sie vielleicht etwas schnellere Assemblies erzeugt, aber dazu gibts im Netz bestimmt viele Untersuchungen.
 
BASIC war damals für Anfänger gedacht. Da man sich bei BASIC wenig Gedanken machen muss, wie die Daten nun im Speicher liegen.
Visual Basic ist nur ein weiterer BASIC Dialekt, der mehr auf Objektorientiert setzt.

Allerdings hat Visual Basic so eine Grenzen. Komplexe Datenstrukturen, die Zeigerarithmetik benötigen (verkettete Listen, binäre Bäume, ...) sind nur bedingt bis gar nicht möglich. Auch die Performance ist bei Visual Basic nicht grad toll. C/C++ arbeiten maschinennahe, d.h. deren Quellcodes lassen sich einfach in Maschinensprache (1:1 Übersetzung) übersetzen, während bei Basic Umwege von Nöten sind (1:n Übersetzung).
Dafür ist C/C++ etwas komplexer, weil man da mit den Zeigern sehr viel Schindluder betreiben kann und ein Programm schneller zum Absturz bringt, als man "Hallo Welt" sagen kann.

Wer hobbymäßig nur ein paar simple Programme schreibt, die nicht nach Performance schreien, dann reicht Visual Basic völlig aus. Wer aber schon professionelle Programme schreiben will, die auch wenig Ressourcen verbrauchen, kommt an anderen Programmiersprachen nicht rum.

Statt Visual Basic würde ich doch lieber Object Pascal bzw. Delphi, als Anfängersprache, empfehlen. Die Sprache ist ebenfalls leicht zu erlernen und stellt doch einen sehr guten Kompromiss dar. Da hat man schon mehr Freiheiten. Zeiger sind auch möglich aber man braucht sie nicht zu verwenden. Die Object Pascal IDE "Lazarus" ist OpenSource und hat den Funktionsumfang von Delphi 7. Man braucht sich also keine teure Delphi Lizenz besorgen.
 
Thx für eure Antworten...

@ Kagee aber es gibt auch nen programm das heißt Visual Basic okey gib ja zu es heißt Visual Basic 2008 ... Aber so hieß es in der Schule...

Ich kann mir nichtmal im Entferntesten Vorstellen, wie man mit C++ oder gar Visual Basic nen Prog schreiben kann, was zum beispiel einen Sprachchat ermöglicht oder es ermöglicht Dateien auf Cds zu schreiben.
 
Zuletzt bearbeitet:
Whiz-zarD schrieb:
Allerdings hat Visual Basic so eine Grenzen. Komplexe Datenstrukturen, die Zeigerarithmetik benötigen (verkettete Listen, binäre Bäume, ...) sind nur bedingt bis gar nicht möglich.

Man kann in Visual Basic (ich habs mit Version 9 probiert) auch eigene LinkedList-Datentypen erstellen. Es gibt zwar keine Zeiger, jedoch sind Objektvariablen im grunde auch nur Zeiger. Wenn man ein bisschen mit C gerarbeitet hat und Zeiger kennt, kann man das Wissen auch in VB anwenden.

Whiz-zarD schrieb:
Auch die Performance ist bei Visual Basic nicht grad toll. C/C++ arbeiten maschinennahe, d.h. deren Quellcodes lassen sich einfach in Maschinensprache (1:1 Übersetzung) übersetzen, während bei Basic Umwege von Nöten sind (1:n Übersetzung).
Visual Basic wird inzwischen auch in Maschinencode übersetzt. Wenn man sich die Dissassembly anschaut bekommt man auch wie bei C die Assemblerbefehle zu sehen.

Whiz-zarD schrieb:
Dafür ist C/C++ etwas komplexer, weil man da mit den Zeigern sehr viel Schindluder betreiben kann und ein Programm schneller zum Absturz bringt, als man "Hallo Welt" sagen kann.

Das ist richtig. Gerade die Systematik Zeiger in C erlaubt sehr direkten Zugriff auf Speicher, dies kann auch dazu führen, dass wenn man sich als Programmierer irrt, das Betriebssystem des Programm abwürgend muss, wegen Speicherschuzverletzungen.

Tockra schrieb:
@ Kogee aber es gibt auch nen programm das heißt Visual Basic okey gib ja zu es heißt Visual Basic 2008 ... Aber so hieß es in der Schule...

Das Programm was du meinst heißt vermutlich Visual Studio 2008. Dies ist eine Entwicklungsumgebung für .Net-Sprachen, also auch Visual C++ und Visual C#.
Im Visual Studio 2008 ist Visual Basic 9 enthalten. Darüber hinaus gibt es noch die Expressverisonen des Visual Studio, die nach Programmiersprachen unterschieden werden. Also Visual C# Express, Visual Basic Express und Visual C++ Express
 
Tockra schrieb:
Ich kann mir nichtmal im Entferntesten Vorstellen, wie man mit C++ oder gar Visual Basic nen Prog schreiben kann, was zum beispiel einen Sprachchat ermöglicht oder es ermöglicht Dateien auf Cds zu schreiben.

naja, ein Sprachchat ist auch schon was sehr spezielles.
Zuerst einmal sollte man wissen, wie man eine TCP Verbindung zwischen zwei Rechner ermöglicht. Dann gibt es Algorithmen, die eine Sprachaufnahme in einen digitalen Datenstrom umwandeln und dieser wird dann über das TCP Protokoll zum anderen Rechner geschickt, der dann wiederrum die digitalen Daten in analoge umwandelt. Für sowas erfindet man aber nicht immer das Rad neu. Es gibt sog. APIs (Application programming interface), die die benötigten Funktionen bereitstellen. Unter Delphi gibt es z.B. die Indy-Komponenten, die mit ein paar Klicks z.B. eine TCP Verbindung zwischen zwei Rechner ermöglichen. Die Indy-Komponenten sind mit ein paar Kniffe auch unter Lazarus möglich.

CDs brennen wüsste ich jetzt auch nicht aber ich kann mir vorstellen, dass es so ähnlich läuft, wie das Schreiben auf dem Bildschirm oder eine Datei auf Festplatte (Im Prinzip ist der Bildschirm auch nichts anderes als eine Datei).

Das sind aber alles sehr komplexe Programme, die einen Anfänger sehr überfordern, weil er die nötige Erfahrung nicht besitzt. Darum erstmal ganz klein anfangen. Selbst ein Taschenrechner kann schon recht komplex werden, wenn man die mathematischen Regeln beachten will (z.B. Klammern oder Punkt- vor Strichrechnung).

Kagee schrieb:
Visual Basic wird inzwischen auch in Maschinencode übersetzt. Wenn man sich die Dissassembly anschaut bekommt man auch wie bei C die Assemblerbefehle zu sehen.

Wie die heutigen Versionen aussehen, weiß ich nicht.
Ich hab damals nur ein bisschen mit Version 6 gearbeitet und das ist nun schon 10 Jahre her ^^
 
Zuletzt bearbeitet:
Was für eine nette C++ Tutorial könntet ihr mir empfehlen, für die grundlagen...
Was ich gerne programmieren würde wäre ein Chat mit c++ oder Vb o.a. ^^ , mit dem alle, die das Prog nutzen in einen Großen Channel sind und miteinander chatten können, also so IRC like...(kein Sprachchat)


€: Habe im angepinnten Threat nen paar tutorials gefunden ^^ Jetzt verwirren mich nur C und C++, welches ist für was gedacht, wo sind die unterschiede und was ist besserß
 
Zuletzt bearbeitet:
Ich schätze mal, dass du so gut wie gar keine Kenntnisse hast, was die Programmierung angeht. (z.B. Datentypen, Speicherung der Bits und Bytes im RAM, ...)
Da du auch keine Ahnung hast, wie ein Chat intern im Groben funktioniert würde ich dir raten, die Finger davon zu lassen.
C++ würde ich dir auch erstmal nicht raten. Du wirst mit dem Zeiger-Salat sehr überfordert sein. Das bringt auch oft Programmierer, die mehrere Jahre in diesem Beruf arbeiten, zur Verzweiflung. Auch ist C++, wie C, Kommandozeilenbasierend. Also musst du dich da erstmal mit der Entwicklung einer GUI auseinandersetzen. z.B. Qt oder wxWidget sind GUI-Bibliotheken für C++

Wenn du wirklich sowas wie IRC basteln willst, dann fang erst mit den Grundlagen an und mach dir Gedanken, wie die Struktur aussehen muss. Dies kann man auch unabhägig von der Programmiersprache machen. Mach dich also erstmal Schlau, wie Netzwerke funktionieren. Also Internet-Technologie, 4-Schichten-Modell, Protokolle, TCP und UDP Übertragung, IP-Adressen, etc. pp.
Ein bisschen TELNET/SSH kann auch nicht schaden.

Dann hast du einen Groben Überblick, was das Programm alles können muss. Ich hab zwar schon geschrieben, dass es dafür APIs gibt aber man sollte schon wissen, was man da tut.
Ich denke aber mal, dass du schon nach einigen Tagen keine Lust mehr drauf haben wirst, so ein Programm zu schreiben und installierst stattdessen gleich IRC.
Falls du doch immernoch Lust haben solltest, dann nimm eine Sprache, die einfach zu lernen ist.
Wie ich schon geschrieben habe, würde ich eher zu Object Pascal bzw. Delphi raten.
 
In .Net kann man mit Referenzen arbeiten, in C# sogar auch mit Zeigern, wenn es denn unbedingt sein muss (wobei Referenzen eigentlich ausreichen).
Das Thema Performance ist fast schon ein Mythos. Die Unterschiede sind wirklich so minimal, dass man es vernachlässigen kann.
Ich find´s eigentlich auch relativ blöd über ´ne Sprache ansich zu urteilen, wenn man nur den uralten Vorläufer als Ausgangspunkt benutzt und die Verwendung desselbigen 10 Jahre her ist.
 
Im Großen und Ganzen muss ich Cyba Mephisto recht geben, bis auf
Das Thema Performance ist fast schon ein Mythos.
Das Thema Performance ist ein Mythos! In den .Net Varianten von Visual Basic wird der Quellcode des Programms vom Compiler in die MSIL (Microsofts Intermediate Language) übersetzt, der wiederum zur Laufzeit just in time in binären Code übersetzt wird. Der Vb.Net Compiler kann nur bei der Übersetzung in MSIL schnelleren oder langsameren Code erzeugen. Bei der eigentlichen Übersetzung in binären Code zur Laufzeit hat der VB Compiler keinen Einfluß mehr darauf und da ist es dann unerheblich ob in C#, Managed C++ oder VB programmiert wurde.

Desweiteren kann man in jeder Programmiersprache langsamen Code programmieren. Nur weil man C++ verwendet, heißt es nicht, dass man automatisch schnellere Programme erzeugt! Die Verwendung von C++ ist nicht die Garantie für Schnelligkeit. Nicht die Programmiersprache bestimmt, was man damit machen kann oder wie schnell es läuft, sondern das, wie man die Programmiersprache einsetzt!
 
Zuletzt bearbeitet:
Wie ich schon geschrieben habe, würde ich eher zu Object Pascal bzw. Delphi raten.

Warum eigentlich nicht etwas moderneres, wie z.B. Python, C# oder Java?
 
Zurück
Oben