Ada++ makes two changes to the Ada language. First, it changes some keywords into new keywords or symbols, but in a gross way (the case example, is becomes : as a blanket rule, even when it leads to : being paired with }). This could be done by a (tedious) awk program or sed script. The second change it makes is that use will also with a package, that's a nice ergonomic feature. But it's the only thing of modest complexity that it does to change the language. There are no other enhancements to the language that it introduces that make it a compelling thing or an obvious non-joke (it's release date for 0.2.0 was 1 April 2021).
The actual Ada developers are focused on actual language enhancements with the Ada 2022 standard and increasing the scope of properties that SPARK (a proper subset of Ada now) can prove about a program. Including approaching some of the properties that people find desirable with Rust's borrow checker and lifetime analysis. Ada++ should be doing things like that, meaningfully improving the language and not just being a glorified awk program that doesn't change or add any real syntactic or semantic properties of the language. Also, the author should stop doing releases on April Fool's Day if they really want to be taken seriously.
While I agree, the person I initially responded to has, in the past, asserted that they made it and that it is not a joke. They've remained committed to it for a couple years now and have, at times, misled or attempted to mislead people into thinking it was a serious effort. So when I catch them trying to do it again, I call them out.
It seems that they are either ludicrously committed to the joke, or have convinced themselves that it's a serious effort despite all evidence to the contrary.
The masochist in me wants to see these mergers continue so that a big enough power vacuum can appear for new indie studios as creativity and "risk-taking" decline.
Funny how in the early 2010s most people and activists feared tech storing too much data and violating privacy - now the only narrative from activists presented on the news and search results seems to be about a lack of censorship with no word on privacy (e.g. "Grrr Qanon", "Grr vaccines", "Grr person with regressive political opinion").
This post comes off as being sarcastic. Here is a question: are you OK with hate speech on social media? If yes, then I don't think we can agree on much. If no, then please re-read your statement and see how it applies to hate speech.
>"Here is a question: are you OK with hate speech on social media? If yes, then I don't think we can agree on much."
And now we circle back to the classic question, who determines what constitutes hate-speech and who is responsible for making the judgement? The kinds of people who end up as censors tend to be the most sensitive and the false-positive rate is very high. There is no shortage of partisan activists willing to indiscriminately label things as racist or hateful these days.
Additionally, what constitutes misinformation that costs lives? I remember back when claiming sanitizing surfaces did not reduce the spread of COVID was misinformation and grounds for a ban on social media platforms. Turns out, sanitizing surfaces really doesn't slow Covid at all. So much of what we know to be 'true' is actually in-flux and subject to change as more time and research goes on.
My point is, wanting to restrict hate-speech and misinformation is not a dangerous thing in and of itself, but it should be done with great caution and hesitancy because you run the risk of censoring true information and preventing people from expressing ideas that run against the orthodoxy of the censors. I hope that people don't view things as black and white as 'allow hate-speech, yes or no?'
> and health misinformation is costing a lot of lives today
Thats a pretty cynical view of humanity - should we ban motorcycles because they are costing peoples lives? What is so bad about letting people make their own choices?
> are you OK with hate speech on social media
I believe in "free speech".
For example, is it even possible for you to tell me an objective definition of "hate" speech or "misinformation"? I bet you can't since it ends up being whatever Alphabet, or Meta's truth and morality departments agree on.
Without ways to express yourself the internet will just turn into TV - where people who agree with the megacorps get to hear their own echos all day.
> Thats a pretty cynical view of humanity - should we ban motorcycles because they are costing peoples lives? What is so bad about letting people make their own choices?
Ridiculous analogy. We're talking about preventing the spread of a lethal contagious disease. If driving a motorcycle made everyone around them unsafe then it would be a valid comparison.
> driving a motorcycle made everyone around them unsafe
Not totally untrue
> We're talking about preventing the spread of a lethal contagious disease
Getting vaccinated doesn't stop the spread... if you believe everything you hear our government officials say then I have a war in Iraq and a truck-load of cloth masks to sell you.
Lets bring it back to that specific example someone brought up, which is vaccination. Do you think it a good thing, personally, for less people to be vaccinated?
Do you think censoring people would help encourage vaccines?
The key point here is the treatment of those opposing certain views as clearly stupid and in need of protecting is toxic and non-productive. Is Joe Rogan a mindless Trump-voting retard?
You're not going to reach people by silencing creators - you're just going to make their viewers feel prosecuted, angry, and confused. They'll just move to other platforms and probably vote for Trump again...
The way to reach them would be through dialog etc. which is getting more impossible by the day.
It was a simple question. Do you want less people to be vaccinated?
The other person suggested that less people might be vaccinated, and your response was to talk about "bad think", and "changes or influences others", where the specific topic is "changes or influences others" to cause less people to be vaccinated.
This implies that you, for some reason want less people to be vaccinated, and that it was a good thing to "changes or influences others", in such a way as less people get vaccinated.
> other person suggested that less people might be vaccinated
And I am suggesting more people might get vaccinated if they are treated as intelligent and allowed to engage in dialog instead of being shadow-banned and removed.
I am saying its a good thing that videos are allowed which encourage people to not get vaccinated or contain information about vaccines not coming from a news network, because the alternative (censorship) is barbaric and unhelpful.
But that would be bad if that happened right? If people got encouraged to not get vaccinated, that would be bad?
> is barbaric and unhelpful.
You think that it is barbaric that a dislike button is not available on one single platform? Because that is what the other comment was about. It was about the dislike button.
It was not about videos being removed en-mass. Instead it was about a dislike button, on one platform.
> If people got encouraged to not get vaccinated, that would be bad?
Yea of course, and thats my point. I think banning these videos and the ability to show discontent makes the problem worse and further divides us on political lines. What exactly is your argument here?
> You that that it is barbaric that a dislike button is not available on one platform?
The removal of the dislike button is another step in an undeniable trend toward censorship against anything mega corps and governments decide is not moral or truthful.
People can tell when they are being herded around and silenced, and they dislike it.
Great, so then you would agree then, if someone's "opinions especially if it changes or influences others." caused other people to not get vaccinated, that that would be very bad, and that it would be a good idea to make sure this person is less successful, in their ability to influence others to do that.
No. I would not agree with that. I am opposed to limiting peoples' "ability to influence". People need to have a voice and debates and discussion need to be allowed to happen.
Otherwise you are not changing people's minds, you are simply making their voices disappear from your computer screen.
Interesting patterns, however, it is notable that all of the natural scenes of green probably contained high levels of arsenic - as that was one of the key ingredients in green coloring during Victorian times.
The article does say, "All these papers, and nearly all that Morris then went on to design were printed using hand-cut woodblocks loaded with natural, mineral-based dyes." Is arsenic classed as a natural, mineral-based dye?
I'd say yes: Arsenic is present in dyes classified as natural, mineral-based, according to https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5315675/ ("Natural Colorants: Historical, Processing and Sustainable Prospects").
Just had a look at the linked page out of piqued curiosity. The "get started" link on the homepage points to a GitHub release page (https://github.com/AdaPlusPlus/gcc/releases/tag/0-2-0) with a 908MB "adapp-for-linux.gz".
I'm presuming this is real (908MB would take a tad too long to download today), but if it isn't, that's definitely up there in terms of execution. I completely believe it.
It's a very well-executed April Fool's Joke in that regard. But it's still a joke. And 0xDEEPFAC is apparently very committed to the idea that it's a real thing and not a joke. Just look at the commit dates if you have any doubt (and the fact that there haven't been any since then).
It is not? As the creator I can tell you that the parser and analyzer of GCC/GNAT were modified.
For example, supporting implicit "use" clauses for packages was a difficult problem to solve - not to mention allowing for abbreviated type names in the Standard package.
Because it's cheaper, quicker and the vast majority of users are fine with it.
I'm not excusing it, I curse Slack every day I have to use their Electron app (though mostly just use it in a browser tab now) but we have this exact same conversation every time anything about Electron is posted on HN. None of the parameters for making the choice have changed since the last time we did.
> I curse Slack every day I have to use their Electron app
I did that too for the last couple of years, but recently switched to this client: https://cancel.fm/ripcord/ Found the link in comments here on HN.
Works well so far. There’re couple minor UX issues, e.g. hard to react to messages with these modern hieroglyphs, also images are loaded in web browser, but I can live with them. The upsides (ability to setup font faces and sizes, resource usage, GUI latency) are far more important for me.
The real reason is that the people making electron apps don't know how to make stuff in C++ and don't want to try. This might be a little more excusable before C++11 or if trying to avoid MFC and/or doing everything with win32, but modern C++ and GUI libraries like FLTK, Juce, Qt, etc. are a pretty great way to make something. A FLTK program can start at 100KB without dependencies.
These aren’t developer choices being made. They’re product choices by product managers. I bet there are plenty of JS developers that would be interested in picking up C++ or something like Rust but don’t have the option.
In what world is building an application in a language like C++ when the rest of your tech is built on javascript/java/go ever economical or excusable for a business?
And don't tell me development time will be remotely similar either.
> when the rest of your tech is built on javascript/java/go
Where does this come from? This is a program being distributed to other people.
> And don't tell me development time will be remotely similar either.
It will be in my experience. I haven't felt like C++ slows me down in a long time. Modern C++ and STL vectors + hash maps is the vast majority of what you need. There is no memory management to be found, just moving variables when returning them from an inner scope.
Then you have a single binary that is incredibly fast on any modern computer and even many that aren't so modern any more.
> This is a program being distributed to other people
What does this have to do with anything? Everyone in the company works on 3 languages. Introducing a new language, with new runtimes and build tools and domain expertise introduces a ton of overhead.
> It will be in my experience. I haven't felt like C++ slows me down in a long time. Modern C++ and STL vectors + hash maps is the vast majority of what you need.
Every tool set has its own set of idiosyncrasies and bugs and general bs that has to be learned. Saying that introducing a new set of tools is cost free is a stupid lie.
You moved the goalposts so far you are saying exactly what I said in my first message. People don't make native programs because they don't know how and don't want to learn, even though it is what people want.
The nice thing about this question for old-timers is that we can recycle the answers we already heard about using Java for cross-platform desktop development from 20+ years ago. Or the rationale for using a cross-platform toolkit with C++ from 30+ years ago.
You get substandard desktop applications that tend to frustrate people who are deeply immersed in any one ecosystem and expect native applications to have deep integration with each platform and comply with each platform’s design sensibilities.
But history shows that applications written against cross-platform toolkits have done just fine, as have applications that completely embraced “going native” on particular platforms.
I’m left with the thought that either strategy works if you go “all in,” the mistakes come from:
1. Going cross-platform but then doing ridiculous back-flips to try to make the app feel really, really native. Just take what the platform gives you, and accept that you’re giving people a web-like experience that happens to have some native affordances. Learn to live with the few complaints from retro-grouches.
Or, 2. Going native, but skimping on deep integration and fully embracing the look and feel of each platform. This is one of those “penny-wise, pound-foolish’ strategies: You ship faster, but you lose the big benefits of a cross-platform tool, and you don’t satisfy the users that appreciate what a native app offers in look, feel, and integration.
Ha, I meant it in the opposite way, that it avoids making either mistake. Yes, it consumes a lot of resources, but it's success has proven that users don't mind this as much as commenters on hacker news seem to.
And it's a program that is slick, intuitive, and supports so, so many use cases without ever feeling overloading.
Disagree fully. As an app I feel Discord is slow (on an Intel 9700K), clunky, and not really intuitive. Just the text input delay is noticeably slower than example Word or Sublime text.
I'm only member of 6 channels and have maybe only that many private messages open at a time, maybe it becomes more intuitive it there are more? But I don't understand how that would be.
One thing that is extra annoying is that the settings window can't be a separate window, so every time I have to adjust audio settings I get muted and lose the chat focus.
Over-100-server lurker here. I majoritarily use servers, not DMs, and could see why people that use a lot of DMs would find the layout inconvenient.
I think the UI mostly makes sense, it has a hierarchy from left to right, so it is essentially a amped-up tree-view. You could argue for actually using a tree view (a la TeamSpeak), at least on desktop, and I wouldn't disagree, but it kind of makes sense given parity with the mobile app.
I don't see a need for minimal input delay for text, compared to a code editor, as when writing natural languages, they are mostly formed in sentences and therefore have a lot of "buffer" in my brain, I don't need a closed feedback loop to type. Suppose that someone that relies on that would be rightfully befuddled with any delay.
It uses 156 megabytes of memory even on this high-volume scenario, so I would say that while baseline performance is low, it doesn't get slower, which is good.
That being said, I can always find what I want in the UI, it is rather internally consistent. The voice features are excellent and it has less outages than Slack, in my experience!
> It uses 156 megabytes of memory even on this high-volume scenario, so I would say that while baseline performance is low, it doesn't get slower, which is good.
no ! it's not good ! this mindset is why everything sucks :( at no point one should have to accept that "baseline performance is low" for a software developed by a multi-hundred-million-dollar company that was almost bought by MS for a few billions
I agree in principle, but I find the program extremely useful and the performance is totally acceptable for my use-case.
I want a chat program that is:
- Tolerable to use
- Does not require, incessant fiddling to get to work right (it's OK if it could allow so to get it to work even better)
- Has some sort of rich-text formatting
- Good, low-latency voice
- Tolerable video or screen sharing
- I can onboard people easily
- Is group-oriented, not 1-to-1-oriented
- Bonus points if it has reasonable moderation tools for guests or similar
If not for Discord, I would be using something like Slack (which somehow manages to have concurrency issues when typing and some jank occurs, uses 3x the memory, and does not scale nearly as well for multiple workspaces), TeamSpeak (which has very obscure UX, requires self-hosting, and doesn't provide a reasonable rich-text-chat), Matrix (I have to either pick an equally-bloated Electron client or one of the many incomplete native clients), or something else.
The fact is that raw performance itself is rather low in my list of priorities, as long as it a) doesn't stop my train of thought and b) does not overburden my system unnecessarily when idle.
As you can see all of that is very much subjective, I'm not saying you are wrong to demand utmost performance. I also try to strive for it in the programs I write, but when consuming I prioritize stability and features.
I'm using Discord (with BetterDiscord and a CSS theme overtop) on an i5 4460, and I can barely notice any latency when typing. The only time when I can get input latency past 100ms is when I'm rendering something in Blender, or have a high-CPU game running in the foreground.
The UI is getting worse, as they overload existing UI elements with new functionality. On mobile, they replaced the "recent mentions" button with a "stages" button (I don't use stages), making it harder to look for recent mentions just to promote their Clubhouse clone. On desktop, they replaced the "upload image" button with a button to open a "upload image or create thread" menu (I find Discord's implementation of threads to be half-baked, threads expire quickly unlike forum threads, you have to pay to reduce expiration, and they override server-wide mutes). You have to double-click to skip the menu.
Not to mention stuffing their UI with payment prompts left and right, showing emotes you can't use in the emote menu, replacing useful screen estate with "get nitro" and "boost servers" buttons.
- you want to make sure that people respect the importance of your app by not running it along with everything else because it needs 10x the amount of resources a native app would
Users don't care anymore. Phones have 12GB of RAM. A $500 laptop will have plenty of RAM, CPU power, and storage for the average user to not even notice anything. HN and reddit are the only ones who can't seem to grasp the idea that it's not 1995 anymore, and apps taking even 1-2 GB of RAM isn't that big of a deal for the average user.
Do I want my CAD software as an electron app. Obviously not, but for most applications electron is just as good an option as anything else.
Sure, if you constrain “average user” to America. If you go to other places like India, where people don’t have $500 lying around to drop on the latest notebook, you’ll find a lot of repurposed laptops that have several-year-old specs still finding active use. Machines with 2 GB RAM and 250 GB spinning rust are not as uncommon as you might think.
And sure, if you just run one app and that’s it, you might get away with acceptable performance. But now try to install it over slow or metered Internet. Try to run it alongside Chrome/Discord/Eclipse/Spotify/Android Studio. Try to install all those apps without chewing up your disk space. These aren’t hypothetical scenarios, these are very real usability concerns.
> and apps taking even 1-2 GB of RAM isn't that big of a deal for the average user.
I live in France, a first world country, just checked Amazon, the N°1 best seller laptop currently has 4GB of RAM, a 64GB SSD, and a 1366x768 screen and a dual-core Intel Celeron CPU which does not even reach 3Ghz: https://www.amazon.fr/HP-14s-dq0000sf-Ultraportable-Microsof...
this is what the average user looks like (and will still look like in a few years, if people buy a laptop today it's generally to keep it 5 years). I have never ever ever seen anyone say "hey, my computer is fast" it's always "do you think you could look at it, it's super slow / it has viruses / ..."
Yea, these are poor reasons imho. Relying on mommy Chrome and the hellscape of ECMA transpilers seems like the opposite of "cross platform" since you rely on a much more unstable foundation...
No, really why not write a native application? If I'm understanding it correctly, Electron is depending on third-party libraries like Portal Windows to get functionality like "create new windows, treat them as objects, and poke around in them" which comes for free in single-process GUI libraries like Qt.
The go-to excuses for this are "easier," "cheaper," and "good enough for the users."
Also known as "laziness," "greed," and "lack of pride in one's work."
I'm OK with some rando startup using something like Electron in their formative years. But companies like Microsoft have no excuse other than some middle manager's desire to buy a new boat.
Microsoft understands the value of being able to develop once and run everywhere. That's why both Java and the web almost upended their business.
It's not just a monetary/time/effort value to Microsoft or other developers either. It has value to me a user. I prefer applications that I can take with me anywhere I go and they'll be exactly the same on every type of desktop that I use them on.
The list of native desktop applications which can actually do this well for me is pretty short.
I'm more concerned about predicable rain patterns than warmer weather. What happens if rainfall in America's breadbasket starts to decline? Even a small sustained change could have deep ramifications.
The Ada++ project (a modified GNAT compiler) might interest you then.
http://www.adapplang.com/