skysight-inc/HackerNews huggingface dataset:
Almost all static compiled languages have AOT compilation to native code, even Java and .NET ones, although many tend to ignore it.

So all the ML languages, Java, .NET, Pascal dialects, Modula-2, Modula-2, Oberon and its descendants, Ada, Crystal, Nim, D, Rust, Swift, Objective-C, ...
This article on the history and future of nation-states from New Scientist is from 2014, so it doesn't cover Brexit, but you may find it interesting: "End of nations: Is there an alternative to countries?"[1]

[1]: https://www.newscientist.com/article/mg22329850-600-end-of-n...
I hate these buttons. Everyday in London I see people pressing them and I mentally roll my eyes.
What they lack is the ability to let programmers introduce their own parametric types and functions, presumably because we're too dumb to be anything but consumers of this functionality.

Here's what my experience is with certain features in languages: They enable some programmers to do great things, while also enabling a few programmers blinded by hubris to do maddening things. Over the life of a large project, the unfortunate coincidence of different pieces of hubris driven code sometimes causes an outsized amount of frustration.

Analogy: Most people, most of the time, have the good sense to operate cars, drones, and high powered laser pointers without becoming a dangerous nuisance. However, there is a potential for a minority of users of such devices to cause far more than their share of public nuisance. Therefore, there are rules and restrictions about how such things are used by many people at scale.

So yes, as an individual you are probably just fine. But you aggregated with a whole bunch of other programmers is likely to be a different story.

https://en.wikipedia.org/wiki/Tragedy_of_the_commons
What Percentage of Your Worries Come True?
I came to post this exact thing. I guess the article is actually quite old. It talks people "migrating from MS-DOS to Unix/BSD" among other things, which sounds more than a little odd to be even from this millennium.
I always feel more puzzled, and so unhappy, with just a downvote rather than plainly stated disagreement.

Some people aren't even wrong. They start from a different set of assumptions, sometimes missing the whole point of a topic, or sometimes they have a particular grudge or grievance that they wedge into discussions, etc. Arguing with them is like getting caught up with a tar-baby, because their angle is oblique and skewed, and getting on the same page just takes too long.

And sometimes people just get too emotionally invested in what they write. Engage them with an alternative point of view and they dig in and come back, endlessly. If you feel negativity from a downvote, that means you're emotionally invested, and that can turn into a "battle", despite your protestations to the contrary. It's a slight on your ego, and it can be a battle even when you deny it the name - a rose by any other name, etc.
As some people like to point out, I'd also like to remind that in 1968 Algol had:

- user defined record types
- user defined sum types
- switch/case statement with support for sum types
- unified syntax for value and reference types
- closures with lexical scoping
- parallelism support
- multi-pass compilation

Given that many mainstream languages don't offer even what Algo68 had, I personally understand how a Go developer might thing that "nothing is new under the sun" since the 80's. After all, Go ignores all progress in programming languages for the last 40 years.

I recommend watching "Growing a Language", a legendary presentation by Guy Steele: https://www.youtube.com/watch?v=_ahvzDzKdB0

I do love the attempts of Go developers to rationalize Go's choices. But in the end it will end up being a hated language, universally recognized as a net negative in the industry. But that won't stop the working programmer from doing the same mistake again and again.
> The latest Go implementation (Go 1.7) has made Go a lot faster. I would argue that it closer the speed of executables generated with GCC (gcc/g++)

Go 1.7 performs nowhere near the set of optimizations that GCC and LLVM do. GCC/LLVM have a huge number of algebraic simplifications (InstCombine), aggressive alias analysis, memory dependence analysis, instruction scheduling, an optimized instruction selector, a highly tuned register allocator with stuff like rematerialization, SCCP, etc. etc. It will take years and years for Golang to come close.

> Go (the language) can be made just as fast as C (the language), for many cases.

