6 ms·
What qualifies a language as "pretty basic" and why is that a bad or a good thing?
by root_axis 7y ago
What qualifies a language as "pretty basic" and why is that a bad or a good thing?
- pjmlp 7y agoBeing basically a copy of Limbo with Oberon-2 method syntax, although we are a bit further than 1992, to start with. And while at it, offering less features as Algol used to have.
- lugg 7y agoI'd love to see algol come back with a fresh syntax.
- dilyevsky 7y agoOffering less features was literally their goal in which they succeeded
- coldtea 7y agoDoesn't change the fact that it can be called "basic" for that...
- weberc2 7y agoYes, I always find it surprising that people evaluate languages on the sheer number of features. As though the hallmark of a good language is having lots of complexity.
- pjmlp 7y agoBecause, the complexity doesn't go away, gets dumped into developers that keep re-writing boilerplate libraries that kind of compensate for the lacking features. It happens all the time. Language gets introduced at the sound of simplicity trumpet, tons of boilerplate libraries eventually appear, then if the language manages to make it in the mainstream, half baked features get introduced 'cause backwards compatibility.
- weberc2 7y agoWell, boilerplate is a nuisance, but it is cheap. It’s not generally where your bugs are coming from (and certainly not your most insidious bugs)—they come from your complexity, especially your incidental complexity. In exchange, Go is a very easy language to learn, which is an important property for software development teams—you don’t need to restrict your hiring pool to candidates with experience in $language; you can train anyone to productivity in _days_. This is actual cost savings over a nebulous idea that boilerplate is evil. Anyway, Go needs generics and sum types and those two features get rid of 99% of boilerplate and still keep it below an order of magnitude of the complexity that you see in Java, C++, etc, so I don’t buy your argument that the extra features are a net positive value.
- pjmlp 7y agoThe usual Go answer, Java boilerplate bad, Go's boilerplate good. Java was once like Go, and ironically DisVM also had support for Java, back in those days.
- weberc2 7y agoUsually your responses are well-reasoned and interesting; this one was disappointingly lazy. I didn’t say Java’s boilerplate was bad nor that Go’s was good. I criticized Go’s boilerplate and Java’s complexity.
- pjmlp 7y agoWhich Java only got by starting out just like Go, being a simple language against the establishment, catering for easy to hire resources, ignoring the likes of Delphi, Modula-3, Sather and Eiffel, while building up on C++'s familiarity. And adding half baked features to keep relevant while avoiding a Python 3, which any language that wants to survive in the market has to do, as not everyone can afford to alienate their user base. If anything, Java complexity is the Ghost of Christmas yet to come of Go's future.
- 7y ago
- KibbutzDalia 7y agoFewer
- api 7y agoIt offers developers less opportunity to show off how smart they are vs shipping stuff that works. Go is outstanding for the latter.