3 ms·
>But is absolutely essential for most tasks C is used. For all the others, why not use a higher level language like Python? What C programs are you thinking of
by enneff 14y ago
>But is absolutely essential for most tasks C is used. For all the others, why not use a higher level language like Python?
What C programs are you thinking of? Thinking of significant C programs that I have used (bash, apache, gcc, and many more), I can only think of a few that wouldn't be easier to write and maintain were they written in Go, without suffering a meaningful performance penalty. Funnily enough, a lot of the uptake of Go has been from former users of Python, Ruby, and other dynamic languages; they attracted to Go's simplicity, safety, and speed.
But really there's a lot more to Go the faulty dichotomy of "dynamic vs static" (or Python vs C, whatever). This is worh reading: http://talks.golang.org/2012/splash.article http://talks.golang.org/2012/splash.article
>lots of people even like using dynamic languages with an IDE
Agreed, and I have nothing against IDEs. I have just found that I can't comfortably write Java code by hand. There's way too much boilerplate. In my experience an IDE is essential writing Java code efficiently, and I don't think that's a good thing.
>not very convincing or exciting
Depends on your definition of exciting. Since I've been writing Go code I've been more excited about programming than ever before.
- quatrevingts 14y agoYou'd really be OK with gcc being 2-3x slower? As much as I love high-level programming, many of the most interesting and important problems are ones where a "small" constant factor is the difference between great and mediocre.
- enneff 14y agoI don't think it would be 2-3x slower.
- coldtea 14y agoWhy thought? By all we know, it would be. On most algorithmic benchmarks Go is 2-3 or more times slower than C/C++. And parsing something like a large C++ codebase with a GC language like Go would result in tons of memory used (and slowness). Heck, even Go compiling Go programs gets OOM'ed sometimes in Linux.