There is a resurgence in programming languages and compilers that target native binaries. Go is already popular. Rust enjoys a lot of hype. D and Haskell seem to be making a bit of a comeback. New compilers are being worked on for existing languages, like Kotlin Native and Scala Native, and entire new languages are being developed, like Zig, Swift, Pony, Nim, Crystal and V. Which are you betting on? Which do you find interesting?
Do you think WASM will overturn the trend? There is certainly a lot of people trying to make "write once, run everywhere" happen with WASM for some reason.
My 2019 language bracket predictions: Overcomes limitations to take the championship ring. Basically takes up the space where people had been inappropriately using Python (networked microservices, servers and CLI tools for distribution). Becomes the official programming language of the Chinese. Explosion of libraries of proportions never before imagined. Makes it to the playoffs and is eliminated in the 2nd round, but good choice for next season. Complex projects requires expensive reinventing wheels or very heavy reliance on 0.X crates of widely varying quality and security. It turns out "if it compiles it werks!" is just a platitude. Not enough paid devs to evolve the ecosystem to parity with C++ for several (5+) years. Serious devs will get annoyed with its "Rust doesn't do that" pain points. Hipster-devs will use it for web servers because they believe Medium articles and don't know any better. Async will have poor stability, subtle bugs and thus badly damage Rust's reputation and burn out a couple core devs. Const generics will land and make std slightly less ridiculous looking. HKTs will never land. Steve Klabnik will jump from a Vegas hotel within 3 years. Doesn't make the playoffs. Continues to be an objectively better C++ that is favored by adults, but never adopted due to lack of paid shills. Comfy, plucky underdog for life. Makes the playoffs, and is eliminated in the first round. Loses Nike endorsement deal. Team manager arrested for embezzlement. Hometown stadium is sold to pay debts. The outlook is grim as more devs realize that all of Haskell's "brilliant" innovations are only necessary to get around the limitations of the language. Functional programming is accepted as overrated, and college professors eventually stop forcing kids to learn this shit as they get feedback from tech companies that trying to force abstract mathematical concepts into CPU architecture isn't practical. Eliminated by Go in the semifinals as more people realize the JVM by itself isn't that necessary if you have a good cross compiler See Haskell Doesn't make the playoffs. Found conspiring with Vegas bookies to rig hackernews comments to appear more popular than it actually is. Dead by 2021 Eliminated by Go in the finals. Fundamentally sound language with excellent performance with unfortunate Apple lock-in. As Apple collapses because of its failure to collude with the US State Department as effectively as Google, Swift's governance will be dumped into the wild and a fork with good support for Windows and Linux appear, ushering a golden age of development. Eliminated in 1st round by Nim. Can't sell enough tickets to make it to next season. Eliminated in 2nd round. Gains popularity, but syntactical idiosyncrasies are offputting and 1.0 will never happen. Gains a cult-following with indie-game devs and remains there. Eliminated in 1st round. Comfy language that fails to find its niche. Hipster-dev market is captured by Rust and Crystal never gets an endorsement deal to pay its players. Doesn't play next season. Doesn't make the playoffs. Team manager arrested for embezzlement. Doesn't play next season. Eliminated in the semifinals. Google wants WASM to seem "normal" so they can ship completely opaque binaries that implement nightmarish spyware and mine shitcoin on your computer. They use their puppet Mozilla to shill WASM as some kind of liberating tool that brings devs of all backgrounds to the web. By 2020 everyone realizes that WASM isn't actually faster than plain JS.
Brandon Garcia
(W)ASM isn't much worse if any than obfuscated js.
Anthony Edwards
it doesn't have generics it doesn't have exceptions it doesn't even have discriminated fucking unions. This is the reason people keep talking about shitty scripting languages in its context. Go can't model data like a grownup programming language. This language is just obnoxious. Haskell is a 600 lb fat woman. Functional programming is the skeleton inside the fat woman. Inshallah, Haskell will finally fail and thereby show as overrated its universe of random bullshit, utterly incompatible to other languages, and only serving to restore to Haskell the problems of non-functional programming. Be strict, not lazy. Do not build a tower of type bullshit 666 stories high when your intended direction of movement is horizontal, rather than vertical. it's got a lot of promise on the tooling side, and I can see it as a replacement for small systems apps that need to be a light as possible while also easy for non-professional programmers to understand (think sysadmins). It's serious about being an alternative to C, by a guy who kinda likes C. Wait for a tech writer to appear, then revise your opinion on it. I deny that this language exists. Don't link me to it. I don't care. V for vaporware. it would be more satisfying for him to convert to anarcho-capitalism.
Entertaining post, but How are Scala's innovations there to get around the limitations of the language? Scala is not pure and lets you write completely imperative code if you choose to.
Believe it. I really wanted WASM to kill the abomination that is JS (yes, even at the expense of potential Google botnet), but it won't. God hates us and we're alone.
Brody Anderson
Isn't the whole point behind WASM secretly to provide the abstracted infrastructure necessary to one day eliminate JS and do just have sandboxed native deployment like Google originally wanted with NaCl?
Nathaniel Smith
Ada.
Jason Turner
just u guys wait until i finish prototyping my language
automatic optimal concurrency. automatic data structure choosing. automatic integer type choosing. automatic cache friendliness. automatic memoization. and more...
insteading of making trade off between performance and ease of use like other languages do, here you get both because the compiler making the decisions = the programmer doesnt have to make them, which makes things simpler.
maybe on the theoretical side of things. implementation wise i dont have usable compiler yet.
Charles Hernandez
God willing it won't. The last thing we need is opaqua code running in our webpages. Hopefully I'll still be able to use the web without upgrading to a poz-browser that supports wasm.
Basically haskell programs can be transformed in mathematically magic ways such that the result semantics is the same but the execution is much faster.
Blake Jones
There are too many languages and disregarding a few chosen autistic obsessions by the developers they are barely different from each other, they're like episodic "Imagine C, but with $feature" wankery that turns into a fad and then fades from public consciousness, that's the simple and ugly truth why they all don't and won't gain traction.
it is. it's something that i been working on for over 2 years on the theoretical part (not full time), which was mostly driven by random "aha!" moments.
well that's basically any optimizing compiler.
Mason Watson
C is the only language ever. No, I have never bothered learning about another languages.
Tyler Reed
< Neither does C
It's a technical decision made to keep compile times low and discourage unnecessary complexity. It's inconvenient, but it's probably the correct decision from a business management perspective. There are plenty of languages that let you be a cowboy. Go is ascending because it will become favorites in China and India due to its simplicity. The age of $120,000/yr "software engineers" who fuck off all day and twiddle with a couple hundred LOC of PHP a month are coming to an end, and that's a good thing.
If we're really lucky, a governing body will pass laws and institute some kind of standardized testing or performance metrics to make software "engineers" a licensed profession, like doctors, attorneys or real engineers. There will be a necessary separation of code monkeys, Indians and Xah Lee from people who actually know what's going on. Lucrative government and industrial contracts will only be awarded to these professionals. Code monkey wages will collapse to barrista-levels and that will start to discourage charlatans from entering the industry. This will also bring the death of blockchain, or "high-latency, low-throughput, append-onpy databases" as they should be called.
Sage for tangent.
William Nelson
Do julia
Thomas Morgan
Are you an idiot? It doesn't have bindings so for anything other than datamining and shitcoin mining it won't be much faster. Javascript is already bad enough. People need to learn using CSS for layout, menus and HTML forms for forms.
Jose Richardson
*native bindings ie it always has to call back to a javascript file
Jaxson Ward
Imagine being this retarded. Only if you monomorphize generic constructs does it become expensive because now you've multiplicated the amount of code the optimizer has to optimize. Optimizing is by far the most costly part of very compiler. You do not have to monomorphize generic constructs though. Java doesn't for example. Anyways what do you think go generate does? The reason why Go compiles fast isn't because it doesn't have Generics but because the optimizer is shit and barely optimizes anything.
Yeah you're actually this fucking retarded.
Sage because shit thread.
Jayden Jenkins
my man, i think it's way more expensive to pay for a developer to write debug and maintain every instantiation, than waiting few more milliseconds for a build to finish or scaling a build server.
Gavin Fisher
cope_over_9000.svg
Xavier Richardson
At the end of the day, the readable code is transformed into binary. Language quirks are there to simplify machine code writing and depending on what the project objectives are, you'd want to be closer to baremetal. Unless you are those fags that goes like
Zachary Morris
...
Ethan Cox
...
Lucas Rodriguez
Julia isn't in competition with these languages. All of them are trying to replace C, whereas Julia is trying to replace Matlab.
Michael Ward
So you want the interfaces and reflection that Go already has? OK. Go performance is consistently comparable to Java. I don't think you really know what you're talking about and are probably repeating some shit your professor tells you.
Which optimizations, specifically, are you talking about, cool guy? Yeah, you should really rely on amateur surgeons next time you're dying. That business-critical software is being written or altered by any idiot, like you, with a paper-mill degree, should be criminal. 1.5B Indians are going to implode your earning potential, and there's nothing you can do about it. Boohoo. Go blog about it on Medium, faggot.
Daniel Reed
Who are you quoting? No? I don't give a shit about Go. I'm just saying that Go's lack of generics isn't why it compiles so fast. Show benchmarks that aren't microbenchmarks. Who are you quoting?
yeah I wish my biggest concern was my income. That's the kind of worry that comes with a wife and kids and some nice property in a nice area. My coping mechanism for the last decade has been "it doesn't matter how bad the Earth gets. Once we get to space--" I have accepted that I'll never see space. NASA did nothing but Muslim outreach now and under Trump it's probably been converted to LGBT outreach.
Aaron Jackson
Techempowerer
Having licensure for doctors isn't treading on you; it keeps salt-lamp selling hippies from performing brain surgery. Your electricians license keeps some illiterate, toothless Guatemalan from wiring your house and burning it down. What about software, though?
Absolute. Brain. Damage. The industry is a train wreck full of snake oil salesmen and mentally ill trannies precisely because ANYBODY can start calling themselves a "developer" and performance metrics are nonexistent. Requiring some proof that you aren't an idiot before you call yourself an "engineer" or enter contracts for services would send these pansexual shitbirds back into harmless industries, like bagging groceries, where they fucking belong.
Or just let Pajeet and Doug/Saphire keep adding CVEs to the list.
The mad man did it!
Justin Richardson
stop trolling
Wyatt Edwards
valid attitude IMHO. Based.
Jack Jackson
Cnile impostor spotted unbased
Colton Hughes
It is absurd to call developers engineers at all. Even what the best programmers do is nothing like engineering.
Brandon Adams
Kubernetes? What the fuck do you want?
Basically true, but C++ is a valid counter-argument.
Ian Bailey
lol
Owen Hughes
Wow, you are one pissy little bitchboy
Jordan King
The Go defense force is out in full force it seems.
Nolan Bell
wow, I might be offended if you'd said anything meaningful at all.
Connor Moore
Shitting on Go is a meme, and a foolish one that needs to be squashed. It's a good language with clear design goals and great tooling. It greatly reduces development cost and complexity by removing nonessential language features. You can then get reasonable productivity out of less experienced developers. That's the trade, and it's not a secret. If that stifles your self-perceived brilliance, then go back to writing shit nobody cares about in Haskell.
You aren't going to write an OS, embedded software or some game using Unreal Engine with Go, but the overwhelming majority of problems aren't OSes, missile guidance or some EA games shit. If you're writing your bespoke CRUD application in Haskell or C++ or Rust, you're an idiot. If you're using Python and shipping your entire interpreter stack and dependencies to run on a remote server, then you're making problems for your future self.
Julian Peterson
malloc is definitely more than a single instruction.
Ryder Williams
thatsthepoint.xpm
no language without discriminated unions deserves your respect or your attention. C gets a pass. Oops--no passes left! That was the one pass. Gotta have discriminated unions now, sorry. No more passes for it.
Jose Morris
Gophers are even more retarded than Cniles.
Adam Ross
...
Leo Cook
No real-world experience confirmed. 20-something confirmed.
Carson Price
Javascript will dominate them all. Javascript is the English of programming languages: a disgusting mutt of different ancestries mashed together in a drunken furor with inconsistent rules and exceptions to rules everywhere. Like English, Javascript is the common language for the fucking globe. Everybody uses it, it's in every website, and you can't just go "we don't like it anymore we'll make a new one!" because that's how you get Esperanto.
This is the ideal programming language. You may not like it, but this is what peak code looks like.
hey, hey, hey, remember when the big complaint with Tk was that it didn't look native? and not a single match about how electron proves that this objection was never a real issue.
Colton Morgan
True enough. Its biggest problem is people trying to use it without reading the docs. Why? I see about an equal number of pro-Tk and anti-Tk comments there. I also see the OP drawing conclusions from uninformed posts, which I guess confuses the situation.
Ian Brown
I like Zig a lot, it basically delivers on its promise to be a better C Rust is interesting but overhyped and the syntax is unimaginably hideous
Aaron Hill
More like get thee to a nunnery amiright?
Parker Bell
The real question, user, is that if Lisp-homos like us can't even write a simple text editor, how could we ever hope to make our competing deliberately non-modern-web-compatible browser in Python?
Although, it is promising that users would actually probably be fine with a Tk-based browser and CSS would go into the trash where it belongs.
If the average programmer was halfway-competent and if the consequences of fucking up malloc weren't so serious, languages with mandatory GC wouldn't be necessary. But that's not the world we live in. We live in a world where the average programmer spends 50% of their time smashing together snippets they've randomly copypasted from stackoverflow, and 50% of their time being autistic on /r/programming.
If preventing those fuckups from fucking up means mandatory GC becomes ubiquitous, that's a sacrifice I'm willing to make.
Owen Bennett
You don't get to decide what everyone else does. But you can stop using other people's code and write all yours with GC, if you really want to.
Leo Gomez
Using non-native runtimes for rapid prototyping, or for simple high-level scripting in non-performance-critical components, is fine. Saddling finalized user shipping builds of software with non-native runtimes top-to-bottom is not.
I don't know about you, but my daily driver isn't a PDP-11. I simply do not give a shit about the marginal performance advantages I'd gain from endless fucking-around with manual GC.
But hey, if you get an autistic hard-on from fucking around with malloc like a dawn-of-time savage, go nuts.
Pretty much everybody else, too. At least with WASM, web software will be more cohesive. There will be a clearer distinction between distribution and source.
Joshua Miller
kys shill
Jonathan Parker
Imagine being this fucking stupid. Go back to whatever soy infused javascript project you were working on, finish it, and then kill yourself.
You don't seem like a happy person. Have you tried yoga?
Oh, that reminds me, I've got to get back to work on my current project, a job quotation web app written in Go. But don't worry, I'll paste a list of memory-related bugs in my project below, since you seem to enjoy them:
Parker Lee
This. The reason shits like soyreddit couldn't make a usable search engine (more like a working one) for years is because of soydevs.