5 ms·
> Software shouldn't be considered a cost I fully disagree. Code is a liability taken on as a calculated risk to perform some task.
by wickawic 9y ago
> Software shouldn't be considered a cost
I fully disagree. Code is a liability taken on as a calculated risk to perform some task.
- dragonwriter 9y ago> Code is a liability Code is an asset, like any other piece of capital. Like physical capital, using it and maintaining it may have costs. Like physical capital, the costs associated with it are not worth paying if you don't have a productive application for the capital asset that justifies those costs (and, also, the amortized cost of acquiring the asset in the first place.)
- majewsky 9y ago> Code is an asset, like any other piece of capital. When you possess 200 units of some currency, that's strictly better than possessing only 100 units. However, 200 LOC are not strictly better than 100 LOC. When I replace a 1000-LOC program by a shell one-liner that does the same thing by composing some coreutils, I have removed 999 LOC without losing any value. The asset is not the code itself, the asset is the value that you derive from it. Given a certain value that you want, the best code is that which brings this value while being the most maintainable. The article argues that the simplest code is usually the most maintainable one, and thus to be preferred.
- dragonwriter 9y ago> When you possess 200 units of some currency, that's strictly better than possessing only 100 units. However, 200 LOC are not strictly better than 100 LOC. Yes, which is why I didn't say lines of code is a currency (or even a commodity), only that code is an asset. Having 200 industrial robots comprising one factory isn't strictly better than 100 different industrial robots comprising a different factory — industrial robots aren't a currency. But factories, and the industrial robots within them, are still textbook capital assets. > The asset is not the code itself, the asset is the value that you derive from it No, the asset is the code. As with any asset, the reason you acquire the asset is the expectation of a deriving a value from it that is greater than the cost of acquisition + maintenance of the asset. The “code is not an asset” argument is phenomenally ignorant about what assets are, because every element of that argument is perfectly normal for non-cash assets.
- scarface74 9y agoIt depends. Any code that I see written in support of cross cutting concerns that are not specific to specialized needs of the business are a cost I look for others to bare. I'm not going to write my own logging framework, ORM, configuration, scheduler, etc. Recently I removed three custom written classes - one involving a friendly wrapper around .Net Http client, one to handle writing and reading CSV files and one to handle retry logic. I found better implementations on Nuget and replaced my custom versions. Why? Because I knew my future self would appreciate not having to maintain them. Of course I had unit tests around the existing functionality first to help keep me from breaking stuff. Any company has a narrow niche for which it is writing software. Avoid writing anything outside of that niche and use third party software. You are not giving your company any competitive advantage by writing yet another wrapper around database access.
- megaman22 9y agoRestSharp, CsvHelper and Polly?
- scarface74 9y agoWow. You're 3 for 3.