Live data from Hacker News

The history of C# and TypeScript with Anders Hejlsberg [video]

youtube.com

21–30 of 162 posts

Re: The history of C# and TypeScript with Anders Hejlsberg [video]

#21

We need Anders to make one final language. A MINIMAL memory safe language. The less it has the better. Rust without the crazy town complexity. The distilled wisdom from C# and Delphi and TypeScript. A programming language that has less instead of more.

C# is way to go then

Re: The history of C# and TypeScript with Anders Hejlsberg [video]

#22

We need Anders to make one final language. A MINIMAL memory safe language. The less it has the better. Rust without the crazy town complexity. The distilled wisdom from C# and Delphi and TypeScript. A programming language that has less instead of more.

What about Lua? The language is very minimal, memory safe, and has Pascal-like syntax just like Delphi.

Lua's variables being global by default seems somewhat error-prone.

Re: The history of C# and TypeScript with Anders Hejlsberg [video]

#23
post #22

Earlier quoted context omitted.

What about Lua? The language is very minimal, memory safe, and has Pascal-like syntax just like Delphi.

Lua's variables being global by default seems somewhat error-prone.

Agreed, but the recently-released v5.5 fixes that [0], and it's fairly easy to fix this in older versions with the following snippet

  setmetatable(_G, { __newindex = false, __index = false })
[0]: https://www.lua.org/manual/5.5/manual.html#2.2

Re: The history of C# and TypeScript with Anders Hejlsberg [video]

#24
post #17

If you feel that TypeScript, or hell even JavaScript, is becoming more alike C#, it's actually deliberately done by Microsoft in benefiting their ecosystem. In this interview they mentioned they had internal demands to convert/transpile C# into JavaScript or TypeScript. So by making these target languages more like C#, it directly benefits their need. But I don't think this should be the driving force in designing EC…

that's the "evil MS" perspective

The sequence of turbo pascal / delphi / c# / typescript which brought us LSP as a sidekick (!) IMHO has benefitted the whole industry at least as much as "transpile c# to ecma script via typescript" . no. much much much more.

I do not see a problem with MS also having an internal use case .

you know I wouldn't stop using python "because" Guido now works at MS ...

Re: The history of C# and TypeScript with Anders Hejlsberg [video]

#25
I watched this last week.

The part about veering constantly to navigate the maze of internal politics is fascinating. The compromises he had to make, like not being able to put in on Github initially. The easy victories, like making TypeScript open source.

The long road to success. The obligatory advice for people writing new programming languages (Hint: Mostly, don't.). His opinion about creating a new language for AI (I agree with his insight, but still think it is possible).

Overall, well worth watching.

Re: The history of C# and TypeScript with Anders Hejlsberg [video]

#26
post #10

Earlier quoted context omitted.

Lots of languages can infer types. And your last example with the colors is just a dictionary.

Most languages have poor support for structural types though. If you try and join two records together (like a SQL join), what will your favourite language infer then?

C# has anonymous types which is pretty much the same thing. Though I prefer to declare actual types for most usecases, I'll only use anonymous types for intermediate results and such.

Re: The history of C# and TypeScript with Anders Hejlsberg [video]

#27

We need Anders to make one final language. A MINIMAL memory safe language. The less it has the better. Rust without the crazy town complexity. The distilled wisdom from C# and Delphi and TypeScript. A programming language that has less instead of more.

>We need Anders to make one final language.

I do feel like there is a gap for a modern compiled, functional and garbage collected language.

Go isn't it because it lacks the functional constructs.

C# and Java aren't it because they depend on a VM.

Rust isn't it because of its difficult memory management.

Swift isn't it because it is so tied to Apple and their platforms.

Re: The history of C# and TypeScript with Anders Hejlsberg [video]

#28
post #17

If you feel that TypeScript, or hell even JavaScript, is becoming more alike C#, it's actually deliberately done by Microsoft in benefiting their ecosystem. In this interview they mentioned they had internal demands to convert/transpile C# into JavaScript or TypeScript. So by making these target languages more like C#, it directly benefits their need. But I don't think this should be the driving force in designing EC…

Well, for one, benefiting Microsoft's ecosystem does not imply being detrimental to other ecosystems per se.

Furthermore, couldn't the convergence of TypeScript towards C# be simply a result of shared goals and values of the two languages, especially considering they have the same principal designer?

Re: The history of C# and TypeScript with Anders Hejlsberg [video]

#29
post #3

We need Anders to make one final language. A MINIMAL memory safe language. The less it has the better. Rust without the crazy town complexity. The distilled wisdom from C# and Delphi and TypeScript. A programming language that has less instead of more.

Sounds like golang to me

Considering they used Go for the native compiler he might actually agree with you.

Re: The history of C# and TypeScript with Anders Hejlsberg [video]

#30
post #26

Earlier quoted context omitted.

Most languages have poor support for structural types though. If you try and join two records together (like a SQL join), what will your favourite language infer then?

C# has anonymous types which is pretty much the same thing. Though I prefer to declare actual types for most usecases, I'll only use anonymous types for intermediate results and such.

I certainly don't mean to knock nominal types. But I think structural types are more fundamental. A language would only need a single "newtype" or "nominal" keyword to create nominal types from structural types.
Post reply on HN