News for hackers. Stuff that matters.
Re:The End of Dynamic Languages by emidln on Monday November 23, 2015 @05:01PM (#10617645)
Code completion, refactoring aids, linting, and whole program analysis also exist in dynamic languages. Take a look at emacs with anaconda-mode for python or cider for clojure. IntelliJ in the forms of Cursive and PyCharm (or the Python IDEA plugin) also support all of these. Even vim can do this stuff (python-mode, fireplace.vim). I don't Ruby very often, but I suspect these tools exist here too.
Re:The End of Dynamic Languages by jskulski on Monday November 23, 2015 @08:11PM (#10618529)
def some_function(some_obj): ...

How does any IDE or editor know what some_function would be passed without a severe amount of inspection?

I might be wrong on my definitions, but almost by definition, there's just not enough information before runtime in dynamic systems to infer enough to do any real refactoring or smart completion.

I use PyCharm everyday, and I like it, but it's refactor menu is limited, can fail, and pales in comparison to my uses of java w/ IntelliJ or even a well hinted php app w/ PHPstorm.

Re:The End of Dynamic Languages by crashedsnow on Monday November 23, 2015 @11:36PM (#10619143)
I agree. I haven't yet encountered an IDE that has any hope of doing anything more than being able to enumerate the defs in a module or the functions in an object. JavaScript is one of the worst because there is no canonical "include" semantic so you really have no idea what's going on. The corollary seems to be that many of these languages are fast to develop (and run) so excessive console.logs appears to be the "solution"
Re:The End of Dynamic Languages by lispm on Wednesday November 25, 2015 @04:04AM (#10626197)
Many 'dynamically typed' languages are developed at runtime.

Check for example the typical Smalltalk or Lisp environment. The editor asks the runtime.

Since many of those languages are object-oriented, you'll know the class:

(defmethod hide ((w window)) ...)

Oh, w is a window...

Re:The End of Dynamic Languages by elbenshira on Tuesday November 24, 2015 @12:52AM (#10619338)
In the article, I mention that linters for dynamic langs are crippled. Of course I use them when writing Ruby. But can any of these tools tell me:

  - When two equivalent anonymous functions can be extracted out?
  - When a library method already exists for an expression?
  - When you fail to match every possible result in a case statement?
Re:The End of Dynamic Languages by ZLeviathan on Tuesday November 24, 2015 @01:18AM (#10619401)
Not true...