"X as your Y" is a sign of good architecture in X.
You can consider Unix as a collection of hierarchically organized entities that can act as nouns and verbs. To develop in this system, all you need to do is to add verbs for text editing and compiling.
BeOS/Haiku has this versatile property as well. In fact, you can use BeOS as your media player/mail client with no app at all.
Python and Ruby are built with this quality. There is tremendous power in their REPL. The language is somewhat its own advanced debugger.
Smalltalk is much like Unix, with its structure of nouns and verbs and a REPL everywhere. This is precisely why the Smalltalk compiler is just another first class Smalltalk Object.
Any app like an IDE is actually something like a design pattern. It's actually a symptom of something lacking in your language/substrate. This isn't something bad or wrong, because kitchen sink architectures have their own drawbacks. It's also possible for a system to be too generalized.
Rather, the sign of something wrong (or conversely the sign of something right) is the extent to which you are building everything yourself or composing pieces that are already there. To what extent are you building together your own, and to what extent are you exploring powerful tools that are already there and putting them together to get things done?
Being able to do the latter is the definition of power in most contexts. The too much need for the former is pathological.
Unwieldy IDEs, app servers, dependency management, etc -- this is all a sign that something needs to be improved.
You can consider Unix as a collection of hierarchically organized entities that can act as nouns and verbs. To develop in this system, all you need to do is to add verbs for text editing and compiling.
BeOS/Haiku has this versatile property as well. In fact, you can use BeOS as your media player/mail client with no app at all.
Python and Ruby are built with this quality. There is tremendous power in their REPL. The language is somewhat its own advanced debugger.
Smalltalk is much like Unix, with its structure of nouns and verbs and a REPL everywhere. This is precisely why the Smalltalk compiler is just another first class Smalltalk Object.
Any app like an IDE is actually something like a design pattern. It's actually a symptom of something lacking in your language/substrate. This isn't something bad or wrong, because kitchen sink architectures have their own drawbacks. It's also possible for a system to be too generalized.
Rather, the sign of something wrong (or conversely the sign of something right) is the extent to which you are building everything yourself or composing pieces that are already there. To what extent are you building together your own, and to what extent are you exploring powerful tools that are already there and putting them together to get things done?
Being able to do the latter is the definition of power in most contexts. The too much need for the former is pathological.
Unwieldy IDEs, app servers, dependency management, etc -- this is all a sign that something needs to be improved.