Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
xtal
Jan 9, 2011

by Fluffdaddy

taqueso posted:

What'd they do?

Developed a proprietary Python LSP that's supposed to replace the open source one and only runs in VS Code. The more popular VS Code gets the more I would expect LSPs and developer tools to close up until they become Adobe-ish subscription tools.

Adbot
ADBOT LOVES YOU

Volte
Oct 4, 2004

woosh woosh
edit: nm

Volte fucked around with this message at 04:46 on Jun 5, 2021

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
LSP is a thing Microsoft created for VS Code. They cooperated with writing a spec for it, but it hasn't been MS trying to get the whole world to switch to LSP.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
.

Soricidus
Oct 21, 2010
freedom-hating statist shill

Plorkyeran posted:

LSP is a thing Microsoft created for VS Code. They cooperated with writing a spec for it, but it hasn't been MS trying to get the whole world to switch to LSP.

The whole selling point was that it wasn’t just for vscode though? People writing LSPs didn’t consider them vscode plugins.* I don’t think microsoft has done anything wrong exactly, but it doesn’t look good.

* yes I am aware that every other implementation continues to be open etc, I’m talking about optics not ZOMG EMBRACE EXTEND EXTINGUISH [img-billgatesborg]

Heavy_D
Feb 16, 2002

"rararararara" contains the meaning of everything, kept in simple rectangular structures

feedmegin posted:

We still get that message in the UK despite being neither EU nor EEA members any more. Brexit meant nothing :negative:

They're actually correct to still block the UK, because the GDPR still applies here. What about Brexit you ask? Well, one of the necessary stages in achieving Brexit was passing The Great Repeal Bill in parliament. While this did end the supremacy of the EU parliament over the UK, it also had the small side effect of passing all EU law to date into British law.

The idea was to effectively "snapshot" the combined UK-EU legal system at the time of exit, leaving the actual repeal of all that unnecessary European red tape to a later date. Simply cancelling all EU law would have been unthinkable, because we've effectively "outsourced" 50 years worth regulations to the EU on e.g. controlled chemical substances; we didn't pass any parallel domestic laws on these topics as they'd be redundant.

Since the Great Repeal Bill, we haven't passed anything to update the GDPR statute, so it's still UK law. It's a marvellous bit of spin though, calling it a "repeal bill" to deflect from the fact it's putting every EU law onto the UK books...

Heavy_D
Feb 16, 2002

"rararararara" contains the meaning of everything, kept in simple rectangular structures
To put it in term you nerds would understand, it's like eliminating your dependency on a library by just copy-pasting the code for every function into the source tree, then committing the whole thing in one go with a message like "removed library".

Carbon dioxide
Oct 9, 2012

Heavy_D posted:

The idea was to effectively "snapshot" the combined UK-EU legal system at the time of exit, leaving the actual repeal of all that unnecessary European red tape to a later date. Simply cancelling all EU law would have been unthinkable, because we've effectively "outsourced" 50 years worth regulations to the EU on e.g. controlled chemical substances; we didn't pass any parallel domestic laws on these topics as they'd be redundant.

This is somewhat interesting.

I live in the Netherlands and while I dunno about "all laws", sometimes I hear news about "The EU passed this regulation! That means the Netherlands is legally required to pass it into Dutch law within 12 months!" Usually the wording of the Dutch law has an interpretation layer on top of the European directive, in favour of whatever the ruling coalition prefers.

The UK instead handled this with some blanket thing that means they didn't have to pass a regular law on top of each EU regulation? I didn't even know that was possible.

feedmegin
Jul 30, 2008

Carbon dioxide posted:

This is somewhat interesting.

I live in the Netherlands and while I dunno about "all laws", sometimes I hear news about "The EU passed this regulation! That means the Netherlands is legally required to pass it into Dutch law within 12 months!" Usually the wording of the Dutch law has an interpretation layer on top of the European directive, in favour of whatever the ruling coalition prefers.

The UK instead handled this with some blanket thing that means they didn't have to pass a regular law on top of each EU regulation? I didn't even know that was possible.

It isn't, we also enacted EU directives via local legislation.

Hammerite
Mar 9, 2007

And you don't remember what I said here, either, but it was pompous and stupid.
Jade Ear Joe

QuarkJets posted:

When I write C# it feels like my lips have been sewn around someone else's rear end in a top hat, and while my mouth hasn't been filled with poo poo yet I know it's inevitable so I exist in a constant state of fear and anticipation

When I write C++ it feels like every small thing I want to do has to be achieved by carefully giving instructions in old high Elvish to a 10,000 year old wizard, and if I get so much as a single syllable wrong he will scream a deadly curse at me and then set the conference table on fire

Ola
Jul 19, 2004

C# feels like the ultimate corporate tool to me. Have you injected the providers into the controller Johnson? I want to see those resources wrapped in ActionResults on my desk tomorrow morning!

We're a fully committed Microsoft shop where the managers are like "well what else is there?" and the devs range from pragmatic "well it works, just get it done" to quite disillusioned. And I can't help but think that Microsoft themselves are exactly the same.

Xarn
Jun 26, 2015

Foxfire_ posted:

In my opinion C# is the most pleasantly designed of modern major languages, largely because it has a big paid development team and is allowed to have breaking changes in the language from older versions. What don't you like about it?

It never saw syntactic sugar it didn't like.

Weirdness around structs and the whole bullshit around comparing them.

LINQ is extremely sexy, but can perform badly.

No free functions.

...

Honestly nothing too major, but enough that during the time I was writing C# I would keep running into stupid bullshit that annoyed me. Of course now that I am writing C++ for living, I no longer keep running into stupid bullshit. My whole work is stupid bullshit :v:

Ola posted:

We're a fully committed Microsoft shop where the managers are like "well what else is there?" and the devs range from pragmatic "well it works, just get it done" to quite disillusioned. And I can't help but think that Microsoft themselves are exactly the same.

I actually wrote all of my C# at MS. The situation around our build was so bad, I was yearning for the IFNDR world of C++ builds, because in C++ sane people don't try the build bullshit my team was trying to do. (We were moving from old-ish version of .NET Framework to .net core, but we also had bunch of dependencies that couldn't migrate, so we couldn't actually run our tests on .net core until we replaced them, but that required moving to incompatible versions of the dependencies, or using completely different libraries for the functionality, and oh god, make it stop).

Xarn fucked around with this message at 20:37 on Jun 5, 2021

Rust Martialis
May 8, 2007

by Fluffdaddy

