Announcement

Collapse
No announcement yet.

Nim Programming Language Hits Stable Milestone With v1.0 Release

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Nim Programming Language Hits Stable Milestone With v1.0 Release

    Phoronix: Nim Programming Language Hits Stable Milestone With v1.0 Release

    The Nim programming language now has a stability guarantee with this statically-typed, general purpose programming language hitting its 1.0 release...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Nim's syntax is closest to resembling Python and has been in development for more than one decade.
    Nim lovers hate when I point this out, but a lot of Nim borrows from Delphi Pascal. The creator was a Delphi user, announced the project to the FreePascal mailing list, and at one point (the project went through several names) it was suggested it be called Pascal++. Those who join the cult of Delphi (I used to be a member) become fanatics in defending old, outdated or bad language ideas. Sadly, many of the worst parts of Delphi have been borrowed for Nim. To be fair, many of these are optional, but that just raises the point of why include them at all if the language already implements better ways to do things.

    Modern Nim doesn't look much like Python at all. Now it's a mix of Pascal and Perl (the creator became obsessed with putting lots of symbols into the language). I was originally very excited about this language, hoping it would be like a statically-typed version of Python with some of the nicer/simpler constructs of Pascal (compared to C++), but now IMHO it's an over-complicated mess.



    Four different ways to return a value from a function including an implicit result variable, an optional import syntax that can produce namespace collisions, mutable strings... lots of old/bad ideas from Pascal that were fixed in Python. Unfortunately the creator can't let go of Pascal, so that's why you get optional implicit result variables, optional namespace collision imports, etc. Leaving the Cult Of Delphi is hard.
    Last edited by alcalde; 25 September 2019, 12:13 AM.

    Comment


    • #3
      At the end of the day only few languages will survive (c, c++, python ... ) and all of those useless languages (Rust, Julia, Nim...) will die.

      Comment


      • #4
        Originally posted by Setif View Post
        At the end of the day only few languages will survive (c, c++, python ... ) and all of those useless languages (Rust, Julia, Nim...) will die.
        I agree, and especially regarding Nim.
        ​​​​​​At least Rust has a fanbase, but Nim? I'm not sure...

        Also, "let"? Seriously?!!!!???!!!? Is this BASIC all over again?!
        Last edited by tildearrow; 24 September 2019, 05:27 PM.

        Comment


        • #5
          Originally posted by Setif View Post
          At the end of the day only few languages will survive (c, c++, python ... ) and all of those useless languages (Rust, Julia, Nim...) will die.
          I personally think Rust will survive/thrive because it can do everything C can, has zero-cost interfacing with C, and cuts out the most common classes of bugs (memory & threading issues), the last of which I haven't seen in other system programming languages that don't have a garbage collector. Additionally, Rust has a really great community (arguably the most important factor).

          Comment


          • #6
            Originally posted by Setif View Post
            At the end of the day only few languages will survive (c, c++, python ... ) and all of those useless languages (Rust, Julia, Nim...) will die.
            Well you have to know this will cause all sorts of comments. In someways I think you are right but I honestly believe Python has peaked. I’m expecting a slightly different future with C++ and Swift being the primary languages in a decade. I suspect that Python will die out due to its fan base being rejected by the greater programming community. Swift seems to be in the best place right now to function as a scripting language replacement along with its stronger feature set for production (compiled ) code.

            I know that currently there is some resistance to Swift in the FLOSS world due this its origins at Apple but the language is effectively open sourced and well thought out. This makes the language usable even desired in many domains.

            Comment


            • #7
              Originally posted by programmerjake View Post

              I personally think Rust will survive/thrive because it can do everything C can, has zero-cost interfacing with C, and cuts out the most common classes of bugs (memory & threading issues), the last of which I haven't seen in other system programming languages that don't have a garbage collector. Additionally, Rust has a really great community (arguably the most important factor).
              This is where I have to look at what is really needed language wise. When it comes to systems programming there isn’t a great need and frankly C++ standardization is a big plus there. The bigger need in my mind is languages suitable for applications development. Especially the rapid development that Python permits. This is why I can see Swift displacing Python soon. Swift simply doesn’t have the community problems Python does nor does it have the built in problems with executables. As much as I like Python it certainly has shortcomings that can’t be denied.

              Comment


              • #8
                Originally posted by programmerjake View Post
                I personally think Rust will survive/thrive because it can do everything C can, has zero-cost interfacing with C, and cuts out the most common classes of bugs (memory & threading issues), the last of which I haven't seen in other system programming languages that don't have a garbage collector. Additionally, Rust has a really great community (arguably the most important factor).
                I doubt it. You left out the most important factor for whether a language survives: the time it takes to initially develop something with it. When I sit down at a keyboard to try some new idea, I'm probably going to pick whatever language I have available that will let me pound it out the fastest. And if that idea works, I'm now kind of trapped in that language that I started with because of momentum.

                About all those advantages of Rust that you mention -- I can achieve the same result by simply putting a little time into cleaning up my non-Rust code that is already getting the job done. So why would I re-write my code in Rust?

                Comment


                • #9
                  Originally posted by wizard69 View Post

                  ... I suspect that Python will die out due to its fan base being rejected by the greater programming community. Swift seems to be in the best place right now to function as a scripting language replacement along with its stronger feature set for production (compiled ) code.

                  I know that currently there is some resistance to Swift in the FLOSS world due this its origins at Apple but the language is effectively open sourced and well thought out. This makes the language usable even desired in many domains.
                  Python's fan base IS the greater programming community. By many accounts it's either the most or second-most popular language. Python currently dominates in the machine learning and data analysis fields; Swift isn't used anywhere except on iPhones. How do you see Python dying out yet Swift becoming a dominant language? Has there even been a port of Swift to Windows yet?


                  Comment


                  • #10
                    Originally posted by wizard69 View Post
                    Swift simply doesn’t have the community problems Python does nor does it have the built in problems with executables. As much as I like Python it certainly has shortcomings that can’t be denied.
                    1. Does Swift even have a community? It's a rather new language that was developed behind corporate doors. Not much time to form a community.
                    2. What community problems do you believe Python has?
                    3. Python doesn't have executables. Neither does Java, but that didn't seem to hurt it any. Or PHP, or Perl, or Ruby, or C# either. Python does have just over 197,000 packages in its repository though, and that's the single biggest reason Python has staying power. As someone once put it, "Isn't lack of popularity itself a language defect today"? Overcoming an existing language's large open source library base is the greatest challenge for any new language. In a study, the authors found that the most common reason developers gave for choosing a language (by far) was the number of libraries, preferably open source libraries, available for it.

                    Comment

                    Working...
                    X