Hallo! Ich habe eine etwas allgemeine Frage. Dementsprechend erwarte ich natuerlich keine konkreten Antworten, aber vielleicht ein Paar Hinweise oder Tips. Zum Hintergrund: Ich muss hpts. wissenschaftliche Software schreiben, die auf Performance getrimmt ist. Verwendete Programmiersprachen sind i.d.R. eine Mischung aus C und Fortran oder aber C++, compiliert mit Intel's Compiler. Groessere Programme, die auf einer CPU wochen- oder gar monatelang laufen wuerden, sind mit MPI parallelisiert und laufen auf einem Cluster. Manche Programme verwenden auch openMP auf SMP Systemen. Fuer grafische Programme oder Frontends wird hpts. C/GTK, manchmal auch C++/FLTK oder Java/swing verwendet. Die Programme arbeiten ausschliesslich unter Linux, cross-platform Entwicklung ist momentan nicht vorgesehen (aber man weiss ja nie was die Zukunft noch bringt). Nun meine Frage: macht es mit dem oben genannten Hintergrund Sinn, fuer die Zukunft mal einen Blick auf C# zu werfen? Oder ist das schlicht komplett unsinnig. Ich arbeite seit vielen Jahren mit C und C++ und kann daher gut einschaetzen, was man mit wie viel Aufwand so alles umsetzen kann. Mit C# kenne ich mich nicht so aus, daher meine Frage. Ich wuerde dieses Framework eigentlich nicht fuer Performance-orientierte Software heranziehen. Liege ich da eher richtig oder eher falsch? Meinungen? Danke schon mal im Voraus und Gruesse aus London, Thomas --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Am Dienstag, 29. Mai 2007 schrieb Thomas Hertweck:
Ich wuerde dieses Framework eigentlich nicht fuer Performance-orientierte Software heranziehen. Liege ich da eher richtig oder eher falsch? Meinungen?
Da man im Gegensatz zu "echten" Compiler-Sprachen immer in irgendeiner Form von der Performance und Qualität des Frameworks und seines - wie nennt man das? Ist das noch ein Interpreter? - abhängt, würde ich Dir ein klares "Ja" zurufen. Ausserdem finde ich es immer noch problematisch, mehr oder weniger von zwei Herstellern abhängig zu sein (MS auf der MS-Seite und Novell auf der Mono-Seite). Vorteile sind IMHO nur die einfache Portierbarkeit zwischen den (unterstützten) Plattformen, obwohl ich das selbst noch nicht probieren musste, sowie die etwas "einfachere" oder durchgängigere Sprache. Und möglicherweise macht es den Umstieg für Leute die von Borland kommen einfacher (da merkt man doch wer C# entwickelt hat). Aber das hat mit Deiner Frage wohl eher weniger zu tun. mfG, Jens --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Am Dienstag, 29. Mai 2007 01:50 schrieb Jens Nixdorf: [...]
Ausserdem finde ich es immer noch problematisch, mehr oder weniger von zwei Herstellern abhängig zu sein (MS auf der MS-Seite und Novell auf der Mono-Seite).
Na ja, das sehe ich ein wenig anders. Mit C# ist man weder von MS noch von Novell abhängig. Die mono-Laufzeitumgebung ist ein Community-Projekt. Gut, Novell ist stark involviert, aber mono ist nicht Abhängig von Novell - eher umgekehrt. Die ganzen Klassenbibliotheken sind frei. Um auf Thomas Ausgangsfrage zurückzukommen: Simple GUI-Anwendungen (Daten anzeigen, Berichte, oder Konfigtools) lassen sich unter C# mit ähnlich niedrigem Aufwand erstellen wie damals mit dem unsäglichen VB. Wobei C# natürlich nicht mit VB zu vergleichen ist. Kompliziertere Anwendungen sind auch möglich, auch multithreaded, aber da kommt dann die Laufzeitumgebung stärker zum tragen. Der einzige Wermutstropfen ist derzeit noch, dass man für die Dokumentation auf das msdn angewiesen ist. Aber das wird sich in Zukunft sicher noch ändern. Unterm Strich wirst Du (bzw. Dein AG) nur dann herausfinden ob Euch C# etwas nutzt, wenn Ihr ein wenig Zeit investiert und es mit einem (kleineren) Projekt ausprobiert. [...]
mfG, Jens
Gruss Mario --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Am Dienstag, 29. Mai 2007 schrieb Mario van der Linde:
Na ja, das sehe ich ein wenig anders. Mit C# ist man weder von MS noch von Novell abhängig. Die mono-Laufzeitumgebung ist ein Community-Projekt. Gut, Novell ist stark involviert, aber mono ist nicht Abhängig von Novell - eher umgekehrt.
Ich vertrete da eine wahrscheinlich subjektive Ansicht, aber bisher ist alles, was von Manuel de Icaza initiert wurde, mir irgendwie sauer aufgestossen. Meiner Meinung nach werden die Projekte immer sehr dominant geführt und es wird weniger und/oder arroganter auf Wünsche aus der Community reagiert wie bei anderen Projekten. Bei Evolution z.B. war vor ein paar Jahren mal der Wunsch nach einer zusätzlichen Form der Navigation durch die Mails laut geworden (in diesem Fall das Weiterlesen per Spacetaste, auch über Mails und Verzeichnisse hinweg). Die Art, wie dieser Wunsch abgeschmettert wurde, hat sich bei mir sehr eingeprägt. mfG, Jens --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Erst einmal vielen Dank fuer alle bisherigen Antworten! Mario van der Linde wrote:
[...]
Unterm Strich wirst Du (bzw. Dein AG) nur dann herausfinden ob Euch C# etwas nutzt, wenn Ihr ein wenig Zeit investiert und es mit einem (kleineren) Projekt ausprobiert.
Das ist wahr, trifft aber natuerlich auf viele Dinge zu ;-) Selbst wenn man an einem kleineren Projekt das ganze ausprobieren will, muss man doch erheblich Zeit investieren (sagen wir: etliche Wochen), die man gegenueber seinem Arbeitgeber rechtfertigen muss. Daher muss ich zuerst ein wenig ausloten, ob das Vorhaben ueberhaupt einen Sinn ergibt - der Ursprung meiner Frage. GUI-Anwendungen sind in unserer Branche oft nur Frontends, die im Hintergrund gewisse Skripte generieren aus den Eingaben der Anwender; die Skripte werden dann in eine Cluster-Queue uebermittelt und starten wissenschaftlichen Anwendungen, die eben recht lange laufen koennen. Also, wirklich komplex ist das nicht, das sind eigentlich nur die Daten-Visualisierungsprogramme/GUIs (diverse Slices aus einem z.B. 200GB grossen Datenvolumen moeglichst schnell zu visualisieren ist tricky; allerdings betrifft auch das wieder weniger das GUI-Framework selbst). In meinem Bereich spielen, wie schon angedeutet, GUIs auch generell eine untergeordnete Rolle - die eigentliche wissenschaftliche Applikation ist das Entscheidende, und wenn wir auf dem Gebiet effektiver Programmieren koennten bei einem Wechsel der Programmiersprache unter Beibehaltung oder Verbesserung der Performance, dann waere das natuerlich einen Blick wert. Momentan sehe ich bisher keinen Vorteil, in unserer Situation C# fuer die naehere Zukunft in Betracht zu ziehen. C und C++ werden ja nicht von heute auf morgen verschwinden, hoffe ich ;-) Best regards, Thomas --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Hallo Thomas, Am Dienstag, den 29.05.2007, 23:10 +0100 schrieb Thomas Hertweck:
Erst einmal vielen Dank fuer alle bisherigen Antworten!
Mario van der Linde wrote:
[...]
Unterm Strich wirst Du (bzw. Dein AG) nur dann herausfinden ob Euch C# etwas nutzt, wenn Ihr ein wenig Zeit investiert und es mit einem (kleineren) Projekt ausprobiert.
Das ist wahr, trifft aber natuerlich auf viele Dinge zu ;-) Selbst wenn man an einem kleineren Projekt das ganze ausprobieren will, muss man doch erheblich Zeit investieren (sagen wir: etliche Wochen), die man gegenueber seinem Arbeitgeber rechtfertigen muss. Daher muss ich zuerst ein wenig ausloten, ob das Vorhaben ueberhaupt einen Sinn ergibt - der Ursprung meiner Frage.
GUI-Anwendungen sind in unserer Branche oft nur Frontends, die im Hintergrund gewisse Skripte generieren aus den Eingaben der Anwender; die Skripte werden dann in eine Cluster-Queue uebermittelt und starten wissenschaftlichen Anwendungen, die eben recht lange laufen koennen. Also, wirklich komplex ist das nicht, das sind eigentlich nur die Daten-Visualisierungsprogramme/GUIs (diverse Slices aus einem z.B. 200GB grossen Datenvolumen moeglichst schnell zu visualisieren ist tricky; allerdings betrifft auch das wieder weniger das GUI-Framework selbst). In meinem Bereich spielen, wie schon angedeutet, GUIs auch generell eine untergeordnete Rolle - die eigentliche wissenschaftliche Applikation ist das Entscheidende, und wenn wir auf dem Gebiet effektiver Programmieren koennten bei einem Wechsel der Programmiersprache unter Beibehaltung oder Verbesserung der Performance, dann waere das natuerlich einen Blick wert.
Momentan sehe ich bisher keinen Vorteil, in unserer Situation C# fuer die naehere Zukunft in Betracht zu ziehen. C und C++ werden ja nicht von heute auf morgen verschwinden, hoffe ich ;-)
Best regards, Thomas
hatte schon mal versucht Dir zu posten scheint aber nicht funktioniert zu haben. Ich würde Dir ein Blick auf QT empfehlen. Klaro ist das primär ein Framework für eine GUI aber es lassen sich wirklich hervorragend Konsolen-Programme entwickeln. QT bietet viele ausgereifte Objekte die das Programmierer-Leben wesentlich vereinfachen :-) Hohe Performance und alles in C++ Gruß Thomas ________________________________________________________________________________________________________________________ Schenker Deutschland AG, Frankfurt Handelsregister: Amtsgericht Frankfurt, HRB 51435 Vorstand: Hans-Jörg Hager (Vorsitzender), Michael Korn (Stellvertretender Vorsitzender), Dr. Bernd-Rüdiger Pahnke, Lothar Rosenkranz, Hugo Ruhmann, Aloys Winn Vorsitzender des Aufsichtsrates: Dr. Norbert Bensel Diese Nachricht ist nur für die Person bzw. Organisation/Unternehmenseinheit bestimmt, an die sie gerichtet ist. Sie kann Informationen enthalten, die vertraulich sind oder der gesetzlichen Geheimhaltungspflicht unterliegen. Sollten Sie nicht der beabsichtigte Empfänger dieser Nachricht sein, weisen wir Sie darauf hin, dass jegliche Offenlegung, Vervielfältigung und/oder Weiterleitung dieser Nachricht bzw. der darin enthaltenen Informationen streng verboten ist und rechtswidrig sein kann. Sollten Sie diese Mitteilung versehentlich erhalten haben, benachrichtigen Sie uns bitte umgehend, indem Sie auf diese E-Mail antworten, und löschen Sie diese Mitteilung von Ihrem System. Schenker ist weder für die einwandfreie und vollständige Uebertragung der in dieser Mitteilung enthaltenen Informationen noch für ihren eventuell verspäteten Empfang verantwortlich. --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Hallo Thomas Am Mi 30. Mai 2007 08:25 schrieb Thomas Keller:
Organisation/Unternehmenseinheit bestimmt, an die sie gerichtet ist. Sie kann Informationen enthalten, die vertraulich sind oder der gesetzlichen Geheimhaltungspflicht unterliegen. Sollten Sie nicht der beabsichtigte Empfänger dieser Nachricht sein, weisen wir Sie darauf hin, dass jegliche Offenlegung, Vervielfältigung und/oder Weiterleitung dieser Nachricht bzw. der darin enthaltenen Informationen streng verboten ist und rechtswidrig sein kann. Sollten Sie diese Mitteilung versehentlich erhalten haben, benachrichtigen Sie uns bitte umgehend, indem Sie auf diese E-Mail antworten, und löschen Sie diese Mitteilung von Ihrem System. Schenker ist weder für die einwandfreie und vollständige Uebertragung der in dieser Mitteilung enthaltenen Informationen noch für ihren eventuell verspäteten Empfang verantwortlich.
Sowas macht aber in einer Mail an eine Mailingliste, die auch jeder über Google finden kann nicht wirklich Sinn??? Gruss Beni -- Benjamin Neff info@benjaminneff.ch http://www.benjaminneff.ch
Am Dienstag, 29. Mai 2007 schrieb Jens Nixdorf:
Ist das noch ein Interpreter? - abhängt, würde ich Dir ein klares "Ja" zurufen.
Nachtrag: Ich meinte damit "Ja, Du liegst meiner Meinung nach richtig". Man sollte nachts schlafen und keine Mails schreiben. mfG, Jens --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Am Dienstag, 29. Mai 2007 schrieb Thomas Hertweck:
Ich wuerde dieses Framework eigentlich nicht fuer Performance-orientierte Software heranziehen. Liege ich da eher richtig oder eher falsch? Meinungen?
Da man im Gegensatz zu "echten" Compiler-Sprachen immer in irgendeiner Form von der Performance und Qualität des Frameworks und seines - wie nennt man das? Ist das noch ein Interpreter? - abhängt, würde ich Dir ein klares "Ja" zurufen.
C# wird vor der Ausführung in nativen Code compiliert, hat also _nicht_ wie java den grundsätzlichen Nachteil, dass es interpretiert wird. (Wobei es auch für Java just-in-time compiler gibt) mit freundlichen Grüßen Bernd Melchers -- Archiv- und Backup-Service | fab-service@zedat.fu-berlin.de Freie Universität Berlin | Tel. (030) 838-55905 und -56066 --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Am Dienstag, 29. Mai 2007 schrieb Bernd Melchers:
C# wird vor der Ausführung in nativen Code compiliert,
Naja, so halb. Meinetwegen kann man das dann Just-In-Time-Compiler nennen, dennoch ist man davon abhängig wie gut der auf der jeweiligen Plattform ist. mfG, Jens --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
participants (6)
-
Benjamin Neff
-
Bernd Melchers
-
Jens Nixdorf
-
Mario van der Linde
-
Thomas Hertweck
-
Thomas Keller