Autor Beitrag
Nano-Ware
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: Mo 02.04.12 13:51 
Hey,

ichstehe derzeit vor einer Entscheidung und zwar geht es um den Wechsel von Delphi/C++ zu C#. Dass man den Code dort einfach mit Decompilern auslesen kann ist mir klar und auch wie man sich dagegen schützt. Wie .NET ansich im Einfachen funktioniert weis ich auch. Es geht um etwas ganz anderes:

Ich habe noch nie besonders große Projekte erstellt und bin deswegen auf eure Erfahrungen angewiesen. Es geht grundsätzlich um die Geschwindigkeit der Anwendungen (Grafik, Dateizugriff, Rechnen, ...), bei der ich mir doch sehr unsicher bin. Ich habe gehört, dass größere Projekte in .NET eine halbe Ewigkeit starten, weil diese ja er nocheinmal compilert werden. 5 Sekunden mehr ist noch erträglich, wenn das Ganze allerdings noch länger braucht lohnt sich das nicht. Die Frage generell ist einfach, wie groß der Unterschied bei der Geschwindigkeit zwischen nativ und .NET ist, denn wenn der zu groß ist lohnt sich der Umstieg keines Wegs, auch wenn ich mich an die vielfalt der Funktionen und dem einfachen Handhaben schon gewöhnen könnte. (:

Danke für eure Antworten!
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Mo 02.04.12 14:15 
Stellt sich halt die Frage, was Du Dir von einem Wechsel für Vorteile versprichst?

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Nano-Ware Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: Mo 02.04.12 14:22 
Ich habe für deutlich mehr Themengebiete Funktionen und muss nicht mit 100 verschiedenen Texttypen arbeiten. Außerdem ist .NET durch Mono beispielsweise ja auch relativ platformunabhängig. Ich habe mit Delphi nichteinmal das Auflisten aller Laufwerke geschafft..
Cäptin Pommes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 142
Erhaltene Danke: 2



BeitragVerfasst: Mo 02.04.12 14:29 
ich glaube man kann auch sehr umfangreiche Projekte gut mit C# und .NET realisieren ... man kann schließlich auch hochwertige 3d games damit entwickeln ect.
sicherlich hat man irgentwo einbußen aber ich glaube das verhältniss stimmt :)
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Mo 02.04.12 14:43 
user profile iconNano-Ware hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe mit Delphi nichteinmal das Auflisten aller Laufwerke geschafft..

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var
  s : String;
begin

  for s in TDirectory.GetLogicalDrives do
    ShowMessage(s);

end;

Wirklich einfacher gehts nicht, oder? :nixweiss:
(Wobei ich dazusagen muss, dass das so erst ab Delphi 2010 funktioniert, glaub ich)

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Nano-Ware Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: Mo 02.04.12 14:49 
Natoll erstmal danke. Im Internet habe ich nur Funktionen gefunden, die nullterminierte Strings zurückgeben mit denen man dann erstmal arbeiten muss. Ich sehe langsam keinen Vorteil mehr an .NET, denn plattformunabhängigkeit kommt ja bestimmt in den nächsten Delphiversionen. Vielen Dank für eure Beratung!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 02.04.12 15:06 
Also erst einmal wird bei .NET nicht beim Start das gesamte Programm kompiliert, sondern es werden nach und nach die Teile des Programms von Zwischencode übersetzt, die gebraucht werden. Und das wird auch nur ein Mal gemacht und das Ergebnis gecached.

Du hast eine umfangreiche und gut strukturierte Klassenbibliothek, Du musst nur sehr selten irgendwelche anderen Bibliotheken dazu holen. Du hast Konzepte, die Dir das Leben leichter machen und nur langsam in Delphi Einzug halten (z.B. Bindings, vektorbasierte Benutzeroberflächen (WPF), Funktionen zur einfachen Parallelilisierung, LINQ, ...). Du kannst Code für den Desktop schreiben und ihn mit Silverlight als Web-Anwendung wieder verwenden oder auch auf einem Windows Phone laufen lassen. Und das alles mit einem String, der schon immer Unicode war und deswegen keinen Ärger macht ;-)

