TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The End of Dynamic Languages

72 pointsby elbenshiraover 9 years ago

10 comments

azakaiover 9 years ago
&gt; This is my bet: the age of dynamic languages is over.<p>I doubt it.<p>Yes, all the points the author makes are valid benefits of static typing. But the benefits of dynamic languages still exist. There are reasons people like both types of languages.<p>However, I think a more relevant point was made in the article: that statically-typed languages are looking more and more dynamic. And we can add to that that we see signs of dynamic languages adding more &#x27;static&#x27; features, like optional types. Those are signs of convergence, of both major classes of languages learning from each other and improving.<p>But I still don&#x27;t think we&#x27;ll end up in the middle with &quot;static, but feels totally dynamic&quot;. We&#x27;ll still have both types of languages around.
评论 #10618884 未加载
emidlnover 9 years ago
The author seems to have missed the Ring Spec [1]. It provides a complete breakdown of what is in a ring response and a ring request for the core spec.<p>The middleware (at least those that ship with ring) are all documented in docstrings explaining the keys they add or work on. This is available in the repl via `clojure.repl&#x2F;doc` or inspective `(:doc (meta foo))`. It&#x27;s available in your editor if your editor has clojure support (I only use vim and emacs, and both of these can search&#x2F;display docs on clojure code). There is also nicely formatted api docs at [2].<p>[1] - <a href="https:&#x2F;&#x2F;github.com&#x2F;ring-clojure&#x2F;ring&#x2F;blob&#x2F;master&#x2F;SPEC" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ring-clojure&#x2F;ring&#x2F;blob&#x2F;master&#x2F;SPEC</a> [2] - <a href="http:&#x2F;&#x2F;ring-clojure.github.io&#x2F;ring&#x2F;index.html" rel="nofollow">http:&#x2F;&#x2F;ring-clojure.github.io&#x2F;ring&#x2F;index.html</a><p>That said, it would be nice if more of clojure was documented using an executable schema or type system, ala Schema or core.typed. The author would have done well to pick less well-documented libraries though.
评论 #10618402 未加载
ZLeviathanover 9 years ago
Totally agreed, using dynamic languages, all became a guessing game, everyone is guessing, the IDE is guessing, the programmer is guessing what&#x27;s inside this variable?
评论 #10626171 未加载
评论 #10619964 未加载
ngrillyover 9 years ago
I agree with the author. Even in a &quot;statically typed&quot; language like Go, which has a simple type system, compared to languages like Scala or Haskell, the benefits of static typing are very real and enables a lot of extremely useful tools (code completion, refactoring, linting, whole program analysis, etc.).
评论 #10617645 未加载
rbanffyover 9 years ago
A completely contrary case can be made where static typing is doomed because hardware is getting more and more powerful, JIT and tracing is getting better and dynamic typing is convenient to the programmer while static typing is very convenient to the compiler and the processor.<p>It&#x27;s nonsense, both ways. Both static and dynamic type systems have their uses and, unless we substantially change the way we use computers (which is plausible) I don&#x27;t see either side wiping out the other.
评论 #10618499 未加载
elbenshiraover 9 years ago
A note on Typed Clojure: Ambrose is doing excellent work with it, and I&#x27;m excited to see it develop.<p>But I wished there was a bigger push from the top, from Rich himself, on &quot;first-classing&quot; typed Clojure. Aim for 100% annotation coverage for the most popular libraries. Start with core (maybe it already is? I haven&#x27;t kept up) and ring, then move outwards from there.<p>Library writers will be more motivated to add annotations if the big libraries are doing it.
评论 #10618624 未加载
lispmover 9 years ago
I don&#x27;t like when people don&#x27;t understand the difference between dynamic languages and so-called dynamic typing.<p>For example in Java a dynamic feature is that it has class loaders which enable to load classes into a running Java program. This way a program can be updated and extended at runtime.<p>Other dynamic features are &#x27;late binding&#x27;, runtime evaluation, code as data, introspection&#x2F;reflection up to a full blown meta-object protocol which enables things like modifying inheritance, slot allocation, instance creation, method dispatch and so on.<p>One of the features of Erlang for example is that it enables application updates, while providing zero downtime. The demand for that in the telco business is far from &#x27;end&#x27;ing.<p>What actually &#x27;dynamic typing&#x27; is and if it is seeing its end is a totally different question.
likeclockworkover 9 years ago
I think Hiccup is way better than separate HTML templates, much less noisy.
评论 #10617660 未加载
realharoover 9 years ago
I agree. Dynamic languages had their appeal when the only mainstream alternatives were Java and C++.<p>But in today&#x27;s world, with verbosity-eliminating type inference, more expressive type systems, and tools that can make use of all the extra information to greatly increase productivity, it&#x27;s really hard to think of any meaningful benefit dynamic languages can provide (that is related to their choice to have dynamic typing, not other parts of the language).
jack9over 9 years ago
&gt; that we disdain verbosity<p>Dynamic languages show there&#x27;s a tradeoff. Repeating yourself is often useful, when maintenance is expected and code is cheap to produce, without having to worry about strict typing.