3 ms·
Aw, but what about utterly fast to develop in, utterly awesome at concurrency, utterly easy for ruby/python/dynamic-language devs to pick up and gain huge perfo
by themartorana 12y ago
Aw, but what about utterly fast to develop in, utterly awesome at concurrency, utterly easy for ruby/python/dynamic-language devs to pick up and gain huge performance boosts, utterly easy to get in to the ecosystem, and utterly simple to use?
I'm not a language geek mind you, but if people find it useful (and plenty of large and small companies have had huge wins with it at rapid pace) who cares if it's utterly boring?
- danieldk 12y agoAw, but what about utterly fast to develop in, utterly awesome at concurrency, utterly easy for ruby/python/dynamic-language devs to pick up and gain huge performance boosts, utterly easy to get in to the ecosystem, and utterly simple to use? Most of those characteristics are also true for PHP, which is arguably also easier to deploy, since nearly every virtual hosting provider has mod_php enabled and it is 'platform-independent'. Sure, it gets the job done. However, a lot of PL research has gone into making languages safer. Allowing you to make bugs that manifest at runtime, compile time errors. And while large bugs may not be that big a deal for the average web application, not everyone writes web applications. Billions are wasted on software bugs, from research that turns out to be invalid due to multiplication of units of measurement that cannot be multiplied, to Bitcoins that are lost due to programming errors, to deaths caused by errors in life-critical software. Go does almost nothing to solve the one of the largest challenges of software, namely to make it safer. Sure, it's more safe than C. But arguable it's even a step back from Java by its refusal to include some form of parametric polymorphism, requiring developers to revert to runtime introspection instead.
- hyp0 12y agoSpeaking descriptively, not normatively, it just seems the industry is moving towards easier, not safer. yes, including PHP, but also python and ruby. I think the trade-off is that safer requires more upfront design, and is more viscous (harder to change). Whereas industry seems to get better end-results, with less design and faster iteration (i.e. so-called extreme programming). What's the point goes the argument of getting the wrong thing perfectly correct?. Added to this is the relative unpopularity of safer languages like SML etc. Statically typed languages (Java etc) are mainly popular more because of performance, not safety. So... I predict easier will continue to beat safer... in terms of popularity.
- TheHydroImpulse 12y ago> Statically typed languages (Java etc) are mainly popular more because of performance, not safety. No. The whole reason to have types is for safety, type safety. Where more errors/bugs can be found and found a whole lot earlier. That's the basis of the argument of dynamic vs statically-typed languages. If performance was all that matters, we'd all be writing C and C++.
- deleted 12y ago[deleted]
- wwweston 12y ago> Aw, but what about utterly fast to develop in, utterly awesome at concurrency, utterly easy for ruby/python/dynamic-language devs to pick up and gain huge performance boosts, utterly easy to get in to the ecosystem, and utterly simple to use? I've been working in Go for the last three months and I've come to see most of these as false. Concurrency and improved performance are arguable, but simplicity of use and ease coming from a dynamic background have not been my experience. I feel like I'm writing in Pascal again. Code that would be trivial for me to parameterize and isolate into a function in a dynamic language (or heck, in Java) becomes an exercise in frustration, usually ending in copy-paste. The official stance of the language appears to be PRY (Please Repeat Yourself) rather than DRY, boilerplate is on the order of writing Java. And as far as performance/concurrency go, it's not particularly competitive with other languages that've made focused efforts on either/both. I'll say that I've found the built-in package management nice (cross my fingers, haven't hit any of the rumored version conflict issues yet), but I can't think of much else nice to say.