Seb Rose gave a presentation on different levels of abstraction in software development. He discussed the history from machine code to modern IDEs and tools like no-code/low-code platforms. While abstraction aims to reduce complexity, too much can ignore real issues. No-code/low-code solutions are attractive for speed and non-specialists but still require expertise. AI/ML are tools that may help certain domains if complexity is not oversimplified. The right level depends on goals and challenges of each problem.
No code, low code and machine code abstraction levels
1.
2. No code, low code, machine code
Seb Rose
Twitter:
@sebrose
Blog:
https://cucumber.io/blog/
E-mail:
seb.rose@smartbear.com
What level of abstraction is “just right”?
12. @sebrose
the process of removing physical, spatial, or
temporal details or attributes in the study of
objects or systems to focus attention on
details of greater importance;
Abstraction
it is similar in nature to the process of
generalisation
https://en.wikipedia.org/wiki/Abstraction_(computer_science)
13. @sebrose
Abstraction
Abstraction
is
EVIL!
Jim Coplien (“Cope”)
ACCU 2000
In most object
oriented design, most
abstraction is evil. It is an excuse to
ignore things we don't want to deal
with even though we should.
https://www.artima.com/forums/
fl
at.jsp?
forum=106&thread=6771
16. @sebrose
The Last One (TLO)
February
1981
“At last - the
end of
programming
especially
if it’s about
the future.
Nils Bohr
https://teblog.typepad.com/david_tebbutt/2007/07/the-last-one-pe.html
Prediction
is very
di
ffi
cult
19. @sebrose
Goals
Misalignment of business & IT -
put the business in control
Shortage of developers -
no need for specialist developers
Time-to-market & speed -
automation & component reuse
BETTER
FASTER
CHEAPER
23. @sebrose
[TLO] not only worked (eventually) but,
for donkey's years, its publisher made
money out of a consulting business
wrapped around the software.
https://teblog.typepad.com/david_tebbutt/2007/07/the-last-one-pe.html
Consultancy
24. @sebrose
Pitfalls
Misalignment of business & IT -
still a need for IT domain expertise
Time-to-market & speed -
delays for customisation & troubleshooting
Shortage of developers -
lack of even more specialist consultants
28. @sebrose
Takeaways
Better, faster,
cheaper for
limited domains
only
Improved
collaboration enables
effective
specialisation
AI/ML are tools
not solutions
Essential
complexity
should not be
simpli
fi
ed
[Abstraction] is similar in nature to
the process of generalisation