Run-time program modification is possible, to a certain extent, when debugging or using libraries like JRebel, which I mentioned.
Again I am not saying you can do everything that Smalltalk allows for, after all it enjoys the flexibility of a dynamic language, just that those environments (.NET and Java) are the closest to the overall experience, from the point of view of someone that used Smalltalk/V back in its golden days.
The dynamism of those IDEs can be traced back to what Xerox PARC was doing on their Mesa/Cedar developer's environment.
Again I am not saying you can do everything that Smalltalk allows for, after all it enjoys the flexibility of a dynamic language, just that those environments (.NET and Java) are the closest to the overall experience, from the point of view of someone that used Smalltalk/V back in its golden days.
The dynamism of those IDEs can be traced back to what Xerox PARC was doing on their Mesa/Cedar developer's environment.
http://toastytech.com/guis/cedar.html
https://archive.org/details/bitsavers_xeroxparcteCedarProgra...
These ideas influenced the IDE experience of other statically typed languages.