6 ms·
Personally I would say Ruby is the closest. But without the live IDE thing, you lose many of the great things about Smalltalk. I spend a lot of time on the Ru
by rahoulb 6y ago
Personally I would say Ruby is the closest.
But without the live IDE thing, you lose many of the great things about Smalltalk.
I spend a lot of time on the Ruby Docs, looking up which methods an object has. "Traditional" IDEs give you type-ahead features, where they perform a code-analysis and then predict what you might want to type. But in Smalltalk I just ask the class how I should be using it and it tells me there and then, even if the class has been modified with methods added or removed or rewritten at run-time.
- systems 6y agoI understand the difference between introspection and autocomplete Autocomplete if good tool support is available everywhere, and some languages have very good dynamic introspection (usable in a repl) Powershell, Julia, raku .. i think also Ruby and Python also have create introspection, that you can use dynamically in a repl https://perl6advent.wordpress.com/2015/12/19/day-19-introspection/ https://perl6advent.wordpress.com/2015/12/19/day-19-introspe... So in summary, doesnt repl+introspection+auto completion give the same value
- rahoulb 6y agoIs the REPL the same environment as your running code? If your environment has stuff added dynamically (for example every Rails app) you need to attach to the live environment - an OO version of gdb. And once you’re doing that, you’ve basically got Smalltalk without the nice presentation layer. Update: by presentation layer I mean I can ask to inspect a live object and open a window that shows not just it’s instance variables and the messages it responds to, but read the documentation (the equivalent of Rubydoc) and source code (including editing that source code if I wanted to).
- systems 6y agoprobably because of the type of programming i do (business intelligence), live environment doesnt mean much to me most programs run, and finish, and updating most programs while running, is not something important, you can always update it and run it again for long running processes like servers well again,not really sure what this means but i deal with database management systems, and i mean you can update a stored proc, without shutting down the server, you can of course update the data etc .. as for the dbms process itself, i am not big on dba stuff,but most databases allow in-place upgrade , but usually you can to disconnect everyone while doing it as for large website, like facebook or anything else even a lot smaller in scale, those are obviously not a single program .. and most likely they just restart services to pick up updates, and use a form of load balancing to work will go to servers that are not restarting So in summary, this notion of live app, seem more theoretical than real to me