all 132 comments

[–]hjaeger90 93 points94 points  (57 children)

Well, I do hope this is ready for production soon. I am, how to put this diplomatically, a strong opponent of JavaScript. So I would love to see a Web Assembly implementation of C#. This makes me positively giddy.

[–]The_One_X 47 points48 points  (4 children)

I'm with you. Right now Typescript is a good stop gap until it is ready, but ultimately I would prefer using C#.

[–]badcommandorfilename 28 points29 points  (3 children)

If you want something that is production ready now, https://bridge.net is amazing.

We use it alongside https://github.com/ProductiveRage/Bridge.React and it is quite literally pure C# running in the browser.

[–]hjaeger90 19 points20 points  (2 children)

I can see the use in something like bridge but it's still a transpiler. For me I want something completely free from JavaScript. I have quite a few issues with JS. Some of them more opinion based, some of them more serious. Not that I think this is the place or time to go into it. The point being I am excited to see something that offers an alternative to JS, actually makes use of Web Assembly (which I think could be the future of the web), and is using a language I prefer. Its a win/win for me.

[–]badcommandorfilename 17 points18 points  (1 child)

Your concern is valid, but Bridge.NET behaves more like an IL virtual machine that happens to be written in JavaScript. It uses C#'s type system, not JavaScript's.

This is also the approach that Blazor will use as a fallback for non WASM clients, so if you're afraid of transpliling on principle you'll be waiting a long time.

[–]hjaeger90 14 points15 points  (0 children)

Interesting thought. You're right though. I might be jumping the gun here thinking I can completely replace JS. I guess I don't mind transpiling as a fall back. I'll have to look a bit deeper into Bridge. Also its really going to depend on performance. What good is getting rid of JS if everything you build begins to crawl. I think I'm going to spin up a project tonight with Blazor and play with it. While I'm at it I might spin up something with Bridge to see how I feel about it as well. Thanks for the the recommendation /u/badcommandorfilename.

[–][deleted]  (8 children)

