Timeline for Why do dynamic languages make it more difficult to maintain large codebases?
Current License: CC BY-SA 3.0
6 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| May 26, 2018 at 16:00 | comment | added | aoeu256 | Modern IDEs for dynamic languages can use type inference to generate this information when the program is used like a static language program. Optional types can also help tip the IDE. In theory in a dynamic language you can log the arguments and return value of previous function call, and use this information for type inference. If you keep the program running stopped at a breakpoint, it can tell you not only the types but the values of all objects. Pydev & Pycharm lets the Python REPL access the local scope. | |
| Dec 17, 2013 at 18:43 | comment | added | meriton | I didn't claim that tooltips, IDEs or mice were invented in statically typed languages. I only claim that in an object oriented language, a function's name is in general insuffient to identify the function, and hence tooling can not know which function is being called, and display the right tooltip, or inline the right function, and so on - at least not without asking the user. | |
| Dec 17, 2013 at 17:27 | comment | added | Jörg W Mittag | Showing tooltips on mouse-over was a standard feature of dynamic language IDEs, long before programmers in static languages had IDEs or even mice. Automated refactoring tools were invented in dynamic languages, heck, IDEs were invented there. Refactoring tools for dynamic languages still can do things that e.g. Eclipse, IDEA or Visual Studio can't, such as refactoring code hat has already been deployed or refactoring code that hasn't been written yet. | |
| Dec 17, 2013 at 16:47 | comment | added | meriton | Perhaps I should have mentioned I am talking about object oriented programming languages with dynamic dispatch. Such methods are not global, but figuring out which implementation is going to be called requires knowledge about the type of the receiver. | |
| Dec 17, 2013 at 16:42 | comment | added | Izkata | Making everything global? That's not a necessity of dynamic languages, I'd call that a badly-written codebase... | |
| Dec 17, 2013 at 16:32 | history | answered | meriton | CC BY-SA 3.0 |