4 ms·
... "and if we were still in 1981".
by andralex 15y ago
... "and if we were still in 1981".
- hasenj 15y agoNot really. Go was designed with at least these 2 ideas in mind: - Modern web servers - Modern multi-core CPUs None of which existed in 1981
- pjmlp 15y agoNone of the Go ideas are new. And in 1981 there were already application servers, running in multiprocessor machines using Multics, UNIX and VMS, just to name a few operating systems. Personally I see Go as a better C, nothing more.
- sambeau 15y ago"Personally I see Go as a better C, nothing more." Which is a good thing, right?
- pjmlp 15y agoSure, we need safer systems languages.
- sambeau 15y agoTo be fair, the way Go uses interfaces is new.
- pjmlp 15y agoThe only thing new about them is that you don't need to write "implements" or something similar.
- sambeau 15y agoIt is more subtle and powerful than that. By placing the contract at the use of a type with an interface rather than at the declaration of a type you effectively introduce a form of duck typing to a static language. You can write an interface for a type long after the type has been declared (or been declared by someone else). Interfaces can be defined and used without having to go back and change existing code. This is very lightweight.
- pjmlp 15y agoStill, there are a few functional programming languages that offer similar concepts. Scala is one of them, as a few in the ML family.
- he_the_great 15y agoNope, not even. SML apparently did so, and probably others.
- hasenj 15y agoInteresting, I didn't know there was multi-core even back then. But still, at least, they weren't as common place as they are now.
- andralex 15y agoThose are not ideas.
- sambeau 15y agoThey are if you put the words "easily, efficient programming of" in front of them, which I think was what the parent comment was getting at. To be even more pedantic than yourself, I would like to point out that everything that can be expressed is an idea. For us to have a word we must have a meme. A noun and the idea of a noun are inseperable. Even mathematics is language that conforms to this rule. jus'sayin'…
- andralex 15y agoPoint taken. Mine is that Go attempts to solve these new ideas with 1980s programming language technology. Touting it as a reimagining of C (or anything) would be insulting to C.
- sambeau 15y agoDismissing Go as '1980s programming language technology' is unfair, patronising and misses the point. Very little of substance has been invented in programming languages since Lisp was created in the 1950s. It has mostly been syntax. C itself is an early 1970s language based on ideas from the 1960s. It has been the backbone of serious computing for nearly 40 years. It is 1970s programming technology that works. One of the few 'new' things to arrive was Tony Hoare's CSP (in 1978). Go takes this idea and builds an effective implementation of it onto a C-like language with minimal noise. Go then adds the a tiny amount of syntax to C to have a layer of Object Orientation. This is not a 'modern' 1980s style of OOP like C++ uses, rather it is the 1970s OOP of Alan Kay and Smalltalk. So it it insulting to say that 'Go attempts to solve these new ideas with 1980s programming language technology'. If anything, Go is 1970s technology.
- pjmlp 15y agoHave you ever used Smalltalk? Go has very little to do with OO Smalltalk style. The only new language that has a very close to Smalltalk OO style is Ruby.