Live data from Hacker News

Anders Hejlsberg on Modern Compiler Construction (2016) [video]

youtube.com

31–40 of 45 posts

Re: Anders Hejlsberg on Modern Compiler Construction (2016) [video]

#31

There's so much that's great about C#, and that results from really smart, pragmatic, forward-looking language design, that I find it surprising how many aspects of C# development are hampered by really bad design. Specifically, the backwards compatibility story of the standard library is a mess (all the different .NET Framework versions, or wait, do I mean .NET Standard, or WinRT, or...?) and the package manager (Nu…

There is a pretty promising answer to the current package management problems called OneGet: https://github.com/OneGet/oneget Unfortunately it looks like the original creator/designer was moved off the project and it seems like it has suffered from some internal political issues. Development is happening on it but it looks pretty slow.

There is also Paket which is used by the F# community : https://fsprojects.github.io/Paket/

Re: Anders Hejlsberg on Modern Compiler Construction (2016) [video]

#32
post #26

Earlier quoted context omitted.

You are definitely right with the library shism (Silverlight to blame). But, on the other hand, it also shows how adaptive this environment is. And not only the language but also the base class library, which independent of actual Factorings (like Silverlight, WinRT, Framework, Mono whatever) allowed a familiar environment to program in. Java had also its moments (mobile Java, ee java, Android/Google Java, or Microso…

Hmm, I don't think Java has had it nearly as bad historically (possibly apart from the old mobile Java profiles, which I agree were quite painful). Any code using the core classes (math, collections, basic I/O) would always work fine on any JVM, including Android. Porting pure Java code to Android has always been very easy, as it should be. Whereas I've found with C# that even perfectly innocuous-looking functions wo…

I ported huge amounts of code to .NET Core and it was effortless. It always depends which API your code uses. I think that is similar to your Java experience.

The Core API factoring was focused to remove deprecated API. When not using "deprecated" framework API, the porting is pretty easy.

Re: Anders Hejlsberg on Modern Compiler Construction (2016) [video]

#33
post #9

I must admit I fantasize that this great mind will one day return to his Turbo Pascal roots and “rescue” the Delphi project! (More wishful thinking than imagining DT admitting climate change, I know.)

I really, really want a Turbo Pascal 5.5 with objects for linux.

Re: Anders Hejlsberg on Modern Compiler Construction (2016) [video]

#34
post #9

I must admit I fantasize that this great mind will one day return to his Turbo Pascal roots and “rescue” the Delphi project! (More wishful thinking than imagining DT admitting climate change, I know.)

I'd love a 'Delphi for the web' created by this guy. Maybe something that uses TypeScript?

Re: Anders Hejlsberg on Modern Compiler Construction (2016) [video]

#35
post #6
post #3

Original author of Turbo Pascal, chief architect of Delphi, lead architect of C#, creator of TypeScript. Does anyone else in language design have as many accolades as this or designed languages on which trillions of dollars of commerce depend?

Guy Steele comes to mind. He hasn't been as successful with the languages he co-created (most importantly scheme and to a lesser extent Common Lisp; Fortress was stillborn) but he's also been involved with the Javascript, C, Fortran (as a standards committee member) and Java (as a specification author). And he's been tremendously influential as a profound thinker on language design; I'm not sure anyone else understan…

>Hejlsberg probably is completely in a class of his own as a designer and architect/implementor of innovative spins on existing languages though.

Arhictect/implementor of IDE's (TurboPascal, Delphi, VS - all immensely influential).

If you haven't had the joy of programming in Delphi, you'll feel at home if you ever used VS/C#.. in Delphi 2.0 of the mid-90's.

Re: Anders Hejlsberg on Modern Compiler Construction (2016) [video]

#36
post #19
post #3

Original author of Turbo Pascal, chief architect of Delphi, lead architect of C#, creator of TypeScript. Does anyone else in language design have as many accolades as this or designed languages on which trillions of dollars of commerce depend?

I don't think anyone can beat Dennis Ritchie on the "designed languages on which trillions of dollars of commerce depend" metric, especially when we consider the many languages which are themselves implemented in C.

That would be joint credit with core innovation going to Martin Richards: the inventor of BCPL that B and C were based on. His team went from big, safe languages to a tiny, efficient one close to the machine with philosophy that programmer was in control. Ken Thompson picked it up from him on MULTICS project.

https://en.m.wikipedia.org/wiki/Martin_Richards_(computer_sc...

Re: Anders Hejlsberg on Modern Compiler Construction (2016) [video]

#37
post #8
post #3

Original author of Turbo Pascal, chief architect of Delphi, lead architect of C#, creator of TypeScript. Does anyone else in language design have as many accolades as this or designed languages on which trillions of dollars of commerce depend?

Martin Odersky, created Turbo Modula-2 for Borland, member of the Pizza language whose design lead to Java generics implementation, designer of the Scala language. Erik Meyer, member of GHC design team and Haskell community, responsible for LINQ design bringing FP to the masses, reactive extensions in .NET which lead to the RX model adopted by Netflix, nowadays contributing back to Haskell at FB (if I am not mistaken…

In other words,no.

Re: Anders Hejlsberg on Modern Compiler Construction (2016) [video]

#38

Earlier quoted context omitted.

Stirred lots of controversy for having lopsided equality tables (ambiguity intended)

true == 1 === true What's ambiguous about that? :-P

Of course this would not work.

typeof(true) is of type 'Boolean' and typeof(1) is of type 'number'.

Do they compare to the same type? Nope, therefore is false in both cases.

Try the following:

    let foo = true;
    true === foo === true; // returns true.

Re: Anders Hejlsberg on Modern Compiler Construction (2016) [video]

#39
post #33
post #9

I must admit I fantasize that this great mind will one day return to his Turbo Pascal roots and “rescue” the Delphi project! (More wishful thinking than imagining DT admitting climate change, I know.)

I really, really want a Turbo Pascal 5.5 with objects for linux.

FreePascal is about that.

TP 5.5 with objects was a really clunky object system though (designed by Apple, IIRC). Object slicing by default. Vtable pointer added on definition of first virtual method in object hierarchy, like C++. And to invoke a constructor on a new heap-allocated object, you had to pass it as an argument to New(), with this weird syntax - "New(myObjPtr, Init(...))". Delphi's object system was far superior.

See some examples: http://collaboration.cmc.ec.gc.ca/science/rpn/biblio/ddj/Web...

Re: Anders Hejlsberg on Modern Compiler Construction (2016) [video]

#40

Earlier quoted context omitted.

true == 1 === true What's ambiguous about that? :-P

Of course this would not work. typeof(true) is of type 'Boolean' and typeof(1) is of type 'number'. Do they compare to the same type? Nope, therefore is false in both cases. Try the following: let foo = true; true === foo === true; // returns true.

er - no. Assuming you are not trolling (benefit of the doubt and all that):

You might mean it shouldn't work? but alas it does (because of 'lopsided equality tables'). Try the following: open the console of your browser, type the following:

true == 1 === true

and press enter - tada! You can also check out this SO answer if you are sufficiently flabbergasted: https://stackoverflow.com/a/12236341

Post reply on HN