4 ms·
As someone who writes Go code professionally, I find Go code to be really easy and quick to write, with fewer bugs/LOC than any other language I've used. Both c
by _ak 13y ago
As someone who writes Go code professionally, I find Go code to be really easy and quick to write, with fewer bugs/LOC than any other language I've used. Both compilation and execution speed are really fast, so you have both quick edit-compile-test turnarounds similar to a scripting language while having the execution speed of native code. Not quite as fast as C and C++, but getting there.
Writing concurrent code is incredibly easy with the primitives Go provides: goroutines (think of them like green threads multiplexed to 1 to very few OS threads) and channels (similar to pipes). No more faffing around with details of thread creation and teardown or an unreadable mess of callbacks (like you would have in system with event loops). So, if you've written concurrent software (like network servers) before, check it out, you will enjoy it.
- pjmlp 13y ago> Both compilation and execution speed are really fast, so you have both quick edit-compile-test turnarounds similar to a scripting language while having the execution speed of native code. It always makes me smile when C and C++ young developers re-discover the compilation times we old timers already enjoyed with Modula-2 and Extended Pascal compilers in the mid-80's.
- _ak 13y agoI learned programming with Turbo Pascal, so I knew before that compilers could be fast and produce efficient code. ;-) If only innovation in Pascal hadn't stopped, we might be using it more than we currently do.
- pjmlp 13y agoIt did not stop. Ada, Modula-2, Modula-3, Delphi, Oberon, Oberon-2, Component Pascal, Active Oberon, Zonnon, ... The industry just decided to look into another direction and now with buffer exploits everywhere, it is rediscovering that you can have strong typing with compilers that produce native code.
- _ak 13y agoNow were we talking about Pascal or everything that vaguely looks like a Wirth language? Delphi, alright, Ada, okay, but the others? Meh. None of them had anything fundamentally innovative or were just too obscure from the beginning.
- mseepgood 13y agoModula and Oberon do not vaguely look like Wirth lanugages, they are Wirth languages. And unlike Pascal, which was designed mainly for educational purposes, Modula and Oberon were designed for real world usage.
- _ak 13y ago> Modula and Oberon do not vaguely look like Wirth lanugages, they are Wirth languages. I wasn't claiming otherwise, but rather referring to Ada. > And unlike Pascal, which was designed mainly for educational purposes, Modula and Oberon were designed for real world usage. Guess which one caught on for real world usage and which ones mainly stayed in academia. Exactly.
- pjmlp 13y ago> Guess which one caught on for real world usage and which ones mainly stayed in academia. Exactly. Selling Oberon compilers for embedded systems since the late 90's http://www.astrobe.com/default.htm http://www.astrobe.com/default.htm z/OS is coded in a mix of Modula-2, PL/I and Assembly. Newer parts of the system are nowadays written in C++. The problem with any systems programming language is that it needs to be forced into developers by an OS vendor, otherwise very few will use it as such. This is sadly what happened with those languages.
- pjmlp 13y ago> Now were we talking about Pascal or everything that vaguely looks like a Wirth language? Delphi, alright, Ada, okay, but the others? I explicitly mentioned Modula-2 on my previous post and most languages on the list are actually done by Wirth or with his input. > None of them had anything fundamentally innovative or were just too obscure from the beginning. Well, I consider systems programming languages with GC pretty innovative, given the way Native Oberon and Bluebottle were used in Zurich's Technical University. Even if the languages are pretty basic when compared with Ada or Delphi. Go's method syntax is actually based in Oberon-2.