Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)PO
Posts
0
Comments
60
Joined
2 yr. ago

  • Rewriting bits of the kernel makes sense. I can't imagine them porting much C# to Rust though, beyond very small, self-contained services.

    Everyone likes a dramatic headline, but in my estimation there is 0% chance of Microsoft pushing widespread Rust adoption over C#.

    In the long-term I'd guess they are more likely to continue extending C# with features that make it possible to optimise hot loops. They already added NativeAoT and ref structs, and they have done a lot of research into memory regions and capabilities (an alternative to Rust's affine types).

    Eventually it may be possible to opt into a clunky language subset that gives Rust-like performance without giving up memory safety.

    They are also quite likely to use OS-level intervention to safely sandbox C++ code inside a .NET process without giving up performance. They've done a lot of research on this, and now they can steal notes from webassembly too.

  • It's similar to any tech buzzword. Take "agile" for example. Agile was successfully sold as being a great idea without really being well-defined. Suddenly anyone selling a development methodology had a strong incentive to pitch it as being the real way to do agile development.

    In the 90s and 2000s every 10x california tech guru agreed that OO was the future, but apparently none of them actually liked smalltalk. Instead, every new language with a hint of dynamic dispatch suddenly claimed to represent the truest virtues of OO.

    There are also people who argue that smalltalk is not true OO. They say that by Alan Kay's own definition the most OO language is Erlang.

    I think it's most useful to learn about that history, instead of worrying about people's post-hoc academic definitions.

  • I don't think TIOBE rankings mean much, but C# is genuinely doing quite well.

    In the games industry it has become the only language that is commonly used both for entry-level gameplay scripting and for implementing game engines.

    It still has a lot of overhead compared to languages like C++ and Rust, but has proven to be a workable alternative for games that aren't straining against the limits of modern hardware.

  • I use a Tokonami KX450, which is not the newest but it's the most widely available military-grade model that the average silicon shop is able to customise.

    With that in mind you'll want a uranium microreactor to really get that turbo button cranking out the keycodes (the french stuff is cheapest but ukrainian kit is worth the extra), as well as a mercury cooling solution and ideally a set of maglev keys for all the most common letters (NOT backspace; frankly you should remove that key entirely to avoid habits that damage your WPM).

    Assuming you've got a solid pair of high-torque power gloves that should get you up to at least 20000 WPM, which admittedly won't cut it if you're trying to keep all the NPM dependencies up to date in a modern bank's transaction processing software, but it's probably enough if you're just doing a bit of data analysis in python.

  • The real question is how we got any portable solution to this problem in the first place.

    To me problems are fundamentally economic and political, not technical. For example, the unique circumstances that led to a portable web standard involved multiple major interventions against Microsoft by antitrust regulators (in 2001, 2006, 2009, 2013, etc). The other tech giants were happy to go along with this as a way to break microsoft's monopoly. Very soon after, Google and Apple put the walls straight back up with mobile apps.

    If you go back before HTML, OS research was progressing swiftly towards portable, high-level networked GUI technology via stuff like smalltalk. Unfortunately all of the money was mysteriously pulled from those research groups after Apple and Microsoft stole all the smalltalk research and turned it into a crude walled garden of GUI apps, then started printing money faster than the US Mint.

    Whenever you see progress towards portable solutions, such as Xamarin and open source C#, React Native, or even Flutter, it is usually being funded by a company that lost a platform war and is now scrambling to build some awkward metaplatform on top of everyone else's stuff. It never really works.

    One exception is webassembly, which was basically forced into existence against everyone's will by some ingenious troublemakers at Mozilla. That's a whole other story though!

  • SIGH. Capitalism is a fringe conspiracy theory. Next you'll be claiming that billionaires earn their money through "capital gains" instead of salary, or that every corporation answers to a shadowy cabal of "shareholders" who only care about profit.

    Well you won't fool me. Unlike you, I have educated myself by reading newspapers.

  • I mentioned it elsewhere here but I think the Terra research language has explored this area more thoroughly than Rust, just because that's its only purpose. The website and academic papers are definitely worth a skim: https://terralang.org/

    It's basically a powerful LLVM-based compilation library exposed where everything is exposed through Lua bindings. The default Terra compiler is just a Lua script that you can pull apart, extend, rearrange, etc. It's all designed for ease of experimentation, whereas Rust has to worry about being a rock-solid production compiler.

    Honourable mention to C# source generators too. They are janky as hell but very effective.

  • If I understood correctly, the closest thing I know of to what you are describing is probably Terra:

    https://terralang.org/

    It is an academic project with various papers presenting case studies that do things like change the whole programming paradigm the language, or the execution model, or the syntax.

    The wider paradigm is called multi-stage programming. The other obvious languages to mention are the lisp family, and more recent spin-offs like Julia.

  • LLVM is ironically a very slow compiler back-end, whose popularity has contributed to a general slow-down in compilation speed across the whole industry (it's even slow at doing debug builds for fast iteration).

    WASM has some promise though

  • This is just like, my opinion, but here you go:

    If you live in the western sphere, the US tech giants control half of your critical infrastructure and invade every aspect of your personal and professional life. If you live outside the US, they do not answer to you or to anyone you can vote for. They lean on your government for permission to turn your whole existence into a series of transactions, and then extract as much value as possible from each one. The money doesn't swirl around your community making everyone richer. Instead, 5% goes to pay a few nice salaries in your biggest city, and the rest of it gets funneled straight out of the country and into california.

    Even Europe - their imperial mentor and favourite uncle - is treated like shit. Europe built half of their technology but controls none of it. There is not a single european tech giant. Every last one is american, with extensive ties to the US government and security apparatus.

  • Three things off the top of my head:

    • Unionisation
    • Way more stuff publicly funded with no profit motive
    • Severe sanctions on US tech giants all around the world, with countries building up their own workforce and tech infrastructure. No more east india company bullshit.