Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. I've Decided...

I've Decided...

Scheduled Pinned Locked Moved The Lounge
javascriptlounge
30 Posts 12 Posters 322 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • realJSOPR realJSOP

    ...that both javascript in general, and React in particular, are steaming piles of solidified bull methane. I feel like I can say that with some authority after three years of wading through it. I'm so ready for retirement...

    ".45 ACP - because shooting twice is just silly" - JSOP, 2010
    -----
    You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
    -----
    When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

    T Offline
    T Offline
    Terry Slack
    wrote on last edited by
    #18

    Coming from a C# background, I fell in love with javascript and reac5lr. But yeah, the limitations of react are starting to get to me. But, I've recently discovered solidjs. Hear me out, imagine react done well. Give it a whirl. Components only render once. Signals for state. It looks really interesting.

    realJSOPR 1 Reply Last reply
    0
    • T Terry Slack

      Coming from a C# background, I fell in love with javascript and reac5lr. But yeah, the limitations of react are starting to get to me. But, I've recently discovered solidjs. Hear me out, imagine react done well. Give it a whirl. Components only render once. Signals for state. It looks really interesting.

      realJSOPR Offline
      realJSOPR Offline
      realJSOP
      wrote on last edited by
      #19

      I cut my teeth on programming back in the late 70's. I appreciated strongly-type languages, like Pascal, and the regimentation of C++. I never learned to like Basic, and, well, you know how I feel about javascript...

      ".45 ACP - because shooting twice is just silly" - JSOP, 2010
      -----
      You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
      -----
      When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

      T 1 Reply Last reply
      0
      • R raddevus

        I am ambivalent about both React & JS (literally fluctuate between loving them and hating them). I would love to see a specific example of React code that is making you think this. :thumbsup: There are some things I love about React : I created a grid that allows you to : 1. point it at any JSON source 2. edit / add records, etc the JSON vai a grid form You can try it right now at my web site: https://newlibre.com/LibreGrid/[^] Read the article here on cp: LibreGrid: Drop Into Your App, In 5 Minutes CRUD Your Custom JSON Data[^] Also Hate React But, I also hate React. I need to turn that thing into a component and I don't know how. 1. I hate all that redux stuff -- no idea what it is. 2. I hate the fact that versioning changes made some of my component "old" bec React suddenly changed some foundational things. Very Interested I really hope you post an example of what is driving you crazy. Very interested.

        realJSOPR Offline
        realJSOPR Offline
        realJSOP
        wrote on last edited by
        #20

        There's really no "one thing" that's driving me crazy, and React is crap because javascript is crap, and writing web apps is crap. I'm a desktop programmer. I like being a desktop programmer. Everything else is crap. :)

        ".45 ACP - because shooting twice is just silly" - JSOP, 2010
        -----
        You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
        -----
        When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

        R 1 Reply Last reply
        0
        • realJSOPR realJSOP

          There's really no "one thing" that's driving me crazy, and React is crap because javascript is crap, and writing web apps is crap. I'm a desktop programmer. I like being a desktop programmer. Everything else is crap. :)

          ".45 ACP - because shooting twice is just silly" - JSOP, 2010
          -----
          You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
          -----
          When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

          R Offline
          R Offline
          raddevus
          wrote on last edited by
          #21

          I started out reading the book Programming Windows 3.1 by Charles Petzold. Wow, it's readable on archive.org[^] My first IDE was was Visual C++ 1.0 -- it was not Visual Studio yet. I continued on thru Visual C++ 6.0 and then into Visual Studio & C# from the beginning in 2000 (pre-release). Oh, the days of WinForms... It was quite wonderful to be "pwned" by One True Company (Microsoft, of course). And you probably think I'm being sarcastic, but I'm really not. Microsoft set a Standard for Desktop Development and though we Devs were "kind of pwned" they were a benevolent dictator and we knew there was One Place to go for the answer. Now everything's in fragments (JS Libraries ugh!)...but this is what they call freedom. :~ ####### UPDATE ############## I was reading the Preface to Programming Windows 3.1 and I stumbled upon the hardware reqs that Petzold lists: To best run Windows and the development tools, you need the following hardware: ■ An IBM personal computer (or compatible) based on the Intel 80386 microprocessor with a hard disk and 4 megabytes (MB) of memory running MS-DOS 3-3 or later. ■ A graphics display and video board, preferably compatible with the IBM VGA (Video Graphics Array) or better. ■ A mouse. Although a mouse is generally optional for most Windows programs, some of the programs in this book require one. :laugh:

          realJSOPR 1 Reply Last reply
          0
          • R raddevus

            I started out reading the book Programming Windows 3.1 by Charles Petzold. Wow, it's readable on archive.org[^] My first IDE was was Visual C++ 1.0 -- it was not Visual Studio yet. I continued on thru Visual C++ 6.0 and then into Visual Studio & C# from the beginning in 2000 (pre-release). Oh, the days of WinForms... It was quite wonderful to be "pwned" by One True Company (Microsoft, of course). And you probably think I'm being sarcastic, but I'm really not. Microsoft set a Standard for Desktop Development and though we Devs were "kind of pwned" they were a benevolent dictator and we knew there was One Place to go for the answer. Now everything's in fragments (JS Libraries ugh!)...but this is what they call freedom. :~ ####### UPDATE ############## I was reading the Preface to Programming Windows 3.1 and I stumbled upon the hardware reqs that Petzold lists: To best run Windows and the development tools, you need the following hardware: ■ An IBM personal computer (or compatible) based on the Intel 80386 microprocessor with a hard disk and 4 megabytes (MB) of memory running MS-DOS 3-3 or later. ■ A graphics display and video board, preferably compatible with the IBM VGA (Video Graphics Array) or better. ■ A mouse. Although a mouse is generally optional for most Windows programs, some of the programs in this book require one. :laugh:

            realJSOPR Offline
            realJSOPR Offline
            realJSOP
            wrote on last edited by
            #22

            Did you experience the extended memory cards that required you to plug individual chips into them? Or the math co-processor chips? Or the IBM PC clone compatibility test using Flight Simulator? I miss those days, and at the same time, I don't.

            ".45 ACP - because shooting twice is just silly" - JSOP, 2010
            -----
            You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
            -----
            When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

            R 1 Reply Last reply
            0
            • realJSOPR realJSOP

              I cut my teeth on programming back in the late 70's. I appreciated strongly-type languages, like Pascal, and the regimentation of C++. I never learned to like Basic, and, well, you know how I feel about javascript...

              ".45 ACP - because shooting twice is just silly" - JSOP, 2010
              -----
              You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
              -----
              When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

              T Offline
              T Offline
              Terry Slack
              wrote on last edited by
              #23

              I had the same trajectory, but in the late 90's. Yet, I find typed languages to be dry now. JS is the wild west and once you learn your way around the minefield, its fun, for me at least.

              1 Reply Last reply
              0
              • realJSOPR realJSOP

                Did you experience the extended memory cards that required you to plug individual chips into them? Or the math co-processor chips? Or the IBM PC clone compatibility test using Flight Simulator? I miss those days, and at the same time, I don't.

                ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                -----
                You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                -----
                When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                R Offline
                R Offline
                raddevus
                wrote on last edited by
                #24

                #realJSOP wrote:

                the extended memory cards that required you to plug individual chips into them

                I was right at the tail end of that and basically always had 1Meg & 4Meg SIMMS

                #realJSOP wrote:

                Or the math co-processor chips

                Yes, for sure. 486sx meant no coprocessor DX had the coprocessor. And I believe there were coprocessor chips for 386s that you could add, right? But few people had those. I was building / selling PCs at a small sole proprietor store in 91. I would call h/w sellers and haggle over buying 1MEG SIMMS for $20 (to be sold at $40). I remember buying 100MB - 170MB HDDs and thinking customers would never fill them up. I also remember my first 14,400 modem at the time which I used a couple of times to connect to a local BBS which I didn't even understand. Not long after I was connecting via AOL on the 14.4K modem.

                realJSOPR 1 Reply Last reply
                0
                • R raddevus

                  #realJSOP wrote:

                  the extended memory cards that required you to plug individual chips into them

                  I was right at the tail end of that and basically always had 1Meg & 4Meg SIMMS

                  #realJSOP wrote:

                  Or the math co-processor chips

                  Yes, for sure. 486sx meant no coprocessor DX had the coprocessor. And I believe there were coprocessor chips for 386s that you could add, right? But few people had those. I was building / selling PCs at a small sole proprietor store in 91. I would call h/w sellers and haggle over buying 1MEG SIMMS for $20 (to be sold at $40). I remember buying 100MB - 170MB HDDs and thinking customers would never fill them up. I also remember my first 14,400 modem at the time which I used a couple of times to connect to a local BBS which I didn't even understand. Not long after I was connecting via AOL on the 14.4K modem.

                  realJSOPR Offline
                  realJSOPR Offline
                  realJSOP
                  wrote on last edited by
                  #25

                  My first 20mb hard drive cost over $800, and I had to use g=c800:5 in the debugger app to low-level format it. Friends told me it was pointless because I'd never fill it up. My first modem was an AppleCat 300 baud. I don't miss the slow speeds at all. :) I grew to hate Basic when I had my very first computer - an Atari 400.

                  ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                  -----
                  You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                  -----
                  When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                  R D 2 Replies Last reply
                  0
                  • realJSOPR realJSOP

                    My first 20mb hard drive cost over $800, and I had to use g=c800:5 in the debugger app to low-level format it. Friends told me it was pointless because I'd never fill it up. My first modem was an AppleCat 300 baud. I don't miss the slow speeds at all. :) I grew to hate Basic when I had my very first computer - an Atari 400.

                    ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                    -----
                    You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                    -----
                    When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                    R Offline
                    R Offline
                    raddevus
                    wrote on last edited by
                    #26

                    #realJSOP wrote:

                    I grew to hate Basic

                    All those freaking line numbers. Sheesh! :mad: And make sure you leave space (between line numbers) so later when you add code. :rolleyes:

                    1 Reply Last reply
                    0
                    • realJSOPR realJSOP

                      My first 20mb hard drive cost over $800, and I had to use g=c800:5 in the debugger app to low-level format it. Friends told me it was pointless because I'd never fill it up. My first modem was an AppleCat 300 baud. I don't miss the slow speeds at all. :) I grew to hate Basic when I had my very first computer - an Atari 400.

                      ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                      -----
                      You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                      -----
                      When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                      D Offline
                      D Offline
                      Dr Walt Fair PE
                      wrote on last edited by
                      #27

                      #realJSOP wrote: I don't miss the slow speeds ate all. Smile | :) I hate things that eat my code or my data CQ de W5ALT

                      Walt Fair, Jr.PhD P. E. Comport Computing Specializing in Technical Engineering Software

                      1 Reply Last reply
                      0
                      • realJSOPR Offline
                        realJSOPR Offline
                        realJSOP
                        wrote last edited by
                        #28

                        So here I am a year later, and still don't like React or Javascript. We were using v17 or React, and have spent the last 4 months refactoring our code to support v18. This means v19 had been available for about six months, and we have a DoD requirement that we can't be more than one major version behind whatever we're using (all packages included).

                        I recommended that we skip v18 and move directly to v19, but nobody was interested in that strategy.

                        Since we're not using a commercial library, this creates quite the minefield when we need to move to a new version of React because a lot of packages we use don't have updated dependencies. Our biggest problem is that we use MaterialTable - a lot - and like React, there are quite a few things we had to change to be compatible.

                        The contract ends next July, and hopefully, they won't release React v20 before then, because the changeover to v19 will be equally as painful, if not more so.

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          dandy72
                          wrote last edited by
                          #29

                          4 months refactoring code to support a newer version of a library.

                          That sounds so wrong, on so many levels.

                          I've started (barely) to dabble myself in React recently. Lots of WTF moments, where I just ended up pasting a few lines into ChatGPT and asking it what that's supposed to do...and particularly, explaining the syntax in a way that makes sense.

                          1 Reply Last reply
                          0
                          • realJSOPR Offline
                            realJSOPR Offline
                            realJSOP
                            wrote last edited by realJSOP
                            #30

                            The intent of the project is to convert a 25-year-old Oracle Forms app to a web app, with the intent to make it as much like the Oracle app with regards to the UI as possible. Someone decided to use React with nobody on the team knowing anything about it, or javascript/typescript. I joined the team about 6-8 months after the project was started.

                            Combine the general lack of React experience with some weird UI requirements (because "it's gotta be like the old version") that essentially breaks every UI rule regarding web sites, and decisions were made that - knowing what we know now - should never even have been considered.

                            The app doesn't use contexts, so it suffers from massive prop-drilling. "Common" components have been modified to the point that they try to make concessions for "special cases" which just makes the code highly unreliable and very touchy as far as fixing problems is concerned. Input components display error messages when the value is invalid - something I whole-heartedly disagree with. We use material-table/core (as of v18) which presents its own challenges where custom UI is concerned.

                            Changes I want to make are outright denied by management, and to a point I can understand why - we just need to finish the app. Even coming up with a documentation tool was generally outright rejected. It essentially provides a road-map of our application so you can at least jump around and look at stuff without suffering through the use of VS Code.

                            Quite bizarrely, getting the other devs to add comments is like pulling freakin teeth. I comment almost all of my stuff (full sentences and no abbreviations), including WHY something was changed in a bug fix. One of the guys doesn't believe in comments at all and claims "the code should be self-documenting". that's all well and good, and I agree that the code should be written in such a way as to be obvious as to it's intent, but comments are often needed to describe the "why" of a function as much as the "what". The best I can get out of the rest of the other devs is cursory (and the most minimal possible) comments, despite the fact that everyone sits and wonders what a given prop or function is for. This is especially problematic with something like React.

                            As we learned, we changed the way we did things, but we now have three versions of our base framework code because we don't have time to go back and bring the older pages up to the new standard.

                            The more I learn about React, the more I hate working on our code at work. I have a React 19 app I'm doing at home and I've managed to get about 85-90% of our framework implemented, and its UI performance far exceeds the app at work. I have it up in a private repo on GitHub, and none of my coworkers are even the slightest bit interested in looking at it. I suspect that it's because they don't code as a hobby, and looking at my project would require them to use their own time, which they simply don't want to do.

                            Regarding our react update, one of the big problems is that our project is very github package intensive, and a lot of the packages we use have not been updated with appropriate dependencies for even React 18, much less React 19. This means we are forced to use special npm flags to get them to even install. Add the fact that there were several breaking changes in React 18 that required us to refactor a moderate portion of code, material-table was replaced with material-table/core with its own set of breaking changes, and typescript was also update with its own breaking changes, and the update process has been a f*ckin nightmare. We started in May, and we're still finding/dealing with small issue directly related to it.

                            Granted, our issues can be blamed somewhat on the way we architected everything, but still we're approaching our 5th month of dealing with it. Some of that was self inflicted, though. We have one dev that is fairly new to the team that knows a lot more about react than the rest of us, and he took it on himself to destructure function props in a lot of the components, and I finally had to tell him to stop doing that because it was causing issues with reliability in the components,. He also took it on himself to satisfy the eslint complaints about empty dependency arrays without testing any of the changes to make sure that didn't break a given component.

                            We've had five devs working on this update, and haven't written any new code since May.

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups