Live data from Hacker News

Stop Building on Corporate-Controlled Languages

blog.deckc.hair

91–100 of 324 posts

Re: Stop Building on Corporate-Controlled Languages

#91
post #23

My response to the plea in this article is simply "No thanks." If Go gets that bad, I'd be happy to use an ungoogled fork of it, or migrate to another toolchain or language, or whatever needs to happen. But until then, I'm not going to preemptively switch ecosystems and banish technically good options from my tool belt because I have fears about what could happen. I want production quality toolchain and runtimes. Tha…

> I'm not going to preemptively switch ecosystems and banish technically good options from my tool belt because I have fears about what could happen.

This is exactly where I am at. I use Windows/C#/.NET without any shame for absolutely everything.

The more developers who give me grief on some principled basis that " bad, so everything related is bad", the more I double-down on my position. These non-technical arguments are read as desperation and incompetence from my perspective in 2023.

Re: Stop Building on Corporate-Controlled Languages

#93
post #23

My response to the plea in this article is simply "No thanks." If Go gets that bad, I'd be happy to use an ungoogled fork of it, or migrate to another toolchain or language, or whatever needs to happen. But until then, I'm not going to preemptively switch ecosystems and banish technically good options from my tool belt because I have fears about what could happen. I want production quality toolchain and runtimes. Tha…

The same goes for huge open source projects like Kubernetes. The amount of money to run the infrastructure for CI/CD and CDN is in the millions per year. Someone has to pay for that and the big companies are the ones that fit the bill. Google mostly pays for it but others have started contributing also. For example, Amazon recently announced that they are funding part of the infrastructure also.

Re: Stop Building on Corporate-Controlled Languages

#94

I feel this way about TypeScript. That said, I see its value. We use it at my company. TypeScript is open-source but created and (I think) pseudo-owned by Microsoft, which has had terrible ethics over the years, including the 3 E's [1] [1] ""Embrace, extend, and extinguish" (EEE),[1] also known as "embrace, extend, and exterminate",[2] is a phrase that the U.S. Department of Justice found[3] that was used internally…

These Microsoft examples are 20 years old. The company has changed leadership to a team that embraces open source years ago and I think they've done a pretty good job demonstrating this embrace. They have adopted open source Java, they further open sourced .NET, they've embraced Linux containers in Azure and WSL on windows, etc. Might be about time to reconsider this perspective of 'hate Microsoft'. Full disclosure:…

Microsoft is certainly embracing open source. It looks like Mono is still with us after open sourcing .NET, though it's now sponsored by Microsoft. They bought GitHub and kept it running. Are they still doing the extend with useful features not found elsewhere part? I don't follow their stack closely enough to know.

Re: Stop Building on Corporate-Controlled Languages

#96

I tend to agree with this type of stance against corporate ownership. Simply because ownership is power. Power in the hands of individuals is harmless as it is mostly Brownian motion; on the other hand, power in the hands of huge corporations (or governments) can turn nasty very quickly. This is the reason I stopped using VSCode even if the tool is very good. Ownership is too important, with heavy long-term political…

> This is the reason I stopped using VSCode even if the tool is very good.

So you’re not going to use the tools that you think are the best and most productive and instead depend on the kindness of strangers volunteering in their free time?

And before you cite “Linux”, look at who the top contributors are - all corporations.

Yes and how deep down are you willing to do everything on your own and does it give you a competitive advantage - ie “does it make the beer taste better”?

Re: Stop Building on Corporate-Controlled Languages

#97
post #5
post #3

Terrible arguments. Golang and Android Studio are both open source, and you could compile them yourself. Telemetry can be turned off in Android Studio, and you can use stuff like flatpaks to isolate the software from your system, and completely turn off networking permissions if you don't trust the settings.

Also, you end up with very similar questions for non-corporate languages like Nim because you don't really know who created the software, what their motives might be, and whether the binaries you are receiving are really what the source code says it is. Reproducible builds help, but once you are going down this path of verifying instead of trusting, then it doesn't really matter who built the software.

Obligatory reference:

https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_Ref...

Re: Stop Building on Corporate-Controlled Languages

#98
post #34

Earlier quoted context omitted.

Outside of Rc and Arc, which part of Rust memory management is automatic? The whole pitch for Rust is making manual safety management safer by using more sophisticated compile time checks. It certainly doesn't make automatic memory management faster or more scalable. (Rc and Arc are both regressions from tracing GC in that regard.)

The whole ownership and borrowing system is a type of automatic memory management. It just happens at compile time instead of runtime like most automatic memory management systems. Manual memory management is possible in Rust, but is not typically something developers need to interact with. There is typically no need to manually free objects when you are done with them. You just let the system destroy the objects aut…

> There is typically no need to manually free objects when you are done with them. You just let the system destroy the objects automatically when they go out of scope.

By deciding where to scope the variable with the destructor/drop function, you've already made a manual decision about memory management. The compiler implicitly inserting a call to the destructor does not automate the decision of when/where to allocate or free memory - its just syntax sugar over the decision that you already made. This is just as true of Rust in 2023 as it was of C++ 40 years ago.

With true automatic memory management like tracing GC or reference counting, you have no idea where the or when the memory will be freed as you write the code, and the answer will usually be different over different invocations of the same code.

> The ownership and borrowing system is a type of automatic memory management

No, it isn't. The borrowing system is completely orthogonal to memory management. You can write a function that takes a borrow, do all sorts of things with that borrow, including forwarding it along to other functions further down the call chain, and the memory backing that borrow could be statically allocated, dynamically allocated with the default rust allocator, or allocated by some custom solution like a slab or pool allocator. The code reads the same regardless of the memory management scheme because you make the decision on how you will allocate (and eventually free) the memory before you ever create a borrow. The borrow checker can help keep you from making use-after-free errors, but it doesn't dictate when, where, or how memory is freed. That's still up to the programmer.

Re: Stop Building on Corporate-Controlled Languages

#99

Earlier quoted context omitted.

These Microsoft examples are 20 years old. The company has changed leadership to a team that embraces open source years ago and I think they've done a pretty good job demonstrating this embrace. They have adopted open source Java, they further open sourced .NET, they've embraced Linux containers in Azure and WSL on windows, etc. Might be about time to reconsider this perspective of 'hate Microsoft'. Full disclosure:…

"they've embraced Linux containers in Azure and WSL on windows" I am open to the possibility, that Microsoft changed, but this example is a classic "Embrace, extend, and extinguish" tactic by my understanding. Linux is strong with developers and certain tech, but by incorporating Linux, Microsoft makes devs have many good sides of linux, but with all the nice proprietary windows extensions. So they stay on windows. A…

> And that means less devs switching fully to linux to struggle with drivers and co. meaning less solutions there, so even more devs stay on windows and just use the Linux goodies.

Isn’t the fact that Linux is still more of a headache an argument for using a product from a company that has a profit motive to provide a good user experience?

Post reply on HN