Hacker Newsnew | past | comments | ask | show | jobs | submit | _8ljf's commentslogin

So use C++ already; that’s what it’s for.

Don’t go complaining that C++ is “too complicated” and then be hauling its complexity into C, because all you’ll end up with is a bloated schizophrenic mess that is neither a good C nor a good C++ [alternative].


“I can't believe the C standards committee is entertaining this.”

Hey, standards committee’s gotta eat.

'defer'? I occasionaly use it in Swift to clean up resources; s’okay there, I guess, though I’m not convinced it’s better than Python’s 'with' block. But in C?

One of C’s few distinguishing strengths is that the language is relatively† small and stable, and well understood. For that kind of cleanup there is already 'goto', which again is small, stable, and well understood. I just used it for that the other day: it works, it’s fine; I’m a grown-up.

Yeah, sure, 'defer' is “safer” and “more elegant”… did we mention this is C? That ship sailed fifty years ago. Don’t try to make C into something it’s not: that’s C++’s job so go fill your boots there instead.

I just posted Tony Hoare’s excoriation of ALGOL68 the other day, but clearly it’s needed again:

http://zoo.cs.yale.edu/classes/cs422/2011/bib/hoare81emperor...

Simplest solution: track down the ruddy C standards committee and beat them in the head with a leather-bound copy of Zawinski's Law (wrapped around a large gold brick), till either they’re dead or they leave C be. It does what it was designed to do, and that along is reason enough not to dick with it just because they’re bored and struggling to justify their continued existence.

The only thing C needs to do is keep on working. That will only get harder the more crap they pile on top. A good artist knows when to stop.

Which brings us to…

“panic/recover”

K&R give us strength! Tell these frustrated wannabe language designers to go make their own damn language, instead of screwing up someone else’s!

Okay, now I’m done. And get off my lawn!


This seems really strange to me. The C committee recently seemed pretty opposed [1] to adding fat pointers [edit: originally wrote bounds checking but that was a thinko] as eg WalterBright has called for. [2] Addressing that seems like it'd have a lot more benefit for a much smaller change to the language. I don't really agree with you on "the only thing C needs to do is keep on working" but if they're not willing to entertain that proposal, why on earth would they be talking about throwing in exceptions?

[1] https://news.ycombinator.com/item?id=22866288

[2] https://news.ycombinator.com/item?id=24454369


I couldn't agree more and created an account just to second your thoughts.

This is exactly why everyone hates using modern C++. Their standards committee has run amok with every fancy feature that every new language comes out with in the past two decades. And what has that wrought? A huge language that no one fully understands and is hard to read unless you happen to be the guy that wrote it and time since writing < two weeks.

C is simplistically beautiful. I can write it and understand exactly what the assembly will look like on the backend of the compiler (with the exception of nasty macros). Don't mess with that. If it doesn't feel like it belongs, that's probably because it doesn't! Know when to stop.


> This is exactly why everyone hates using modern C++.

speak for youreself ?

> Their standards committee has run amok with every fancy feature that every new language comes out with in the past two decades. And what has that wrought?

given the amount of languages that reimplement C++ features (and sometimes have to be dragged by the feet to get them, e.g. generics and interface methods in java), I'd say that people who don't understand c++ are doomed to reinvent it :)


More features being added to a newer version of the standard doesn't prevent you from staying with the old version. Your trusty old C89 compiler will still continue to work.

Speaking from experience, GCC/Clang extensions are pretty useful when you can afford to use them and it would be nice to have some of that stuff standardized because a lot of code I see in the wild is already using them. The time for warning about C becoming a mess of incompatible extensions has already passed unfortunately, and the only group that can solve this is a standards committee.


Quite right: Apple is entitled to make (and not make) whatever products it chooses.

Could’ve made a great, and timely, horrible-warts-n-all show about freedom of speech and those who’d manipulate it, but Cook is not one for such exuberant boldness. Hey, I’m fine with that: last thing I want is a desire to spend any more money on their overpriced tat.

Guess it’s The People vs Larry Flynt for movie night tonight. Now where did I put the DVD…


Nailgun.


Not good, just “good enough”.

UX, like evolution, once it goes down one particular path, tends to get stuck there, fiddling with the details at best. Radical innovation becomes really hard to effect: in evolution’s case because any new feature can only extend/adapt what is already there; in UI’s case because users tend to reject anything that doesn’t fit into what they already know.

It’s the distinction between stability and stagnancy. Stability is good in that it’s predictable; its benefit vs cost ratio is known. Stagnancy is not so hot: that ratio cannot (or will not) improve. WIMP is both stable and stagnant; trapped by its own early success with no obvious path forward.

.

