Live data from Hacker News

HTTP/3 is everywhere but nowhere

httptoolkit.com

491–500 of 504 posts

Re: HTTP/3 is everywhere but nowhere

#491
post #86

Earlier quoted context omitted.

But because they had an existing body of code that was not class based, it would be more of a re-write (C#) versus a refactor (Go). I don't understand this reasoning at all, and I'm hoping you can shed some light on it. As far as I know, C# supports static methods. Thus, using OO in C# would not have been required, would it? I feel like I'm missing something here.

C# supports top-level functions as well, that's not the issue. But, just to give a simple example, in TS you can do things like: var foo: { bar: { baz: string } } which have no equivalent in C#, because it doesn't have anonymous struct types, and its typing system is almost entirely nominal. Go, on the other hand, can translate this directly pretty much mechanically: var foo struct { bar struct { baz string } } And k…

I would love if in mapping the typescript types to go they ended up building a "compiler plugin" to enhance go's type system.

Re: HTTP/3 is everywhere but nowhere

#492
post #486

Earlier quoted context omitted.

Look, it is very difficult to hold a conversation with someone who responds with "you're just a fanboy, it's 5!" to "2 + 2 equals 4". On the off chance you are making an intentionally inflammatory reply - you could also ask normally. Let me try one last time (and now I vaguely remember having similar conversation here before). On Ubuntu: sudo apt install dotnet9 On RHEL (8 or 9): sudo dnf install dotnet-sdk-9.0 On Al…

All these words and you lost the original part where the APIs are windows oriented?

Man.. All of these words did proof you were wrong.

> The difference with cargo or go or pip is that all of these are found in every linux distribution, while .net is in none.

This statement is false. It is also in arch. If it is not in debian and ubuntu, that is their fault. (But it would not surprise me, any user will soon run into the fact that even for non-obscure software there are no up-to-date packages in the main repo. The default escape hatch is to add extra repo sources, but my advice is to skip those distro's altogether anyways, unless you have very specific needs.)

But then again, if you think package management is a serious topic and then dismiss .net for the python mess, come on.

> the APIs are windows oriented?

The design of this particular API might be off. I guess this dates from the pivot to cross-platform. Usually, tuning for .net performance is better on Linux. I think nobody in MS believes in Windows as a platform really, it is a sinking ship.

Re: HTTP/3 is everywhere but nowhere

#493

Earlier quoted context omitted.

That was my point: 300ms sounds like a lot until, like me too, you're on a slow connection and those 300ms on the entire 10 second page load are utterly irrelevant. You were already expecting a several second load time, that 300ms is not something that even registers: the HTTP negotiation on a modern page is _not_ what you're noticing on a slow connection. You're noticing literally everything else taking forever inst…

3% speedup is still pretty good. (especially because with some of the awfulness, it's possible to get bottle-necked by multiple of these in which case it could be 6 or 9%)

omfg: YES! YES IT IS! But you won't notice it and so the argument that it improves the experience is nonsense because you as human WON'T NOTICE THOSE 3 OR EVEN 6%

It's good because it speeds up the overall response by a measurable degree, not because it makes the experience better. That only happens in conjunction with tons of other improvements, the big ones of which are completely unrelated to the protocol itself and are instead related to how the page is programmed.

How is everyone this bad are understanding that if someone claims A cannot be justified because of B, that does not mean that A cannot be justified. It's near-trivially justified in this case. This crowd really should know better.

Re: HTTP/3 is everywhere but nowhere

#494

Earlier quoted context omitted.

.NET suffers from the long lasting reputational taint of Microsoft. It was seen as the sworn enemy of open source and Linux, and for good reason. Today’s MS is not what it was back then. But long memories are not a bad thing, really. If .NET suffers a bit from some unfair perception, perhaps that can remind MS and others what happens when you take an aggressively adversarial approach.

Why hasn't Java been tainted the same since Oracle bought Sun and now 100% controls Java's development? I am continuously surprised to see they continue to make major investments in the platform. Project Valhalla was started in 2014 and is still going strong. I keep waiting for Oracle to cancel all major Java improvements, then milk the remaining corpse.

Me too! And yet it keeps going, with a reasonably open process, and multiple OSS alternatives out there. It is possible to run a Java shop with zero Oracle-derived code, which may be why people are ok with actually using the Oracle JDK.

My bet is this is a pitched battle inside Oracle, and the forces that keep it open have been winning...so far.

Re: HTTP/3 is everywhere but nowhere

#495
post #479
post #459

Earlier quoted context omitted.

> TFVC source control history Surely there's a migration path to git from TFVC? Many large projects successfully moved from CVS and SVN into git. I'm just surprised that, after 7 years of owning Github, Microsoft hasn't plowed their resources into Github's Projects. It's literally the number one complaint I see regarding project management inside Github - and would likely be an easy way to scale subscriptions for Tea…

The different branching approaches makes migrating history difficult. Microsoft's recommendation is to migrate just the tip, but will allow you to migrate up to 180 days of history for the trunk (no branches). If you need branch history, or more than 180 days worth of history, the only option is third-party tooling (git-tfs). It seems to work good enough for development purposes (i.e. git blame)... but I'm not sure i…

Yikes. I had no idea the situation was so bleak for those still stuck on TFSV.

Re: HTTP/3 is everywhere but nowhere

#496
post #469

Earlier quoted context omitted.

Definitely not Windows-first. Last startup we built our entire backend in .NET and C#. Every dev ended up using MacBooks. We shipped to AWS t4g Arm64 Linux targets. This mis-perception is so irrational and not based on any facts.

Just because .NET is what you know best, doesn't necessarily mean it's the best in all use cases. You're seeming like the node developers trying to push js everywhere because it's all they know. It's not a very rational approach I think.

I don't think I've ever said it was good for all use cases and probably said to the contrary.

I write it very explicitly here[0]:

   > Should you use C# for web front-ends?
   > 
   > We're only considering backends here; I do not think that .NET-based front-ends (e.g. Blazor) are competitive in all use cases.
We are in a thread about...backend application servers.

Most of my side projects are TS/JS and run serverless Node.js functions on the BE[1]. I don't choose favorites; I choose the right one for the job.

[0] https://typescript-is-like-csharp.chrlschn.dev/pages/intro-a...

[1] https://github.com/CharlieDigital/coderev

Re: HTTP/3 is everywhere but nowhere

#497

Earlier quoted context omitted.

Can you post some examples? Having been working in TS with Prisma for a bit, what stands out is how a Prisma query is effectively trying to express an expression tree in structural form An example on TS with Prisma: const loadedAda2 = await tx.runner.findFirst({ where: { email: 'ada@example.org' }, include: { races: { where: { AND: [ { position: { lte: 10 } }, { time: { lte: 120 } }, { race: { name: { contains: 'New'…

TS does not have macro facilities. Proper macros operate on AST, which it to say, it is exactly like the Expression stuff in C#, except it can represent the entirety of the language instead of some subset of it (C# doesn't even fully support the entirety of System.Linq.Expressions - e.g. if you want LoopExpression, you have to spell the tree out explicitly itself).

    > TS does not have macro facilities
That I'm aware; I'm curious how this works on Go or Rust.

Re: HTTP/3 is everywhere but nowhere

#498
post #486

Earlier quoted context omitted.

All these words and you lost the original part where the APIs are windows oriented?

Man.. All of these words did proof you were wrong. > The difference with cargo or go or pip is that all of these are found in every linux distribution, while .net is in none. This statement is false. It is also in arch. If it is not in debian and ubuntu, that is their fault. (But it would not surprise me, any user will soon run into the fact that even for non-obscure software there are no up-to-date packages in the m…

> It is also in arch. If it is not in debian and ubuntu, that is their fault.

Of course. Microsoft is a tiny poor company. It couldn't possibly afford to hire a consultant to do this kind of job.

> But then again, if you think package management is a serious topic and then dismiss .net for the python mess, come on.

What mess? apt solves the mess, there's no mess if you stay away from pypi (which I advice you do).

> I think nobody in MS believes in Windows as a platform really, it is a sinking ship.

I'm rather sure governments will still use it in 20 or 30 years.

Re: HTTP/3 is everywhere but nowhere

#499
post #400

Earlier quoted context omitted.

There is a very simple reason for not being on the list: It support HTTP/3 and the purpose of the post was to show the lack of support in common languages. .NET does not fit that list well. And it is obviously only popular in the dark matter of Enterprise Software Development.

C# is much closer in popularity to TypeScript/Python (the number 1s) than it is to Rust.

In usage yes, in analysis yes but not in general popularity.

And to Rust ... definitely. Rust is a niche product for system development. A very good one. A very popular one. But nothing you need for your day to day microservice.

Re: HTTP/3 is everywhere but nowhere

#500

Earlier quoted context omitted.

Why hasn't Java been tainted the same since Oracle bought Sun and now 100% controls Java's development? I am continuously surprised to see they continue to make major investments in the platform. Project Valhalla was started in 2014 and is still going strong. I keep waiting for Oracle to cancel all major Java improvements, then milk the remaining corpse.

Me too! And yet it keeps going, with a reasonably open process, and multiple OSS alternatives out there. It is possible to run a Java shop with zero Oracle-derived code, which may be why people are ok with actually using the Oracle JDK. My bet is this is a pitched battle inside Oracle, and the forces that keep it open have been winning...so far.

    > multiple OSS alternatives out there
What does this mean?
Post reply on HN