NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Growing a Language [pdf] (1998) (langev.com)
ColinWright 5 days ago [-]
This is the PDF of the talk given here:

https://www.youtube.com/watch?v=_ahvzDzKdB0

It's Guy Steele[0]'s keynote at the 1998 ACM[1] OOPSLA[2] conference.

[0] https://en.wikipedia.org/wiki/Guy_L._Steele_Jr.

[1] Association for Computing Machinery

[2] The 13th annual ACM SIGPLAN[3] Conference on Object-Oriented Programming Systems, Languages, and Applications.

[3] SIGPLAN is the Association for Computing Machinery's Special Interest Group (SIG) on programming languages.

kreetx 21 hours ago [-]
This is one of the talks I watch over and over - though it has computer science value then its entertainment value is much much higher still.
gjvc 19 hours ago [-]
The OOPSLA 1997 keynote was a banger as well. That was truly an exciting time.
senkora 20 hours ago [-]
> An operator can be overloaded in C plus plus, but right now operators in the Java pro- gramming language can not be overloaded by the programmer, though names of methods may be overloaded. I would like to change that

It’s a shame that he lost this battle. Operator overloading really does make it a lot nicer to design certain kinds of libraries.

chubot 19 hours ago [-]
FWIW another thing that Guy Steele advocated was value types, which as I understand it is ongoing work:

https://en.wikipedia.org/wiki/Project_Valhalla_(Java_languag...

https://openjdk.org/projects/valhalla/

I have said in the past, and will say now, that I think it would be a good thing for the Java programming language to add generic types and to let the user define overloaded operators.

He did get the generic types though, I think that was well over a decade ago now

steveklabnik 18 hours ago [-]
> I think that was well over a decade ago now

This was in Java 5, in 2004. So two decades!

roetlich 18 hours ago [-]
Or you could use C# and get all of those features.
owlstuffing 8 hours ago [-]
Agree 1000%

There’s a Java compiler plugin[1] that muscles in operator overloading pretty comprehensively, and works with all LTS JDKs.

1. https://github.com/manifold-systems/manifold/tree/master/man...

swyx 18 hours ago [-]
i mean okay but also it makes it impossible to have an open source ecosystem with shared libraries because suddenly things dont mean the same thing in one system vs another. i was interviewing at Jane St and realized their OCaml completely doesnt work with the rest of the world - and its fine if you're Jane St i guess but that really sucks for the "health" of a language ecosystem.
Someone 18 hours ago [-]
Why would

  a + b
suffer more from this than

  plus(a,b)
? In both cases, libraries will only clash if both define a function with the same name taking an A and a B. The only difference is that it is called + in the former case, and plus in the latter.
5 days ago [-]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 12:26:59 GMT+0000 (Coordinated Universal Time) with Vercel.