Grenzen von Visual Basic
lima-city → Forum → Programmiersprachen → Basic
assembler
aufwand
beispiel
betriebssystem
code
datenbank
grenze
http
info
nutzen
programm
programmieren
programmierung
sagen
sensor
spiel
sprache
treiber
url
zeitkritische sachen
-
Hallo an alle!
Ich habe eine Frage: Wo liegen die Grenzen von Visual Basic, d. h. welche Programme sind mit dieser Programmiersprache unmöglich zu programmieren!
Ich würde gerne die Granzen von folgenden Versionen wissen:
- Visual Basic 6.0
- Visula Basic .NET
- Visula Basic 2008
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Nichts ist unmöglich ;) Mit genügend Aufwand kannst du alles schaffen.
Erstmal wird zwischen 2 grundsätzlichen Versionen von Visual Basic unterschieden:
- VB Classic (Visual Basic 1 bis 6)
- VB .NET (Alle Versionen nach Version 6, also VB 2002, 2003, 2005, 2008 und Nachfolger)
Bei den einzelnen VB .NET Versionen gibt es auch Unterschiede:
- VB .NET 2002 nutzt .NET Framework 1.0
- VB .NET 2003 nutzt .NET Framework 1.0 und 1.1
- VB .NET 2005 nutzt .NET Framework 2.0
- VB .NET 2008 nutzt .NET Framework 3.5, außerdem WPF
"WPF: Setzen Sie 2D und 3D Grafiken ein und integrieren Sie Steuerlemente für Audio und Video"
Bei jeder neueren Version von .NET Framework werden ständig die Namespaces erweitert, sodass immer mehr aus deinem eigentlichen Programm ausgelagert werden kann und für den Entwickler immer mehr Arbeit erleichert wird.
Alle Programme, die man in VB Classic geschrieben hatte, konnte man einfach noch weiterverteilen, indem man die Executable weitergibt und vielleicht ein bis zwei weitere Bibliotheken.
Programme, die in VB .NET programmiert werden oder auch in einer anderen .NET Sprache, benötigen auf dem Zielcomputer das Redistributable-Package von der jeweiligen .NET Framework Version. In der Regel werden aber diese automatisch durch das Windows Update auf die Zielcomputer verteilt.
Vorteil von einem .NET Framework ist, dass viele Programme auf ein globales Framework auf dem Computer zugreifen und nicht jedes Programm seine eigenen Bibliotheken mitverteilen muss. Dies spart Speicherplatz, Ressourcen und Rechenleistung.
In VB .NET hast du so gut wie keine Einschränkungen mehr, da durch das .NET Framework vieles integriert wurde, was man in VB Classic noch nicht hatte und selbst über APIs einbinden musste. Natürlich kann man in VB .NET auch weiterhin COM-Schnittstellen für weitere Bibliotheken nutzen oder auch API-Verweise.
Ob du nun in VB .NET, C#.NET oder C++.NET programmierst, ist schon fast gleich, denn alle arbeiten mit dem .NET Framework. Es gibt nur kleine Unterschiede in der Syntax, aber die Verwendung bleibt im Prinzip gleich.
Am besten ist es natürlich, immer die aktuelleste Version von VB .NET zu nutzen. Wenn du zuerst in VB .NET 2002 programmiert hast und deine Projektmappe nun mit VB .NET 2008 öffnest, wird diese automatisch aktualisiert.
Auch steht in den VB .NET Versionen ein Konverter zur Verfügung, um alten VB 6 Code in VB .NET Code umzuwandeln.
Grenzen gibt es also keine für VB .NET. Und falls es doch scheinbare Grenzen gibt, lassen sich diese durch weitere Frameworks beseitigen: WPF, XNA, DirectX, ...
Mehr Infos über .NET: http://www.devtrain.de/news.aspx?artnr=823
Mehr Infos über VB .NET: http://www.microsoft.com/germany/express/product/visualbasicexpress.aspx
Wie bringt man .NET und VB 6 an einen Tisch?: http://msdn.microsoft.com/de-de/vbrun/default.aspx
-
cbhp schrieb: Nichts ist unmöglich ;) Mit genügend Aufwand kannst du alles schaffen.
Das würde ich jetzt so nicht sagen.
Was man mit Visual Basic nicht programmieren sollte sind hardwarenahe und zeitkritische Sachen z.B. Treiber, Videokompression, On the Fly en-/decryption, Datenbanken, 3D-Action-Spiele, Sensor- und Steuerungsprogramme etc.
-
jumay schrieb:
Das würde ich jetzt so nicht sagen.
Was man mit Visual Basic nicht programmieren sollte sind hardwarenahe und zeitkritische Sachen z.B. Treiber, Videokompression, On the Fly en-/decryption, Datenbanken, 3D-Action-Spiele, Sensor- und Steuerungsprogramme etc.
Auf welchem veralteten Stand bist du denn?
In Visual Basic kannst du in Kombination mit dem .NET Framework:
- on the fly verschlüsseln / entschlüsseln, Beispiel (ist auf VB übertragbar) http://msdn.microsoft.com/en-us/library/aa302405.aspx
- Datenbanken nutzen, dafür gibt es sogar eigene Namespaces, z.B. http://msdn.microsoft.com/de-de/library/e80y5yhx(VS.80).aspx
- 3D-Action-Spiele mit dem XNA Framework, siehe hier: http://msdn.microsoft.com/en-us/xna/default.aspx oder Game Development Kit: http://www.microsoft.com/germany/express/samples/gamecreators.aspx oder http://www.microsoft.com/germany/msdn/coding4fun//default.mspx
- Sensor- und Steuerungsprogramme in Kombination mit dem Robotics Developer Studio, z.B. http://msdn.microsoft.com/en-us/library/bb483044.aspx
- Videokompression über DirectX, z.B. http://www.codeproject.com/KB/directx/directxcapture.aspx
- Treiber: Das ist wohl klar, dass man mit einer objektorientierten Sprache, die keinen nativen Win32-Code erzeugt, keinen Treiber schreiben kann, mit reinem C geht das übrigens auch nicht. Mehr Infos: http://support.microsoft.com/kb/10826
Beitrag zuletzt geändert: 19.1.2009 18:43:57 von cbhp -
Ist es in Visual Basic .NET eigentlich möglich ein Betriebssystem zu programmieren?
In Java ist es ja möglich! Man muss halt mit Assembler die JVM (Java Virtual Machine) aufrufen. -
wissenschaft schrieb:
Ist es in Visual Basic .NET eigentlich möglich ein Betriebssystem zu programmieren?
In Java ist es ja möglich! Man muss halt mit Assembler die JVM (Java Virtual Machine) aufrufen.
Was für Treiber gilt, gilt auch für Betriebssysteme:
cbhp schrieb:
- Treiber: Das ist wohl klar, dass man mit einer objektorientierten Sprache, die keinen nativen Win32-Code erzeugt, keinen Treiber schreiben kann, mit reinem C geht das übrigens auch nicht. Mehr Infos: http://support.microsoft.com/kb/10826
Also: Nein, du kannst mit Visual Basic oder Visual Basic .NET kein Betriebssystem schreiben.
Um ein Betriebssystem zu schreiben, brauchst du zuallererst Assembler-Code. -
Ein Betriebssystem zu schreiben ist für die meisten sowieso völlig utopisch.
Eine eigene Linux-Distribution wäre da schon näher liegend, weil dafür schon der Kernel vorliegt. -
wobei es durchaus denkbar wäre, ein OS mit vb.net zu schreiben, zumindest funktioniert es genauso gut wie mit java, weil ob man nun eine java-vm oder eine .net-vm aufruft (die davon abgesehen sogar teilweise native-kompilierung unterstützt) is (zumindest theoretisch) wurscht. Nen assembler-bootloader und eine Version der VM, die keine softwareabhängigkeiten hat braucht man in beiden fällen.
jumay schrieb:
cbhp schrieb: Nichts ist unmöglich ;) Mit genügend Aufwand kannst du alles schaffen.
Das würde ich jetzt so nicht sagen.
Was man mit Visual Basic nicht programmieren sollte sind hardwarenahe und zeitkritische Sachen z.B. Treiber, Videokompression, On the Fly en-/decryption, Datenbanken, 3D-Action-Spiele, Sensor- und Steuerungsprogramme etc.
das würd ich zum größten teil nicht so laut sagen...(über vb.net wurde ja genug geredet deshalb -> vb6) 3d-Action spiele gehen sehr wohl, dank guter DX-unterstützung. Sensor/Steuerungsprogramme? was meinst du damit? wenn es du damit einfach nur programme meinst, die sensoren abfragen können oder servos/etc. steuern, das klappt ebenfalls mit Vb. Videokompression funktioniert natürlich auch. On the fly de/encryption funktioniert mit einschränkungen (natürlich etwas langsamer als c++, deshalb nur mit entweder schnell(er)en algorithmen oder leistungsfähiger(er) hardware). Das einzige wo du höchstwahrscheinlich recht hast sind die treiber. -
Das klassische Visual Basic (bis einschließlich 6) wird nicht mehr weiterentwickelt. Alle neueren Versionen sind .NET (sprich: dot NET) und benötigen beim Ausführen das .NET Framework.
Grenzen gibt es eigentlich keine. Mit viel Aufwand kannst du alles programmieren (außer, dass dein PC isst, läuft,...)
Jede Sprache hat seine Vorteile! Ich programmiere schon längere Zeit mit Delphi und bin eigentlich ganz zufrieden. Auch das sich immer noch haltende Gerücht, dass man mit Delphi keine Spiele programmieren kann, ist NICHT wahr.
Visual Basic benütze ich nicht sehr oft, wenn dann eher C#. Visual Basic ist aber sehr angenehm für die Steuerung von den MS Offic Programmen (VBA).
Aber jeder muss für sich selbst entscheiden welche Sprache er verwenden will.
mfg delphicoder -
Ich bin auf dem "veralteten" Stand, dass ich als Softwareentwickler täglich mit vb.net programmiere.
zu:
Datenbanken
ich meinte nicht nutzen, sondern programmieren. ich glaube nicht, dass der MS-SQLServer in vb.net oder C# geschrieben wurde.
Sensor und Steuerungsprogramme
Echtzeitsysteme mit vb.net? Ich wollte nicht in einem Airbus sitzen, dessen Software mit vb.net erstellt wurde.
3D-Spiele, videokompression, on the fly verschlüsseln / entschlüsseln
wenn mann eine fertige Bibliothek zu verwendet (z.B. directX) mag man mit vb.net durchaus einige Aufgaben lösen können. Aber z.B. die en-/decoding Routinen für einen eigenen Videocodec wurde ich in vb.net lieber nicht versuchen.
Wie schon gesagt hardwarenahe und zeitkritische Sachen sollten in einer Compilersprache aus der nativer Machinencode erzeugt wird, geschrieben werden.
-
Es gibt für jede Sparte eine Sprache, die darin die beste ist: C++ für Spiele, Delphi für Datenbanken, ...
Grenzen gibt es eigentlich keine (wie schon gesagt) aber das Verhältnis Nutzen zu Aufwand sollte abgewägt werden!
Treiber möchte ich keine mit VB schreiben müssen. -
Ich selbst kann VB, ich würde dir Abraten aufwendige, auslastungshohe Sachen zu programmieren, VB stürzt schnell mal ab. Und für Spiele würde ich es auch nicht nehmen, obwohl es eigendlich auch machbar ist.
Betriebssystem wirstdu jedoch nicht schaffen, VB wird ja nichtmal auf linux richtig erkannt, wie möchtest du es dann ganz ohne framework machen? Und microsoft wird die das framework nich als sourcecode aushändigen ;) -
Hallo,
wenn man es kann ist, denke ich, nichts unmöglich!
Visual Basic ist eine höhere Programmiersprache, die ständig weiterentwickelt wird.
Somit ist sie immer auf dem technisch momentan aktuellen Stand und alles, was irgendwie möglich ist, muss gehen.
Das heißt jedoch nicht, dass Visual Basic die beste Lösung für alle Probleme ist.
Wenn es (nur als Beispiel) um die Programmierung von Mikrocontrollern geht, kommt man in Visual Basic meines Erachtens nicht weit.
Dafür muss man dann entweder Assembler oder (wem das zu schwierig ist) C programmieren.
FAZIT: Visual Basic ist nur für bestimmte Projekte gut geeignet.
Die Sprache bietet sich vor allem an, wenn es um die Programmierung grafischer Oberflächen geht.
Aber selbst dann gibt es Alternativen, z.B. C#, Delphi oder Perl bzw. Ruby und der Tcl/Tk- Bibliothek. -
nico-stuhlfauth schrieb:
Wenn es (nur als Beispiel) um die Programmierung von Mikrocontrollern geht, kommt man in Visual Basic meines Erachtens nicht weit.
Dafür muss man dann entweder Assembler oder (wem das zu schwierig ist) C programmieren.
Naja, der Vergleich hinkt, da Microcontroller keine PCs mit Betriebssystem sind, folglich können sie auch keine Programme ausführen, die einen Bytecode-Intepreter brauchen. Daher kann man Java/VB.Net da vergessen. Es sei denn, man erweitert die Leistungen der Hardware drastisch, aber dann sinds keine Microcontroller mehr.
Oder man verwendet einen Compiler der aus einer ähnlichen Sprache nativen Code für den jeweiligen Ziel-Microcontroller ausgibt.
Daher kann man mit "C#, Delphi oder Perl bzw. Ruby und der Tcl/Tk" da auch nicht mehr erreichen.
Zudem ist C# und VB.Net eh fast identisch, VB.Net erzeugt den gleichen ByteCode, erfordert nur das Laden der VBNET.DLL mehr...
Für die Zusammenarbeit MIT einem Microcontroller ist VB.Net aber wiedermal ideal: Über den UART-Bus ("Seriell") lässt sich der Microntroller wunderbar von einem schönen, bunten VB.Net Programm ansprechen. Programmieren muss man den Microcontroller halt über seine eigene Sprache, aber da gibts auch Basic, Pascal, C, C++ uvm. :)
Beitrag zuletzt geändert: 17.5.2009 19:54:38 von erasmuz -
erasmuz schrieb:
nico-stuhlfauth schrieb:
Wenn es (nur als Beispiel) um die Programmierung von Mikrocontrollern geht, kommt man in Visual Basic meines Erachtens nicht weit.
Dafür muss man dann entweder Assembler oder (wem das zu schwierig ist) C programmieren.
Naja, der Vergleich hinkt, da Microcontroller keine PCs mit Betriebssystem sind, folglich können sie auch keine Programme ausführen, die einen Bytecode-Intepreter brauchen. Daher kann man Java/VB.Net da vergessen. Es sei denn, man erweitert die Leistungen der Hardware drastisch, aber dann sinds keine Microcontroller mehr.
Oder man verwendet einen Compiler der aus einer ähnlichen Sprache nativen Code für den jeweiligen Ziel-Microcontroller ausgibt.
Daher kann man mit "C#, Delphi oder Perl bzw. Ruby und der Tcl/Tk" da auch nicht mehr erreichen.
Zudem ist C# und VB.Net eh fast identisch, VB.Net erzeugt den gleichen ByteCode, erfordert nur das Laden der VBNET.DLL mehr...
Für die Zusammenarbeit MIT einem Microcontroller ist VB.Net aber wiedermal ideal: Über den UART-Bus ("Seriell") lässt sich der Microntroller wunderbar von einem schönen, bunten VB.Net Programm ansprechen. Programmieren muss man den Microcontroller halt über seine eigene Sprache, aber da gibts auch Basic, Pascal, C, C++ uvm. :)
OK, das Beispiel war vielleicht nicht ideal!
Aber ich wollte ja nur sagen, dass nicht jede Sprache für alles gleich gut geeignet ist! -
Soweit ich informiert bin, kannst du mit VB alles machen, was du auch mit C++ machen kannst. Eine Dynamic Link Library (DLL), die in C++ geschrieben ist, kann nämlich auch in VB verwendet werden.
-
devex schrieb:
Soweit ich informiert bin, kannst du mit VB alles machen, was du auch mit C++ machen kannst. Eine Dynamic Link Library (DLL), die in C++ geschrieben ist, kann nämlich auch in VB verwendet werden.
DLL' s kannst du sprachunabhängig verwenden. Du kannst in VB auch mit Delphi geschriebene DLL's verwenden. Darin liegt ja eben der Vorteil von DLL's (neben dem einmaligen LAden in den Speicher).
LG -
Eben, von daher gibt es auch keine Grenzen gegenüber den anderen Programmiersprachen.
-
Also, ich würde sagen mit VB ist alles möglich.
Nur nicht alles so schnell. Wenn man wirklich zeitkritische Sachen schreiben will, sollte man am Ende doch zu C++ greifen. C ist die schnellste Sprache, egal wie mans dreht (solange man nicht Assembler schreiben will).
Wenn man dagegen schnell programmieren will und sich nicht mit Pointern und Speicher beschäftigen möchte, dann sollte man zu einer Sprache wie Ruby oder Phyton greifen. Die sind nicht so schnell, dafür kann man schnell etwas umsetzen. VB ist da so die weder noch Variante. Weder besonders schnell, noch besonders schnell zu programmieren... -
Naja. Aber C ist ja nicht gerade für seine benutzerfreundliche Syntax bekannt.
Delphi ist auch sehr schnell (zwar kommt es nicht ganz an C heran, aber trotzdem schnell ;)). Über die freundlichere Syntax müssen wir uns glaube ich nicht streiten. Und was man so von Embarcadero / Codegear hört wird in der Zukunft wieder mehr an Delphi gearbeitet. Von daher sehe ich Delphi wieder auf dem Erfolgsweg.
LG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage