4 ms·
It seems to me that the engineering trade-off is found in how we distribute complexity between: (1). The language itself. (2). The tooling (IDE, build system,
by w_t_payne 9y ago
It seems to me that the engineering trade-off is found in how we distribute complexity between:
(1). The language itself.
(2). The tooling (IDE, build system, linters etc...).
(3). The standard library.
(4). The ecosystem of third-party libraries.
(5). The developer's application code.
Moving complexity away from (5) might make applications smaller and easier to maintain, but it is done at the risk of increasing the training / learning burden on the development team.
If too much complexity ends up in (1), then we create a barrier to entry for new developers and hiring becomes harder.
If too much complexity ends up in (4), then we end up with endemic not-invented-here syndrome, because it becomes too hard to learn new libraries.
It seems to me that a lot of this is driven by learning and learnability -- any educational specialists around who want to wade in on this discussion?
- pjmlp 9y agoA good example is music. Yes knowing how to play scales and reading notes might seem easy, but mastering an instrument and its variations (e.g. string instruments) takes a whole life.