Javascript framework fatigue (article)



  • I feel like this started feeling sorry for me at the end when it started throwing things like Hadoop and Vulpix at me.



  • @Jaime said:

    Languages that don't allow bad code have no bad code written in them. Languages that allow bad code will have some bad code, which is more than none. Obviously, this is an extreme case, but in real life, the more bad code you allow, the more you get.

    Sorry this is utter bollox. I've seen a huge amount of bad code in C#, and I think most would agree on here that C# is a pretty well designed language for the most part.



  • @flabdablet said:

    Coding in C is like playing the blues.

    Then JavaScript is pretty much freeform jazz.


    Filed under: Java is Emerson, Lake & Palmer



  • @Yamikuronue said:

    You know how the industry has always dealt with this problem? By not hiring people who write shitty code.

    You of all people should know that's not true. 😜


  • Garbage Person

    @MathNerdCNU said:

    Stop writing web applications where a thick client will suffice

    We had a need for a very complex internal tool. Essentially an IDE for our application platform.

    Management decreed such to be useless.
    Management decreed that web apps are shiny and all things are to be done as web apps.

    We ignored both. Built an early alpha behind their backs as a desktop app.

    Demo'd it to management. They fucking love it.

    (As an aside, we didn't extend any existing IDEs, we have gone from scratch. Very deliberate decision because I've literally never seen it done well)



  • @powerlord said:

    invents MugMoogleFu

    KTFY



  • @Yamikuronue said:

    This is the correct decision from a language design perspective, but how many of these ranters are actually designing Javascript?

    It's not a language principle (well, it kind of is...) it's a framework and API principle.

    So yes, the guys who build Node.JS don't have a choice in how JavaScript behaves, but they certainly do have a choice in what behaviors their framework encourages. And if they've designed it correctly, it'll be trivial to do the correct thing and difficult to do the incorrect thing.

    To take an example I like, even thought it's dated now: early Windows 95 programs had a common bug where they would code the top-level menu item as if it were a button, and perform an action instead of opening a menu (which is the one and only thing a top-level menu item should ever do). Win32 API made that incorrect wrong behavior easy to do.

    Mac Toolbox, however, made it virtually impossible to treat a top-level menu item as a button, and so no Mac applications (at least none I ever saw) had that particular UI bug. Now you still could do it, by manually processing the event, but it was far more difficult than simply coding the menu correctly in the first place. So even bad/lazy developers got it correct.



  • Node JS isn't a framework. It is just a runtime with some libraries attached to it much like any other JS engine.



  • Whatever; it was just an ass-pulled example. You get the point.



  • That reminds me of when I suggested a Square-Enix based search engine a decade ago.

    Filed under: Named Moogle naturally



  • You just demonstrated you didn't actually know what you were talking about. Which makes the rest of your complaints suspect at best.



  • I don't have the blessing of lucas?

    There's no point to living anymore. Seppuku time.



  • I am the JavaScript God.

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

    This is the sounds that come from my keyboard while writing JS ...



  • @Jaime said:

    Languages that don't allow bad code

    No such thing. Languages can't impose a lower limit on code quality, assuming we're talking turing-complete, general-purpose languages.

    They can impose an upper limit, which is why I'm still interested in language design.


  • I survived the hour long Uno hand

    @Bort said:

    No such thing.

    I just invented one. It's called Yamiscript. There are no operators, no keywords, and no compiled output. Anything you enter is a syntax error.

    Boom, no bad code ever.



  • @Yamikuronue said:

    There are no operators, no keywords, and no compiled output. Anything you enter is a syntax error.

    I don't think that qualifies as "general-purpose", but A for effort.



  • @Yamikuronue said:

    I just invented one. It's called Yamiscript. There are no operators, no keywords, and no compiled output. Anything you enter is a syntax error.

    Boom, no bad code ever.

    I don't know about you, but I consider code that has syntax errors to be bad code. ;)



  • @Yamikuronue said:

    I just invented one. It's called Yamiscript. There are no operators, no keywords, and no compiled output. Anything you enter is a syntax error.

    Boom, no bad code ever.

    Someone will invent a way to call out to the runtime and rely on the short wait time until the syntax error bailout occurs to defeat a race-condition or default onto a fallback code path of a larger process.

    Bad code happened.



  • @lucas said:

    Sorry this is utter bollox. I've seen a huge amount of bad code in C#, and I think most would agree on here that C# is a pretty well designed language for the most part.

    It's a correlation. Seeing bad code in C# doesn't change the fact that C# is more strongly correlated with good code than PHP is. Your evidence doesn't support your conclusion.



  • @Bort said:

    @Jaime said:
    Languages that don't allow bad code

    No such thing. Languages can't impose a lower limit on code quality, assuming we're talking turing-complete, general-purpose languages.


    Of course there's no such thing. That doesn't change the fact that the closer you get to a language that doesn't allow bad code, the closer you get to a language where no bad code is written.

    A baseball has never been hit in a park without air resistance; it's still a good example to use in a Physics I course.



  • @Jaime said:

    Of course there's no such thing. That doesn't change the fact that the closer you get to a language that doesn't allow bad code, the closer you get to a language where no bad code is written.

    That is totally unproven and is just an assertion you have made. There is no evidence either way as Good and Bad code is kinda subjective on the reader.

    Even languages design itself is subjective dependent on the author. It is a silly argument to make that some languages are some how "better" than others ... unless it is something silly like brainfuck, everything has it's pros and cons.



  • @lucas said:

    That is totally unproven and is just an assertion you have made.

    Yup. And all you did was assert that I'm wrong.



  • Correct. You can write good or bad code in anything.

    The only question is how much the language gets out of your way to write good code. PHP makes it really easy to write bad code. C# by contrast imposes certain restrictions that made it harder but far from impossible to write bad code.

    Citation: 13 years PHP, three months C#



  • @lucas said:

    That is totally unproven and is just an assertion you have made. There is no evidence either way as Good and Bad code is kinda subjective on the reader.

    Even languages design itself is subjective dependent on the author. It is a silly argument to make that some languages are some how "better" than others ... unless it is something silly like brainfuck, everything has it's pros and cons.

    I responded in haste. And my full response is as quoted.



  • @Jaime said:

    the closer you get to a language that doesn't allow bad code

    If you mean a language that, for example, lacks/forbids goto statements, then you might have a point.

    @Arantor said:

    You can write good or bad code in anything

    Sort of. I think you can write bad code in anything, but you're necessarily limited on how good of code you can write depending on the language and what you're trying to express.



  • @Arantor said:

    The only question is how much the language gets out of your way to write good code. PHP makes it really easy to write bad code. C# by contrast imposes certain restrictions that made it harder but far from impossible to write bad code.

    I was just going to say that.

    Incidentally, is it just me or is it easier to write bad code in languages that are loosely typed?



  • It's not just you.



  • @Arantor said:

    The only question is how much the language gets out of your way to write good code. PHP makes it really easy to write bad code. C# by contrast imposes certain restrictions that made it harder but far from impossible to write bad code.

    Citation: 13 years PHP, three months C#

    There are some things I really like about PHP. I can do simple things like deal with a GET or a POST directly when I need to do or just do an include and be done with it.

    I've been working with OWIN and MVC5 and it is a PITA.

    I can provide the functionality with half the code using python or php and a popular micro-framework ... with less headaches.



  • @lucas said:

    I've been working with OWIN and MVC5 and it is a PITA.

    I can provide the functionality with half the code using python or php and a popular micro-framework ... with less headaches.

    You're using over-engineered shit. That's the problem. Not the language.

    Micro-frameworks exist in C#.



  • OWIN is hardly that. In any case it is irrelevant my main complaint was the fact that the .NET framework is very large and while solid, there is a lot of boiler plate for simple things in PHP and Python do well out of the box.



  • @Yamikuronue said:

    Yamiscript

    HQ9+ is a joke programming language. It has four "operations":
    H: print "Hello, world!"
    Q: print the program's source code (sometimes called a quine)
    9: print the lyrics to 99 Bottles of Beer
    +: add one to the accumulator (the value of the accumulator cannot be accessed)



  • TL;DR

    It's year 2016. Despite colossal effort and considerable output in libraries, frameworks, and methodologies designed to make software sucks less, it still sucks. Some think it even sucks more.



  • Sorry that is bollox.

    Most Web browsers are now standards compliant. Most JS frameworks are using similar transpiler languages.

    It so much better than the old days and I am usually the guy the fights for supporting IE8 support,



  • @lucas said:

    Most Web browsers are now standards compliant. Most JS frameworks are using similar transpiler languages.

    So what? Software still sucks. A mountain gave birth to a mouse.



  • @lucas said:

    I've been working with OWIN and MVC5 and it is a PITA.

    OWIN defines a standard interface between .NET web servers and web applications.

    Is it supposed to be a throwback to the old CGI days?

    As for MVC5, I'm jealous... I'm not allowed to the closest Java equivalent (Spring Web MVC) and have to use Servlets and JSP... which are technology from the mid-late 1990s.

    Filed under: Until we get to the "Admin Page Responsiveness" task which we're going to use as an excuse to add Spring Web MVC to the project



  • @Arantor said:

    C# by contrast imposes certain restrictions that made it harder but far from impossible to write bad code.

    It seems like that just makes bad programmers try even harder, which results in code that's even more spectacularly bad.


  • Discourse touched me in a no-no place

    @Arantor said:

    PHP makes it really easy to write bad code.

    If the road to hell is paved with good intentions, PHP provides you with the greased superhighway. Many years of always going with the first expedient hack for a problem created a monster.

    OTOH, if you want to see abysmal code, you probably need to look at C. There are things in it which defy all good taste…



  • PHP is learning though and is slowly, and carefully, shedding some of those good intentions.

    We've lost "safe mode" and "magic quotes", it's possible to enforce types - even scalar types - in and out of functions now so you can at least get some of the perks of strict typing.



  • @Arantor said:

    PHP is learning though and is slowly, and carefully, shedding some of those good intentions.

    We've lost "safe mode" and "magic quotes", it's possible to enforce types - even scalar types - in and out of functions now so you can at least get some of the perks of strict typing.

    Yet it continues to be outpaced by even JavaScript with typed transpilers such as TypeScript and ES6/7 transpilers such as Babel. On the whole PHP probably also performs worse than NodeJS for the average website backend.

    No matter what they do with it; PHP is superceded and dying off.


  • Discourse touched me in a no-no place

    @Ragnax said:

    No matter what they do with it; PHP is superceded and dying off.

    But there's a lot of it about. Dying off will take a long time.


  • FoxDev

    @Ragnax said:

    No matter what they do with it; PHP is superceded and dying off.

    That's been said about so many languages, yet they still hang around...



  • @wft said:

    Despite colossal effort and considerable output in libraries, frameworks, and methodologies designed to make software sucks less, it still sucks. Some think it even sucks more.

    I blame the Web.



  • @RaceProUK said:

    @Ragnax said:
    No matter what they do with it; PHP is superceded and dying off.

    That's been said about so many languages, yet they still hang around...

    something mumble Flash something mumble mumble



  • But, it's going to die. Specially when the noobs are all going off with JS. If we can learn something from Flash is that web stuff takes time to die.



  • @Eldelshell said:

    But, it's going to die.

    something something COBOL something mumble



  • COBOL is different beast. It's like an urban legend (at least I haven't seen any COBOL stuff in 20 years) that controls important and costly stuff written by mythical men. No one is gonna care when Joomla is rewritten on Node.


  • I survived the hour long Uno hand

    XOFF ignored, mumble mumble


  • Java Dev

    @dkf said:

    OTOH, if you want to see abysmal code, you probably need to look at C. There are things in it which defy all good taste…

    From memory, a macro:

    #define O(t,m) (((char *)&(((t*)0)->m)) - (char *)0)
    

  • Discourse touched me in a no-no place

    @PleegWat said:

    From memory, a macro:

    Before the ANSI-C offsetof standardised things, that's what you had to do (unless you made even more assumptions about interconvertibility of pointers and integers).

    Now find something nasty that doesn't use macros at all. 😃


  • Discourse touched me in a no-no place

    @Eldelshell said:

    But, it's going to die. Specially when the noobs are all going off with JS.

    For now. Then there'll be another dip in the hypecycle…


Log in to reply