Live data from Hacker News

Go is boring

aeronotix.pl

21–30 of 138 posts

Re: Go is boring

#21
post #15
post #12

Earlier quoted context omitted.

I don't know why I didn't come across it. Maybe if I took Operating System II ..

I think you would have had to go deeper into programming languages, not deeper into operating systems. Disclaimer: The above is definitely true for coroutines in general, but I don't know much about Go and whether its coroutines are truly unique.

I also heard of it in a programming languages course, and also in Udacity CS 212 I think.

To add to the list, they're implemented in Python using yield statements

Re: Go is boring

#23

I love static typed language. With a proper IDE, code navigation, completion work like magic. I end up doing less typing than the dynamic typed language. Have you ever tried to auto complete the 'init' function in RubyMine? It will ask you which one of the 100 init functions do you mean. :) Not with static typed language. There is only one init function to choose from because the IDE knows the exact type you are work…

I do too but I'm finding that a lot of the time there are so many untyped inputs to a system that the static typing doesn't buy you that much. There always seems to be a ton of xml configuration data, incoming JSON from web services, databases with different type schemes etc.

I don't know about other environments, but on iOS I just create a class that I store the e.g. JSON data in.

Re: Go is boring

#24

I love static typed language. With a proper IDE, code navigation, completion work like magic. I end up doing less typing than the dynamic typed language. Have you ever tried to auto complete the 'init' function in RubyMine? It will ask you which one of the 100 init functions do you mean. :) Not with static typed language. There is only one init function to choose from because the IDE knows the exact type you are work…

Which IDE do you use with Go?

Re: Go is boring

#25
post #13

Earlier quoted context omitted.

Static typing also makes overloading your f.unctions on return type instead of just arguments types possible. Not a lot of languages do this, though. I only know of one, but it's invaluable there.

Perl's a dynamic language, but return type can vary based on context. I once saw this really bite someone where the presence of parentheses on the left-hand side of the expression changed the behavior of the function being called on the right-hand side. Not fun to debug that one.

Once? That is a daily occurrence in Perl development. Perl is more like a friend than a tool. It does what it wants, not what you say, and usually what it thinks you want, but sometimes it stabs you in the back.

Re: Go is boring

#26
post #11

Earlier quoted context omitted.

I think the counter-argument here would be that dynamically-typed languages let the person behind the keyboard run the show, as opposed to the IDE.

Alas, nobody has written a really good IDE for Haskell, yet. So we still have to run the show for that statically typed language manually.

Try EclipseFP.

Re: Go is boring

#27
post #15

Earlier quoted context omitted.

I think you would have had to go deeper into programming languages, not deeper into operating systems. Disclaimer: The above is definitely true for coroutines in general, but I don't know much about Go and whether its coroutines are truly unique.

I also heard of it in a programming languages course, and also in Udacity CS 212 I think. To add to the list, they're implemented in Python using yield statements

Python's yield was originally a limited co-routine, something we coined as a "generator" (borrowing the word from Icon, which Tim was quite fond of). It was limited to one frame on the stack and could only return values. Recent enhancements have allowed values to be passed back into the suspended function. That's still not a full co-routine though since Python only lets you go one level down on the stack.

As someone else mentioned, you need to get deeper into programming languages, not operating systems. Scheme has call/cc which can be used to build co-routines. Someone needs to clue in the nodejs crazies as well, callbacks are not the way to design a language. ;-)

Re: Go is boring

#28
post #3

I love static typed language. With a proper IDE, code navigation, completion work like magic. I end up doing less typing than the dynamic typed language. Have you ever tried to auto complete the 'init' function in RubyMine? It will ask you which one of the 100 init functions do you mean. :) Not with static typed language. There is only one init function to choose from because the IDE knows the exact type you are work…

Yes. I can't agree more. One example to backup: Eclipse makes Java fun.

Is this sarcasm? =)

If you want to know how real auto-complete works, try out IntelliJ. Auto-complete on Eclipse is like slowly being pecked to death by ducks.

A more accurate statement in my mind is "Eclipse makes Java palpable, IntelliJ makes Java fun."

Re: Go is boring

#29
I've tried giving Go a try a bunch of times now. My primary choice of language is Haskell and I just can't seem to get excited about Go.

Re: Go is boring

#30
I reached the same conclusion ("Go is boring") myself, but with a different flavor.

After having spent a great deal of time in recent years doing things like GPGPU and a _whole_ lot of SIMD programming (not to mention a lot of use of the STL, BGL, etc), I have to say I'm less impressed by the boringness (aka taking good, solid choices from existing languages) of Go.

I understand that not everyone is excited about SIMD or generic programming or writing code for 32768 GPGPU threads... but Go feels like a missed opportunity in these respects, solving the problems of the mid-1990s with aplomb (which is good).

It seems more like 'a better Java' - solid, but not genuinely breaking any new ground in a way that creates a single good reason to use it.

Post reply on HN