This is a problem I want to focus my life solving. I believe that software engineering can be made so simple and clear that it can be wielded by an extremely small team of engineers. I believe that there are finite and fundamental classes of problems, that underpin the vast majority of problems, that have a distinct visual representation, and that by representing these problems visually, you let your "visual coproces…
The collapse of complex software
291–300 of 304 posts
Re: The collapse of complex software
#292Earlier quoted context omitted.
I had trouble following your message. You've stated that Kdb+ looks good on a resume, Haskell requires explanation, and IP is bad? I'm not a big fan of closed source myself (and Kx Systems sounds like it would have a lot of red tape), but the technology is supposedly very fast and I find the language to be very simple and charming. I'd love for our analytics database to migrate , but I think the technology would real…
Get in touch! I work within KX as a Solutions Architect and would love to see how we could help you out. [redacted]
Re: The collapse of complex software
#293I feel like it's a bit backwards. The software complexity increases because people lack the patience to tackle the existing complexity, or learn why things are complex, and prefer to believe that it can be simple, or get job done somehow, and in order to do that, they (somewhat egoistically) go their own way, which actually - barring occasional good insight - mostly increases the total complexity. The same goes for s…
Easy to implement for me --> but not so good for overall structural simplicity --> worse for everyone in the long run, kind of thing?
Re: The collapse of complex software
#294A counter example from societies and software that seems to grow and scale well are biological systems like tissues. Maybe we could design better software and better teams using patterns from biology instead of the romans of old.
There's also the matter of different types of architecture at different levels of scale. For cellular biology the foundational properties are statistical mechanics and physical chemistry. What are the foundational properties of computation?
Re: The collapse of complex software
#295This is a problem I want to focus my life solving. I believe that software engineering can be made so simple and clear that it can be wielded by an extremely small team of engineers. I believe that there are finite and fundamental classes of problems, that underpin the vast majority of problems, that have a distinct visual representation, and that by representing these problems visually, you let your "visual coproces…
Re: The collapse of complex software
#296Earlier quoted context omitted.
The number of channels is exponential, that's just Metcalfe's law. The ability to suss-out meaning behind those channels and come to a shared understanding pushes it to factorial. If A is speaking to B and C, A needs to also think about what communication is happening between B and C, and this is different to what B knows about C and C knows about B. In a carefully balanced classroom you might manage to get everyone…
> The number of channels is exponential, that's just Metcalfe's law. Metcalfe's law is quadratic rather than exponential -- O(n^2), not O(2^n). And if n people all need to be aware of communication happening between every pair of them (which is a worst-case), then that should just add a factor of n, bringing it up to cubic. (On an unrelated and less pedantically nitpicky note, one of the most valuable professional sk…
But that doesn't stop black-boxes from being created faster than I can fix them, unfortunately.
Re: The collapse of complex software
#297Re: The collapse of complex software
#298There is no solution. Software is isomorphic to theorem proving (Curry-Howard). Trying to get rid of complexity in software would be like trying to get rid of complexity in math in general. Yes you can often find a simpler proof for some theorem, but that depends on the theorem, on the problem. Just because you can discover a simpler proof for something doesn't mean you can discover a simpler, less complex proof to a…
Think of software like car making. Cars once ran off steam, very simple and mechanical... Now cars run on combustion or electronics, but relatively none run off steam now, because the industry forgot to make steam engines evolve... The same goes for development... It's not impossible to rethink things in a more simple manner, it's just that we've stopped listening to the right size shoe for each foot that needs one b…
1) Cars are transitioning to electric propulsion, not electronic. Electronics have long been present in engine management of internal combustion engines too.
2) This is actually not new, but just a resurgence of something very old -- at the turn of the century (19th/20th, not 20th/21st), electric propulsion was quite common[1], the land speed record was held by an electric car[2], and the first "series-hybrid" system[3] was introduced[4].
3) Steam engines -- discounting steam turbines -- are also just combustion-driven piston engines; the only difference is that the combustion is external, not internal. OK, so it's not the combustion gases themselves that are expanding within the chamber, but steam heated (created) by them. But that's a minor detail, IMO.[5]
What does this mean for software engineering (or "engineering", in scare quotes)? Not sure... Probably something like:
A) Old tech doesn't go away. It just falls out of use and gets forgotten.
B) "New tech" often isn't. It's just old tech being uncovered or independently rediscovered.
C) What we think is a huge innovation is often just a return to older tech. ("The Cloud" ~= the mainframe?)
A + B + C = "COBOL, here we come!"? :-)
Idunno.
.
EDIT -- oops, footnotes:
___
[1]: https://en.wikipedia.org/wiki/Electric_car#Early_development...
[2]: https://en.wikipedia.org/wiki/La_Jamais_Contente
[3]: Where an internal combustion engine drives a generator that drives the wheels via electric motors and charges the main battery. https://en.wikipedia.org/wiki/Hybrid_vehicle_drivetrain#Seri...
[4]: https://en.wikipedia.org/wiki/Lohner%E2%80%93Porsche
[5]: In fact, AFAICS a four-stroke (preferably diesel?) internal combustion engine could fairly easily be converted into another kind of hybrid, an "external combustion - internal evaporisation" engine. I've been thinking about whether the (alleged?) greater efficiency of continuous combustion in comparison to intermittent would make such a conversion worthwhile. (Just one more of the many half-baked inventions bopping around in my head. :-)
Re: The collapse of complex software
#299Not complexity guy, competition and innovation. So far the internet is still in its early stage, yes, it is not your “system” but the whole (internet, user, those tidy systems like hbo, Facebook, …). Complexity of the individual system just like any eco-system comes and goes. But what worry is whether the fundamental change (like before and after internet). Just like you observed individuals like us die is not a (per…
Not you, perhaps, but some do: https://www.lazarus-ide.org/
Re: The collapse of complex software
#300one word... path of least resistance. this is why we can't have nice things. it takes WORK to reduce complexity.