5 ms·
Language success is in large parts driven by what system adopts that language. Objective-C’s success was driven by iOS. C’s success was driven by Unix. C++’s
by RcouF1uZ4gsC 5y ago
Language success is in large parts driven by what system adopts that language.
Objective-C’s success was driven by iOS.
C’s success was driven by Unix.
C++’s early success was driven in large part by 90’s GUI frameworks ( MDC, OWL, Qt, etc.
I think Wasm is shaping up to be huge in that you can safely run, high performance code across multiple operating systems/CPU’s. Of all the languages, I think Rust has the best WASM tooling, and the 2020’s may end up being the WASM/Rust decade.
- nojito 5y ago> I think Rust has the best WASM tooling, and the 2020’s may end up being the WASM/Rust decade. Still pales in comparison to .NET
- miohtama 5y agoLook to the future, not to the past.
- easton 5y agoI mean, Microsoft seems to be making it clear that the replacement for old-school ASP.NET formsy apps to be Blazor, which is C# you write that runs in the browser via WASM. Makes making SPAs easier if that’s your stack. https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blaz...
- avgDev 5y agoI'm rewriting an MVC 5 app in Blazor as we speak. I'm "full-stack" but my JS skills are pretty low compared to C#, which I am extremely comfortable with. It is actually extremely fun to work with. Havin ability to inject a service directly into a page is amazing. I'm hoping Blazor gets more popular. However, I will see how this project goes and if I hit any major road blocks, so my opinion my shift. So far it seems like a great option.
- rafale 5y agoWhat I would really love is to see XAML-like layout in the browser. CSS is a mess I can never wrap my mind around even with the flex model. Whereas the XAML model is much simpler (a measure pass to size components, an arrange pass to lay them).
- wvenable 5y agoXAML's layout components are much easier than HTML/CSS but styling XAML components is way over-complicated compared to CSS.
- pjmlp 5y agoThankfully there are tools like Blend.
- mmis1000 5y agoI think css is mostly a sane low level layout system (which allow you to produce whatever pixel you want, like opengl or whatever) instead of a predefined component system. It will never have those nicely designed components buildin (because it is not its goal). And the complexity price comes from the flexibility it demands.
- exdsq 5y agoLook to what’s being used in prod, not HN hype.
- ummonk 5y agoOn the one hand the proliferation of features such as WebGL, WebRTC, WASM, etc. greatly increases browser attack surfaces. On the other hand, it allows a single relatively constrained system to focus on for security hardening / sandboxing. Regardless, being open standards, not obnoxiously object oriented, and better designed to interoperate with normal HTML content, the modern HTML5 ecosystem is certainly way more promising than Java applets / Flash / Silverlight.
- Shadonototra 5y ago> I think Rust has the best WASM Nope, C/C++ has, emscripten remains undefeated You don't just put a name and expect things to skyroket C++/Go/C# has more chance to become the standard toolkit for WASM than rust rust problem, is people promotes more the "rust"™ rather than their project, the crabs definitely shadows them, it's unfortunate
- the_duke 5y agoYour comment seems to rooted in your dislike of Rust, rather than provide any technical arguments. The Rust tooling certainly was the best, no question. As the Mozilla WASM devs have moved on the WASM tooling has stagnated, sadly, and The C++ tooling has caught up. Languages like C# and Go are inherently worse for WASM because they require GC and have big runtimes they have to bring along.
- pjmlp 5y agoLooking forward to a Rust framework than can actually compete with Blazor, nope Yew isn't it.
- gk1256 5y agoI can dislike Rust too, but the facts are facts. Emscripten is the leader of WASM world and lot of its code is based on C++.
- pacificat0r 5y agoEmscriptem is targeted at browsers and for that rust does have the target wasm32-unknown-emscripten However, when targeting wasm outside browsers wasm32-wasi is usually a better option.
- jedisct1 5y agoWhen targeting WASI or for standalone (no wasi, no emscripten) WebAssembly, Zig is currently the best option, IMHO. Modules are small and fast, virtually all existing code is compatible out of the box and the standard library comes with full WASI support. And enabling runtime-specific optimizations such as SIMD is as simple as adding a compilation target flag. While I maintain quite a few Rust crates specifically designed for WebAssembly/WASI usage, my personal experience is that Zig is often better, even from a performance perspective. TinyGo is also amazing at producing optimized modules, and a lot of existing Go code can be compiled with it without any changes.
- astrange 5y ago> Objective-C’s success was driven by iOS. Well, Objective-C is from 1984 and its major success was being cloned to make a programming language called Java.
- xxs 5y agoWhile Obj-C had a massive influence to java, I'd not call it clone - even Java 0.9 is a lot better language than Obj-C of 2010 (or so). The saving grace of Obj-C - it could include normal C just like that.
- pjmlp 5y agoWell, https://cs.gmu.edu/~sean/stuff/java-objc.html https://cs.gmu.edu/~sean/stuff/java-objc.html And Java EE started as an Objective-C project, https://en.wikipedia.org/wiki/Distributed_Objects_Everywhere https://en.wikipedia.org/wiki/Distributed_Objects_Everywhere
- astrange 5y agoSwing also seems to be heavily inspired by AppKit. Although leaving out messaging and leaving in both int and Integer are weird choices if their language was supposedly inspired by Smalltalk/ObjC.
- pjmlp 5y agoPerformance mostly.
- xxs 5y ago>Although leaving out messaging and leaving in both int and Integer Both are great choices... from performance point of view. Java is still modeled after plain C 1st and foremost. int should be the default and Integer(and Long) should be avoided. Up to java1.5, it took a manual operation (Integer.valueOf/intValue) to convert, so it was not abused as much. Marked integers have been in the works and they take a significant engineering effort for a nice to have feature. When collection framework was introduced, it should have had primitive Maps/Lists - there was a regret (around java8 times) not including them initially - Streams attempted to amend the damage. The primitive types map directly to the hardware. Wrapped ones - they are pointer to an immutatable primitive and enjoy little optimization from the JIT. As for swing, beans and properties - I'd say Delphi would have the most similarities.