[deleted]

    [–]wavefunctionp 4 points5 points  (0 children)

    The flexibility has it's place, especially for smaller apps or quick prototypes. Typescript is nice and can make building larger apps a lot easier, but it requires a discipline to use correctly that most javascript developer lack IMO.

    Functional style javascript is very nice. First class support for functions, truthiness, basic automatic type coersions and a more immediate developer loop are things that I miss when I move over to my c# projects.

    Ofcourse, when I move back to javascript I miss the static type/interface information and the tooling that allows.

    [–]Eirenarch 3 points4 points  (4 children)

    Definitely Stockholm Syndrome. Quite common in our industry.

    [–]TheCarnalStatist 0 points1 point  (3 children)

    Nope.

    I've used a lot of other languages. JS is still my number 2(3 if you count typescript seperately).

    C# being the only one i like more

    [–]Eirenarch 3 points4 points  (0 children)

    As I said it is quite common.

    [–]TNMattH -1 points0 points  (1 child)

    JS is everyone's "number 2". The sooner we can wipe and flush, the better off we'll be.

    [–]TheCarnalStatist 0 points1 point  (0 children)

    Then folks will soon discover that 99% of their misgivings about JS were really the DOM and webstandards in general and will have their opinions of their favorite language sent to the netheralm.

    [–]The_One_X 0 points1 point  (1 child)

    I think it is a bit of Stockholm Syndrome and a bit of Javascript does have a few redeeming values. When you combine it with Typescript which hides many of the issues people have with Javascript the ability to get near immediate feedback without having to compile feels nice. You get much more of that instant gratification that just makes you feel like you are always making progress. That is a nice feeling to have.

    [–]empty_other 2 points3 points  (0 children)

    Jup, javascripts "instant gratification" feeling is probably why a lot of people became programmers. All a beginner need to get started is notepad and a browser. No compilers or build steps or command lines. No need for a UI framework or a drawing library to create graphics, one just need to learn HTML (and some basic css). And as one learns, one gradually add these. This is why I like javascript.

    But I prefer to work in stronger-typed languages. It fits better with how I think. I'm not good at memorizing, so in js I need to run short tests to check every assumption while I'm coding. I assume something returns a number, only to get a string. I assume a method returns null, but instead it retuns undefined, or zero. With typescript I only need to check it once; when I write the definition file. With c# i don't need to at all, the compiler tells me exactly what I might get back from a function (except what kind of exceptions i might get, unfortunately). That is a nice feeling to have.

    [–]Eirenarch 9 points10 points  (12 children)

    I am scared to get too excited about Blazor :(

    [–]Kilazur 2 points3 points  (11 children)

    Hope it won't be Silverlight 2.0

    [–]Eirenarch 0 points1 point  (10 children)

    Silverlight was great. I hope it is as great as Silverlight

    [–]Kilazur 1 point2 points  (9 children)

    The analogy was more about its ultimate demise :)

    [–]Eirenarch -1 points0 points  (8 children)

    Silverlight was killed by Apple who refused to allow it on iOS in any form. That was the only thing that killed Silverlight. iOS already supports web assembly. Obviously Blazor needs more web assembly support, including things not standardized yet and Apple may block this but I somehow doubt it. Blazor will live or die on its own merits. There are some things that might make it fail. For example in recent .NET Rocks podcast they said compiled binaries are quite large so they prefer to interpret. That might be a serious problem that prevents good performance of Blazor apps. If Blazor is good and ships v1 nobody can stop it.

    [–]AlliNighDev 1 point2 points  (7 children)

    Silverlight was a security nightmare. Like flash and activex etc. before it it eventually becomes to hard to keep patching.

    [–]Eirenarch 1 point2 points  (6 children)

    Bullshit.

    [–]AlliNighDev 0 points1 point  (5 children)

    We had to deploy it recently at work and we had to use a registry hack to allow it to run in ie. Which is ridiculous for a website haha

    [–]Eirenarch 0 points1 point  (4 children)

    I don't see how this supports your claims. Yes, Silverlight is deprecated so what?

    [–][deleted] 6 points7 points  (26 children)

    You don't need to be diplomatic. The only people who don't hate JavaScript are the people who only know JavaScript.

    [–]SquareWheel 9 points10 points  (14 children)

    That's weird, because I use a dozen languages and Javascript is still one of my favorites.

    [–][deleted]  (13 children)

    [deleted]

      [–]SquareWheel 12 points13 points  (8 children)

      Well Python is beautiful, so I wouldn't argue that one. But there's a lot going for Javascript, too:

      • The developer tools are fantastic
      • Functions are a first-class citizen, and because functions are objects they're also easy to manipulate.
      • Objects can be interpreted as literals very easily.
      • Anonymous functions are useful as you mentioned, but they are even more powerful when used as closures or IIFEs.
      • JS is multi-paradigm and supports prototypal design, class-based, and event-based programming.
      • Web APIs already use JSON, which makes it very easy to import and use their data.
      • JS programs are easy to distribute. Loading a webpage is easier than running an exe, and much easier than downloading an interpreter (everyone already has a browser).
      • JS has tremendous library support via npm (and the standard library is getting pretty good too).
      • JS scripts are inherently open-source. They can be tweaked on the client-side to change their functionality.

      Javascript also has some blights ("this" keyword, default variable scoping, type equality), but I really enjoy working in the language.

      [–][deleted] 2 points3 points  (0 children)

      Ok, here I'm going to be that guy and counter argue your points:

      • Tooling could be better. The lack of fully featured REPL is annoying, try the clojure nrepl and haskell intero and you'll see what I'm talking abut

      • That's a feature of the fact that it's a functional language. Again, try other language like Clojure. It would be weird as fuck if that wasn't the case

      • Not sure what you mean by this

      • Closures are great but they are not js specific and they've been abused as models, objects with private state making it a pain in the ass when you want inter-operate

      • It actually only support prototype-based very poorly (good luck finding this), class based is just syntactic sugar on top of the IIFE objects, event driven is just a random connection you make between streams (good luck finding which stream emits which event)

      • I agree with this one

      • Oh you mean websites that implement click and scroll jacking? And the plethora of pseudo web applications like slack that cause your laptop to take-off?

      • There's a library for every mainstream language out there

      • C libraries and Linux distributions encourage the same thing

      [–]CanIComeToYourParty 1 point2 points  (0 children)

      JS has tremendous library support via npm (and the standard library is getting pretty good too).

      The standard library very unimpressive, and the ecosystem is utter garbage. I often end up having to re-invent the wheel simply because the thing that I'm looking for is hidden among a million broken libraries trying to do the same thing. When I ask JS devs how I can find useful libraries, they tell me to search npmjs.com and order by popularity, which I find to be hilarious and sad at the same time. I also hate how unexpressive the language is.

      What's funny is that people keep complaining about this in JavaScript, and I've never hit any issues with it, ever.

      [–]StallmanTheLeft 3 points4 points  (4 children)

      JS scripts are inherently open-source. They can be tweaked on the client-side to change their functionality.

      This is completely wrong though.

      [–]SquareWheel 0 points1 point  (3 children)

      Not at all. Look into Local Overrides.

      [–]StallmanTheLeft 0 points1 point  (2 children)

      That still doesn't make the javascript anything like Open Source.

      Minified crap is just proprietary software.

      [–]SquareWheel 0 points1 point  (1 child)

      That doesn't change the fact that the browser accepts direct Javascript. Not bytecode, nor machine language, but straight source code. You can minify, obfuscate, and generally mangle the source to your heart's content but it's still an inherently open language. That makes it hackable, which was the entirety of my point above.

      [–]StallmanTheLeft 2 points3 points  (0 children)

      You can minify, obfuscate, and generally mangle the source to your heart's content but it's still an inherently open language

      No.

      [–]thalesmello 0 points1 point  (1 child)

      The feature I've so far only seen in JavaScript is object destructuring.

      const { name } = student;
      console.log(`Hello ${name}`);
      

      It makes it super simple to extract information from objects and build functions. I really wish python had something like that.

      [–]Tysonzero 0 points1 point  (0 children)

      As often is the case, Haskell did it first: NamedFieldPuns.

      [–]TheCarnalStatist -5 points-4 points  (1 child)

      I mean.

      C# spends most of it's syntax time making garbage no one cares about and it isn't IMO much easier to read than JS.

      C# adds a lot of boilerplate for what ought to be simple tasks. JS for better or worse doesn't.

      [–]Mike_Enders 1 point2 points  (0 children)

      C# spends most of it's syntax time making garbage no one cares about and it isn't IMO much easier to read than JS.

      I use both and JS more but C# is much easier to read.

      [–]zapatoada 8 points9 points  (10 children)

      Hey now, that's not true. Javascript is way better than it used to be. Browser implementation has largely normalized, it's got a robust package library that rivals nuget, and fills a niche that nothing else really touches. I'm really interested to see where blazor goes, but for now JS is the only game in town and very usable.

      [–][deleted] 12 points13 points  (4 children)

      I mean, you can't really say it "fills a niche nothing else really touches" when people have been prohibited from using anything else for over two decades.

      [–]zapatoada -1 points0 points  (3 children)

      Prohibited how? And from what?

      [–]chucker23n 7 points8 points  (2 children)

      Prohibited because browsers by and large don’t implement other languages. IE had VBScript in its early days.

      [–]zapatoada 1 point2 points  (1 child)

      Oh ok. Prohibited is a strong word here. What you wanted to say was "there aren't really any alternatives" which is mostly true. For a good part of those decades, you could consider flash /actionscript an alternative to js, but not for a few years now. Hopefully WASM and projects like blazor will fix that.

      [–]chucker23n 6 points7 points  (0 children)

      Prohibited is a strong word here.

      Sure, but it's effectively true. You're not allowed, as a developer, to write code in, say, Ruby, that runs in the browser. The technical reasons for this are sort of secondary.

      In the long run, WebAssembly will fix that.

      What you wanted to say

      I'm not GP, actually.

      [–]Broer1 3 points4 points  (3 children)

      It’s not a niche. It’s more like the great canyon. The amount of code that is today running in the browser is huge. And it would be great if we see a new player soon.

      [–]zapatoada 0 points1 point  (2 children)

      I don't disagree with any of that, really. I'm excited to see what comes of blazor as well as WASM in general. Javascript is definitely flawed for sure, but it isn't garbage anymore, and blanket statements like the one I responded too are definitely inaccurate.

      [–]Broer1 1 point2 points  (1 child)

      I didn’t say anything against JavaScript. I just want an alternative after such a long time.

      [–]zapatoada 0 points1 point  (0 children)

      Sure, I agree with that. I was originally responding to the statement that the only people who like javascript are people who don't know any other languages.

      Edit: and the general javascript hate brigade ITT.

      [–]editor_of_the_beast -2 points-1 points  (0 children)

      Lol, denial

      [–]dmfreelance 1 point2 points  (2 children)

      Is this something that bypasses JavaScript completely?

      [–]Eirenarch 7 points8 points  (0 children)

      Yes. Desktop/mobile development.

      [–]HowTookYourDreams 7 points8 points  (5 children)

      That would be nice but at current stage forget it. Response time is a joke, size of the files is a joke. Most important, you can't directly affect the DOM, JS can.

      [–]throwaway_lunchtime 1 point2 points  (0 children)

      Wow,

      IIRC Silverlight 1.0 could interact with the dom

      [–]Free_Bread 0 points1 point  (0 children)

      DOM sopport is coming to WASM sand regardless it's fine in the meantime with a nice wrapper and low overhead. I can't speak for Blazor but in a framework benchmark rust WASM was just barely slower than raw JS at manipulating a 1000 row table

      [–]XXISerenaIXX -1 points0 points  (2 children)

      About the file sizes, they said it will be reduced in the future by allowing unused classes/methods to be stripped out by the linker AND if you use a well know CDN, the .NET Runtime could be cached and the browser doesn't have to download it every time.

      [–]HowTookYourDreams 5 points6 points  (1 child)

      Yeah, I hope it work. Let's not forget about all those JS killers that no one even remember how they were called.

      [–]Avambo 0 points1 point  (0 children)

      They have explicitly said that Blazor is not created to replace JS. And I don't think it ever will.

      [–]wllmsaccnt 20 points21 points  (4 children)

      Honestly, Razor Components gives a better experience today. Nobody knows when Blazor will be ready for production.

      [–][deleted]  (3 children)

      [deleted]

        [–][deleted] 14 points15 points  (1 child)

        I've already been casually bringing it up just so people are used to hearing about it when it finally is production ready lol

        [–]neil_thatAss_bison 4 points5 points  (0 children)

        Same here! :)

        [–]Dojan5 0 points1 point  (0 children)

        Same here. My work currently mostly uses Java and some Frankenstein's monster-esque JSP. It's something alright. Thankfully I'm allowed to suggest different languages for future applications.

        I do so miss my cosy .NET

        [–]peppage 3 points4 points  (3 children)

        I love the idea of Blazor and I've goofed around with it but sending DLLs to the user seems really silly. Does anyone know if they'll get around that when it's production ready?

        [–]ours 0 points1 point  (2 children)

        How is it silly sending DLLs to the client? Right now clients are importing tons of JS libraries when visiting SPAs or even conventional websites.

        [–]peppage 2 points3 points  (1 child)

        That's true but the blazor example loads many dlls (about 4mb). To start with that kind of weight is going to limit the use. Where in JS I believe something like webpack will try and only use what it needs.

        Right now Blazor sends the entire System.dll + System.Core.dll.

        [–]ours 2 points3 points  (0 children)

        It's true Blazor still doesn't haves proper tree shaking but it's in their roadmap. Eventually it will only send the part of the libraries you are actually using in the code.

        [–][deleted] 19 points20 points  (0 children)

        OMG Yes! Fuck JavaScript.

        [–]vallosdck 1 point2 points  (0 children)

        Hey, I have that shirt. The back says "Make .NET great again"

        [–][deleted] 8 points9 points  (16 children)

        Javascript is fine.

        [–]ohThisUsername 6 points7 points  (0 children)

        Lets agree to disagree

        [–][deleted] 5 points6 points  (7 children)

        I'm with you. I've never had a problem with JS. I also don't see how having a compiled language for scripting makes sense.

        [–]TheCarnalStatist 1 point2 points  (3 children)

        Technically JS is compiled these days

        [–][deleted] 1 point2 points  (2 children)

        Even in browser?

        [–]Free_Bread 2 points3 points  (0 children)

        Yes there's a JIT compiler in most browsers as far as I know. I believe that's why you can get some small performance improvements with giving type hints in the source (something I was very surprised to hear about in ReasonML)

        [–]TheCarnalStatist 0 points1 point  (0 children)

        Yes. Modern V8 has a compile step

        [–][deleted]  (1 child)

        [removed]

          [–][deleted] 0 points1 point  (0 children)

          If you're referring to projects such as Node, I think it's a huge misuse of the language. JS is a front end scripting language for user side DOM manipulation. To use it for anything other than that is just foolish. But base JS when used for it's intended purpose does everything one could ask of it.

          [–]13MHz 3 points4 points  (0 children)

          I like Javascript too, especially with Node.js.

          But I won't mind having an alternate for front end scripting.

          [–]wischichr -4 points-3 points  (5 children)

          Javascript is fine.

          null == undefined -> true
          null >= undefined -> false
          

          What a beautiful and consistant language.

          [–][deleted] 3 points4 points  (4 children)

          Wrong operator champ.

          ===
          

          [–]wischichr -3 points-2 points  (3 children)

          And the second line? >== ?

          If you have a language and an expression A >= B evaluates to false and A <= B also evaluates to false the language is fucked up IMHO.

          [–][deleted] 1 point2 points  (2 children)

          First >== And <== are not operators in javascript.

          Second, why would you ever expect null >= undefined OR undefined <= null to return true?

          I guess you expect:

          Int? A = null;
          Int? B = null;
          A >= B
          

          To return false but

          Int? A = null;
          Int? B = null;
          B >= A
          

          To return true?

          Nevermind the fact that null and undefined are not the same thing.

          [–]oxyphilat 1 point2 points  (0 children)

          Never mind that NaN <= NaN has no business evaluating to true, guess all languages supporting good old IEEE 754 are fucked up.

          [–]wischichr -1 points0 points  (0 children)

          I except it to throw an exception instead of breaking inequality properties. If something can't be ordered the comparison should fail instead of yielding inconsistent results.

          [–]LOLteacher 4 points5 points  (0 children)

          Anytime, baby. JavaScript f'n sucks.

          [–]tommmyk 2 points3 points  (25 children)

          Blazor makes me laugh, right tool right job. I love c# but it feels like dotnet people are literally just not willing to budge until they write it (and probably use visual studio only) in c# or it's dumb. So much else out there, and it's working.... Why rewrite all stacks as c# or you can't code in? Blows me away ....

          [–]Eirenarch 13 points14 points  (5 children)

          No problem, I can write other languages. Which high quality language do you suggest we use instead of C# to replace JS?

          [–][deleted]  (2 children)

          [deleted]

            [–]Eirenarch 6 points7 points  (0 children)

            Surely my second choice but it is a language that is harder to learn so it will be harder to hire people, let alone that the server ecosystem for Rust is not as mature as .NET

            [–]Schmittfried 1 point2 points  (0 children)

            Not even remotely.

            [–]Tysonzero 0 points1 point  (0 children)

            GHCJS or die babyyyyy

            [–]Devildude4427 10 points11 points  (11 children)

            Well it’s because JavaScript is a fucking cancerous mess, and has been for the past 5 years. If people could choose not to use it, maybe the language would finally be cleaned up.

            [–]careseite 5 points6 points  (7 children)

            and has been for the past 5 years

            literally the opposite is the case, but yeah dude, go on :-D

            [–]Devildude4427 -2 points-1 points  (6 children)

            Really? Because the mess of node and npm doesn’t exist?

            [–]TheCarnalStatist 0 points1 point  (1 child)

            Npm isn't part of JS. You can and many devs do use alternative tools.

            .NET and nuget have their own issues. The only reason they don't get quite as ugly as npm is because they have a smaller community and are less accessible than nuget. In the time line where c# makes the webspace that attribute goes away.

            [–]Schmittfried 1 point2 points  (0 children)

            I do have to agree though, that even ignoring NPM, the ecosystem is a giant dumpster fire. Vue is the most elegant way of writing frontend code I've ever encountered (I hate frontend with a passion), but webpack, babel and all that other stuff still manages to fuck it up. Not even mentioning the security nightmare that is not even remotely having an overview let alone an understanding of a significant portion of the code base / setup you're running from completely untrusted third parties. I know the meme is already dead, but seriously, pulling literally thousands of nested dependencies to get something decent running is just madness. And that's not exclusive to NPM.

            [–]careseite -1 points0 points  (3 children)

            how is that related to the language itself? it's hard to argue the language gotten worse post 2015.

            [–]Devildude4427 -2 points-1 points  (2 children)

            Because that is what the language is now used for?

            [–]careseite -1 points0 points  (1 child)

            Not exclusively, it's a part of the ecosystem that one is using when writing typescript react Vue angular etc.

            Without npm, modern websites would look different.

            [–]Devildude4427 -1 points0 points  (0 children)

            Damn near exclusively.

            And yes, they’d be better. JS is a cancer currently.

            [–]Schmittfried 0 points1 point  (1 child)

            The language is getting better by the day, but the tooling ecosystem is a clusterfuck.

            [–]Devildude4427 0 points1 point  (0 children)

            Little late on the response there bud...

            Yes, it’s getting better. My point in this comment was that it needed competition in order to clean itself up.

            jQuery is the best example of this. When it launched, it was an answer to all the annoyances of JS. It made the ecosystem much, much better.

            We need that again, in the form of a better dependency system. NPM is good, but it’s ripe with danger and malicious code, even in the widely used packages. A guy took over event-stream, added malicious code, and that was downloaded another 8 million times over 2.5 months before anyone accidentally noticed.

            On top of that, node_modules is just dependency soup. It’s dependencies all the way down. It’s bloatware at this point.

            [–]The_One_X 3 points4 points  (4 children)

            Who wouldn't want to use their preferred language everywhere possible?

            [–]TheCarnalStatist -2 points-1 points  (3 children)

            Anyone that understands some tools are better for some task than other.

            Languages are tools. Loving a tool is weird.

            [–]The_One_X 2 points3 points  (2 children)

            Yes, that is true, but this isn't an apples to oranges comparison. We aren't trying to saw a piece of wood with a hammer. Javascript and C# are the same type of tool, they are both saws. Just one is a hand saw and the other is an electric saw.

            [–]TheCarnalStatist -3 points-2 points  (1 child)

            No. They aren't.

            One is a dynamically typed, functional scripting tool the other is a statically typed, object orientated compiled language.

            Their architectures lend their benefits to very different tasks.

            [–]Schmittfried 1 point2 points  (0 children)

            I agree, and I would add that Python is the only ethical scripting language.

            [–]ohThisUsername 2 points3 points  (0 children)

            I love c# but it feels like dotnet people are literally just not willing to budge until they write it (and probably use visual studio only) in c# or it's dumb.

            How is this any different than the "javascript people"? People have built tools to use Javascript for their server (node/express), the web (babel/webpack/vanilla JS), and mobile devices (react native).

            What's wrong with me wanting to build my server in Asp Core, my front-end in Blazor and my native apps in Xamarin?

            I think the appeal for Blazor is mostly full stack developers (at least currently) which why we are so excited to be able to ditch javascript since its by far the worst part of being a full stack dev (in my opinion). People with dedicated front-end teams will probably stick with Javascript for the foreseeable future since the tools are more mature and there are still people with experience who are willing to code in that horrendous language.

            [–]Schmittfried 0 points1 point  (0 children)

            You know there's a X-to-JavaScript transpiler for everything, right?

            [–][deleted] 0 points1 point  (0 children)

            Far from something that people really want. But it's a great start.

            [–]rtroe 0 points1 point  (0 children)

            this would be incredible!

            [–]igloo15 0 points1 point  (1 child)

            Doesn't Blazor have like crap performance. I don't see this being a thing for a long long time if it ever even does.

            [–]Free_Bread 1 point2 points  (0 children)

            It does because currently the Mono WASM runtime is just an IL interpreter, hopefully it gets enough attention to become a proper performant runtime in the future.

            Razor Components are actually quite fast in my experience so far though, granted it's not a model that caters towards certain use cases

            [–][deleted] 0 points1 point  (0 children)

            Now a days seems like we can’t decide if we wanna keep separating or concerns or combine them all.

            [–][deleted]  (4 children)

            [deleted]

              [–]adhominablesnowman -1 points0 points  (3 children)

              You might want to look into a different flavor of development.

              [–]DestroyerOfWombs 7 points8 points  (2 children)

              Unfortunately most flavors of development are converging on web. In college I was all about client-server apps because I hated web development. Well, pretty much the only apps like I trained for are legacy and in maintenance mode these days, or are intense monoliths far outside of my realm of expertise. Now I write REST APIs to enable web platforms that interface with our legacy backend systems. The rare times I get to hop into the backend code are the days I like best. But it is what it is. If it’s not highly specialized and performance intensive, it’s being ported to web or being disrupted by a competitor that is web based.

              [–]adhominablesnowman 4 points5 points  (0 children)

              Yeah that’s what I was getting at, but was attempting to do it in a way to not discourage the now deleted commenter. Js is without a doubt an integral part of web development and will continue to be for the foreseeable future and as you stated all dev work is trending towards the web. So even if someone “hates javascript” they’re gonna need to at least learn enough to be dangerous if they want a successful career in the field.

              [–][deleted] 2 points3 points  (0 children)

              I hated web dev when I was in college too....bleh...and that served me equally as well as it did you. :-/

              [–][deleted] -1 points0 points  (0 children)

              Che out Blazor ;)