No, it can't. The M:N scheduling model will always have some overhead relative to 1:1 if you don't need the performance profile of C10K-style servers. The dynamic semantics of "defer" is an unavoidable performance tax over RAII. Unwinding is mandated by the language, inhibiting some optimizations. There is little control over allocation: language constructs allocate in ways that are not immediately obvious. The fact that interfaces result in huge numbers of virtual calls results in a good amount of overhead that (unlike Java) Go can't even eliminate with inline caching, because it's AOT compiled. This is just off the top of my head.

> Go has the advantage of making it much easier to use multiple processors, though.

Not really. Go's parallelism primitives are just as low-level as those of C. The "one size fits all" scheduling algorithm is a poor fit for getting the most performance out of multicore. The lack of generics is a real problem: it prevents you from using optimized concurrent data structures without paying the tax of interface{} or going through code generation hoops.

In any case, the lack of SIMD basically kills Go's applicability in these domains.
>the care that is actually provided is still pretty good.

When it's provided. If you have employer health insurance, you're usually fine. Otherwise ...
Have you ever tried using hair conditioner instead of shaving cream? I prefer conditioner even at home. I never get enough shaving cream for my legs, if I even get one that doesn't smell "manly", so I always just pack extra conditioner.
It's not, I have no idea what the person you replied to is talking about.

It's a private school. Most kids learn by their parents teaching them. If the parent can not do it for whatever reason, then they register with a drivers ed school, and the teacher teaches them.

In some states if you take the theory classes [not the road practice] you get a discount on your insurance - that sometimes is part of highschool.

Every state is different though, some require a logbook with road hours, some don't, some have more theory classes, some less. It varies a lot.
> I'm a longtime Java engineer, it's a great language, but I do think the compile once thing isn't as big an advantage anymore.

So you surely should be aware of the existing options to compile Java to native code, just like Go.
"When you have everything you have nothing."

I don't see any real meaning in this statement. The "nothing" of having all your material needs and wants met at your whim, is better than having to struggle all day every day just to survive - except for people whose entire value system is built around the virtue of hard work and struggle, or for people who think it's valuable and important that humans rely on other humans, and therefore like arrangements in which individuals will fail on their own and are forced to cooperate with others in order to survive.

Those value systems are not inherently right, and not everyone holds them. Why is there anything to "get over" about the not-necessarily-social aspects of individual freedom and opportunity?
As mentioned in the article, most hotels will send up a free tube of toothpaste if you phone reception and request one. The same is true for a number of other 'essentials' you may forget that aren't provided by default such as shaving kits and sometimes even phone chargers.
Yup: girlfriend is an MD, I learnt the hard way to deactivate Google Image before any medical search. I would ban any relation to dermatology from GI if I could.
>I would privatise it tomorrow.

I'm glad you aren't in charge then :-)

Sure there is going to be waste, but once you privatise, the 'waste' will continue in the form of profit taking by insurance companies and all the other private actors in the system.

I know it feels unfair that there is waste. But IMO profit in healthcare is another form of 'waste' anyway, one that is made worse by the fact that it distorts the incentives away from providing care.
The fact that building HVAC controls are so often owned and locked down to people outside the building is infuriating.

I worked on a community theater production that rented space from a high school in the summer. It was perfectly cool throughout rehearsals, but sweltering hot when we came in on Saturday because the HVAC system's schedule hadn't been overridden to reflect being occupied over the weekend.

The thermostats around the building (less than 5 years old, with very powerful AC) were, of course, placebos. We called the district-level administrator who had control of HVAC, but she was out of town and couldn't get her VPN client to work. So no AC for us.
But try to only have the kinds of emergencies that require no follow-up care.
> Not explicit programmer control, but I think you can reasonably make it do what you want.

Escape analysis, like any such analysis, gets much more difficult in the presence of higher-order control flow. Currently the Go compilers punt on higher order control flow analysis. And Go uses higher-order control flow in spades, due to its heavy reliance on interfaces.

