Ist es im besten Interesse der Software-Entwicklung für ein Framework, Browser oder Sprache zu den Krieg zu gewinnen und der De-facto-Standard zu werden? Auf der einen Seite nimmt es die Herausforderungen der Cross-Plattform, aber es öffnet sich für einen einzigen Punkt des Scheiterns. Würde es auch zu einer Stagnation der Innovation führen oder würde es der Industrie erlauben, sich auf wichtigere Dinge zu konzentrieren (was auch immer diese sein mögen).Ist eine homogene Entwicklungsplattform gut für die Industrie?
Antwort
Defacto Standards sind schlecht, weil sie normalerweise von einer einzigen Partei kontrolliert werden. Das Beste für die Branche ist, dass es eine Grundlage für offene Standards gibt, an der sich alle beteiligen können.
Das Web ist ein perfektes Beispiel. Als IE den Browser-Krieg gewann, stagnierte es für Jahre, und es fängt gerade erst an, sich zu verbessern, weil es Marktanteile einbricht. Die Netscape-Jahre davor waren nicht viel besser. Der CSS 2.1-Standard wurde vor zehn Jahren veröffentlicht und wird immer noch nicht gut unterstützt. Als Folge ist Web-Entwicklung eine Black Art von Hacks und Work-arounds, um Websites konsistent zu rendern.
Mein Job wäre hundert mal einfacher, wenn ich eine Website nach Webstandards erstellen könnte und sicher sein würde, dass sie korrekt angezeigt wird. Denken Sie nur an all die coolen Dinge, an denen wir arbeiten könnten, anstatt die Rendering-Fehler von IE zu beheben.
Ich glaube, wenn es nur 1 Option gibt, wird es definitiv Innovation stagnieren. Wenn wir nur eine Sprache hätten, wären wir nicht in der Lage, etwas anderes zu lösen als das, was diese Sprache lösen sollte.
Imperative Sprachen wie Java und C# lösen eine Reihe von Problemen ziemlich gut, aber manchmal hilft es auch, funktional zu denken, wie bei Haskell und Lisp. Wenn Sie über eine Webanwendung sprechen, sind plattformübergreifende Probleme kein Problem, da Sie die Hardware und Software steuern (beachten Sie, ich spreche natürlich vom serverseitigen Code, das Problem der plattformübergreifenden Browser ist getrennt).
Paul Graham schrieb eine great essay darüber, wie das Web Sie als Entwickler das Werkzeug verwenden kann, von dem Sie denken, dass es das Problem am besten lösen wird.
Nein. Der Wettbewerb ist gut. Es kann einen Webentwickler Job erleichtern, aber ich denke, es ist schlecht für die Industrie. Ich persönlich bevorzuge Auswahlmöglichkeiten.
Ich glaube, Joel Spolsky's Technik, seine eigene Sprache (Wasabi) zu kreieren, um seine Firma davon abzuhalten, plattformspezifisch zu sein, ist eine gute. Ich glaube auch, dass es eine gute Idee ist, Produkte zu verwenden, die ähnliche Dinge erreichen, die auf spezifische Probleme wie JQuery ausgerichtet sind.
Ich muss Mike in diesem Punkt zustimmen und sagen, dass ohne Konkurrenz gibt es sehr wenig Anreiz für Innovationen.
- 1. Entwicklungsplattform für iPhone-Anwendung
- 2. Square Homogene Koordinaten
- 3. Windows 7-Entwicklungsplattform
- 4. Wie man sich auf die Industrie vorbereitet?
- 5. Ist OpenCL gut für die agentenbasierte Simulation?
- 6. Für was ist generator.throw() gut?
- 7. Für was ist AspectJ gut?
- 8. Was ist Subject.asObservable gut für?
- 9. Ist Ninject gut für Produktionsanwendungen?
- 10. Industrie Verbreitung Code-Formatierungs-Tools
- 11. Bootstrap-Framework in der Industrie
- 12. Bewertung von Sharepoint vs ASP.NET als Entwicklungsplattform
- 13. Ist eine relationale Datenbank gut für Vektorberechnungen geeignet?
- 14. Mit C# MethodInvoker.Invoke() für eine GUI-App ... ist das gut?
- 15. Ist diese XML-Datei gut für eine context.xml formatiert?
- 16. Ist SQL Server 2005 Express gut genug für die Entwicklung?
- 17. Ist das Unity Framework gut für eine Inversion der Kontrolle?
- 18. Was ist Annotation # annotationType() gut für?
- 19. Was ist org.springframework.orm.hibernate3.support.BlobByteArrayType gut für?
- 20. Ist die Rekursion in SQL Server gut?
- 21. Lucene SpanQuery - für was ist es gut?
- 22. Für was ist Mercurial halbiert gut?
- 23. Für was ist ASP.NET MVC nicht gut?
- 24. Ist Paket für Feature-Ansatz gut?
- 25. Gibt es eine COM-Bibliothek für Java, die gut funktioniert?
- 26. Ist MVC gut für mobile Geräte?
- 27. DVCS-Optionen - Was ist gut für Windows?
- 28. Leistungsmäßig, wie gut ist die Guava-Bibliothek?
- 29. Was ist Twitter: Domain gut für?
- 30. Für was ist kAudioSessionProperty_InputSources eigentlich gut?