Very relevant: after an early 8-bit dalliance I cut my adult teeth on Macs. Some of WIMP’s productivity gains were significant, but in other aspects it was just the same (or more!) drudge work in a cutsier skin. it wasn’t until I taught myself automation (via frustration and AppleScript) that I really put a decent dent in the latter.

And these were automations that built on my existing understanding of WIMP applications (unlike, say, the nix CLI which ignores all that knowledge and invents a whole new unrelated world entirely from scratch). All the Models were exactly the same; all my knowledge of how to manipulate my data in those apps was fully transferrable, not to mention all my existing documents. The only difference was the View-Controller I was using: RPC vs GUI. And whenever I got to a point in my workflow where it was easier/necessary to do something manually, I could freely switch back and forth between those two UIs.

Achieving 10x productivity gains over WIMP on frequent repetitive tasks is embarrassingly trivial* with even modest automations. The hard part is creating an automation UX that’s efficient and accessible to the large majority of less/non-technical users (AppleScript failed, but at least it tried).

.

When will we see another attempt? Dog knows. Voice tech like Siri is obviously trying, but is starting from the hardest end of the problem and trying to work back from there.

I believe there’s much quicker, easier pickings to be had by revisiting the AppleScript strategy—“server” applications exposing multiple View-Controllers for different interaction modes, and a really simple, textual “client” command language along the lines of Papert’s Logo (which 8 year-olds could learn how to use and compose), combined with modern auto-suggest, auto-correct, auto-complete to provide the transparency and discoverability that traditional CLIs fail so hard at.

The written word has 10,000 years of learning and practice behind it. And the most powerful word in the world is the word that expresses exactly what you want to say, whenever you want to say it. If that’s not an opportunity for some smart young coders with a desire to make a better world for all, I don’t know what is. You just gotta know history is all.

--

“It’s a curious thing about our industry: not only do we not learn from our mistakes, we also don’t learn from our successes.” – Keith Braithwaite


Apple's other attempt right now (on iOS) is Shortcuts, which is graphical-programming-y. But it's disadvantaged a bit because it started life (as a third-party app Workflow) outside the system, unlike Applescript.


I didn’t go into Shortcuts as it has its own set of flaws: poor granularity, poor composability, excessively complex and expensive to extend. And it’s still not quite clear how Apple mean to position it so that it connects to users’ aspirations and needs. Within Siri? within Apps? In between? All fixable, but ultimately depends on Apple’s priorities and investment, not to mention how good a handle they have on the problem themselves.

What Shortcuts does undeniably have is youth, looks, and an established following; and never underestimate the value of those. AppleScript may be built on a better technical foundation, but that don’t mean squat if it can’t bums on seats. And the bottom fell out the AppleScript market a decade ago.

However, being an outside product is absolutely no disadvantage. I’ll rate a passionate team of third-party devs with a vision over in-house chair-warmers going through vague motions with zero direction or objective. Being within Apple can be a huge advantage in that it offers prime positioning within the OS itself; but that’s of no use if you’ve got no clue how to deliver a desirable product and sell it to customers in the first place (<cough>Soghoian</cough>).

Whatever the strengths and weaknesses of their product, the Shortcuts team cut their teeth and proved themselves out in the real world. I don’t doubt Apple bought WorkflowHQ as much to get those people as their product. As change of blood goes that was badly overdue.


Firehosing also destroys trust. That’s its purpose.

https://en.wikipedia.org/wiki/Firehose_of_falsehood


The burden of proof rests on the claimant. There’s a reason US courts of law keep throwing out these claims of widespread fraud: because the claimants consistently fail to provide the widespread evidence to back their claims up.

What there is widespread evidence of, however, is bad-faith actors that are both highly active and plentiful.

Therefore I would suggest the few good-faith actors who find themselves unfairly suppressed first take it up with those dirty lying bastards for sullying ALL their reputations, and secondly ask themselves what they must do to fully disassociate themselves from the scum and rebuild their negative credibility to a level where people are willing to listen again.

Qui cum canibus concumbunt cum pulicibus surgent. They can fix it or they can whine. And which they choose speaks volumes too.


> The burden of proof rests on the claimant.

Indeed. Which is why I'm so interested in the evidence behind these claims that I keep hearing that there was no vote fraud, or at least not enough to change the election. Sadly, when asked for proof, these people who believe there was no vote fraud always walk it back: "I haven't seen any evidence." Well great, then maybe you're not in a position to make positive claims on the basis of a lack of evidence.

> There’s a reason US courts of law keep throwing out these claims of widespread fraud: because the claimants consistently fail to provide the widespread evidence to back their claims up.

