6 ms·
> it's actually easier to write statically typed code because the inference / auto-completion / etc is so much better when you do. Ruby has a pretty nice langu
by Mikeb85 5y ago
> it's actually easier to write statically typed code because the inference / auto-completion / etc is so much better when you do.
Ruby has a pretty nice language server, nice linter, REPL (Pry), many other tools.
The best development experience IMO is still stuff like SLIME or Smalltalk environments.
"Intellisence" just makes using statically typed languages bearable. It's not a unique feature.
- kaba0 5y agoIntellisense will allow you to do explorative programming, finding what method is callable on a given object. It’s much easier to look up n methods than to try to guess what is the whole state of the program where it may accept this and that, where even in the best case you might get a fraction of what a statically typed language’s autocompletion allows for. Like just seriously try intellij with java and pycharm for a php code.
- Mikeb85 5y agoRuby has (always had) a REPL and .methods gives you all possible methods you can call on an object. Editors with completion have been around forever too. "Intellisence" is just what MS calls it. It's not unique to statically typed languages. Completion has existed for dynamic languages probably longer than I've been alive. In fact, the reason tooling for Java/C# is so good is because the VM can feed it info as it's running, since even though the language is static the runtime is dynamic.
- kaba0 5y agoPlease try one out, the difference in quality is staggering. Also, .methods is a runtime thing, that’s hardly useful. Of course at runtime you must know the available methods.
- Mikeb85 5y agoI do write code in statically typed languages (C++, Haskell, have done Java before, etc...). > Also, .methods is a runtime thing, that’s hardly useful I think you missed the whole point of a REPL and dynamic languages... Developing while program is running = runtime things are definitely useful, they provide instant feedback (including completions, linting, that sort of thing).
- eropple 5y agoI have used that REPL extensively. I've written plugins for Pry for my personal usage. There are absolutely cases I've run into where it is nice to break into code, write it inline, and save the buffer. This is true. But I've run into more cases where having to do that to know what I'm working with in the first place is a tiresome slog.
- sparker72678 5y agoOr try RubyMine for Ruby. The challenge of providing a list of available methods in a dynamic environment is real, for sure, but there are great tools out there doing it right now.