And if government services do go online only, then I think the government is obligated to provide free internet access and training to those who can't afford it, in the same way that they provide roads and legal defense.
1,135 karma · joined July 16, 2017
And if government services do go online only, then I think the government is obligated to provide free internet access and training to those who can't afford it, in the same way that they provide roads and legal defense.
I feel like this is every wart in the C++ language!
(Optimized) discriminated unions have a size that is the max size of the possible types, plus a flag to indicate the type. This is the best you can hope for without boxing.
[<Struct>]
type Entry =
| Message
| Term
| Comment
And like in Rust, you have pattern matching on them: let computeFooForEntry entry =
match entry with
| Message -> 0
| Term -> 1
| Comment -> 2In Java, every object is heap allocated - unless you are lucky enough for that to be optimized away. If you absolutely need the performance, you must resort to a weird kind of place-orientated programming, where you pass around mutable references to primitive types that get operated on by static functions. It kind of resembles C, but without the struct keyword!
Really the only point I want to make is that we shouldn't lump consensual "non-mainstream" relationships with abusive ones and call it "those freaks over there".
(Note this is horrible because C# does not support this style well, in F# it's idomatic)
The C# versions of F# features tend to be pretty clunky compared to the F# versions. This is because F# was designed for them from the beginning, rather than having them tacked on. Functional programming is getting easier in C#, no question about that, but honestly, it still kind of sucks. And the OOP-minded C# devs on your team still won't be able to make sense of your code that leverages all these fancy new features anyway.
Economics reminds me of Software Engineering a bit, where smart people on two sides can argue opposite cases and both sound reasonable!
Many "problems" that people have with functional programming occur because they are trying to use FP techniques in a language that isn't really equipped for functional programming (JavaScript, C#, Java, Go...).
However, you can "un-color" them like this:
doAsyncThing
|> Async.RunSynchronously* Drive short distances rather than walk
* Home deliveries rather than getting things ourselves
* Escalators and elevators everywhere
* Drive-thrus to avoid short walk across a parking lot
* Childrens' play restricted to indoors or small yards
However, as a regular user, I assumed ProtonDB was also Valve, and that will be the main contact point for many.
To me, the levels should be:
* Paltinum - the game works as well as it does on officially supported platforms
* Gold - the game works almost as well as on supported platforms but with minor niggles that don't significantly affect the experience
* Bronze - the game works in some form, but major things might be broken. It would not ship in this state on official platforms.
However, the project is a great start and I look forward to what they do next!