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.
  • 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

                A twenty year career is quite short. Keep going.

                S 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

                  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
                    #21

                    A twenty year career is quite short. Keep going.

                    1 Reply Last reply
                    0
                    • H haughtonomous

                      A twenty year career is quite short. Keep going.

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

                      Its a start. I can't make it go any faster and wouldn't if I could as I'm enjoying every day getting there.

                      Hogan

                      H 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?

                        M Offline
                        M Offline
                        Marc Greiner at home
                        wrote on last edited by
                        #23

                        Most libraries are rubbish. Some are a gems. Seldomly, you will find a diamond[^]. In 2014, we moved our 50 man-year legacy VB6 desktop app to a low code framework, in about 2 man-year. Our new app looks modern, up-to-date, has a wide range of new features, is multiplatform (Web, Mobile and Desktop), extremely configurable, even at runtime, looks uniform, has less bugs, displays dashboards with graphics, extendable and designable reports, even at runtime, for every view, etc., etc., etc., you name it, there it is. The app maps around 600 DB tables, some with hundreds of millions of records. All the SQL commands are built dynamically, via an ORM (XPO). Since then, I have written SQLs marginally only, basically to adjust a few old database design to todays paradigms. The new app is faster than its equivalent written in the previous good old hand written SQLs technology in VB6. Todays' source code is entirely C#. I have never been more happy to go to work since.

                        1 Reply Last reply
                        0
                        • P PIEBALDconsult

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

                          M Offline
                          M Offline
                          Marc Greiner at home
                          wrote on last edited by
                          #24

                          Most libraries are rubbish. Some are a gems. Seldomly, you will find a diamond[^]. In 2014, we moved our 50 man-year legacy VB6 desktop app to a low code framework, in about 2 man-year. Our new app looks modern, up-to-date, has a wide range of new features, is multiplatform (Web, Mobile and Desktop), extremely configurable, even at runtime, looks uniform, has less bugs, displays dashboards with graphics, extendable and designable reports, even at runtime, for every view, etc., etc., etc., you name it, there it is. The app maps around 600 DB tables, some with hundreds of millions of records. All the SQL commands are built dynamically, via an ORM (XPO). Since then, I have written SQLs marginally only, basically to adjust a few old database design to todays paradigms. The new app is faster than its equivalent written in the previous good old hand written SQLs technology in VB6. Todays' source code is entirely C#. I have never been more happy to go to work since.

                          R 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?

                            abmvA Offline
                            abmvA Offline
                            abmv
                            wrote on last edited by
                            #25

                            sql and stored procedures are a bore to maintain... code is better....debugging etc.....i used third party orms and way better, always avoided stored proc ....

                            Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long

                            We are in the beginning of a mass extinction. - Greta Thunberg

                            1 Reply Last reply
                            0
                            • S snorkie

                              Its a start. I can't make it go any faster and wouldn't if I could as I'm enjoying every day getting there.

                              Hogan

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

                              Excellent; no-one can ask for more. However I await with interest to hear your feelings when you are tasked with a database migration on a tight schedule and find that... it's stored procedures all the way down 😉😂

                              1 Reply Last reply
                              0
                              • M Marc Greiner at home

                                Most libraries are rubbish. Some are a gems. Seldomly, you will find a diamond[^]. In 2014, we moved our 50 man-year legacy VB6 desktop app to a low code framework, in about 2 man-year. Our new app looks modern, up-to-date, has a wide range of new features, is multiplatform (Web, Mobile and Desktop), extremely configurable, even at runtime, looks uniform, has less bugs, displays dashboards with graphics, extendable and designable reports, even at runtime, for every view, etc., etc., etc., you name it, there it is. The app maps around 600 DB tables, some with hundreds of millions of records. All the SQL commands are built dynamically, via an ORM (XPO). Since then, I have written SQLs marginally only, basically to adjust a few old database design to todays paradigms. The new app is faster than its equivalent written in the previous good old hand written SQLs technology in VB6. Todays' source code is entirely C#. I have never been more happy to go to work since.

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

                                Interesting... I see that there is a $2,199 cost associated. Is this a development framework? Meaning...Can I generate 100s of apps for the one-time cost and those apps run standalone (can be deployed "normally") for many years without paying more? Or is this some kind of runtime I have to pay for to run each individual app? Thanks

                                J 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?

                                  J Offline
                                  J Offline
                                  jschell
                                  wrote on last edited by
                                  #28

                                  raddevus wrote:

                                  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.

                                  Of course though "subjective" is subjective. But other than that, in my experience, those that are really excited about packaged database layers are those that either have no or little experience using database(s) directly. So of course for them doing no database work would seem like an advantage. They also seem to ignore the potential design problems of ignoring the database itself as part of the architecture because when they start with the data sets are all very small.

                                  R 1 Reply Last reply
                                  0
                                  • R raddevus

                                    Interesting... I see that there is a $2,199 cost associated. Is this a development framework? Meaning...Can I generate 100s of apps for the one-time cost and those apps run standalone (can be deployed "normally") for many years without paying more? Or is this some kind of runtime I have to pay for to run each individual app? Thanks

                                    J Offline
                                    J Offline
                                    jschell
                                    wrote on last edited by
                                    #29

                                    Just a potential warning... The comment to which you are responding to is based on a legacy system with a large persisted data set already in place which was hand-crafted over time using SQL. So either someone(s) either knew how to handle that data from the beginning or they learned over time. Then they took a tool and used it to implement the same thing. Without a background both in databases and in sizing a market attempting to use a tool to replace that knowledge might not end up well.

                                    R 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!

                                      J Offline
                                      J Offline
                                      jschell
                                      wrote on last edited by
                                      #30

                                      haughtonomous wrote:

                                      they tie your work to a particular DBMS vendor, for a start

                                      Unless you design and TEST your product for multiple databases from the beginning then it will be tied to that vendor regardless. Yes I have done such conversions multiple times. And you can contract out the conversion of stored procs for a new database. That is a service provided by many places. Conversely attempting to find and individually modify code in multiple places in legacy systems will be a substantial amount of work.

                                      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

                                        J Offline
                                        J Offline
                                        jschell
                                        wrote on last edited by
                                        #31

                                        Gerry Schmitz wrote:

                                        Only if you write NON-ANSI SQL

                                        Huh? Last time I checked there is no 'ANSI' specification for stored procedures. What exactly is your source for that?

                                        Gerry Schmitz wrote:

                                        don't understand database performance and security

                                        I have written large systems. Multiple database vendors. And I have never seen a 'standard' that allows you to generically code for performance. You can impact performance at the enterprise level both by architecture and requirements but tuning for performance at the database level depend on the database.

                                        1 Reply Last reply
                                        0
                                        • H haughtonomous

                                          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 Offline
                                          J Offline
                                          jschell
                                          wrote on last edited by
                                          #32

                                          haughtonomous wrote:

                                          and that makes migrating to a different dbms an expensive proposition

                                          Never seen a cheap one. Not ever. And I have done this multiple times. I have seen one system written from scratch which was intended to be database agnostic. It was a product which when delivered was more than 10 times too slow to actually meet the business requirements. And even with two dedicated employees of that company and a dedicated employee of the target company when I left the company (target) it was still 4 times too slow. They were attempting to adjust it for about two months. Note that the performance requirement was a hard limit as it involved calculating financial data that had to be processed within a fixed window.

                                          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