Hallo, als ich das letzte mal für den PC programmiert habe war Visual Basic 6 aktuell. Bevor ich mich jetzt in etwas neues einarbeite habe ich mir die Kandidaten etwas genauer angeschaut. Eine große und für mich recht wichtige Frage ist, wie das Endergebnis (die Exe) aussieht. Wenn ich es richtig gelesen habe kann der C++ Builder und Delphi statisch gelinkte Exes erzeugen ? Hat mich schon immer bei VB gestört, daß ohne ein Setup mit dem ActiveX und DLL Kram nichts lief. Gerade bei kleinen Tools finde ich es sehr wichtig, daß man eine exe einfach auch mal so ausführen kann. Hat sich das im .Net Zeialter auch geändert ? Wie sieht es bei den neuem VB und Visual C++ (Express) aus ? Finde leider überall nur Marketing gefasel über Effizenz, Rapid Development, ... Vielen Dank Jürgen
Realbasic ist wohl einen Blick wert. Kommt VB sehr nahe,und kann (in der Professional Version) aus einem Quellcode ausführbare Programme für MAC, Linux und Windows erzeugen. Unter MAC und Linux ist es tatsächliche eine einzige ausführbare Datei ohne Abhängigkeiten, unter Windows wurde das leider kürzlich geändert in EXE + ein Unterordner. Die Standard-Version gibts für Linux gratis, für die anderen Plattformen kostet sie glaub so 80 Euro. Die Professional ist leider sehr teuer, 400 Euro. Zum ausprobieren gibts eine Demoversion. http://www.realsoftware.com/products/realbasic/index.php?lang=gr
> Hat sich das im .Net Zeialter auch geändert ?
Echte monolithische Anwendungen gibt es dort erst recht nicht, das
Äquivalent der VBRUN.DLL ist halt das .Net-Geraffel.
Delphi/C++-Builder, aber auch die C/C++-Compiler von Microsoft können
aber sehr wohl monolithische Anwendungen erzeugen, wenn denn man auf das
.Net-Geraffel verzichtet.
Wenn Deine Anwender einigermassen aktuelle Windows Betriebssysteme haben und jeweils die Updates und Service Packs installiert haben, dann ist normalerweise das .NET Framework schon drauf. In diesem Falle brauchst Du dann nur die .exe weiterzugeben, wie es auch früher schon der Fall war. Falls sie das .NET Framework noch nicht drauf haben, können sie es einfach per http://update.microsoft.com nachrüsten, ist also wesentlich einfacher als früher mit den Runtime-Libraries. Von da her spricht meiner Meinung nach nichts gegen eine .NET Applikation.
> Falls sie das .NET Framework noch nicht drauf haben, können sie es > einfach per http://update.microsoft.com nachrüsten, ist also wesentlich > einfacher als früher mit den Runtime-Libraries. Wenn Downloads in der 20 MByte und mehr-Klasse kein Problem sind, dann mag das so sein. Es soll aber immer noch Leute geben, die nicht über Breitbandinternetzugänge verfügen.
Johnny wrote: > Wenn Deine Anwender einigermassen aktuelle Windows Betriebssysteme haben > und jeweils die Updates und Service Packs installiert haben, dann ist > normalerweise das .NET Framework schon drauf. In diesem Falle brauchst > Du dann nur die .exe weiterzugeben, wie es auch früher schon der Fall > war. > Falls sie das .NET Framework noch nicht drauf haben, können sie es > einfach per http://update.microsoft.com nachrüsten Optimist... in meinem Fall ist das Blödsinn. Das VB-Runtime (sprich: eine Dll, vbrunXX.dll) kann ich mit der EXE in ein Zip packen und gut ist. Läuft ohne Installation überall, sogar in Wine unter Linux. Das .NET-Gerümpel muss ich runterladen und installieren, wenn das denn geht (wine!).
Es kommt immer drauf an, was du machst. Ich beziehe mich hier mal auf meine Erfahrungen mit Visual Studio 2005(C++). Wenn du ein ganz normales Programm schreibst, von mir aus auch noch mit Windows, wird das ohne weitere DLLs usw. laufen. Danach kommts drauf an, welche Bibliotheken du einsetzt. Bei Windows-Programmen, die nicht nur aus einem dialogfeld bestehen, wird ja gerne die MFC verwendet. Die braucht z.B. auch schon wieder DLLs. Das .NET-GEraffel natürlich auch. Richtig ist, bei aktuell gehaltenen Windows-Versionen sind diese Dinge installiert. Ob das aber immer und bei jedem so ist, kann dir keiner sagen. Also wenn du sicher gehen willst, dass deine Programme bei jedem spofort ohne weiteres Zutun laufen(z.B. auch wenn kein Internet vorhanden ist), kannst du je nach Komplexität entweder MFC und NET usw. weglassen, oder du forschst nach, welche Dateien nötig sind. Diese giobt es meistens bei Microsoft als sogenannte Redistributable Packages, die kannst du dann mit deinem Programm mitliefern.
> Bei Windows-Programmen, die nicht nur aus einem dialogfeld > bestehen, wird ja gerne die MFC verwendet. > Die braucht z.B. auch schon wieder DLLs. Nein, MFC-Applikationen können auch statisch gelinkt werden.
> Es soll aber immer noch Leute geben, die nicht über > Breitbandinternetzugänge verfügen. Ist heutzutage kein Argument mehr. Wenn es danach geht, dann wäre jedwede Linux-Distri mittlerweile völlig sinnfrei. Linux lässt sich nicht mehr ohne die Möglichkeit Updates aus dem Netz zu ziehen sinnvoll betreiben. Und auch Updates für ein Windows ab 2k aufwärts möchte ich nicht mehr mit meinem alten 56k Modem pflegen wollen. Dagegen ist das bisschen .NET Nachrüsterei ein Witz, denn .NET lässt sich bequem aus einer einzigen Datei nachinstallieren. Für Offline-Updates müsste man da schon die "Variante" der c't bemühen o.ä. Nee, mal im ernst, .NET ist doch eine Bereicherung der Windows Plattform und wesentlich interessanter als die MFC.
Erstmal vielen Dank für die Antworten. In der Zwischenzeit war ich nicht untätig und mein Rechner ist nun um ein paar IDEs reicher :-) Da es sich meistens um kleinere Anwendungen handelt sehe ich es irgend wie nicht ein, warum jemand um eine handvoll Bytes in einem uC einzustellen, zig MByte runterladen muß (kleines Configtool). Ich sehe mich da immer mit Laptop und USB-Stick beim Kunden und dann fängt das Teil an nach einem Framework zu schreien. Das es nicht unbedingt so sein muß habe ich heute bei Delphi und dem C++ Builder gesehn. Schlußendlich wird es wohl der C++ Builder werden, wobei ich bisher mit der kostenlosen Version Turbo C++ (auch komerziell nutzbar!) alles hinbekommen habe.
Bei DirectX 9 und Java Runtime kräht auch kein Hahn mehr danach die nachinstallieren zu müssen (Java RT wird z.B. für OpenOffice empfohlen). Ein .NET Framework 2.0 vorauszusetzen sollte da ebenfalls kein Problem sein (hab ich letztens auf einem recht alten Laptop mit sehr wenig RAM installiert. Läuft prima; W2k wurde dadurch nicht langsamer; sogar die Express Edition lässt sich bei deutlich unter 1 GHz verwenden. Das einzige wo es mit .NET schwierig wird ist wenn man noch Windows 9x verwendet. Da geht nix bzw. bliebe dann noch die gute alte Win32 API als Alternative). Man erschließt sich mit .NET letztlich auch mehr Anwendungen und für Linux gibt es MONO in bereits beachtlichem Umfang. Python-Skripte laufen auch nicht, ohne das man vorher was installiert.
> Das einzige wo es mit .NET schwierig wird ist wenn man noch Windows 9x > verwendet. Nicht ganz richtig; bis .NET 2.0 (also Visual Studio 2005) gehts auch mit Windows 9x, habe ich selber so im Einsatz. Allerdings läufts dann z.B. auf einem 500MHz PC schon sehr langsam. Ok, ich sehe schon, Du willst ausser der .exe auf nichts anderes angewiesen sein und vom "Fortschritt" nichts wissen. Dann würde ich Dir das alte Delphi 4 oder 5 empfehlen. Tolle IDE und sollte alles können was Du machen willst. Delphi 6 war Schrott, also die Finger davon lassen!
> Nicht ganz richtig; bis .NET 2.0 (also Visual Studio 2005) gehts auch > mit Windows 9x, habe ich selber so im Einsatz. Allerdings läufts dann > z.B. auf einem 500MHz PC schon sehr langsam. Also Visual C# Express 2005 braucht minimal Windows 2000. Für .NET 2.0 Redist tributable hast du recht, allerdings würde ich das mit W9x nicht empfehlen. Hatte das auch schon mal unter Win98SE laufen und war damit nicht glücklich. Unter W2k merkt man aber keine negativen Begleiterscheinungen. Das Dilemma ist, dass man mit W2k dann wiederum von Visual C# Express 2008 ausgeschlossen ist und dann zu XP greifen muss. Auf der anderen Seite würde ich aber bei der Programmerstellung W2k nicht von vorneherein ausschließen wollen .. (mal so als Anregung)
Geniesser wrote: > Das Dilemma ist, dass man mit W2k dann wiederum > von Visual C# Express 2008 ausgeschlossen ist und dann zu XP greifen > muss. Auf der anderen Seite würde ich aber bei der Programmerstellung > W2k nicht von vorneherein ausschließen wollen .. (mal so als Anregung) Wenn W2k ein "must" ist, dann halt Visual C# Express 2005 nehmen. Soooo unheimlich viel Neues und Wichtiges bringt 2008 auch wieder nicht. Oder sonst auf die eierlegende Wollmilchsau ausweichen...
Aber er will ja vom .NET Framework eh nichts wissen. Von da her würde ich ein altes Delphi nehmen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.