Wenn die Auflistung von Laufwerken Dein einziger Grund war, Dir .NET anzugucken, dann hast Du tatsächlich keinen Grund mehr, weiter zu schauen. Wenn Dein Programm noch mehr können soll, ist es vielleicht mal eine gute Gelegenheit, reinzuschnuppern ;-)

Ach ja, erwähnte ich, dass Du mit Visual C# Express oder SharpDevelop zwei kostenlose IDEs haben kannst?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
mats74
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 189
Erhaltene Danke: 26

Win 10
VS 2017/19, C++, C#
BeitragVerfasst: Mo 02.04.12 15:09 
Ich habe eigentlich alle internen Programme mit .Net gelöst und bin nie an die Leistungsgrenzen der Performance gekommen.
Mein Hauptprogramm beinhaltet z.B. Kalkulationsprozesse von grossen Bauprojekten, Verwaltung von komplexen Stücklisten, Lagerverwaltungsprozessen, grafische Darstellungen von CNC-gesteuerten Abläufen, Schnittstellen zu anderen Softwarebauteilen und vieles mehr.
Ich denke, das grösste Performanceproblem sitzt meist vor der Tastatur (ich will natürlich niemandem zu nahe treten).
Die grundlegende Sache der Perfomance liegt meist in der Optimierung des Codes.

_________________
Gruss
mats74
Nano-Ware Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: Mo 02.04.12 15:27 
Könnt ihr eventuell einfach mal grundlegende Vorteile bzw Nachteile gegenüberstellen?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 02.04.12 15:29 
user profile iconNano-Ware hat folgendes geschrieben Zum zitierten Posting springen:
Könnt ihr eventuell einfach mal grundlegende Vorteile bzw Nachteile gegenüberstellen?
Nein, welches die bessere Lösung ist, kommt auf die Anwendung an, die Du schreiben willst. Für jede Aufgabe gibt es das richtige Werkzeug :-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".

Für diesen Beitrag haben gedankt: jasocul, Nersgatt
Nano-Ware Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: Mo 02.04.12 15:31 
Okay dann anders gefragt:

- Seriennummer aus USB auslesen und damit arbeiten?
- Verwaltung von Personengruppen
- Spiel

Welches Themengebiet zu welcher Programmiersprache? :D
Cäptin Pommes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 142
Erhaltene Danke: 2



BeitragVerfasst: Mo 02.04.12 15:37 
zweitens und drittens gehn auf jedenfall mit C# / .Net / XNA (fürs spiel)

erstens geht bestimmt auch, wüsste aber jetzt auch nich wie :D
Nano-Ware Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: Mo 02.04.12 15:39 
Gehen tun alle drei sowohl in Delphi als auch in C# nur was ist besser geeignet?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 02.04.12 16:21 
Deine Anforderungen sind immer noch viel zu pauschal um da zu unterscheiden. Sich von jemanden anderen sagen zu lassen was für einen selbst besser geeignet ist (ja das ist eine individuelle Kategorie keine absolute) halte ich sowieso für sinnfrei. Probier es aus. Und zwar länger als ein paar Tage und länger als bis zu deiner Feststellung das es anders funktioniert als Delphi.
mats74
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 189
Erhaltene Danke: 26

Win 10
VS 2017/19, C++, C#
BeitragVerfasst: Mo 02.04.12 16:30 
... das ist definitv der einzige Weg, wie Du es herausfindest (probieren, probieren ... und dann nach deinen Kriterien entscheiden).
Meistens liegt es an deinen Vorlieben zu einer Programmiersprache und nicht an diesen sehr weit entwickelten Programmierstrukturen.

_________________
Gruss
mats74