Can actual products (Web apps in my case) be built with Go?
Can actual products (Web apps in my case) be built with Go?
> "Not only is creating an App Engine application easy, it's free! You can create an account and publish an application that people can use right away at no charge, and with no obligation. An application on a free account can use up to 1 GB of storage and up to 5 million page views a month. When you are ready for more, you can enable billing, set a maximum daily budget, and allocate your budget for each resource according to your needs."
[1]: https://developers.google.com/appengine
[2]: https://developers.google.com/appengine/docs/whatisgoogleapp...
If I remember correctly Google switched their download service to using Go and there was a post here not long ago claiming they went from a lot of servers to merely 2 by switching to Golang.
See http://golang.org/doc/articles/wiki/ for an example.
And what might be the reason for that? Speed? Parallel processing?
The synthetic language benchmarks also put it very close to gcc -O2 C performance. About the only things that need to be improved further (so I've heard) in Go are the GC, coroutine/thread scheduler and crypto performance. They are already better in 1.1 release but Crypto is still not close to OpenSSL performance.
Correction: It is a programming language with two compilers available as the main implementation, but there are also interpreters being developed.
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.
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.
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.
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.
Selling Oberon compilers for embedded systems since the late 90's
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.
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.
As a language geek, I tend to collect such information. :)
I'm thinking something along the lines of honeybadger/hoptoad/etc -- automatic notification if the program crashes/deadlocks/what-have-you.