Frage

Wenn Sie ein Upgrade in einem Entwicklungstool in Betracht ziehen, wie wichtig ist die Rückwärtskompatibilität zu Ihnen? Würden Sie noch Visual Studio 2010 kaufen, wenn es wesentliche Änderungen an Ihrem Quellcode erforderlich? Wo ist der Wendepunkt für Sie in Bezug auf den Handel Abwärtskompatibilität für neue Funktionen?

War es hilfreich?

Lösung

Während Sie dies aus der Sicht des Entwicklers gefragt, ich glaube, es an die Software eine interessantere Frage in Bezug sein würden Sie entwickeln. Also werde ich stattdessen diese Frage beantworten. :)

Hardware und Software, die rückwärts kompatibel ist (und, noch wichtiger, zuzukunfts kompatibel) bietet ein Gefühl der Sicherheit für Ihre Nutzer, vor allem beim Kauf oder Upgrade-Plattformen wie Windows. Wenn nichts anderes, wird Windows für seine akribische Aufmerksamkeit auf die Abwärtskompatibilität bekannt. Sie können Programme vor über ein Jahrzehnt mit nur kleineren Problemen auf Windows Vista geschrieben laufen, sofern sie „gut geschrieben“ wurden (das heißt nicht undokumentierte APIs verwenden).

Auf der anderen Seite, streng auf die Abwärtskompatibilität können Sie Ihre Hände binden, wenn Sie versuchen, neue Funktionen einzuführen oder um die Plattform zu revolutionieren. Apple wusste, dass es eine sterbende OS hatte, und in einem seiner kühnsten bewegt, es gekauft NeXT und entschieden Nextstep das neue MacOS zu machen. Eines der wichtigsten Dinge, die Menschen auf den Übergang war die rückwärtskompatible Schicht Klassik verkauft. Wieder wenn Apple Intel-Chips wechseln entschieden, eine so genannte Mechanismus für die Ausführung von PowerPC-Anwendungen auf Intel Rosetta, zusammen mit dem Universal Binaries, erlaubt Menschen frei und ohne Angst vor Anwendung Verlust zwischen PowerPC und Intel zu bewegen.

Eine interessante Sache ist, dass die Classic-Umgebung zu Intel mit dem Übergang verschwunden, aber niemand kümmert sich wirklich, weil sie die letzten 5 Jahre hatte weg von Mac OS, um den Übergang 9. So ist es möglich, fallen schließlich Unterstützung für Legacy-Systeme wie lange wie Sie eine einfache Möglichkeit, um das neue System und geben Sie Ihre Benutzer genügend Zeit, dies zu tun, zu migrieren.

Andere Tipps

In einem Entwicklungs-Tool, wenn es nicht insgesamt nicht bietet Abwärtskompatibilität mit meinem vorherigen Code, werde ich es nicht kaufen und ich bezweifle, jemand würde. Ehrlich gesagt, es hat keinen Sinn. Wenn ich bereits einen Compiler haben, die für mich arbeitet arbeitet an meinem Quellcode in ausführbaren Code zu bauen, dann werde ich das verwenden. Warum sich die Mühe zu ändern meinen Code mit entsprechen, was offensichtlich auf die Werkzeugmacher kein Standard? Wenn sie Änderungen am Quellcode von einer Version zur anderen zwingen, warum würden sie stören die nächste Version kompatibel zu machen?

100% Abwärtskompatibilität mit Quelle ist eine Voraussetzung. Die einzige Situation, wo dies jedoch keine absolute Voraussetzung ist, ist, wenn die inkompatiblen Bits sind Erweiterungen; das heißt API-Änderungen, die, wie Eclipse Plugins auf das Werkzeug spezifisch sind, usw. Selbst dann würde Ich mag Kompatibilität, aber ich merke, dass es nicht vollständig zu erwarten ist. Aber wenn Sie bieten eine API für das Basisanwendung / Werkzeugentwicklung und kann nicht gestört werden Kompatibilität zu halten; na ja, dann sind Sie eindeutig nicht ernsthaft über Ihre Werkzeuge, und ich werde nicht ernsthaft Geld für sie zahlen.

Für Hausprojekte, die Abwärtskompatibilität ist wirklich nicht wichtig. Für das Büro / Unternehmen ist es absolut entscheidend.

Es hängt davon ab, was Umgebungen Sie unterstützen müssen, und was sind Tools von Drittanbietern verwendet, die nicht compatabile sein können.

Zum Beispiel, wo ich arbeite wir alle von VS2005 auf VS2008 aufgerüstet, außer für unsere BI-Gruppe als die SQL Server BI-Tools mit VS2008 nicht kompatibel waren. Sobald sie aktualisiert wurden, sie zu VS2008 aktualisiert.

Wenn specficially bei VS suchen, denken Sie daran, dass VS2008 .NET 2.0, .NET 3.0 und .NET 3.5 ausrichten können. Der Trick besteht darin, zu erkennen, dass es .NET tatsächlich zielt 2.0 SP1 und SP1 .NET 3.0. In diesem Sinne sollte die IDE kein Upgrade benötigen Sie Änderungen an Ihrem Code zu machen.

In genreal wenn Sie eine Plattform entwickeln, die ständig von vielen anderen Benutzern verwendet werden, ihre eigenen Produkte zu bauen, und Sie planen, die Anwendung für eine lange Zeit zu entwickeln, dann ist es wichtig. Konsultieren Sie das PHP, Python, Eclipse und andere Open-Source-Projekte, die eine große Bedeutung in der Rückwärtskompatibilität setzen. Es ist auch importan bei der Entwicklung von Dienstleistungen oder andere offene APIs in der n-Tier-Architektur verwendet. Sie können alle Anwendungen in einem Unternehmen haben die ganze Zeit zu brechen, wenn Sie Ihre Dienste ändern.

Wenn Sie nun eine Schrumpffolie Anwendung oder einen Fall Anwendung erstellen, dann ist es nicht so wichtig, beacuse jede Version von ihren Vorgängern getrennt ist.

Da viele Änderungen an der Software und Hardware Bereich passieren, ich denke, es ist eine gute Idee für neue Änderungen und bessere Werkzeuge, während Sie Architekten Ihrer Lösung offen zu sein. Zum Beispiel hat uns das Multi-Core-Prozessoren und High-End-Grafikkarten oder Netzwerkkarte zurück in 90er Jahren haben, so natürlich die Optimierungsziele der Compiler und Tools waren unterschiedlich. Aber zugleich Visual Studio wie Werkzeuge ihr Bestes tun, die alte Frameworks und Anwendungen gerecht zu werden.

Ich denke, wenn wir uns für eine bessere Welt suchen, sollten wir zu einem ständigen Wandel offen sein, bis diese Industrie Super matured ist. (In unserem Leben Zeit allerdings nicht passieren Mai :))

Define "wesentliche Änderungen". Ich würde es gehen, wenn die Änderungen mit einem sorgfältig ausgearbeitet gemacht werden könnte „Suchen & Ersetzen“, auch wenn sie waren umfangreich.

Allerdings ist das, was I tun würde. Jede Firma, die ich gearbeitet habe bei Änderungen an bestehenden Code sträuben würde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top