How so? Mobile post-dates java and c++ by at least two decades
It means that those languages were hard to work with in the first place, and mobile brought a new set of APIs and other paradigms to be dealt with, then you had the web, the abandonment of Flash, etc to be dealt with it.
Take Flash for instance, it worked well enough for many companies, even though it was bug ridden and prone to exploits, mostly because it is closed source. So the big guys decided to replace Flash with HTML 5, which after all these years is nowhere near Flash where performance is concerned. Donāt forget that after conspiring to drop Flash, Google still supports Flash in Chrome. A more sensible approach would have been to open source it, unless the bugs were even worse than could have been imagined.
Mozilla wanted to do a replacement, and settled on Shumway, a failed attempt to recreate Flash in Javascript.
Common sense says that it would have been better to implement Shumway in C++ and use asm.js or some other such technology to compile it down to Javascript. Now attention has switched from asm.js and is now going to WebAssembly which seems to be asm.js by another name because they couldnāt claim the asm.js standard for themselves.
So the question is - when is this unending circus of new Save The World
technologies going to end, and what other New Initiatives
can we look forward to.
What you see here is the big companies making life difficult for small development shops, because they have enough financial power to muscle through these inefficiences by throwing more people at them. They are simply trying to maintain their advantage because with cheap powerful hardware available in the cloud, their main advantage is their ability to power on using inefficient technologies.
This is what I found when I visited the webassembly.org page, right up at the top.
Why am I not surprised? Last time I heard these from these standards bodies and their members, HTML5, Javascript and CSS, would cure all development ills, cure cancer and save the world. So what do we need WebAssembly for?
WebAssembly is currently being designed as an open standard by a W3C Community Group that includes representatives from all major browsers.
Maybe [quote=āvonH, post:165, topic:103ā]
C++, Java and Javascript.
[/quote]
Maybe in old days but now thx to LLVM is easier to port new languages like Rust
https://softwareengineeringdaily.com/2017/04/10/llvm-with-morgan-wilde/
The some plus for WebAssembly
https://softwareengineeringdaily.com/2017/03/31/webassembly-with-brendan-eich/
The issue is what difference it makes to the Web as that is what it targets.
What does WebAssembly bring that tools targetted at the desktop were not capable of?
If in the last 20 years developers targetted the different platforms with their own dedicated tools what difference would have made?
It all comes down to Microsoft, Google and Apple fighting each other and the bit players getting messed about. None of these companies have any desire to cede any competitive advantage. I donāt suppose you noticed that Apple does not allow Firefox to run on its mobiles and you may have forgotten these.
When the major players are competing among themselves and everyone else, slow progress is definitely guaranteed. Given how cheap Chromebooks and laptops are do you think Microsoft and Apple are interested in supporting a standard which allows cheap devices to run rings around their establish software (Microsoft) and expensive hardware (Apple)?
The WebAssembly targets browsers and this is the only one thing that all big players could agreed on after lesson learned form flash and silverlight dead.
Weāll be looking forward to the incompatible implementations. I canāt help being cynical.
Donāt forget that a few years ago Microsoft insisted that they were not going to support WebGL because it was insecure.
I will not go into a rant about Go here, it is not the place for it.
But let say that i consider Go as the āmodernā Perl : it may feels nice and easy right now, but it is deeply unsound and based on foundation that are deeply mistaken.
I agree, every time I look at it, it seems so, non-solid and incomplete, and not in a way that the language is not finished, but in a way that it was not fully thought outā¦
I just finished a course on Haskell, and Iām eyeing at Prolog now. Logic programming seems like a fascinating idea.
Yes I know this
I finished http://www.seas.upenn.edu/~cis194/spring13 . Itās an introductory course for Haskell. The haskellbook.com that you are doing should include all the contents of cis194 in it, so you can keep going through it.
Funny, I was just about to post that.
Iāve been reading the Pony tutorial, and while itās quite different from other languages I think it hits the nail on the head. It has all the strengths of Rust (which Iām also interested in) but the Actor model built in. Very cool.
I would seriously like to invest on:
- OCaml - MirageOS looks intriguing
- F# - for day to day work in .NET
- nim - more so than Rust for arbritary reasons
Also a JS transpiler, being it elm, PureScript, BuckleScript or nim
And for the fun of it I would really like to have some Haskell and Idris and Pony (update)
- elm
- idris
- rust
- nim
I still use Go occasionally and I love it for the things I used it in ā but Iād never do web development with it. Itās pretty damn fast, yes, but the complexity and tech debt you can accumulate in a bigger app very quickly outweigh the benefits of the language. Not to mention the panics that can kill your service instead of simply restarting it (cough cough, like Elixir, cough).
Iāve successfully used Go for mega-fast microservices however; after consulting with flame graphs I targeted the three slowest endpoints in an older app I maintained and I simply made three laser-focused small apps that worked between 200x and 500x quicker than the Rails endpoints ā thatās not an exaggeration, it has been measured.
Having said that, I much prefer Elixir and I only get more passionate about it with time. I donāt mind paying some raw performance penatly for a more consise language with very solid concurrency primitives inherited from Erlang. Macros are indeed extremely powerful in Elixir as well. Phoenix
, Ecto
and Absinthe
are unlike anything Iāve ever came across in my 15Ā½ years of professional programming and I aināt letting go of them for a while.
Very interested in Clojure still. I very much would like to have a replacement for C and C++ but I am not sure if it should be Rust, Nim or something else.
Really D has been the replacement for C/C++ for a long time (since it apparently and finally settled down) but its stdlib needs some help, the language is definitely capable though.
I see Rust becoming the takeover over C++ though, at least once it gets something anywhere near the power of C++ templates (which it does not have yet).