this post was submitted on 23 Aug 2023
50 points (93.1% liked)

Programming

17309 readers
285 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

Over 10 years ago, I had this sort of a prediction that, with the massive adoption of a dynamic language like javascript on both client/server sides and test-driven development gaining a lot of ground, the future of programming would be dynamic and "feedback-driven". As in, you would immediately see the results of your code as you type, based on the tests you created. To naively simplify, imagine a split screen of your code editor and a console view showing relevant watch expressions from the code you're typing.

Instead what happened was the industry's focus shifted to type safety and smart compilers, and I followed along. I'm just not smart enough to question where the whole industry was heading. And my speck of imagination on how coding would have looked like in the future wasn't completely thought out. It was just that, a speck of imagination that occurred to me as I was debugging something tedious.

Now, most of the programming language world, seem to be focusing on smarter compilers. But is there some language or platform, that focus instead on a different kind of programming paradigm (not sort of OOP, FP paradigm, may be call it the programming workflow paradigm?). May be it comes with a really strong debugger tooling that's constantly giving you feedback on what your code is actually doing. Think REPL on steroids. I can imagine there would be challenges with parsing/evaluating incomplete code syntax and functions. So I guess, the whole compiler/translator side has to be thought out from the ground up as well.

Disclaimer: There's a good chance I simply don't know what I'm talking about because I'm no language designer or even close to understanding how programming languages and it's ecosystems are created. Just sharing some thoughts I had as a junior dev back in the day.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 9 points 1 year ago (3 children)

This is what Smalltalk is all about, and it has been like that since it’s origin: you basically program in the debugger, you program running, you change something, you proceed the debugger, etc. That’s why technics like TDD, refactoring, and others were developed in Smalltalk and just later translated to other languages (and always lacking, since no one reproduces the live programming experience 100%). As the time passed, attention has moved to other languages and most people not ignores what it was to program like that. But there are still some implementations around: I work with Pharo (https://pharo.org), and I can to say is all what you ask for in this post :)

[–] [email protected] 1 points 1 year ago (1 children)

Oops… most people now ignores… I meant :)

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)
[–] [email protected] 2 points 1 year ago

not with mlem (or I did not find how) ;)

[–] [email protected] 1 points 1 year ago

Oh, I completely forgot about smalltalk. Better look into again.

[–] [email protected] 1 points 1 year ago

It's always fun when someone comes up with a new idea of how to write code and it is something smalltalk did in the 80s.