Ich kenne jemanden, der eine Ein-Mann-Firma hat, die Anwendungen in Delphi und Pascal entwickelt. Er hat Probleme mit der Arbeitslast. Also muss er einen Mitarbeiter finden.
Da er Schwierigkeiten hatte, Menschen zu finden, sagte er, seine Firma sei für Absolventen nicht attraktiv. Einer der Gründe war, dass er eine Plattform benutzt, die nicht so populär ist, da viele Entwicklungen in .NET oder Java gemacht werden.
Also fragte ich: "Warum nicht zu .NET oder Java wechseln?"
Seine Antwort war, dass er keine Microsoft-Abhängigkeit haben wollte. MS könnte das .NET-Framework ändern und seine Anwendungen durchbrechen. Java war auch keine Option wegen der schlechten Benutzeroberflächen.
Da Delphi auf Win32 abzielt, scheint es sehr attraktiv, wenn Sie Geschwindigkeit / Portabilität wünschen. Außerdem ist keine virtuelle Maschine erforderlich.
Sind Frameworks eine "Bedrohung" für Anwendungsentwickler? Allerdings kenne ich nicht viel von Delphi, aber wegen seiner hohen Natur, ist es auch kein Rahmen?
Das Problem ist natürlich, dass er eine Menge Zeit investieren muss, um eine signifikante Entwicklungsleistung in Java oder .net zu erzielen. Genau das fehlt. Es ist eine typische Lock-in-Situation. Es ist nicht so eine Sackgasse wie früher vorgeschlagen, da FreePascal langsam an den Punkt kommt, wo es Delphi ersetzen könnte, und es ist 64-Bit und Multi-Plattform, aber immer noch schwierig.
Mit beträchtlicher Zeit in Delphi und VCL investiert, ist er wahrscheinlich in der Lage, Anwendungen jetzt sehr schnell zu erstellen. Den gleichen Punkt mit Java oder .net zu erreichen, die Idiome und Muster zu verstehen, ist für ein Ein-Mann-Geschäft einfach zu teuer.
Microsoft und Sun machen den Entwicklern die Hölle heiß mit brechenden Änderungen und auch mit wirklich schlechten Ratschlägen. Für Sun müssen Sie nur daran denken, wie wir J2EE-Apps entwickeln sollten, und Microsoft hinterlässt eine leicht nachvollziehbare Spur von erprobten und verlassenen Technologien.
[Antwort auf Kommentar] Ich habe kein Problem, eine Delphi-Anwendung für größere Unternehmen zu empfehlen. Der aktuelle Entwicklungsstil in Java oder .net ist wahrscheinlich nicht länger als Delphi. Ich würde wahrscheinlich keine neue Anwendungsentwicklung starten. Ich würde mir auch die Teamzusammensetzung genauer anschauen, um zu sehen, ob sie die erwartete Lebensdauer der Anwendung bewältigen kann, aber das gilt für alle Entwicklungsumgebungen.
Ich finde es einen schwachen Grund, sich von Microsoft fern zu halten. Wenn Microsoft das .NET-Framework ändert und es bricht Anwendungen, bin ich mir ziemlich sicher, dass die Hölle los wird. Auch stimme ich nicht zu, dass Java keine Option ist, wenn es eine schlechte Benutzeroberfläche gibt (ich kann mir nichts besseres vorstellen als Eclipse als Gegenbeispiel).
Wenn Ihr Freund Delphi kennt, ist das ein guter Grund. Frameworks stellen für App-Entwickler keine Bedrohung dar.
Einige der Probleme Ihres Freundes, die Kandidaten ansprechen, sind möglicherweise nur Marketing-bezogen.
Wenn er zum Beispiel eine Stellenausschreibung für "Erfahrene Delphi-Programmierer" bewirbt, wird er wahrscheinlich nicht viele Anfragen von Leuten bekommen, die Delphi noch nie zuvor benutzt haben, weil sie nicht denken, dass sie eine Chance haben, eingestellt zu werden .
Wenn das nicht das Problem ist, dann kann er möglicherweise seine Chancen verbessern, Menschen zu rekrutieren, indem er sich auf die Art der Arbeit und die Größe der Arbeitsumgebung konzentriert.
Wenn zum Beispiel Delphi verwendet wird, um wirklich coole Produkte zu erstellen, dann wäre es für mehr Leute attraktiv.
Wenn er schließlich eine wirklich großartige Umgebung aufbaut, in der der Programmierer arbeiten kann und gut bezahlt, dann könnte das auch helfen.
Idealerweise könnte er Folgendes anbieten:
Wenn einer von diesen fehlt, kann er es wiedergutmachen, indem er die anderen "aufpeppt".
Je mehr jedoch fehlt, desto schwieriger wird die Rekrutierung für ihn sein. Ich würde sagen, wenn er zwei oder mehr vermisst, dann ist er in Schwierigkeiten.
Es klingt, als ob er nicht "4" ändern möchte. Ich würde empfehlen, dass er sich die anderen 3 anschaut und sieht, ob er diese ein bisschen mehr anpreisen kann. Das könnte helfen.
Er ist immer noch auf Windows angewiesen. Microsoft kann Windows ändern (und wahrscheinlich wird es das auch wieder tun), so dass es mehr als nur einige bestehende Anwendungen durchbrechen kann. Aber das ist das Leben in der Technologiewelt; es ist ein sich ständig bewegendes Ziel.
Aber genau wie er sich mit einer Version von Delphi kompiliert, könnte er leicht eine Version des .net-Frameworks oder eine Version von Java, Python + pygtk usw. auswählen und dabei bleiben. Aus diesem Grund können mehrere Framework-Versionen installiert werden.
Sie sind Abhängigkeiten, aber sie sind nicht schwer zu treffen. Ihre Vorteile überwiegen bei weitem die Probleme bei der Bereitstellung.
Microsoft hat keine Framework-weiten Änderungen an .NET seit 2.0 vorgenommen. .NET 3.0 und 3.5 waren additive Versionen, die neue Funktionen hinzugefügt haben, die je nach den Anforderungen verwendet werden können. .NET ist in Open-Source-Form verfügbar und mit Reflection können Sie in seine tiefsten Eingeweide graben (ich habe in ASP.NET für ASP-.NET-Server-Steuerelemente umgekehrte Versionen entwickelt).
Nach meiner Erfahrung erfordert professionelle Entwicklung, mit dem Tempo der Technologie Schritt zu halten. Microsoft und Sun wären keine milliardenschweren Unternehmen, wenn sie es gewohnt wären, den Entwicklern die Hölle heiß zu machen, indem sie die Änderungen bei jedem Update brechen.
Es ist eine interessante Position für Ihren Freund, weil seine Kunden eine Abhängigkeit von Delphi akzeptieren (was im Gegensatz zu .NET keine zweite Quelle hat), und noch kritischer sind sie abhängig von einem kleinen und schrumpfenden Pool von Entwicklungs- und Support-Ressourcen (einschließlich Ihres Freundes).
Wie von Oli hervorgehoben, können Sie jedes beliebige Framework auswählen. MS hat jedoch in keinem der Frameworks so gut wie keine brechenden Änderungen eingeführt. Sie haben sogar in schlechten APIs (ReaderWriterLock) gehalten, um die Kompatibilität von Backwork zu erhalten. Ab 3.5 bietet C # nun Funktionen, die die Entwicklungszeit für komplexe Aufgaben um mindestens eine Größenordnung reduzieren. Mit dem Framework können Sie Kommunikationsebenen mit WCF erstellen, mit WinForms einfach gut aussehende Benutzeroberflächen erstellen und einen Threadpool mit mehreren Sperr-APIs für Multithread-Anwendungen verwenden. Für jedes Problem verfügt C # über mehrere Lösungen, deren Implementierung in anderen Sprachen ohne .NET Framework viel länger dauert. Was ich im letzten Monat bei der Arbeit getan habe, hätte mich ein Jahr in C ++ (meiner Muttersprache) gekostet, in dem ich recht gut zurechtkomme. Das Startup könnte für ihn zu teuer sein, aber jeder, der das nicht tut denke, dass das .NET-Framework die Zukunft der Windows-Entwicklung ist, hat ihren Kopf in den Sand gesetzt. Es gibt Fälle, in denen Sie Ihre eigene Lösung rollen müssen, aber das Framework vereinfacht viele sich wiederholende Codierungsaufgaben.
Jede Abhängigkeit, einschließlich eines Frameworks, ist ein Kostenfaktor. Es gibt auch einen Vorteil für jeden. Die Frage ist, ob der Nutzen die Kosten überwiegt. Dies muss pro Projekt und pro Framework beantwortet werden, aber nach meiner Erfahrung ist es in fast allen Fällen eindeutig lohnenswert.
Nebenbei kann eine .NET Framework-Anwendung (oder eine Bibliothek usw.) so eingerichtet werden, dass sie auf eine beliebige Version des Fx abzielt. Wenn er seinen Code gegen v3.5 schreibt und etwas in v4 bricht es, kein Problem, ändern Sie es nicht einfach in v4.
Ich bin auch Delphi Entwickler und ich sehe keinen Grund warum jemand von Delphi zu .net wechseln würde. Delphi basiert auf einer VCL, die stabil ist, wenn ich seit 10 oder mehr Jahren nicht mehr arbeite. Wenn jemand mit Delphi 1.0 eine Anwendung entwickelt hat, kann diese noch in Delphi 2009 oder Delphi für .Net kompiliert werden.
Delphi ist auch viel schneller als .Net, Sie können Geschwindigkeit nicht bemerken, wenn Sie Datenbankanwendungen entwickeln, aber wenn Sie an der Bildverarbeitung oder anderen intensiven Algorithmen arbeiten, ist Delphi-Code im Vergleich zu C # / Vb.net schneller.
Delphi cominity ist auch größer als .net, VCL hat auch mehr Sachen als .net.
Microsoft C ++ ist nur mit früheren Versionen kompatibel, aber das Programmieren in C ++ ist Horror, ich weiß, dass es leistungsfähig ist, kann aber nicht mit Delphi verglichen werden, wenn die Zeit kritisch ist. Für diejenigen, die Delphi nicht verwenden, suchen Sie einfach Google nach VCL-Komponenten und sehen, wie groß ist Delphi Community.
Ich kenne auch Programmierer, die Anwendungen in vb5 entwickelt haben und die Entwicklung in vb6 nicht ohne viele Änderungen fortsetzen konnten, und wenn .net released, müssen sie bei alten Werkzeugen bleiben oder alles neu schreiben.
Entschuldigung für mein schlechtes Englisch.
Tags und Links delphi frameworks