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. Software Engineering: Latest Library is Panacea?

Software Engineering: Latest Library is Panacea?

Scheduled Pinned Locked Moved The Lounge
javadatabasecomtutorialquestion
40 Posts 14 Posters 0 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.
  • R Offline
    R Offline
    raddevus
    wrote on last edited by
    #1

    Still reading this fantastic book, which continues to be fantastic: Modern Software Engineering[^]. There is so much great content in this book, but this from Chapter 3 really strikes a chord (as someone who evaluated the use of Entity Framework numerous times over 15 years but could never feel comfortable with it). It's why many of us eschew, "Just use the latest library. It solves all your problems."

    Quote:

    We talk a lot about change in our industry. We get excited about new technologies and new products, but do these changes really “move the dial” on software development? Many of the changes that exercise us don’t seem to make as much difference as we sometimes seem to think that they will. My favorite example of this was demonstrated in a lovely conference presentation by “Christin Gorman.”1 In it, Christin demonstrates that when using the then popular open source object relational mapping library Hibernate, it was actually more code to write than the equivalent behavior written in SQL, subjectively at least; the SQL was also easier to understand. Christin goes on to amusingly contrast software development with making cakes. Do you make your cake with a cake mix or choose fresh ingredients and make it from scratch?

    P S S L B 8 Replies Last reply
    0
    • R raddevus

      Still reading this fantastic book, which continues to be fantastic: Modern Software Engineering[^]. There is so much great content in this book, but this from Chapter 3 really strikes a chord (as someone who evaluated the use of Entity Framework numerous times over 15 years but could never feel comfortable with it). It's why many of us eschew, "Just use the latest library. It solves all your problems."

      Quote:

      We talk a lot about change in our industry. We get excited about new technologies and new products, but do these changes really “move the dial” on software development? Many of the changes that exercise us don’t seem to make as much difference as we sometimes seem to think that they will. My favorite example of this was demonstrated in a lovely conference presentation by “Christin Gorman.”1 In it, Christin demonstrates that when using the then popular open source object relational mapping library Hibernate, it was actually more code to write than the equivalent behavior written in SQL, subjectively at least; the SQL was also easier to understand. Christin goes on to amusingly contrast software development with making cakes. Do you make your cake with a cake mix or choose fresh ingredients and make it from scratch?

      P Offline
      P Offline
      PIEBALDconsult
      wrote on last edited by
      #2

      Correct. I don't use those tools. And I hand-craft all of my SQL.

      S M 2 Replies Last reply
      0
      • R raddevus

        Still reading this fantastic book, which continues to be fantastic: Modern Software Engineering[^]. There is so much great content in this book, but this from Chapter 3 really strikes a chord (as someone who evaluated the use of Entity Framework numerous times over 15 years but could never feel comfortable with it). It's why many of us eschew, "Just use the latest library. It solves all your problems."

        Quote:

        We talk a lot about change in our industry. We get excited about new technologies and new products, but do these changes really “move the dial” on software development? Many of the changes that exercise us don’t seem to make as much difference as we sometimes seem to think that they will. My favorite example of this was demonstrated in a lovely conference presentation by “Christin Gorman.”1 In it, Christin demonstrates that when using the then popular open source object relational mapping library Hibernate, it was actually more code to write than the equivalent behavior written in SQL, subjectively at least; the SQL was also easier to understand. Christin goes on to amusingly contrast software development with making cakes. Do you make your cake with a cake mix or choose fresh ingredients and make it from scratch?

        S Offline
        S Offline
        Single Step Debugger
        wrote on last edited by
        #3

        This artificial promoting of ET is beyond annoying. If someone refuses to grasp modern SQL/DB concepts and take advantage of them, it's okay, let him craft his entities. But what really grinds my gears is the Microsoft keep pushing on developers this rotten carcass of dead-born "technology".

        There is only one Vera Farmiga and Salma Hayek is her prophet! Advertise here – minimum three posts per day are guaranteed.

        R O 2 Replies Last reply
        0
        • S Single Step Debugger

          This artificial promoting of ET is beyond annoying. If someone refuses to grasp modern SQL/DB concepts and take advantage of them, it's okay, let him craft his entities. But what really grinds my gears is the Microsoft keep pushing on developers this rotten carcass of dead-born "technology".

          There is only one Vera Farmiga and Salma Hayek is her prophet! Advertise here – minimum three posts per day are guaranteed.

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

          I agree. There are some things I would actually use Entity Framework for -- especially related to quick prototyping & testing some ideas. As a matter of fact, I wish I was better at using it for that. But after that I would in most cases build a kind of Repository pattern for my entities and write the SQL myself.

          1 Reply Last reply
          0
          • S Single Step Debugger

            This artificial promoting of ET is beyond annoying. If someone refuses to grasp modern SQL/DB concepts and take advantage of them, it's okay, let him craft his entities. But what really grinds my gears is the Microsoft keep pushing on developers this rotten carcass of dead-born "technology".

            There is only one Vera Farmiga and Salma Hayek is her prophet! Advertise here – minimum three posts per day are guaranteed.

            O Offline
            O Offline
            obermd
            wrote on last edited by
            #5

            What's worse is the Microsoft Entity Framework uses SQL calls that cannot be optimized by the query optimizer.

            L C 2 Replies Last reply
            0
            • R raddevus

              Still reading this fantastic book, which continues to be fantastic: Modern Software Engineering[^]. There is so much great content in this book, but this from Chapter 3 really strikes a chord (as someone who evaluated the use of Entity Framework numerous times over 15 years but could never feel comfortable with it). It's why many of us eschew, "Just use the latest library. It solves all your problems."

              Quote:

              We talk a lot about change in our industry. We get excited about new technologies and new products, but do these changes really “move the dial” on software development? Many of the changes that exercise us don’t seem to make as much difference as we sometimes seem to think that they will. My favorite example of this was demonstrated in a lovely conference presentation by “Christin Gorman.”1 In it, Christin demonstrates that when using the then popular open source object relational mapping library Hibernate, it was actually more code to write than the equivalent behavior written in SQL, subjectively at least; the SQL was also easier to understand. Christin goes on to amusingly contrast software development with making cakes. Do you make your cake with a cake mix or choose fresh ingredients and make it from scratch?

              S Offline
              S Offline
              Slacker007
              wrote on last edited by
              #6

              I have been using EF professionally for 10+ years now. Our websites and APIs run using EF. I have no issues with EF and our team of 20+ devs are comfortable using it. Microsoft pushes this technology because it works and it works well for its intended purposes. Its a tool, and like all tools, you either learn how to use it or you don't.

              R 1 Reply Last reply
              0
              • S Slacker007

                I have been using EF professionally for 10+ years now. Our websites and APIs run using EF. I have no issues with EF and our team of 20+ devs are comfortable using it. Microsoft pushes this technology because it works and it works well for its intended purposes. Its a tool, and like all tools, you either learn how to use it or you don't.

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

                Admittedly, many of the ill feelings towards it go back to its initial release all the way back in 08 and release 2010 or so. It wasn't great then & then we just left it alone. After that we began using the Repository pattern & it made things reasonable. A few questions: 1. is there a good readable book that you would recommend that shows how to use EF for many database "structures" (master/detail, linking tables, etc)? 2. Do you find that it can be used well in cases where there is a master/detail type of relationships & you need to update data? Is it straight forward? 3. Have you found places where you can't get there from here type of behavior? 4. What are the most challenging data inserts & updates you've come across while using EF? Thanks for your input.

                1 Reply Last reply
                0
                • R raddevus

                  Still reading this fantastic book, which continues to be fantastic: Modern Software Engineering[^]. There is so much great content in this book, but this from Chapter 3 really strikes a chord (as someone who evaluated the use of Entity Framework numerous times over 15 years but could never feel comfortable with it). It's why many of us eschew, "Just use the latest library. It solves all your problems."

                  Quote:

                  We talk a lot about change in our industry. We get excited about new technologies and new products, but do these changes really “move the dial” on software development? Many of the changes that exercise us don’t seem to make as much difference as we sometimes seem to think that they will. My favorite example of this was demonstrated in a lovely conference presentation by “Christin Gorman.”1 In it, Christin demonstrates that when using the then popular open source object relational mapping library Hibernate, it was actually more code to write than the equivalent behavior written in SQL, subjectively at least; the SQL was also easier to understand. Christin goes on to amusingly contrast software development with making cakes. Do you make your cake with a cake mix or choose fresh ingredients and make it from scratch?

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #8

                  EF is not SQL. It's a "table to entity" (or entity to table) mapper; and saves me a lot of work in that area. If the only SQL one knows is "SELECT *", and doesn't ever use stored procs, then there will be issues. I just make sure my "model" goes both ways: code first or data base first; and can use either one at any time to drive changes in the model in either direction.

                  "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                  1 Reply Last reply
                  0
                  • O obermd

                    What's worse is the Microsoft Entity Framework uses SQL calls that cannot be optimized by the query optimizer.

                    L Offline
                    L Offline
                    Lost User
                    wrote on last edited by
                    #9

                    That's because you're not using stored procs when you should. EF RUNS ON THE CLIENT.

                    "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                    H P 2 Replies Last reply
                    0
                    • R raddevus

                      Still reading this fantastic book, which continues to be fantastic: Modern Software Engineering[^]. There is so much great content in this book, but this from Chapter 3 really strikes a chord (as someone who evaluated the use of Entity Framework numerous times over 15 years but could never feel comfortable with it). It's why many of us eschew, "Just use the latest library. It solves all your problems."

                      Quote:

                      We talk a lot about change in our industry. We get excited about new technologies and new products, but do these changes really “move the dial” on software development? Many of the changes that exercise us don’t seem to make as much difference as we sometimes seem to think that they will. My favorite example of this was demonstrated in a lovely conference presentation by “Christin Gorman.”1 In it, Christin demonstrates that when using the then popular open source object relational mapping library Hibernate, it was actually more code to write than the equivalent behavior written in SQL, subjectively at least; the SQL was also easier to understand. Christin goes on to amusingly contrast software development with making cakes. Do you make your cake with a cake mix or choose fresh ingredients and make it from scratch?

                      B Offline
                      B Offline
                      BillWoodruff
                      wrote on last edited by
                      #10

                      I bake "guaranteed future employment" cakes with inscrutable ingredients :wtf:

                      «The mind is not a vessel to be filled but a fire to be kindled» Plutarch

                      1 Reply Last reply
                      0
                      • L Lost User

                        That's because you're not using stored procs when you should. EF RUNS ON THE CLIENT.

                        "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                        H Offline
                        H Offline
                        haughtonomous
                        wrote on last edited by
                        #11

                        Stored Procedures are evil - they tie your work to a particular DBMS vendor, for a start. That's exactly what they are so loved by those vendors!

                        L S J 3 Replies Last reply
                        0
                        • L Lost User

                          That's because you're not using stored procs when you should. EF RUNS ON THE CLIENT.

                          "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                          P Offline
                          P Offline
                          PIEBALDconsult
                          wrote on last edited by
                          #12

                          Of course the client code runs on the client. The SQL still runs on the server and should be optimized there.

                          L J 2 Replies Last reply
                          0
                          • P PIEBALDconsult

                            Correct. I don't use those tools. And I hand-craft all of my SQL.

                            S Offline
                            S Offline
                            Steve Naidamast
                            wrote on last edited by
                            #13

                            Same here... I have kept very much abreast of all the latest software developments but ave found none to be of much benefit. Most seem to just add a lot of complexity while not really providing any real advantage. Probably the best advancement has been the List(T) implementation. Internally it adds efficiency and provides basically the same capabilities as an ArrayList. However, out of habit, I still use ArrayLists since what I use them for is small sets of data where the internal efficiencies make very little difference. All in all, I still use the basic language constructs of C# and VB.NET as I have always used them, and my code works just fine. Never understood all the superfluous language additions over the years. They seem to don nothing but make the languages harder to understand...

                            Steve Naidamast Sr. Software Engineer Black Falcon Software, Inc. blackfalconsoftware@outlook.com

                            1 Reply Last reply
                            0
                            • O obermd

                              What's worse is the Microsoft Entity Framework uses SQL calls that cannot be optimized by the query optimizer.

                              C Offline
                              C Offline
                              Cliff Buckley
                              wrote on last edited by
                              #14

                              You can use both EF and stored procedures together. Its not a either/or situation.

                              1 Reply Last reply
                              0
                              • H haughtonomous

                                Stored Procedures are evil - they tie your work to a particular DBMS vendor, for a start. That's exactly what they are so loved by those vendors!

                                L Offline
                                L Offline
                                Lost User
                                wrote on last edited by
                                #15

                                Only if you write NON-ANSI SQL and don't understand database performance and security ... and who does that?

                                "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                                H J 2 Replies Last reply
                                0
                                • P PIEBALDconsult

                                  Of course the client code runs on the client. The SQL still runs on the server and should be optimized there.

                                  L Offline
                                  L Offline
                                  Lost User
                                  wrote on last edited by
                                  #16

                                  That's what I said: Stored procs. And why is that? Fewer round trips. Actually, EF can also run on the server as part of REST, but most like to abuse it only from the client side.

                                  "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                                  1 Reply Last reply
                                  0
                                  • L Lost User

                                    Only if you write NON-ANSI SQL and don't understand database performance and security ... and who does that?

                                    "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                                    H Offline
                                    H Offline
                                    haughtonomous
                                    wrote on last edited by
                                    #17

                                    Yes but... Microsoft have T-SQL and Oracle have their Pl/SQL (for example) and other database systems have their own equivalents, all of which have little in common. Using Stored procs for data queries using strict ANSI-SQL may be one thing, but most stored procs I have seen use the much more proprietary T-SQL or Pl/ SQL (etc) to move complex data-related logic as close to the database metal as possible - and that locks you in. A few stored procedures are not a big deal to migrate to another DBMS, but any decent sized database application could have several hundred stored procedures (they tend to become habitual), and that makes migrating to a different dbms an expensive proposition, which is exactly the position the vendors want to get you in.

                                    J 1 Reply Last reply
                                    0
                                    • H haughtonomous

                                      Stored Procedures are evil - they tie your work to a particular DBMS vendor, for a start. That's exactly what they are so loved by those vendors!

                                      S Offline
                                      S Offline
                                      snorkie
                                      wrote on last edited by
                                      #18

                                      In 20 plus years of development, I've never had a boss say, change to a different database platform. I feel like this is an argument for the sake of arguing instead of adding actual software value. Using stored procs and embracing a vendor's specific optimizations makes a platform faster. If we expand the idea, do you also eschew cloud computing because it creates vendor lock in?

                                      Hogan

                                      H J 4 Replies Last reply
                                      0
                                      • S snorkie

                                        In 20 plus years of development, I've never had a boss say, change to a different database platform. I feel like this is an argument for the sake of arguing instead of adding actual software value. Using stored procs and embracing a vendor's specific optimizations makes a platform faster. If we expand the idea, do you also eschew cloud computing because it creates vendor lock in?

                                        Hogan

                                        H Offline
                                        H Offline
                                        haughtonomous
                                        wrote on last edited by
                                        #19

                                        Trust me, it happens more often than you think. Oracle to SQL Server? Significant cost savings. Either of those to Postgres or similar FOSS dbms systems? Again tempting reduction in licence fees. The obstacle? The cost of overcoming that vendor lock in. If you've never come up against this, you're lucky. No, I don't eschew cloud computing for that reason. With modern containerisation that's nothing like the same problem. "It's never happened to me" doesn't mean it never happens. I've never been shot in the head, but it obviously does happen. So far I've been lucky but I still try to avoid inviting it.

                                        1 Reply Last reply
                                        0
                                        • S snorkie

                                          In 20 plus years of development, I've never had a boss say, change to a different database platform. I feel like this is an argument for the sake of arguing instead of adding actual software value. Using stored procs and embracing a vendor's specific optimizations makes a platform faster. If we expand the idea, do you also eschew cloud computing because it creates vendor lock in?

                                          Hogan

                                          H Offline
                                          H Offline
                                          haughtonomous
                                          wrote on last edited by
                                          #20

                                          A twenty year career is quite short. Keep going.

                                          S 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