Live data from Hacker News

Featherweight Go

arxiv.org

101–110 of 169 posts

Re: Featherweight Go

#101
post #6

There’s also a generics implementation on a branch of the go repo. I’m most curious how they perform on compilation speed assuming a big project makes decent use of generics. I doubt golang would merge anything that causes significant slowdown. And I don’t blame them, the only reason I don’t dread TypeScript dev given its slow compile times is you can typecheck async and strip the typing information for the hot reloa…

If TypeScript compile times feel long to you, I hope you never have to work with a poor build system with a truly expensive language. A clean build with 8 cores at work takes around 10 minutes on my machine. Without parallelization it’s almost an hour. And this with explicit rules against C++ templates…

Re: Featherweight Go

#102
post #77

Earlier quoted context omitted.

I'd say the popularity of Go stems from the lack of generics.

No, it doesn't. Go is popular because of the names and organization behind it, as well as the fact that it's useful for a lot of people despite the lack of generics. Certainly, a lot of people are attracted to Rob Pike's rather idiosyncratic preferences, tastes, and nostalgia for the early days of Unix, which are on display in a lot of Go's design decisions, like the lack of generics. But lots of random people have p…

The "names and organization behind it" thing is needlessly condescending (not to mention false), and the ability to get things done without generics basically restates David's point.

Was there something in this paper that you felt unfairly treated Rust, the language you represent on these threads? Because otherwise, I can't see what would motivate you to join this thread to snipe.

I'm with David, for what it's worth. Lack of generics has mostly helped me be productive in Go, and the extreme prevalence of generics in every Rust library I deal with has definitely slowed me down a bit. I'm looking forward to generics support in Go, but mostly for what I hope it does to message board threads.

Re: Featherweight Go

#103
post #16

Earlier quoted context omitted.

That's from the previous generics proposal, substantially different from this one.

This is the intersting discussion. What of the two proposals will receive the Go authors blessing? Isn't the arxiv version just a Guerilla attempt?

The former proposal was made by 2 members of the Go core team. And they are also in the team of the latter proposal. So, no, the first proposal wasn't good enough for the Go authors and the new proposal is in no way a guerilla attempt.

Re: Featherweight Go

#104
post #23
post #14

Earlier quoted context omitted.

What about the irony of pjmlp dismissing something because it's based on an obscure language going as far back as 2001? :-)

Except that Java isn't obscure and experiments like Featherweight Java contributed to Java generics final design, introduced in November 2009, 3 years before Go 1.0 was released. What about that then?

My comment was not meant as criticism, I just thought it was nicely ironic.

But I guess you're actually consistent: you often lament about people ignoring or reinventing approaches that proved themselves in older languages. Here are people that actually take clues from one such language, and you lament that they didn't do it earlier. I see now that it's not really ironic. Rather, you're seeing the glass half empty while I was seeing it half full.

Re: Featherweight Go

#105
> Whereas most programming languages use nominal subtyping, Go is unique among mainstream typed programming languages in using structural subtyping.

I thought typescript also used structural subtyping? i.e. in typescript I can define:

    interface Stringer {
      String: () => string
    }
    function takesStringer(s: Stringer) {}
And now I can call takesStringer with any class that happens to have a String() method.

This seems to match structural subtyping in go.

Am I missing some reason that this isn't structural subtyping as referred to in the paper? Do they mean to say that typescript isn't a "mainstream typed programming language"?

Re: Featherweight Go

#108
post #52
post #29

Earlier quoted context omitted.

Are you suggesting all new typed languages have generics? What makes you so sure there isn't room in the design space for a typed language without generics? As much as I like generics, Go's popularity is a success: programmers have spoken, and they value other things more than generics. Hindsight is 20/20, and even this isn't a commitment to introduce generics in Go.

Go's popularity is due to author's employer. Both its main influences, Oberon-2 and Limbo had zero traction on the market, and Limbo not only is quite close to Go, it had an whole OS full of the Plan 9 ideas to come along, yet it failed on the market. Lack of generics has already been publicly acknowldge as problem. > In three years of Go surveys, lack of generics has always been listed as one of the top three proble…

[deleted]

Re: Featherweight Go

#109
Suggestion: While your paper is very intellectual and I laud that, perhaps what would work better for mass uptake is to create your own programming language around the concepts you propose, and let people try that language. You could call this language "Featherweight Go" if you wish, but perhaps it would be better to call it something else entirely, and simply state that that this new language was inspired by Go.

This choice comes with potential business, legal, and other ramifications, for example, should Google get all of the benefit, in terms of fame, goodwill, users and other intrinsic bonuses from the work you've done; or could you profit (if that was your goal) if you were to create your own company around this new language?

You see, that's what I mean by potential business and legal issues.

Oftentimes, people who are employed by other people work extremely hard on academic pursuits, such as academic papers, yet their work is never adequately rewarded, compensated, or even appreciated.

Which is why I suggest you create your own language and possibly your own company around that language. Because otherwise you'll never know nor understand the true economic value of what you've created, and you might spend an eternity trying to convince people who are of lesser intelligence to read your paper, whereas they could be using, downloading, telling their friends about the great new language you created; and maybe even paying you money, if you played your cards right...

Note that I am not suggesting you go this route (it's your decision, maybe you just want to bring better free open source software to the open source community and that's highly laudable), all I'm saying is, you might be on your bed on your 85th birthday, and you might look back at your life, and you might wonder "boy, I wonder what would have happened had I tried to start a company around this set of ideas; I wonder what would have happened if I had taken the road not travelled.."

That's all I'm trying to say...

Nothing more, nothing less.

Your choice.

Make it wisely.

Your paper shows tons of intellect.

Re: Featherweight Go

#110

Suggestion: While your paper is very intellectual and I laud that, perhaps what would work better for mass uptake is to create your own programming language around the concepts you propose, and let people try that language. You could call this language "Featherweight Go" if you wish, but perhaps it would be better to call it something else entirely, and simply state that that this new language was inspired by Go. Thi…

What are you talking about... Two members of the Go team are on the author list.
Post reply on HN