PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche Sprache/Umgebung für folgende Anforderungen:


Inquisitor
2008-09-12, 11:01:28
Was meint ihr, ist der beste Kompromiss, wenn es darum geht, eine Desktopapplikation (als einzelner Programmierer in möglichst kurzer Zeit, sprich möglichst effizient) zu entwickeln, welche in etwa folgende Anforderungen mitbringt:

-möglichst plattformunabhängig
-ausreichend performant um sagen wir mal 100.000 oder vielleicht auch 1.000.000 recht einfache arithmetische Operationen (bspw. Multiplikation von double-Werten) in einem effizienten Algorithmus ohne spürbare Zeitverzögerung oder zumindest nicht mehr als wenigen Sekunden auszuführen.
-sehr moderne optisch ansprechende GUI
-Datenverwaltung in einer Datenbank (SQL!?)
-Spätere Weiterentwicklung von einer reinen stand-alone Client-Lösung zu einer Client-Server Lösung.

Und bitte keine "Geheimtipps", es soll in einer weit verbeiteten Sprache/Umgebung entwickelt werden.

Ganon
2008-09-12, 11:20:56
Und bitte keine "Geheimtipps", es soll in einer weit verbeiteten Sprache/Umgebung entwickelt werden.

Da bleibt wohl nur Java. Ales andere dürfte sich mit "in möglichst kurzer Zeit" beißen. Natürlich je nachdem wie man den Begriff dehnt ;)

Wie schnell die Operationen ausgeführt werden, hängt ja in dem Sinne auch vom Programmierer und der Hardware ab ^^

Inquisitor
2008-09-12, 11:26:32
Dank Dir schomal. Das war auch der Schluss, zu welchem ich nun am ehesten gekommen bin. Wie sieht es da mit Performance und moderner GUI aus? Das sind noch zwei Fragezeichen, welche ich im Kopf bzgl. Java hatte.

Als zweites ist mir noch .Net (C# od. C++/CLI) im Kopf gewesen. Das scheitert wohl an der nur theoretisch vorhandenen Plattformunabhängigkeit, oder?

Sonst noch Vorschläge,Ideen? =)

Ganon
2008-09-12, 11:31:39
Dank Dir schomal. Das war auch der Schluss, zu welchem ich nun am ehesten gekommen bin. Wie sieht es da mit Performance und moderner GUI aus? Das sind noch zwei Fragezeichen, welche ich im Kopf bzgl. Java hatte.

Also die GUI an sich ist recht schnell, man muss als Programmierer halt nur aufpassen und bestimmte Dinge beachten. Listener nicht überfrachten, aufwändige Rechnungen, die ein GUI-Update zur Folge haben in einen SwingWorker-Thread auslagern, etc. Das beschleunigt zwar nicht die Berechnung, aber die GUI friert nicht ein und wirkt schneller.

Als zweites ist mir noch .Net (C# od. C++/CLI) im Kopf gewesen. Das scheitert wohl an der nur theoretisch vorhandenen Plattformunabhängigkeit, oder?

Nunja, mit Mono geht es zwar voran, aber ich habe immernoch so meine lieben Probleme Mono vernünftig zum Laufen zu kriegen. Gerade wenn es um GUI geht. Mit Microsofts .NET schreiben und mit Mono laufen lassen kann man eh knicken.

Wenn Plattformunabhängigkeit nicht wäre, dann würde ich auch eher C#/C++ nehmen.

Inquisitor
2008-09-12, 11:35:05
Alles klar, Dank Dir, Das hat mir schon sehr geholfen. Wenn sonst noch jemand Anregungen/Ideen hat, immer her damit =)

Tiamat
2008-09-12, 11:48:16
Da führt wohl kein Weg an Java vorbei. Wobei Javaprogramme fix laufen, wenn man mal vom Start absieht. Vermutlich wird der Performanceunterschied zu C/C++ mit steigendem Programmunfang immer deutlicher, aber wenn du Wert auf Plattformunabhängigkeit legst, hast du wohl eh keine Wahl.

Eine andere Möglichkeit wäre Python und Tk, die Performance wird sicher schlechter sein, als die von Java, allerdings lässt sich das ganze Programm schneller erstellen, wenn man sich ein wenig mit Python auskennt. Ich glaube Python hat sogar ein Modul mit einer eigenen Datenbank, wenn ich mich nicht irre.

Trap
2008-09-12, 13:22:13
"Moderne GUI" ist stark von der Einschätzung jedes einzelnen abhängig. Geht es da um die Optik oder um die Implementierungsseite?

Modern wären zum Beispiel die Google Web-Applikationen in Javascript (mit Client/Server Trennung). Google maps erfüllt ziemlich genau deine Anforderungen, die Serverseite ist performant und bietet Datenbankdienste, die Clientseite ist modern und platformunabhängig.

Gast
2008-09-12, 14:10:24
Modern wären zum Beispiel die Google Web-Applikationen in Javascript (mit Client/Server Trennung). Google maps erfüllt ziemlich genau deine Anforderungen, die Serverseite ist performant und bietet Datenbankdienste, die Clientseite ist modern und platformunabhängig.

Naja, das sind sehr gewagte Theorien. Webanwendungen sind nun mal Webanwendungen, egal ob da AJAX drin ist oder nicht. Modern wäre eher eine Client API, die GPU beschleunigt ist wie z.B. WPF. Dort kann man auch mittels XAML kinderleicht die Elemente verschachteln (z.B. innerhalb eines Tags für einen Button kann man eine Textbox platzieren usw.). Ich persönlich fände es ziemlich bescheuert, wenn man die immense Rechenleistung der Desktop PCs brach liegen lässt und stattdessen jeden Quatsch mit Webanwendungen realisiert.

Trap
2008-09-12, 14:57:08
Wenn du WPF modern findest, kannst du deine Webanwendungen natürlich auch mit Silverlight entwickeln ;)