Angular.js is dead, so let's talk about everything else



  • @blakeyrat said:

    I think you need to read Frederick P. Brooks' essay No Silver Bullet again. It's just as true today as it was when it was written.

    The Mythical Man-Month has aged very well also.


  • Discourse touched me in a no-no place

    @tar said:

    Who is this "Goose", and why is he listed on IMDB?


  • Banned

    @flabdablet said:

    Here's an influential Netscape developer's take on this issue.

    The guy's talking about open source; I'm pretty sure Netscape wasn't open source.

    @lucas said:

    Browser side apis that aren't anything to do with JavaScript might change in the future and then you are stuck using a depreciated framework which you have to maintain your own incompatible fork of it.

    I'll ask again: is AngularJS not pure JavaScript? Because if it is, your post is totally irrelevant.

    @FrostCat said:

    No, Goose. That's even how he's listed in IMDB.

    From IMDB:

    Full name: Lt. (j.g.) Nick Bradshaw. Callsign: Goose


    @boomzilla said:

    Chrome, get off @Gaska's lawn!

    It did. Sadly, Opera is getting worse and worse too. But it's still bearable for now.


  • Discourse touched me in a no-no place

    @Gaska said:

    > No, Goose. That's even how he's listed in IMDB.

    From IMDB:

    Full name: Lt. (j.g.) Nick Bradshaw. Callsign: Goose



  • That's silly—why would they have a guy playing a goose in Top Gun? I don't remember that part...


  • Banned

    Hey, look! They're wrong about Anakin's name too!



  • @Gaska said:

    I'll ask again: is AngularJS not pure JavaScript? Because if it is, your post is totally irrelevant.

    You can ask as many times as you like, but if you you are going to deliberately ignore what I said to make yourself sound correct there is little point in me repeating it.


  • ♿ (Parody)

    @lucas said:

    Thanks angular team, making all the stuff I learnt a year ago obsolete.

    To be fair, it would have been obsolete in a year anyway as soon as someone else released a new hipster framework that made developers feel even smarter and promised yet another revolutionary way to avoid adding actual business value to the problems they are paid to solve.

    squishly.io- your nifty new MCCV web framework that is even more awesome than bacon



  • While it does seem like that, mainly because of "This is the new flavour of the week". However many of these frameworks are pretty much a variation on a theme much like many of the server side frameworks.

    The reason why there seems to be a new MVC framework every week is because:

    1. Nobody seems to know WTF they are doing.
    2. Pretty much every make and model of handset seems to have it own unique set of bugs. Desktop browsers for the most part things just work in.
    3. Every single one of the existing frameworks has a horrific problem.


  • [i][b]bacon.js.io[/b][/i]—now available on github.

    Forget everything you ever knew about webdev, you squares! Watch as [i][b]bacon.js.io[/b][/i] does web stuff only webblier and more stuffy than was possible priorly.

    Nosql-compliant; jQuery-compatible; supports HTML6 and Web 2.5. Be the envy of all your loser friends. Get the girls, kill the baddies! Be so ahead of the curve that it actually hurts!



  • @lucas said:

    3<nbsp>. Every single one of the existing frameworks has a horrific problem.

    I wonder if that's because...
    @lucas said:
    1<nbsp>. Nobody seems to know WTF they are doing.


  • ♿ (Parody)

    @tar said:

    Get the girls

    Ya had me going up until that. What if a non-hetetocismale saw that, and got offended?



  • @apapadimoulis said:

    What if a non-hetetocismale saw that, and got offended?

    It was actually supposed to be a subtle reference to a obscure British 90's band, although evidently I meffed up the pluralization of the phrase in question, so I deserve any anti-patriarchal scorn I have brought down upon myself.



  • @tar said:

    webblier

    ++



  • Someone should "release" a "next gen" "JavaScript" "templating" "library" that wraps document.write and does not add any additional functionality just to see what would happen.



  • @ben_lubar said:

    Someone should "release" a "next gen" "JavaScript" "templating" "library" that wraps document.write and does not add any additional functionality just to see what would happen.

    You need to replace document.write with document.createElement.

    Yes it already has been done.


  • Banned

    @lucas said:

    You can ask as many times as you like, but if you you are going to deliberately ignore what I said to make yourself sound correct there is little point in me repeating it

    All I'm saying is, as long as browsers will still support JS as it is now, old Angular is going to work, right? No new stuff, but old stuff will be fine? Amirite?


  • ♿ (Parody)

    @apapadimoulis said:

    What if a non-hetetocismale saw that, and got offended?

    Just don't post about the framework on tumblr?



  • @tar said:

    That's silly—why would they have a guy playing a goose in Top Gun? I don't remember that part...

    You don't remember?? Gaaa....

    It's a major plot point... Goose gets sucked into Maverick's engine, causing him to crash off Point Mugu.....

    And while Kelly McGillis is nursing him back to health, they fall in love.

    What movie did you see?



  • @anonymous234 said:

    Then rename it to "Angular Classic 2.0" and the other one to "Angular Modern" for extra confusion. T

    The obvious choices are Standard Angular or Common Angular.


    Filed under: V3 will migrate to tri-angular. Yes I am ashamed of myself.

  • BINNED

    @tar said:

    bacon.js.io—now available on github.

    Forget everything you ever knew about webdev, you squares! Watch as bacon.js.io does web stuff only webblier and more stuffy than was possible priorly.

    You had me at bacon.



  • @ben_lubar said:

    Someone should "release" a "next gen" "JavaScript" "templating" "library" that wraps document.write and does not add any additional functionality just to see what would happen.



  • @tar said:

    supports HTML6 and Web 2.5

    I'm pretty sure we must be at Web 3.5 by now.



  • @ben_lubar said:

    Every docker instance out there is running on Go. That includes this forum.

    Was that supposed to be an example of a non-crappy thing?



  • @PJH said:

    http://www.joelonsoftware.com/articles/fog0000000069.html

    Yes - I know - Joel. But he does have some good points to make.

    You know, it's hard to use this particular example as a reason to not rewrite code, seeing as how the product Joel is talking about became Firefox, which killed IE6's strangehold; reignited the browser wars; and brought about the web as we know it today.



  • @Gaska said:

    Hey, look! They're wrong about Anakin's name too!

    David Prowse was the actual guy in the suit, and his lines were later dubbed over by James Earl Jones.

    https://www.youtube.com/watch?v=ITMnUxxvMyo



  • @powerlord said:

    You know, it's hard to use this particular example as a reason to not rewrite code, seeing as how the product Joel is talking about became Firefox, which killed IE6's strangehold;

    Netscape's development idiocy caused the "IE6 stranglehold", which is what I assume you meant to type.

    So you're basically saying: "cheers to Netscape for causing a problem, then really, really, really, gradually, eventually, getting around to fixing the problem they caused!" Yay!



  • @blakeyrat said:

    Netscape's development idiocy caused the "IE6 stranglehold", which is what I assume you meant to type.

    So you're basically saying: "cheers to Netscape for causing a problem, then really, really, really, gradually, eventually, getting around to fixing the problem they caused!" Yay!

    My, we are full of buttumptions today, aren't we?

    Netscape 4 was terrible. Even without IE4 being bundled with everything, if they didn't do some drastic improvements, Netscape would have lost the war.

    As a reminder of just how bad NS4 was, let me remind you that the layer element was the only element that supported DOM inserts, while IE4 allowed elements to be inserted anywhere.

    This was back when "dynamic HTML" was the new buzzword and everyone wanted to use JS to manipulate pages.

    The reason why Netscape only supported DOM inserts in a special tag was because Netscape's DOM parser didn't support it... it calculated the DOM when a page loaded and apparently it was "too difficulty" to change that without rewriting it.

    Apparently layer was treated as a second page nested within the first and thus allowed them to treat it special.



  • @powerlord said:

    Netscape 4 was terrible.

    The browser-only version was ok (at least from a user perspective), but they gave up on that pretty early.

    But yes, I agree. I also don't see how this contributes to the argument, "Netscape is not responsible for IE's monopoly." Instead, it kind of seems to support my point.


  • Banned

    @mott555 said:

    David Prowse was the actual guy in the suit, and his lines were later dubbed over by James Earl Jones.

    You totally missed my point, didn't you?

    @blakeyrat said:

    I also don't see how this contributes to the argument, "Netscape is not responsible for IE's monopoly." Instead, it kind of seems to support my point.

    The argument is "Netscape's rewrite from scratch is not responsible for IE's monopoly".



  • @Gaska said:

    All I'm saying is, as long as browsers will still support JS as it is now, old Angular is going to work, right? No new stuff, but old stuff will be fine? Amirite?

    They will support JS as it is now, but the browser APIs change and the events they throw. There is a subtle difference, but it can make all the difference. If a framework is expecting a property of window or document and it isn't there it can fall over.

    It is extremely unlikely in the short term but in the longer term (2 years or more) it may become a risk. I've had to put sites into IE9 or legacy IE mode because we've had JS that is generated from some god-awful third party that just didn't work because they assumed too many things about the environment.



  • @Gaska said:

    The argument is "Netscape's rewrite from scratch is not responsible for IE's monopoly".

    And that argument is wrong because if they had continued improving their product rather than stopping and rewriting, IE wouldn't have a monopoly.


  • Banned

    @lucas said:

    They will support JS as it is now, but the browser APIs change and the events they throw.

    The part after comma contradicts the part before comma.

    I'm all for disregarding legacy stuff and breaking compatibility for the greater good, except in one case: when you can't run old stuff anymore. Windows 7 should have retained DOS emulator. IE should never get rid of compatibility mode. WinAPI should be rewritten from scratch.

    @charlieda said:

    And that argument is wrong because if they had continued improving their product rather than stopping and rewriting, IE wouldn't have a monopoly.

    You assume Netscape 4 codebase had any maintainability. @powerlord's last post suggests otherwise.



  • @Gaska said:

    The part after comma contradicts the part before comma.

    I'm all for disregarding legacy stuff and breaking compatibility for the greater good, except in one case: when you can't run old stuff anymore.

    No it doesn't, if you know what you are on about.

    BROWSER API & EVENTS !== JAVASCRIPT.

    @Gaska said:

    I'm all for disregarding legacy stuff and breaking compatibility for the greater good, except in one case: when you can't run old stuff anymore. Windows 7 should have retained DOS emulator. IE should never get rid of compatibility mode. WinAPI should be rewritten from scratch.

    http://www.troll.me/images/futurama-fry/not-sure-if-trolling-or-just-stupid.jpg


  • Discourse touched me in a no-no place

    @charlieda said:

    if they had continued improving their product

    You wrote " started to improve their product finally" wrong.



  • @PJH said:

    http://www.joelonsoftware.com/articles/fog0000000069.html

    Yes - I know - Joel. But he does have some good points to make.

    I suppose the reason this seems to bizarre to me is that, to me, a "complete rewrite" is incremental. It's basically refactoring what works where needed and replacing what doesn't. I can't see a good reason to start from complete scratch on a current piece of software. It just seems silly.

    @apapadimoulis said:

    squishly.io- your nifty new MCCV web framework that is even more awesome than bacon

    This is why I usually give them a couple years to stew and mature.

    @Gaska said:

    Windows 7 should have retained DOS emulator.

    Or just packaged DOSBox. I love DOSBox.


  • Banned

    @lucas said:

    No it doesn't, if you know what you are on about.

    BROWSER API & EVENTS !== JAVASCRIPT


    My bad. I wasn't specific enough. Or rather, general enough. What I said about JS applies to all browser-side stuff, whether it's events, script handling or meaning of border CSS attribute. It should stay the same for legacy apps forever, period. That's the cost you pay for making browsers effectively operating systems.

    @lucas said:

    Image I can't quote from WP8

    Since you gave me only these two options, I can either call myself stupid (cuz I'm not trolling), or quote Obi-Wan.

    @VaelynPhi said:

    I can't see a good reason to start from complete scratch on a current piece of software. It just seems silly

    Better design goals and improved most-high-level architecture? For example, Ogre3D engine is so full of OO bullshit it's IMPOSSIBLE almost BY DEFINITION to make it faster and threading-friendly without starting from scratch. I can imagine similar thing happened to Netscape all those years ago.



  • @Gaska said:

    Better design goals and improved most-high-level architecture? For example, Ogre3D engine is so full of OO bullshit it's IMPOSSIBLE almost BY DEFINITION to make it faster and threading-friendly without starting from scratch. I can imagine similar thing happened to Netscape all those years ago.

    I could see this, maybe. My first instinct is to ask if there's anything in the existing code base that does work. If the answer is 100% no across the board... well, then I'd ask if any of the people who wrote (or designed, as the case may be) it are still employed and if we could please fire them. I suppose my point is that from-scratch rewrites ought to be an exception, not a rule. The frequency of them in prominent projects currently is somewhat disturbing.



  • @VaelynPhi said:

    I could see this, maybe. My first instinct is to ask if there's anything in the existing code base that does work. If the answer is 100% no across the board... well, then I'd ask if any of the people who wrote (or designed, as the case may be) it are still employed and if we could please fire them. I suppose my point is that from-scratch rewrites ought to be an exception, not a rule. The frequency of them in prominent projects currently is somewhat disturbing.

    Code, much like sci-fi, does not age well.

    The app that I'm working on wasn't horrible for .NET 1.1, which is appropriate, since the comments say that it was created in 2002.

    However, for 2014, the code is pretty crufty.

    Code can fall apart through bad design, little to no maintenance, inferiority to newer technology, and any combination of those three.


  • Banned

    @VaelynPhi said:

    My first instinct is to ask if there's anything in the existing code base that does work. If the answer is 100% no across the board... well, then I'd ask if any of the people who wrote (or designed, as the case may be) it are still employed and if we could please fire them.

    It's not about if it works (because it does; you shipped it), but if it can be improved. What was good design years ago doesn't have to be good design nowadays. Back in 2005, heap memory race conditions were non-issue for 99% of desktop apps*; now it's down to 80-90%, ie. all more advanced applications that are more resource-heavy than Outlook Express must be aware of threading problems if they want to take advantage of multiple cores that even your crappy mobile has. Also, while it's still all x86, the hardware architecture evolved a bit and it needs different treatment than it used to for high-performance apps (but this isn't a general case, because very few apps need to be high-performance).

    * - desktop apps, as opposed to server apps which always ran on multiple processors (I believe)



  • @Gaska said:

    Windows 7 should have retained DOS emulator.

    It has, but just in 32-bit version (Windows 8 doesn't ship with it anymore, but if you try to run a 16-bit program on 32-bit Windows, it offers to download the components).


  • Discourse touched me in a no-no place

    @chubertdev said:

    However, for 2014, the code is pretty crufty.

    I've got code I maintain from around 1990 that is still pretty good style (and which is very fast). It was exceptional when it was written. (No, I didn't write it. My stuff from back then is embarrassing.)



  • @ben_lubar said:

    Someone should "release" a "next gen" "JavaScript" "templating" "library" that wraps document.write and does not add any additional functionality just to see what would happen.

    $(document.body).append('hello');
    

    I mean, that's jQuery's raison d'etre for me. All the other stuff is just cruft.


  • Banned

    @ender said:

    It has, but just in 32-bit version

    Right. I forgot this thing exists. I haven't seen 32-bit Windows 7 in my life. Anyway, 64-bit version (the most common one) doesn't have it, and it's not even available as DLC, and this is bad.

    @dkf said:

    I've got code I maintain from around 1990 that is still pretty good style (and which is very fast). It was exceptional when it was written.

    I'm sure you could do even better if you made it from scratch. I'll throw a weak version of my claim - given infinite time and money (and current technology and your current knowledge). You could probably make a stronger claim in regards of time and money, since you know the codebase.

    I'm not saying it would be significantly better, or that it would make a viable business case. I'm saying it would be better on a technical level (in terms of maintainability, ease of use, performance and prettiness of code) by non-zero amount.



  • @Gaska said:

    Anyway, 64-bit version (the most common one) doesn't have it, and it's not even available as DLC, and this is bad.

    How is this bad? It was shit anyway. Useless. Most of the things outright didn't work on modern PCs due to clock issues, rampant use of undocumented features, or other problems a 20-year-old product has. They probably said "well, we can stuff two emulator layers in 64-bit Windows, or just fuck it and have people download DOSBox which actually works".

    @Gaska said:

    given infinite time and money

    You could probably hire an infinite amount of monkeys to do your rewrite.


  • Banned

    @Maciejasjmj said:

    How is this bad?

    You can't run legacy apps anymore. Simple as that.

    @Maciejasjmj said:

    They probably said "well, we can stuff two emulator layers in 64-bit Windows, or just fuck it and have people download DOSBox which actually works".

    If they promoted DOSBox as the way to run legacy apps, it would be OK. But they didn't. Official support of legacy apps has ended. This isn't OK.

    @Maciejasjmj said:

    You could probably hire an infinite amount of monkeys to do your rewrite.

    And they will eventually come up with a better code. That's my point. And with competent developers, a rewrite is sure to be better than the legacy version. Rewriting old stuff is good. Maybe not profitable to businesses, but it leads to better products.



  • @Gaska said:

    You can't run deprecated for the past 12 years Windows 3.1/DOS apps anymore. Simple as that.
    FTFY, HTH, HAND


    Filed under: we need a new tag cloud to attack, there are people who weren't born when those apps were written having children right now


  • Banned

    @TwelveBaud said:

    FTFY, HTH, HAND

    Imagine what would our culture be like if we couldn't listen to music from 30 years ago.


  • kills Dumbledore

    Much better. Who needs the Beatles when you can be a Belieber?



  • @Gaska said:

    If they promoted DOSBox as the way to run legacy apps, it would be OK. But they didn't. Official support of legacy apps has ended. This isn't OK.

    64-bit CPUs don't support running 16-bit apps. The CPU dropped support, not Microsoft. I know people like irrationally hating Microsoft for shit, but at least hate Microsoft for stuff they actually do. It wasn't Microsoft's decision to remove the CPU features that allow 16-bit apps to run when the CPU is running in 64-bit mode, that was AMD's decision. Bitch at AMD, and at Intel who adopted AMD's scheme.

    @Gaska said:

    If they promoted DOSBox as the way to run legacy apps, it would be OK. But they didn't. Official support of legacy apps has ended. This isn't OK.

    You can run them in XP Mode, in Windows 7. XP Mode isn't a virtualization, it's a full 32-bit CPU emulator. Based on the VirtualPC product Microsoft bought about a decade ago.

    So even though the lack of 64-bit CPU compatibility with 16-bit apps isn't Microsoft's fault, they still went way out of their way to fix the problem, at least for Windows 7 users. (I dunno if 8 runs XP Mode but who cares really.) Imagine how good Discourse would be if it were run by people who actually gave a shit like MS does.


Log in to reply