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 321 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.
  • J Jeremy Falcon

    raddevus wrote:

    I would love to see a specific example of React code that is making you think this. :thumbsup:

    Humans tend to be emotional creators that process thoughts via emotion first and justify that emotion with logic. Not the other way around. Lack of self-awareness (maturity) means those emotions go unchecked and can be out of control. Kinda like a toddler. Since most devs never actually hang around other humans, IMO their self-awareness never develops. That's a long winded way of saying, some devs will be like "omg this uses `=>` therefore it sucks." It's usually those with valid claims that tend to be less emotional about it. Same goes with money, relationships, etc. I did it with Java growing up before looking at things differently. Was never a fan of it. Still not. But, I can most certainly appreciate its position in the industry and what it helped achieve, given the fact that C# was a rip off of it (MS hired Java devs) and it popularized the idea of write once run anywhere. So, you gotta give it props for that.

    raddevus wrote:

    But, I also hate React. I need to turn that thing into a component and I don't know how.

    React isn't perfect. No framework is. I love React, but I can also say IMO the biggest issue with it is that it changes too much. Can be good or bad I suppose, but as soon as you get a dev that learns one way too late sukka. :laugh: Still, I think React is awesome, so that's not coming from a place of hate.

    raddevus wrote:

    1. I hate all that redux stuff -- no idea what it is.

    Go figure, I think reducers/redux is awesome. :laugh:

    raddevus wrote:

    2. I hate the fact that versioning changes made some of my component "old" bec React suddenly changed some foundational things.

    Dangit, you beat me to it. :laugh:

    Jeremy Falcon

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

    Fantastic post. So many things to agree with. I wrote the same app C'YaPass (password generator / manager) in numerous languages and frameworks. 1. WinForms C# 2. UWP (Universal Windows Platform) using XAML. 3. ElectronJS -- fully cross-platform (Win, Linux, macOS) 4. Java (Android app) 5. (re-written) in Kotlin (Android app) 6. iOS Swift & InterfaceBuilder & Xcode 7. PWA (Progressive Web App) HTML5, JS, which allows iOS users to "download" the app and run it from an icon on their phone desktop (as if it is an app) I'm kind of a weird-o and like whatever I'm working with at the time. As a matter of fact, I usually fall in love with whatever tech I'm currently working with. :rolleyes: So, I really do not judge anything. But I'm very likely a jack-of-all tech & master of none. :sigh:

    J 1 Reply Last reply
    0
    • R raddevus

      Fantastic post. So many things to agree with. I wrote the same app C'YaPass (password generator / manager) in numerous languages and frameworks. 1. WinForms C# 2. UWP (Universal Windows Platform) using XAML. 3. ElectronJS -- fully cross-platform (Win, Linux, macOS) 4. Java (Android app) 5. (re-written) in Kotlin (Android app) 6. iOS Swift & InterfaceBuilder & Xcode 7. PWA (Progressive Web App) HTML5, JS, which allows iOS users to "download" the app and run it from an icon on their phone desktop (as if it is an app) I'm kind of a weird-o and like whatever I'm working with at the time. As a matter of fact, I usually fall in love with whatever tech I'm currently working with. :rolleyes: So, I really do not judge anything. But I'm very likely a jack-of-all tech & master of none. :sigh:

      J Offline
      J Offline
      Jeremy Falcon
      wrote on last edited by
      #12

      raddevus wrote:

      I'm kind of a weird-o and like whatever I'm working with at the time.

      Yeah but the weirdos are the most interesting people. Normal is boring. :)

      raddevus wrote:

      But I'm very likely a jack-of-all tech & master of none.

      There's a place for that too. Sometimes you need to go wide (horizontal) with your knowledge rather than deep (vertical). Both directions give someone insight the other direction doesn't have. The ideal situation is we humans learn to work together with peeps going in a different direction than the one they chose. Ideally. :laugh:

      Jeremy Falcon

      1 Reply Last reply
      0
      • R raddevus

        I'm replying here first...(after reading your longer & interesting post). I have done non-react DOM update via vanilla JS -- see the app at: Track Your Core Competencies (app) for yearly review[^] ala document.createElement("input") It was actually kind of terrible and React would've done a much better job but once I wrote that I understood far better the benefits of React -- which helped me understand that React is very cool.

        J Offline
        J Offline
        Jeremy Falcon
        wrote on last edited by
        #13

        Oh, I should say I'm not referring to vanilla JS DOM updates... sorta. There are frameworks such as [Svelte](https://svelte.dev/) that contains all its framework logic in the build step. So, it produces native code for the runtime. They claim to be faster than a virtual DOM (I haven't verified this though) since there's no runtime penalty at all. I haven't looked into it, but the the virtual DOM from React does incur some overhead. However, the benefit of using something in-memory to determine deltas far outweighs the cost. Still, if Svelte figured out a way to handle deltas for updates without a VDOM then that would be pretty cool... if it's true. Haven't used it yet.

        Jeremy Falcon

        1 Reply Last reply
        0
        • 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

          N Offline
          N Offline
          Nelek
          wrote on last edited by
          #14

          #realJSOP wrote:

          I'm so ready for retirement...

          me too... (and I am 15-20 years younger than you)

          M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

          1 Reply Last reply
          0
          • J Jeremy Falcon

            raddevus wrote:

            I would love to see a specific example of React code that is making you think this. :thumbsup:

            Humans tend to be emotional creators that process thoughts via emotion first and justify that emotion with logic. Not the other way around. Lack of self-awareness (maturity) means those emotions go unchecked and can be out of control. Kinda like a toddler. Since most devs never actually hang around other humans, IMO their self-awareness never develops. That's a long winded way of saying, some devs will be like "omg this uses `=>` therefore it sucks." It's usually those with valid claims that tend to be less emotional about it. Same goes with money, relationships, etc. I did it with Java growing up before looking at things differently. Was never a fan of it. Still not. But, I can most certainly appreciate its position in the industry and what it helped achieve, given the fact that C# was a rip off of it (MS hired Java devs) and it popularized the idea of write once run anywhere. So, you gotta give it props for that.

            raddevus wrote:

            But, I also hate React. I need to turn that thing into a component and I don't know how.

            React isn't perfect. No framework is. I love React, but I can also say IMO the biggest issue with it is that it changes too much. Can be good or bad I suppose, but as soon as you get a dev that learns one way too late sukka. :laugh: Still, I think React is awesome, so that's not coming from a place of hate.

            raddevus wrote:

            1. I hate all that redux stuff -- no idea what it is.

            Go figure, I think reducers/redux is awesome. :laugh:

            raddevus wrote:

            2. I hate the fact that versioning changes made some of my component "old" bec React suddenly changed some foundational things.

            Dangit, you beat me to it. :laugh:

            Jeremy Falcon

            T Offline
            T Offline
            TNCaver
            wrote on last edited by
            #15

            Jeremy Falcon wrote:

            ...C# was a rip off of it (MS hired Java devs)...

            A fact for which I send kudos to MS for the vast improvements they made in their version of Java (C#). E.g., 'getters' and 'setters' as class properties rather than functions.

            There are no solutions, only trade-offs.
               - Thomas Sowell

            A day can really slip by when you're deliberately avoiding what you're supposed to do.
               - Calvin (Bill Watterson, Calvin & Hobbes)

            1 Reply Last reply
            0
            • 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

              R Offline
              R Offline
              rjmoses
              wrote on last edited by
              #16

              I have the same feeling about all "modern" languages that are essentially C derivatives--whether it's C++, Java, Javascript, Rust, etc. It's the same old approaches with the same old problems and the same old restrictions and the same gotcha's...just called something different. Quite frankly, I don't like any of those languages because they miss one essential element: Understandability. I want to be able to look at a piece of code and "grok" it within a few seconds without having to be an 50 year veteran guru in the language. But...that's just my opinion.

              N 1 Reply Last reply
              0
              • R rjmoses

                I have the same feeling about all "modern" languages that are essentially C derivatives--whether it's C++, Java, Javascript, Rust, etc. It's the same old approaches with the same old problems and the same old restrictions and the same gotcha's...just called something different. Quite frankly, I don't like any of those languages because they miss one essential element: Understandability. I want to be able to look at a piece of code and "grok" it within a few seconds without having to be an 50 year veteran guru in the language. But...that's just my opinion.

                N Offline
                N Offline
                NightPen
                wrote on last edited by
                #17

                Finally...Someone speaks the truth.

                1 Reply Last reply
                0
                • 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