Are you so sure you can read the mind of a judge? This whole discussion is about motivated reasoning and cognitive biases. When did we start assuming that judges were immune to political bias?

> What there is widespread evidence of, however, is bad-faith actors that are both highly active and plentiful.

I agree with that. Where is your evidence that none of them are judges or Google/YouTube employees?

> Therefore I would suggest the few good-faith actors who find themselves unfairly suppressed first take it up with those dirty lying bastards for sullying ALL their reputations

That would be like telling BLM activists to go tell the black criminals in their community to stop doing crimes that piss off the police. You're implying value judgments that aren't in evidence and lumping people together on the basis of your perceptions when those people may not even really have anything in common except being seen as enemies by the same group of people. People want to be heard. Its wrong to shut them down because some other people said some other ridiculous stuff that you think is basically the same thing because you're done listening.

> secondly ask themselves what they must do to fully disassociate themselves from the scum and rebuild their negative credibility to a level where people are willing to listen again.

People are willing to listen, that's why its so important not to give them a platform. Surely you don't think that YouTube is suppressing videos because they don't like them when those videos aren't going to be watched by anyone?

> Qui cum canibus concumbunt cum pulicibus surgent. They can fix it or they can whine. And which they choose speaks volumes too.

Part of fixing the alleged election fraud would be to present evidence to the public, including videos of that alleged fraud. And if those videos are being suppressed then part of fixing that would be to debate the propriety of suppressing viewpoints that you don't like.


“Which is why I'm so interested in the evidence behind these claims that I keep hearing that there was no vote fraud, or at least not enough to change the election.”

[Sees what you did there]

Did we mention bad-faith arguments? Yes. Yes, we did.


> Did we mention bad-faith arguments? Yes. Yes, we did.

A good example of a bad faith argument is repeatedly employing the motte-and-bailey fallacy by making positive claims, and then when asked to support those claims with evidence, shifting the burden of proof to your opponent by equivocating between statements of the form "there was no X" and "I haven't seen any evidence for X." People often do this unintentionally because they are confused about the difference between object-level claims and statements about the evidence for object-level claims. But one begins to suspect bad faith when this distinction is explained and then ignored, and the behavior repeated.

Of course there is no test for bad faith and people can be both confused as emotionally involved so they repeat themselves. Which may be the case here, I'm not a mind reader.


“this is the language that powers Cloud Firestore / Cloud Storage security rules”

This really needs to be stated on its front page. Right now it’s all “Hows” and no “Why”.

First question anyone looking at it asks: What problem does it solve?/What need does it fill? A real-world use case provides an easy relatable answer.

Incidentally, with existing links to protobuf and no halting problem to worry about, it sounds like you’re halfway to having a remote query language a-la SQL too.

https://www.researchgate.net/publication/221553413_Safe_Quer...


The link given if for the spec, this is probably a better "intro" page: https://opensource.google/projects/cel


I actually looked at this thinking it was pretty cool and could come up with usecases immediately–it is a great way to do simple query/matching in a consistent way. If I'm not mistaken, this could be used for something like Gmail's advanced search? There are tons of interfaces where everyone designs their own ad-hoc expressions and having something like this would be very useful in those cases.


File under: #WhyNotBoth?

Yes, the confiscation in itself is an attack on free speech rights.

But don’t think the high-stress weapons-drawn raid against a prominent whistleblower isn’t meant to send its own message clear and loud: keep your heads down or you could be next. Especially when combined with the twitchy trigger finger that US law enforcers are reputed to possess.

This is only a couple steps up from a banana republic death squad. And that too is no accident.


Please name a vaccine that is injected into your bloodstream.


It's good to see that HN continues to find ways to increase pedantry! You know what I meant, intramuscularly.


“You know what I meant”

No. I am not a mindreader. And “vaccines are injected into the bloodstream” is a standard antivax lie.

Yes there’s a risk in receiving a vaccine, just as there’s a risk in receiving any prophylactic/therapeutic treatment, but severe side-effects are closer to 1-in-100K to 1-in-a-million. Compared to a disease that is currently killing 2-in-100, with significant sequelae likely much higher.

I’m happy to accept that “bloodstream” was a slip of the tongue, but really try not to make those malignant lying bastards’ jobs any easier, when people die because of them.


If you had actually read what I wrote thoughtfully -- instead of falling over yourself to type a glib reply as fast as you could get it out -- it would have been easy to recognize that I am clearly not anti-vaccine, nor was I suggesting that side effects are common. I said both of those things explicitly.

If your goal is actually to educate others, then educate others. Replying with snark achieves nothing but temporarily boosting your own ego.


Yes I read your post, and yes it was poorly worded. Take the tip and move on.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: