DEV Community

Discussion on: Why is our source code so boring?

Collapse
 
thorstenhirsch profile image
Thorsten Hirsch

Actually we have all that stuff already:

  • drag'n'drop modules: e.g. BPM tools, EAI/SOA tools (and some are pretty useful, you can really "orchestrate" your modules/workflow and get a nice high-level diagram for your documentation for free)
  • AI powered automatic code generation: no need for AI, code-generators are everywhere (e.g. in your IDE, in the Rails framework, in Oracle SQL developer, importers for WSDL/proto/... files, ...)
  • Scratch or Flowgorithm... well if these are tools in which you can't type "if...then...else..." on your keyboard, but have to use your mouse to drag'n'drop an [if] box, a [then] box, and an [else] box on some canvas, then this is crap.

Furthermore I believe that our mainstream programming languages have made huge progress in the last decade. Think of Java for example. It was designed when most computers had a single core CPU, so there were no nice abstractions for parallelism. You had to spawn threads manually. But now look at this beauty:

long sum=data.stream()
             .parallel()
             .map(i ->(int)Math.sqrt(i))
             .map(number->performComputation(number))
             .reduce(0,Integer::sum);
Enter fullscreen mode Exit fullscreen mode

All the complicated stuff is hidden behind the scenes. And it's so easy to see what the code is doing, it's as if it's speaking to you. Or think of JavaScript and how beautiful they've hidden the complexity of asynchronous processing behind async/await.

A picture might be worth a thousand words, but pictures are hard to diff. I prefer modern programming language constructs, which make it possible that 20 words are worth a thousand words.