(and can't post for 4 days!)

Hammerite posted:

When I write C++ it feels like every small thing I want to do has to be achieved by carefully giving instructions in old high Elvish to a 10,000 year old wizard, and if I get so much as a single syllable wrong he will scream a deadly curse at me and then set the conference table on fire

You try writing COBOL on punch cards and sending your deck off to be compiled and getting 40 fanfold pages of compiler errors because you made one typo on card 23. (circa 1982)

Ola
Jul 19, 2004

Xarn posted:

(We were moving from old-ish version of .NET Framework to .net core, but we also had bunch of dependencies that couldn't migrate, so we couldn't actually run our tests on .net core until we replaced them, but that required moving to incompatible versions of the dependencies, or using completely different libraries for the functionality, and oh god, make it stop).

Oh wow yeah, that's pretty much like us.

One thing I really like about C# is that it's easy to make functions you pass as parameters, there are several ways of doing it which aren't too complicated to tell apart and it works very well. The only problem is that everyone that reviews my code hates it.

QuarkJets
Sep 8, 2008

Hammerite posted:

When I write C++ it feels like every small thing I want to do has to be achieved by carefully giving instructions in old high Elvish to a 10,000 year old wizard, and if I get so much as a single syllable wrong he will scream a deadly curse at me and then set the conference table on fire

Hey everyone check out this low-born outlander, probably doesn't even know how many moon prisms to place within the Furnace of Sym'loriel to turn off compiler warnings

Presto
Nov 22, 2002

Keep calm and Harry on.

Hammerite posted:

When I write C++ it feels like every small thing I want to do has to be achieved by carefully giving instructions in old high Elvish to a 10,000 year old wizard, and if I get so much as a single syllable wrong he will scream a deadly curse at me and then set the conference table on fire
You threw the One Ring into the fire, but you did a copy instead of a move, so now there's another one.

Fart Amplifier
Apr 12, 2003

Presto posted:

You threw the One Ring into the fire, but you did a copy instead of a move, so now there's another one.

Standard off by one ring error

Jazerus
May 24, 2011


OneRingFactoryBeanFactoryBean

sauron works in java, the dark speech

Jazerus fucked around with this message at 04:24 on Jun 6, 2021

OddObserver
Apr 3, 2009

Presto posted:

You threw the One Ring into the fire, but you did a copy instead of a move, so now there's another one.

Moving the ring is destructive to source location (Frodo's finger)

QuarkJets
Sep 8, 2008

samwise gamgee codes in BASIC for sure

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Hammerite posted:

Every small thing I want to do has to be achieved by carefully giving instructions in old high Elvish to a 10,000 year old wizard, and if I get so much as a single syllable wrong he will scream a deadly curse at me and then set the conference table on fire

Is this... atypical?

:ohdear:

Presto posted:

You threw the One Ring into the fire, but you did a copy instead of a move, so now there's another one.

The good news is that it was only a shallow copy, so really it's just a neat memory of ages long ago leak desk toy.

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.
Whoops, only moved the bytes and didn't run the ring's destructor

LOOK I AM A TURTLE
May 22, 2003

"I'm actually a tortoise."
Grimey Drawer
Most of the major programming languages are slowly becoming the same language anyway. Almost all the dynamically typed languages have added type annotations in some form. All the enterprisey languages have added lots of FP features. Now everybody is adding union types and enhanced null safety.

Soricidus
Oct 21, 2010
freedom-hating statist shill
I’m not expecting to see union types in go or dart any time soon

Rust Martialis
May 8, 2007

by Fluffdaddy

(and can't post for 4 days!)

Soricidus posted:

I’m not expecting to see union types in go or dart any time soon

Logo

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?
Union types are great and I'm glad that more languages are adding them

Foxfire_
Nov 8, 2010

Depends on what exactly you mean by union types.

C style ones where it's sometimes a probably-UB hack to reinterpret memory in different ways are terrible.
Ones where it's just the type system having a way to define a new type that's a composition of other types (and figure out which one is actually present in some specific variable) and not also trying to be a type-conversion mechanism are good.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Union types

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?

Foxfire_ posted:

Depends on what exactly you mean by union types.

C style ones where it's sometimes a probably-UB hack to reinterpret memory in different ways are terrible.
Ones where it's just the type system having a way to define a new type that's a composition of other types (and figure out which one is actually present in some specific variable) and not also trying to be a type-conversion mechanism are good.

I meant the latter

Also you shouldn't use c unions to reinterpret memory is my understanding.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

HappyHippo posted:

I meant the latter

Also you shouldn't use c unions to reinterpret memory is my understanding.

Works on my machine.

Tei
Feb 19, 2011
Probation
Can't post for 4 days!

Foxfire_ posted:

Depends on what exactly you mean by union types.

C style ones where it's sometimes a probably-UB hack to reinterpret memory in different ways are terrible.
Ones where it's just the type system having a way to define a new type that's a composition of other types (and figure out which one is actually present in some specific variable) and not also trying to be a type-conversion mechanism are good.

C union probably have some uses for OS programming. Or maybe has a way to save space sending binary data over networks or to discs.

Maybe a legacy feature, but a cool to have.

Is not worse than calling a endpoint with &return=xml and getting a json with {error:true, errormsg:"not autentificated"} instead of a xml file

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Unions in C were a lot more important when memory was very expensive.

fritz
Jul 26, 2003

OddObserver posted:

Moving the ring is destructive to source location (Frodo's finger)

std::unique_ptr_finger

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
Lowering memory use is still one of the most important optimizations you can do once you stop, like, filtering 10,000-element linked lists with cubic algorithms, it’s just that most programmers no longer care.

more falafel please
Feb 26, 2005

forums poster

C Unions are still very useful when you need a compact binary representation of data for serialization or something like that, and if you think "memory cheaper" means there aren't still tons of situations where that's something you need, you're naive.

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?
They're also useful if you want to make your own tagged unions

Brain Candy
May 18, 2006

more falafel please posted:

C Unions are still very useful when you need a compact binary representation of data for serialization or something like that, and if you think "memory cheaper" means there aren't still tons of situations where that's something you need, you're naive.

Nah, tying your your serialization to an architecture and a particular compiler is usually a bad plan OP.

Foxfire_
Nov 8, 2010

Using the same space to hold two different things in C/C++ is generally better accomplished with a char array and memcpys. If you use unions, there's UB landmines if you ever access it with the wrong type. It's somewhat of a Sofie's choice though, since a sufficiently dumb compiler would do what you intended on union undefined behavior, but won't optimize away the memcpy if you do the non UB thing

Ola
Jul 19, 2004

Memory management or anything related to actual computer performance has no bearing on why I like union types. I like it because you can correctly represent the secret third boolean "poo poo got hosed up", typically errors in remote requests, without using exceptions or null. "Null means not found, and only not found, I hope!"

It's not bad to work with status codes and messages, but they are specific to HTTP. With union types you can use the same pattern for anything. We use it a lot to enforce data that can be entered correctly in a legacy system. It never gets exposed unless it's correct, if it fails we can log the failure with everything that's wrong with it.

Adbot
ADBOT LOVES YOU

SirViver
Oct 22, 2008

Ola posted:

I like it because you can correctly represent the secret third boolean "poo poo got hosed up", typically errors in remote requests, without using exceptions or null. "Null means not found, and only not found, I hope!"

The true form of (true | false | FileNotFound) has finally been realized.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply