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.
(W)ASM isn't much worse if any than obfuscated js.
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.
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.
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?
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.
Basically haskell programs can be transformed in mathematically magic ways such that the result semantics is the same but the execution is much faster.
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.
C is the only language ever. No, I have never bothered learning about another languages.
< 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.
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.
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.
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
Julia isn't in competition with these languages. All of them are trying to replace C, whereas Julia is trying to replace Matlab.
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.
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.
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!
valid attitude IMHO. Based.
Cnile impostor spotted unbased
It is absurd to call developers engineers at all. Even what the best programmers do is nothing like engineering.
Kubernetes? What the fuck do you want?
Basically true, but C++ is a valid counter-argument.
Wow, you are one pissy little bitchboy
The Go defense force is out in full force it seems.
wow, I might be offended if you'd said anything meaningful at all.
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.
malloc is definitely more than a single instruction.
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.
Gophers are even more retarded than Cniles.
No real-world experience confirmed. 20-something confirmed.
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.
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.
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
More like get thee to a nunnery amiright?
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.
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.
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.
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:
This. The reason shits like soyreddit couldn't make a usable search engine (more like a working one) for years is because of soydevs.