Softwareentwicklung mit Delphi
Posts 11-19 of 19
- Back
- Next
-
André Brosda Premium MemberThe company name is only visible to registered members.Re^3: Glaubensfrage
Mich interessiert ja in erster Linie, ob der neue Compiler besseren Code erzeugen kann, als der alte, fähige leute dürfte man doch genug haben."
... habe ich jetzt nicht verstanden
Auf deutsch: MacGyver oder Chuck Norris erzeugen mit einem simplen Hexeditor in Rekordzeit perfekte Programme. Alle anderen, weniger fähigen brauchen eine IDE, einen Debugger und 100x länger dafür.
nein so krass meinte ich das nicht. Der alte D7 -D2007 Compiler hat sehr suboptimalen Assembler Code erzeugt, wenn man viel mit Fließkomma Zahlen gearbeitet hat. Meiner Meinung nach sind da Abhängigkeiten nicht vernünftig aufgelöst worden. Das hat sich Performance-Mäßig aber auch nur ausgewirkt wenn man wirklich exsessiv mit Doubles gearbeitet hat.
Natürlich kann man in Delphi mit etwa Handarbeit besseren Code erzeugen lassen, aber ich sehe es immer nicht ein, dass ich meinen Code der an sich funktioniert, anpassen muss, nur weil der Compiler das nicht hinbekommt.
- 12 Aug 2011, 10:52 am
-
Post visible to registered members
-
Andreas Grotz(not a XING member)Re: Glaubensfrage
Huhu,
also wir haben in der Firma die Entwicklung vor ca. 1j. von Delphi 2006 auf C# (.NET 4.0) umgestellt und waren auch mega skeptisch was da wohl auf uns zukommt.
Gab ja auch einige Argumente dagegen Performance, Decompilen und .NET Framework ausliefern etc etc ...
Was gabs auf der anderen Seite ?! Delphi 2010 .. mhm .. nativ ist ja schön aber .. kein 64Bit .. uralte bugs aus Delphi 7 Zeiten .. Windows-Mobile sollte mal rein ?! wurde ja auch nix .. Linux sollte mal rein (Kylix) wurde auch nix ... jetzt Prism .. naja .. wenn man Prism nimmt kann man auch VStudio nehmen .. etc... ihr wisst was ich meine.
Nun mein Fazit nach 1j. C# Entwicklung ...
es hat sich in vielen Punkten für uns gelohnt umzusteigen:
- Visual Studio 2010 ist einfach besser als das RAD-Studio (vorallem stabiler)
- Die Konzept hinter .NET erleichtern die Arbeit ungemein dagegen ist Delphi der reinste Dinosaurier ..
zB:
Baut mal eine typisierte liste in Delphi .. also TCollection ableiten und die Daten-Klasse entsprechend integrieren .. viel spaß das läuft schlecht unter 50 zeilen würde ich schätzen.
In C# .NET ist das List<MyObject> aObject = List<MyObject>();
oder eben als klasse ..
class MeineListe : List<MyObject> { };
Mhm es gibt tonnenweise solche Beispiel .. noch eins ?
sucht mal in einem Delphi Array oder einer Liste mit 1.000.000 Einrägen einen Bestimmten raus .. da entstehen doch sofort die for if break schleifen ;-)
in .net hat man dafür Listen mit Index .. was man da an Geschwindigkeit rausholt brauch ich nicht zu erklären oder ?
Und natürlich LINQ :-) was könnte schöner sein als:
var aResult = from p in Products where p.customerid == aId select p;
also die pseudo delphi übersetzung wäre dann
aResult := TResultList.Create;
for i := 0 to Products.Count-1 do
begin
if (Products[i].customerid = aid) then
begin
aResult.Add(Products[i]);
end;
end;
..
Ich könnte so noch ca. 2h weiter argumentieren *g*
Letztlich spart man sich viel Zeit die man vorher für unwichtiges plimplam rauswerfen musste.
Gruß Andreas
- 17 Aug 2011, 11:11 am
-
Post visible to registered members
-
Roland Kossow Premium MemberThe company name is only visible to registered members.Re^2: Glaubensfrage
LINQ ist meiner Meinung nach der einzige Bestandteil Deines Beitrags, der tatsächlich für .NET spricht. Wäre schön, wenn es das auch in Delphi gäbe.
LINQ scheint aber von der Community nicht als "Most Wanted Feature" in den Umfragen der letzten Jahre genannt worden zu sein.
var aResult = from p in Products where p.customerid == aId select p;
... liest sich - wie ich finde - völlig Grütze im Vergleich zu ...
aResult := getProductsByCustomer(aId);
Die Funktion wäre mir ein paar Zeilen wert.
Außerdem hat Delphi XE2 dann spätestens einige Features, die Visual Studio 2011 (vermutlich) noch fehlen werden ...
http://blogs.embarcadero.com/davidi/2011/08/14/41124/
Das mit dem Stabilitätsvorwurf kann ich (spätestens seit Delphi 2010) nicht nachvollziehen.
Mach mal bitte weiter mit den Argumenten für .NET/Visual Studio, ist interessant und korrigiert ggf. meinen Bias.
- 18 Aug 2011, 12:06 am
-
Andreas Grotz(not a XING member)Re^3: Glaubensfrage
Hallo,
nun versteht mich nicht falsch vor 1j. hatte ich die selben Argumente .. aber meiner Meinung nach ist das Arbeiten mit Delphi als würde man versuchen einen Dinosaurier zubewegen.
Sicher ist es legitim wenn man sowas hier mag:
if (aObjectA <> nil) aDestObject = aObjectA
else if (aObjectB <> nil) aDestObject = aObjectB
else if (aObjectC <> nil) aDestObject = aObjectC
else if (aObjectD <> nil) aDestObject = aObjectD
else aDestObject = null;
Ich mag halt leiber sowas:
aDestObject = aObjectA ?? aObjectB ?? aObjectC ?? aObjectD;
An Beispielen solls nicht mangeln ..
Klar ist die Delphi Community größer und Delphi war auch das RAD-Tool schlecht hin.
Aber das hinterher Gehinke was Technologien angeht ist lästig .. zB: 64bit Compiler .. demnächst dann Windows 8 mit ARM.
(Besser zuspät als nie ;-) )
Sicher hab ich auch mit PRISM die Vorteile von .NET .. aber wozu sollte es den gut sein PRISM zu benutzen anstatt gleich V.-Studio welches vom Hersteller kommt.
Nein ich will keinem Delphi ausreden .. man muss den Umstieg schon wollen ... ;-) ... ich für mich muss halt feststellen das VS + C# besser ist und wir einfach keine Lust mehr hatten technologisch hinterher zuhinken (64Bit .. Windows 8 ARM .. Windows Mobile ....)
Gruß Andreas
- 18 Aug 2011, 08:57 am
-
Roland Kossow Premium MemberThe company name is only visible to registered members.Re^4: Glaubensfrage
Hallo Andreas,
ich finde das völlig OK, wenn du .NET vorziehst.
Konstrukte wie ...
aDestObject = aObjectA ?? aObjectB ?? aObjectC ?? aObjectD;
... solltest du aber auch in .NET mittels Abstraktion, Vererbung und Polymorphie bzw. in Bezug auf Objektverhalten mittels Interfaces unnötig sein lassen.
Davon ab: "Peace"
if isNETrequired then developNET;
Grüße
Roland
P.S.: Zum Thema Plattformen hätte ich lieber noch Firemonkey und Datasnap für LINUX bevor ARM unterstützt wird. Aber das ist halt die jeweils höchst eigene Priorisierung. WoW funktioniert super und von daher war es bis Windows 7 kein Problem mit den 32BIT-Anwendungen (es sei denn man musste ISAPI gegen 64Bit IIS oder 64-bittige Hostanwendungen erweitern).
Ich glaube seit Windows 7 ist es so, dass man kein Windows 7-Logo für eine Anwendung bekommt, wenn die nicht auch Nativ 64BIT unterstützt, daher ist es jetzt wirklich nötig, dass es kompiliert werden kann. Die denken da wirklich wirtschaftlich bei Embarcadero, aber auch an ihre Entwickler-Gemeinschaft.
This post was modified on 18 Aug 2011 at 12:37 pm.- 18 Aug 2011, 12:16 pm
-
Markus Müller Premium MemberThe company name is only visible to registered members.Re^5: Glaubensfrage
Die kommende XE2 mit der Möglichkeit Cross-Platform für Windows, MacOS und iOS zu entwickeln ist schon sehr interessant.
Für Web-Entwicklung würde ich um Delphi aber einen großen Bogen machen. Intraweb - müsste inzwischen VCL for the Web heißen - ist in meinen Augen keine echte Alternative. Wobei ich mir gerade nicht sicher bin, ob man mit XE2 eigentlich inzwischen auch auf Linux deployen kann. Für einfache Webseiten würde ich an der Stelle PHP nutzen, für Enterprise-Lösungen dann .NET mit einem Mehrschichtansatz und AppFabric.
Spannend ist Client-Server. Prinzipiell finde ich die WCF wesentlich gelungener als DataSnap, wobei sich bei letzerem in XE2 ja auch wieder eine Menge getan haben soll. Muss man also abwarten, bis man es mal ausprobiert hat.
Delphi hat seine Stärken vor allem im Bereich Native Win32. Das ist bei .NET manchmal doch etwas hakelig, allein die Wahl zwischen WPF und Silverlight erfordert schon direkt bei Projektstart eine Entscheidung, die sich nur mit großem Aufwand revidieren lässt.
Und zu guter letzt muss man auch noch Prism einbeziehen. Ist .NET mit Delphi-Syntax plus Erweiterungen, die es in .NET nicht gibt. Und das beste: Es gibt in Zukunft einen Java-Compiler dafür. Damit kann man dann eben für jedes OS mit Java entwickeln einschl. Android.
Momentan ist es also sehr spannend. Wir werden auf jeden Fall XE2 für unsere Legacy-Anwendungen einsetzen. Bei Neuentwicklungen wird fallweise unterschieden.
- 21 Aug 2011, 11:42 am
-
Michael Thuma(not a XING member)Re: Glaubensfrage
Hallo!
Grundsätzlich
.net ist unausweichlich aber nicht alternativ-los.
Probiere Delphi Prism, dann hast du .net + Mono + eine JVM Sprache. Das entspricht in etwa von der Orientierung her - eine etwas fortschrittlichere Alternative im Gegensatz zu dem was MS ausliefert. Um Dekaden komfortabler.
Wenn du bestehenden Code hast - portiern zahlt sich nicht aus. Der Trend EMB + Delphi ist stark positiv. Jetzt beginnt ja langsam mal die Genußphase mit XE3. Da liegt dann die Wahrheit am Tisch.
Was ich über XE2 weiß im Sinne Erfahrungen von Anderen. Es ist möglw. nicht ratsam einen unerfahrenen auf die heißen neuen Teile loszulassen aber für einen gestanden Delphi Programmierer überwiegt das positive Gesamtbild. Viele neue Sachen müßen sich mal beweisen.
Für mich ist eher der mittelfristige Trend interessant. EMB + Delphi ist bei weitem besser als Borland jemals vorgehabt hätte zu sein, imho. Das ist reine Spekulation einfach aus der Erfahrung.
VS C# kannst immer nehmen ... das ist sowieso nicht falsch.
Professionals sind auf Delphi kaum mehr zu finden. Freelancer und Delphi ist momentan eher, nicht die wahre Kombi. Das war der .net Sog. Ist eigentlich besser dass die Professionals jetzt am .net Stack wüten, ... , haben eh genug Schaden angerichtet.
Michael
- 31 Aug 2011, 8:57 pm
- Back
- Next
