Details
Joined devRant on 6/6/2019
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
@heyheni Yeah, I got that. I didn't say anything about it though.
-
Reading the promise I would have hoped this would be a viable replacement for Go that would be fast enough to write graphical applications in.
Unfortunately, this does not seem to be the case. For one, since there is no global state nor any channels there is no apparent way for routines to comunicate (maybe through shared mutable arguments?).
Secondly, the memory model sounds bogus. Apparently, the compiler inserts free() statements automatically, and when it can't you will have to do it manually? In my view, you can either have the user manage memory (as in C), or have the compiler/runtime do it for you (garbage collection/reference counting). Trying to have the performance of the first approach and the simplicity of the second by an in-between thing is how you get memory leaks (see C++).
There are some other quirks (no private functions?), but overall I quite like it, and wish the developers all the best. It just needs some work before it becomes viable; at least imo -
@12bitfloat
What do you mean by "doing things properly"? -
@12bitfloat
Though I understand now what you mean. If you come from Java, or whatever, with a mentality of "Oh, there's this new language! Seems pretty cool, let's see what it can do. Oh wait, why is visibility detirmined by case? Oh wait, why can interfaces be nil-able? Oh wait, why are errors handled like this? This is weird and not at all the intuitive thing I was promised. "
The thing to understand is that, unlike the creators of Rust, Pike, Ken Thompson (I'd like to see you piss on him for a change) and that other guy weren't C++ guys who thought "let's change this for the better", but C guys who thought "we ought to switch to a modern language, but we don't like any so let's make our own".
So expecting Go to be "like C++, but..." (like all modern languages) is not going to get you anywhere. -
@12bitfloat Interfaces being nil-able - I'll give you that as being unintuitive.
Everything else is just design decisions you disagree with:
* github imports are very intuitive (not good, just intuitive)
* pointers act more like C++ references syntactically, so there's no bugs through pointer arithmetic - Java's primitives get passed by value and objects by reference is less intuitive to me
* no generics - they're going to be added (how is "no generics" a point for it being unintuitive anyhow?)
* case determining visibility, duck typing - simple, intuitive rules. Maybe you don't like them. I do.
* errors - simple, intuitive, just too verbose -
@12bitfloat
> Go is unintuitive/deceiving.
How so?
> Ad hominem one of the creators.
Nice pivot.
I am actually interested in how you find Go unintuitive, though. -
@obsecurity The one Rob Pike is talking about. One where you no longer need to carry a laptop with you.
You have your files in a storage server (which can be yours or not), the calculations you need to run are done on CPU/GPU servers (which can be yours or not) and so on.
Then, you can connect from any machine (which would be cheap and act as a terminal) anywhere in the world using your login(s) and have all your state preserved (doucements, media library, game saves, and even browser and editor state, if the system is smart enough), as well as full processing power. No need to download anything, except for caching. No need for local storage.
Sharing is also simple although that's another story.
This is an ideal system. But Dropbox, iTunes, Spotify, Netflix, cloud services and now game streaming are all steps in the right direction. -
@obsecurity
> Run out of bandwidth on a home plan.
What? I have never heard of this. I might be spoiled by Romanian internet though.
Well, in any case, playing The Whitcher 3 on your phone in the car and getting disconnected from time to time is miles better than not being able to play it in your car at all.
The Switch isn't a solution either. I want a 2080 Ti or two rendering my game, not a $200 graphics chip. I want Ray Tracing and hair physics, and Anti-Aliasing and supersampling in my car gaming experience.
Obviously, if your internet connection is shit, this won't work for you. But, if you do have internet, this is much better (just like Netflix is much better than DVDs).
What not to do: complain that the industry is slowly but surely moving towards the kick-ass distributed system we should have built in the 90s.
What to do:
* Complain that the internet infrastructure in your country is shit.
* Complain that the APIs we're building on are awful (compared to Plan 9). -
Advantages:
* You can always play the latest games at the highest quality. No need to update hardware. Ever.
* Storage (SSDs are expensive, and AAA games today feel the need to take up at least 40GB of space).
* Play from anywhere. Go to your friend, log in, and start playing. No downloads, no local state, no hassle.
* Play on anything. Plug in a controller and play Cyberpunk 2077 on your phone/tablet, wherever you are, as long as you have an internet connection.
* 2 or more people live together. Do they all buy separate gaming PCs/consoles? That seems like a waste. If not, what if they want to play at the same time?
* Less people with top-end GPUs means less crypto mining competition.
Disadvantages:
(1) You don't own your games.
(2) Lag, latency, instability etc.
Of course, you can have all of the advantages (and many more), without disadvantage (1). All you have to do is build the system on Plan 9. But for some reason people don't like it :(. -
@jinx Doesn't sound *that* difficult. I'll see what I can do.
-
@hjk101 Could be. But considering the fact that the code we get sent in Word documents (yes, fucking Word documents) also looks like this, I doubt it.