sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Ruby's global nightmare!

    Scheduled Pinned Locked Moved Developers' Forum
    26 Posts 13 Posters 1.1k Views 13 Watching
    Loading More Posts
    • 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.
    • M Offline
      MSP_Greg
      last edited by

      To all,

      I don't know why I looked at this thread, but the basic premise that began it is the idea that an OS object (a file) should have an effect on namespaces in a coding environment. That, at a minimum, is a matter of personal preference.

      I could argue that the idea is very foolish, as I want my code to define the namespace, not it's placement in a file, or the file's name.

      If we're going to argue about X language vs Y language, might as well address serious topics, not fluff, and somewhere other than a forum about using Ruby in SketchUp.

      Greg

      1 Reply Last reply Reply Quote 0
      • D Offline
        david.
        last edited by

        @msp_greg said:

        To all,

        I don't know why I looked at this thread, but the basic premise that began it is the idea that an OS object (a file) should have an effect on namespaces in a coding environment. That, at a minimum, is a matter of personal preference.

        I could argue that the idea is very foolish, as I want my code to define the namespace, not it's placement in a file, or the file's name.

        If we're going to argue about X language vs Y language, might as well address serious topics, not fluff, and somewhere other than a forum about using Ruby in SketchUp.

        Greg

        Agree 100%! Not sure why JJ keeps pushing this other than OCD.

        1 Reply Last reply Reply Quote 0
        • J Offline
          jessejames
          last edited by

          @msp_greg said:

          I could argue that the idea is very foolish, as I want my code to define the namespace, not it's placement in a file, or the file's name.

          What is a file? What is a script? They are both simply containers for data, right? (Am i moving to quickly for ya? i'll try to use layman's terms). So when you write a script in Ruby or Python you put some text into a file. This is the same for Ruby and Python and Perl and C and whatever language floats your boat.

          HOWEVER, the beauty of Python's module and import mechanisms are the fact that you don't need to contain the code that is already contained in the script with more syntax! Ruby forces you to put one container into another container --this is the very definition of redundancy and defines the lunacy of the Ruby language.

          Same goes for the end statement which is completely useless. With indention there is no need to mark the end of a block anymore. It's what we Python coders refer to as elegance. You will fund much elegance in the Python language, but only a very little in Ruby.

          So in Ruby you will first need to create a file (or OS object as MSP_Greg has informed us) THEN you must encapsulate the code therein within a module between the tags "Module<name>" and "end" Python removes this completely unnecessary step(and many other redundancies i might add).

          Always sleep with a loaded gun under your pillow!

          1 Reply Last reply Reply Quote 0
          • R Offline
            remus
            last edited by

            You could argue that python forces you to create an excessive number of files to contain your creations, though.

            And who says i want to indent my code? i like to be able to lay out my code as i like.

            More broadly, you can argue a lot about whats best, but as has been said we've got ruby and it isn't a bad language for SU scripting.

            http://remusrendering.wordpress.com/

            1 Reply Last reply Reply Quote 0
            • N Offline
              NewOne
              last edited by

              If we complain about Ruby, what AutoCAD users say about Lisp? 💚

              1 Reply Last reply Reply Quote 0
              • M Offline
                MSP_Greg
                last edited by

                jessejames,

                @jessejames said:

                Am i moving to quickly for ya?

                Having written code in Python, Ruby, C#, Java, JavaScript, various dialects of Basic, and C++, probably not. Also, having a CompSci prof in the late '70's always wax on about the elegance of Pascal conditioned me to the large distinction between 'elegant' when finished, vs easy to reach 'finished.'

                The Python features you’re referring to would be considered simple syntax conventions by most programmers, and, hence, trivial. I'll respond anyway.

                1. Namespaces – Lets say I'm working on a real project, and production code will be a minimal set of files. As the code is being created, it's often helpful to have the code being worked on by itself, in a separate IDE container. Once complete, it's moved into another container that has finished code. Often, that IDE container is a file. I don't want the namespace changing if I move code between them.

                2. End vs indent – I've written code where there may be a lot of end statements, one after the other. Also, indenting is commonplace today. Hence, it would seem that Python's removal of statements like 'end' would be helpful, even though almost all other languages use them. Conversely, when writing code, I often leave test/debug statements on the left margin as a marker that I can delete them when the code works. I can't do that in Python.

                I might suggest that you read a few books like 'Design Patterns' by the 'Gang of Four' to get an idea of what the real distinctions are in programming languages. Real distinctions affect whether a framework can be moved/ported to another language, as opposed to simple syntax conventions.

                I might also suggest that there's plenty of others forums for your concerns. This one is for Ruby used in SketchUp.

                BTW, I'm ignoring the flame, otherwise we might get into that layman concept...

                Greg

                1 Reply Last reply Reply Quote 0
                • 1
                • 2
                • 2 / 2
                • First post
                  Last post
                Buy SketchPlus
                Buy SUbD
                Buy WrapR
                Buy eBook
                Buy Modelur
                Buy Vertex Tools
                Buy SketchCuisine
                Buy FormFonts

                Advertisement