The end result is that lots of stuff is heap allocated.

> Java where everything is a pointer and gets spread out all over memory.

That's not true for Java. Its generational garbage collector performs bump allocation in the nursery, yielding tightly packed objects with excellent cache behavior. Allocation in HotSpot is like 3-5 instructions (really!)

I think the HotSpot approach makes the most sense: instead of trying to carve out special cases that fall down regularly, focus on making heap allocations fast, as you'll need to make them fast anyway. After that, add things like escape analysis (which HotSpot has as well).
Luckily, the borders in this case are porous enough that it doesn't seem like a big issue. In one case in North America [1] it lead to some property owners being essentially under house arrest during the hours that the border crossings are closed, and at least one real arrest.

1: http://www.atlasobscura.com/articles/the-incredible-complica...
It doesn't seem to be in their tracker. Mapillary had a similar problem, it turns out that the camera API was updated to provide the orientation sensor orientation and they were using the older API on a phone with a rotated sensor.

https://github.com/openstreetview

https://fadlotech.blogspot.de/2015/11/the-reason-why-nexus-5...

https://github.com/mapillary/mapillary_issues/issues/1929
This is clever sophistry.

However, in Canada, a debilitating injury might necessitate bankruptcy because of bills that you can't pay thanks to a medical condition which precludes your usefully working.

In America, a debilitating injury might necessitate bankruptcy because of bills that you can't pay thanks to a medical condition which precludes your usefully working AND an usurious hospital bill.
if money=="involved":

print("It's a Trap!")
Some of them believe this kind of thing: http://www.hipforums.com/forum/topic/350512-i-have-the-secre...
For those interested, Linux has a remarkably interesting way to determine whether to use the modern sysenter/sysexit routines or the ancient 0x80 interrupt vector. http://www.trilithium.com/johan/2005/08/linux-gate/ discuses the system quite nicely.
> What is your motivation for defending the status quo? My goal for posting was to point out that existing mental health treatments don't work, and that there are promising developments that point to a better model. I didn't share all my references.

My goal is to provide an opinion that balances yours, because there are likely many people in your situation, and I don't think they should give up on existing treatments quite so quickly. I know how it feels to see someone you know and love afflicted by mental illness, and I also know how, if treatment as usual doesn't work, it feels like there must be something out there that can help them if you can only find it. But I'm also a neuroscientist (albeit in a subfield without any connection to the study of mental illness) and I know that scientists really do the best they can, and are generally willing to pursue any route if they think it might lead to a better understanding of their subject of study, or, in the case of mental illness, a treatment that can work better than what's out there today.

> Antipsychotics have been shown again and again to be ineffective over the long term:

I am not qualified to assess this evidence, since I don't have an extensive knowledge of this field nor the time to acquire that knowledge, but here is a Cochrane review incorporating 65 RCTs that shows antipsychotics are effective for maintenance:

http://www.cochrane.org/CD008016/SCHIZ_maintenance-treatment...

It is true that the reduction in the risk of relapse appears to decrease with the duration of the study, which is definitely a disquieting finding and deserves further study, but there was still a reduction in risk in the longest study included (3 years).
Many of the problems are due to the internal market, with NHS staff encouraged to work in their own self-interest rather than in the interests of the patient, which in practice means they game the system. This, and the reasons behind it, are explained in a 3-part documentary called The Trap by Adam Curtis.

The NHS is good value for (taxpayers') money: it's about half the price of the American system for the same quality of care.

It's a fairly open secret that the Government is encouraging patient dissatisfaction and privatizing the NHS by stealth. It's only a matter of time before patients have to pay for treatment.

My experience of it as a patient is generally favourable. I usually get seen promptly, and it's free at the point of use. I've experienced the health services in two other countries (Hong Kong and Belgium).
I'm a total toothpaste-tart because of those little tubes; I'll use whatever comes along. My dentist receives them by the boxload, presumably as promotional items from the various manufacturers vying for recommendation, and dumps them in a crate at reception for free distribution.

So every six months I stock-up on a cocktail of various toothpastes and just use whatever comes out of the bag next.

The only one that was jarring was Corsodyl, and it even had a little chart on the reverse showing that people needed three months ot so to adapt to its taste. I persevered with it because it was free but wouldn't choose it voluntarily.
Quite big claims, do you have serious references?
> One solution could be to get rid of insurance scam (yes I call it a scam) and then lets hospitals/doctors compete with transparent pricing in a free market.

I don't understand the American (and it is American) obsession with having a free market in healthcare.

Why do Americans not look at public provision, paid for via your tax system? Canada does it, so it demonstrably does work in North America, Europe does it, with varying degrees of efficiency, but it basically works.

No-one in Europe or Canada lives "in fear having an accident or getting sick" because they know healthcare is provided by the state in the same way as education, fire services and police service are all provided as a public service, for the general good of society, via taxation.

Americans are happy to send their children to school, to be able to call the fire department or the police (we'll set aside the clear problems of US policing - you generally still call the police when you see a bank robbery, so there is a degree of confidence in them still).

So why is healthcare the exception? What sort of mentality says I am to blame for getting sick and told if I cannot afford medical treatment, I should not have become ill?
All of the things you mention work only on paper.

Like most things "about to be automated". "The most frequent jo in America is about to get automated". Yeah. In about 100 years of constant infrastructure investment. About 80% of truck driving will be automated.

Doesn't quite ring like other titles though, does it? Or the wet fantasies?
Great insight! I feel like this line of thinking could shed light on many causes of social friction.

Edit: and like my comments sibling says, some uncomfortable truths to be unearthed...
Insurance brokers, mortgage brokers, real estate agents, any kind of broker.
Per the Internet Archive, this page is at least fifteen years old - it looked like this as of the first snapshot taken on February 1, 2001 (https://web.archive.org/web/20010201152900/http://int80h.org...). A lot has changed in computing since then.

ARM became dominant in mobile computing, which was barely a glimmer back in 2001. x86-64 became commonplace. Just targeting Intel and ARM processors now necessitates writing code for four architectures: x86, x86-64, AArch32 and AArch64 for a full range of compatibility.

While MS-DOS syscall numbers were documented and often _required_ assembly to use, the opposite is true on modern Windows - Windows system call numbers are undocumented and change from release to release, requiring programmers to link against Kernel32.dll or equivalent to stably call into the OS.

Compiler technology has advanced significantly, and processor manufacturers now often optimize towards patterns employed by compilers rather than by humans (case-in-point: the x86 "loop" instruction, while extremely convenient for handwritten code, is significantly less performant than a cmp-jmp loop).

Code has gotten more and more complex. Whether this is a good thing or bad, the reality is that hundreds of millions of lines of assembly would be required to replicate complex modern programs like web browsers - projects of that scale will always require powerful HLLs to manage abstraction, something that assembly does not and cannot provide on its own.

View this page as what it is - a historical artifact. Although assembly programming definitely still has its uses, the arguments this page makes in favor of it are largely no longer relevant.
> Nim is a very good language that actually accomplishes the simplicity Go wanted imo.

Does it have "cheap threads", like offered by Go?
Yeah, there is some damning evidence of outright lies at this point. I hope Steam is allowing refunds. If they aren't, does Steam hold your account hostage and threaten to boot you if you were to do a charge back?

The big shame is that this, Star Citizen and Elite:Dangerous all had such potential and DO have gorgeous graphics and cool gameplay mechanics. The unfortunate part is that most people like the idea of a gigantic space simulator, but the reality ends up being incredibly boring for gamers that have come to expect lots of social interaction in any game billed as multiplayer.
Trust is something that I think is often taken for granted as something that is naturally occurring, but as you say it is based on shared culturual/religious background. The un-pc question, the uncomfortable question, is whether diversity/immigration contributes towards lack of trust and lack of assimilation.
They do, but it's flaky and doesn't work on some sites due to js
> We should probably break the news to her that there is no "drivers ed" in the UK.

But there is "cycling proficiency"!
>Systemd is to sysvinit what Linux was to Hurd and other microkernels

That's just not true. Linux was a return to a simple, tried-and-true model from a more complicated and theoretically beneficial one. Systemd is a devergance from a simple, tried-and-true model to a more complicated one, that really doesn't have many benefits.

>And "s6 "unit files" are just the command to daemonize the process, in most cases" is a horrible solution, too.

>The reason systemd unit files are so awesome is because they’re simple configuration, not having to string complicated commands together.

So are S6 unit files. So are a lot of config formats, actually. Sysvinit was really bad, but other inits had moved on. The complicated commands are only required when the app had complex requirements, or when init is stuck using fragile pid handling, which S6 and the like don't need, because they implement proper process monitoring.

>You fundamentalists had 2 decades to make a working system

BSDinit, OpenRC, s6, hell, even upstart, and countless others are all working systems.

Anyways, I'm not a fundamentalist. I don't think that systemd's unit files are broken. What I think IS broken is systemd itself.

Init has a few jobs: managing startup, managing shutdown, reaping processes, and handling daemons, etc. By this point, init's job is well defined. How it should do them has been argued, but the jobs are well defined. That is what init should do. NOTHING ELSE.

Systemd tries to do everything. Thus, it's overly complex, AND it's a single point of failure.

>It’s time to end this.

I quite agree: When Lennart stops making me try to use his piece of trash disguised as software, I'll stop complaining about it.
How do you compare satisfaction rates across countries? It's not easy.

As someone who has sxperienced the US and Canadian healthcare systems, I can confidently say most Americans would be deeply unsatisfied with aspects of the Canadian system. Yet Canadians love their system.

The waiting times for certain procedures in Canada, the lack of provider choice and the lack of access to the latest drugs/tech are just accepted in Canada. One reason why the US system is so expensive is the expectation of a lot of Americans that they get the absolute best healthcare out there, costs be damned

And yes, I'm generalizng with the comments. No need to call that out.
Are you sure it is the number one reason in Canada? The first source I could find that provide a percentage breakdown was from 2011 and had medical reasons as #4:

http://www.creditcards.ca/credit-card-news/top-ten-reasons-w...

1. Overextension of credit (22 per cent of all Canadian bankruptcies).

2. Seasonal employment (15 per cent).

3. Job loss (12.8 per cent).

4. Medical problems (11.3 per cent).

...
Its not that it isn't obvious, just that sometimes your focus is on other things and you forget to think of these things.

At large organizations you might have a designer, product manager, front-end developer, and back-end developer and you can isolate their thinking to individual parts and make sure not to miss these things.

In a smaller organization your front-end developer might also be your designer and if they are focusing on scrolling performance, responsive design, or unit test coverage the UX might end up being something in the back of their mind and gets less time/focus.

Development is all about making trade-offs with your time, you rarely have a "finished" product. A lot of times what we do is build out MVP as quick as possible and then A/B test changes to KNOW they are making a difference. A lot of UX things that I assume are obvious end up losing in our A/B tests.
You can make this argument with nearly anything we naturally accept as a feature of a programming language. The ability to name things has a long history of abuse. The ability to define types, implement programming patterns, define new syntactic features via high order functions, use concurrency primitives. Hell, simply the idea of programming is rife with potential for abuse.

This is a narrative without specifics, and unfortunately always where the conversation seems to end with gophers. We accept some amount of features that can be abused because they offer utility that outweighs their potential for misuse. So how exactly are generics a worse offender than these other features or a worse tradeoff for their utility? Because from my perspective, being able to define parametric data types and functions is a huge win for safety and terseness of code without a lot of downside.