3 ms·
i truly believe go contributes negative work to society. it's basically C/C++/Java/C# with syntactic sugar except it's different enough to get bored programmers
by rian 15y ago
i truly believe go contributes negative work to society. it's basically C/C++/Java/C# with syntactic sugar except it's different enough to get bored programmers to waste their precious time reporting all their code.
if you want to learn a new language, actually learn a new language. learn a language that's actually breaking the mold in terms of how we communicate with computers. think at a higher abstraction level than dynamic dispatch and composable objects and subroutines, that stuff is already more than 40 years old.
http://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf http://www.thocp.net/biographies/papers/backus_turingaward_l...
- deleted 15y ago[deleted]
- drivebyacct2 15y agoSo because it's not revolutionary, it is actually harmful? Sorry, I don't follow at all. Even if it's "better" than C/C++/Java/C# [1], then it's a positive contribution. [1] I think it's silly to imply that languages are "better" than one another. Some are more apt for certain projects and some have different feature sets that appeal to certain people. Certainly it seems unrealistic to absolutely call a language useless, especially given the points in this articl.
- jshen 15y agoI completely disagree. My goal is to build better systems, and if an evolutionary change helps this, then that's where I'm going. You seem to value "breaking the mold" for the sake of "breaking the mold" Or, you didn't give a good reason to value it. "that stuff is already more than 40 years old.". Is this the fashion industry? Or do you believe that quality is a function of age?
- njharman 15y agoI agree with your goal. But the parent is correct in that learning a really different language will help you become a better developer and thus build better systems.
- jshen 15y agoThat isn't the only thing he said. I'm all for learning different paradigms, but he made a much different argument. "i truly believe go contributes negative work to society"
- rian 15y agopeople who program actually have a lot to learn from the fashion industry. trends are fine as long as trends are iterated on quickly. in comparison, it's taken programmers 15 years to make the half-assed-jump from java to go. and even then, the conceptual differences between java and go are minimal, superficial at best. the fact is that go touts itself as a C++/java alternative but i see no significant/non-superficial reason to actually change languages. thinking in go is 99% the same thing as thinking in C++. consequently, 99% of the time doing stuff in go takes me roughly the same amount of time as doing the same thing in C++. programmers remain stunted. we all know how efficient we can be writing code like in the von neumann style (not to mention 90% of programmers haven't yet even mastered that). to advance what people can do with computers it's time to start thinking beyond sequences of instructions and memory accesses, we need a language that encourages higher-order thinking. otherwise it's like building the empire state building with legos.
- shadowsun7 15y agoTwo things. 1) Have you used Go? Your comments indicate to me that you have little Go experience - thinking in Go is quite different from thinking in C. 2) One line counter-example to disprove your negative-work argument: goroutines. Also known as: CSP-style concurrency in a procedural language. I urge you to read up on goroutines. There are quite a few examples on the golang site of how you can use this feature to good effect, examples that would require you to think very differently than if you were in C. Also, I'd like to point out that the Go project got started because Rob Pike and Ken Thompson grew tired of long build times while working with C++ while at Google. One of Go's objectives is fast compilation times. They are willing to stick to this goal at the expense of complex type systems. This is, if it is anything, not negative work.
- pjmlp 15y agoGo routines + CSP are easily done in all mainstream languages. Java: java.util.concurrent .NET Task Parallel Library C++ Parallel Patterns Library Threading Building Blocks Click Cilk Plus D Actors + std.concurrency Erlang Actors Scala Actors Haskell STM Clojure STM There are good things about Go, but people should learn other programming languages properly, before doing comparisons.
- jaimzob 15y agoAgreed. I've looked at Go quite a bit and I can't figure out what new problems it solves, or how it solves existing problems better than previous procedural/OOP languages. How is better than 'D' for example. How is it better than Java? If you want a fresh look at systems programming then leaning Ocaml or Haskell would be a much better option because you will learn to solve problems in a new way, not just with slightly different syntax. Also, someone on this thread doesn't understand how downvoting works. If you disagree with something then make a response, save downvotes for deliberately trollish or off-topic comments.
- jkn 15y agoHow is better than 'D' for example. One thing I really like in Go is how small the language is.