4 ms·
These are becoming less true. For #1, you might also choose CoffeeScript, ClojureScript or Dart. For #2, you've always needed more than just HTML: CSS at leas
by rjknight 13y ago
These are becoming less true. For #1, you might also choose CoffeeScript, ClojureScript or Dart. For #2, you've always needed more than just HTML: CSS at least. Now there's Canvas and WebGL, and some frameworks like React are starting to abstract the DOM away somewhat. Programming in ClojureScript with Om/React does not feel much like programming with HTML/JavaScript at all.
Beyond that, there's an explosion of tooling. Build tools, minifiers, preprocessors and compilers; systems for managing dependencies and run-time library loading; shims and polyfills to emulate new functionality on out-dated platforms; and, of course, frameworks which seek to abstract all of this stuff away behind a neat facade, providing a stable platform that you can build on without needing to worry about the details. Nobody has figured out how to do this properly yet, and I'm not hugely optimistic about the future of such projects.
I'm not quite old enough to remember the history of GUI programming from the mid-80s to mid-90s, but I wouldn't be surprised if the proliferation of tools and libraries was similar then. Even starting out doing Windows development in the mid-90s, there were multiple options - at least Visual Basic, Delphi or C++, and there were multiple C++ frameworks (MFC, ATL, varieties of COM-based stuff, and those were just Microsoft's official options, and this completely ignores non-Windows platforms).
It would be interesting to do a retrospective on such technologies, to work out why some survived and others didn't. It would not have been at all obvious in 1995 that Objective-C would be a mainstream language for user interfaces nearly 20 years later, and C++ would have fallen away, and that people would still be using NextStep in the form of Cocoa but nobody would be using MFC. My feeling is that there are some properties of good design which have enabled ObjC/Cocoa to survive for the long-term, and it would be interesting to figure out if any of the current crop of web front-end tools exhibit these properties (fwiw I get a good feeling about a lot of the ClojureScript stuff, especially Om).
- webmaven 13y agoThe tool and libraries proliferation was a bit similar, but on a much smaller scale, since they were largely proprietary, and customer acquisition channels were things like the Programmer's Paradise ads in Byte magazine. There is nothing magical about ObjectiveC that led to its current success, except the attachment-at-the-hip to a large and growing lucrative market the growth of which has been aggressively promoted by a deep-pocketed player. The Java ecosystem was in a similar situation before the dotcom crash, with .Net playing catchup.
- CmonDev 13y agoWindows: QT, MFC, Windows Forms, XAML/WPF, Awesomium.