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. Weak sucks, strong rules

Weak sucks, strong rules

Scheduled Pinned Locked Moved The Lounge
javascriptcsharp
22 Posts 12 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.
  • V vl2

    What's the point of strong typing if you still have to debug your code?

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

    vl2 wrote:

    What's the point of strong typing if you still have to debug your code?

    Presumably you either don't understand what strong typing is or you don't know how to debug any application.

    V 1 Reply Last reply
    0
    • M morzel

      I'm in the middle of some serious refactoring (banking application)... Part of it is JavaScript code and the other part is C#. Whenever I do some changes in C# code I feel like in haven. Maintaining code (especially written by people who no longer work on the project) is soooo much easier within strongly-typed language. I just hope sanity will prevail and one day we will have a chance to write strongly-typed client side code too (directly and without plugins). And yeah, I like jQuery etc. but this recent blind love for JS is just scary...

      R Offline
      R Offline
      RedDk
      wrote on last edited by
      #14

      Sounds like someone needs a good break from programming. Pick up John Gardner's "Freddy's Book". More evil, but less JavaScript and/or C#.

      1 Reply Last reply
      0
      • P PIEBALDconsult

        Nicolas Dorier wrote:

        harder to appreciate strong typing from the beginner point of view

        Unrelated, but that reminds me of when I was just learning BASIC -- using floats (x) and heard about integers (x%), and thought, why would would I want to use an integer when the floats work just fine?

        N Offline
        N Offline
        Nicolas Dorier
        wrote on last edited by
        #15

        That was a good question :p I guess you understood when it bit you the hard way because, in some odd condition, (a / b) * b != a . Then you started to appreciate the beauty of integers :p

        P 1 Reply Last reply
        0
        • N Nicolas Dorier

          That was a good question :p I guess you understood when it bit you the hard way because, in some odd condition, (a / b) * b != a . Then you started to appreciate the beauty of integers :p

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

          Nicolas Dorier wrote:

          the beauty of integers

          And recognized the ugliness of BASIC. :-D That was once I started learning Pascal.

          1 Reply Last reply
          0
          • J jschell

            vl2 wrote:

            What's the point of strong typing if you still have to debug your code?

            Presumably you either don't understand what strong typing is or you don't know how to debug any application.

            V Offline
            V Offline
            vl2
            wrote on last edited by
            #17

            Presumably you never heard of a proper strong, dependent typing. I never had to debug my Coq or Agda code - if it compiles, it works, and it is *proven* to be correct. Why debugging then?

            1 Reply Last reply
            0
            • M morzel

              Is this a serious question?

              V Offline
              V Offline
              vl2
              wrote on last edited by
              #18

              Absolutely. What's a point of an incomplete type system which does not carry a correctness proof? If you go into strong typing, do it properly, or don't do it at all.

              M 1 Reply Last reply
              0
              • V vl2

                Absolutely. What's a point of an incomplete type system which does not carry a correctness proof? If you go into strong typing, do it properly, or don't do it at all.

                M Offline
                M Offline
                morzel
                wrote on last edited by
                #19

                The fact that code compiles doesn't prove that business requirements are met. Strong typing makes live easier but it doesn't guarantee that program is doing what it should from end user perspective.

                V 1 Reply Last reply
                0
                • M morzel

                  The fact that code compiles doesn't prove that business requirements are met. Strong typing makes live easier but it doesn't guarantee that program is doing what it should from end user perspective.

                  V Offline
                  V Offline
                  vl2
                  wrote on last edited by
                  #20

                  And how debugging is going to ensure such conformance? QA testing can help, yes, but not debugging. Debugging is useless, as long as your code is guaranteed to do exactly what is specified. If program is working incorrectly from end users' perspective, then specification have to be fixed, not the code.

                  M 1 Reply Last reply
                  0
                  • V vl2

                    And how debugging is going to ensure such conformance? QA testing can help, yes, but not debugging. Debugging is useless, as long as your code is guaranteed to do exactly what is specified. If program is working incorrectly from end users' perspective, then specification have to be fixed, not the code.

                    M Offline
                    M Offline
                    morzel
                    wrote on last edited by
                    #21

                    I didn't say that debugging is going to ensure conformance to business requirements. All I'm saying is that it is ridiculous to say that strongly typed programs don't need to be debugged. Strongly typed programs contain bugs too. And debugging (stepping through code with a debugger attached) is also a normal part of development. Sometimes its the only way to check what the program is really doing - cause the guys who wrote that +100K LOC (5 years ago) are no longer working at the company end documentation is almost non existing...

                    V 1 Reply Last reply
                    0
                    • M morzel

                      I didn't say that debugging is going to ensure conformance to business requirements. All I'm saying is that it is ridiculous to say that strongly typed programs don't need to be debugged. Strongly typed programs contain bugs too. And debugging (stepping through code with a debugger attached) is also a normal part of development. Sometimes its the only way to check what the program is really doing - cause the guys who wrote that +100K LOC (5 years ago) are no longer working at the company end documentation is almost non existing...

                      V Offline
                      V Offline
                      vl2
                      wrote on last edited by
                      #22

                      This is not what I said. I said, why bother using "strong" type system if you still have to debug your code afterwards? You either use a real, proper static type system and then you never have to debug your code interactively, or you'll be more flexible with a dynamic type system and do all that hipster interactive stuff. People tend to overuse interactive debugging, and it is really sad. Debugging is not a "normal" part of development. It should be considered a very last resort, when nothing else works. With a proper type system you don't have to step through your code to find out, what the program is "really doing" - types will tell you all about it straight away.

                      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