DEV Community

Stephen Dicks
Stephen Dicks

Posted on Edited on

AI shows that there is a real hunger for higher abstractions

Higher abstractions have always been the goal of software developers. 'Plug together like lego', 'write in the highest level language possible' should always have been the target. However for some reason our profession has been welded to 'technology', and has succumbed to being beaten round the head by people in 'authority' to 'get it done quicker' - hence the 'Friday afternoon code' and "my employer doesn't allow me to do TDD' - it's all nonsense. There are far too many people stuck in their ignorance (or ignoring) of engineering, and welded to the react/angular/svelte/whatever is new and trendy rather than pushing for engineering and staying independent from these 'tech stacks'.
The sad thing of course is that most of us do know how to develop systems, but we don't have the courage of our convictions to carry it out effectively. And here we are again, being to told do 'do it faster' using AI from above, and lots of engineers are rushing over yet another cliff just like last time (and the time before that) with JS/SPA/Visual Basic etc. But we all know 'the only way to go fast is to go well' and even more so 'if you want to go far, go together' (we all have to communicate and work together to bring this industry into maturity). Sometimes you need to slow down to go fast.
The latest AI mantras seem to be that specific computer languages no longer matter - great. This is a chance to grab the mettle and start to demonstrate that systems can be written fast and well using great abstractions, and to add more engineering into the process no less, as our AI tools can help us move between technologies effortlessly.

Lets look at bringing type-safe languages like Elm and Purescript to the front end, and work out how to deliver fast with actual code. Its up to all of us to stop being brow-beaten into 'going fast' for the sake of it - no other profession in the world thinks this is acceptable. We also have the potential for type-safe 'back-end languages' - although Spring managed to dispose of all Java's qualities by erasing all the types. Look at https://acadia.engineering/ - there are some really smart people doing amazing things, we should be watching

The fundamentals are straightforward - design systems. MVC, synchronous user interfaces with buttons, selects and check-boxes. Small interfaces between components, simple (or no) architecture.

Top comments (0)