Announcement

Collapse
No announcement yet.

Leaf: A New "Soon To Be Great" Programming Language

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

  • #31
    Originally posted by Detructor View Post
    well, it's true. But after I started to program in Visual Studio (which was the first IDE I got to know), everything else was a disappointment. The only IDE that I ever liked, aside from Visual Studio, was Netbeans. Most people don't seem to like it though.
    Tons of VIM, Eclipse work for me in the past. Then we had to crank out some C#. I figured I'd hate everything about it. Goddamn if C# is livable and Visual Studio a fantastic IDE!

    Comment


    • #32
      I agree with the guy mentioning Rust. Some unusual concepts, but it is non-verbose and standardizes various pointer ownerships and safe/unsafe code handling well, as it does introducing the task model similar to go or other modern languages.

      Mentioning Go - I think the syntax is a bit weird (I am used to program in C++).

      Comment


      • #33
        Originally posted by Detructor View Post
        well, it's true. But after I started to program in Visual Studio (which was the first IDE I got to know), everything else was a disappointment. The only IDE that I ever liked, aside from Visual Studio, was Netbeans. Most people don't seem to like it though.
        You never tried QtCreator?

        Comment


        • #34
          Lots of mockery; lots of discouragement; are there any ethics left on the internet? Wow

          On the subject, I think I understand his logic behind the if=do syntax. I'm guessing he is treating code as expressions, so the ? expression is returning a code block that is then executed by 'do'. If that's true then he should be able to do something like:
          do get_my_code_block()
          It's an interesting idea but I don't think it justifies the lack of an if-statement.

          While I share many people's concern that we might not need yet another language, I would prefer to wait before making judgement since the project is still "in its infancy" and that the syntax will most likely change over the coming years according to the author.

          Also, I'm surprised at people saying Leaf is not needed and that he should use Python instead. If we don't need Leaf, why do you think we needed Python then?

          Comment


          • #35
            Originally posted by prodigy_ View Post
            If there's one thing the world needs, it's more programming languages!
            Actually, we do. It's not the quantity of programming languages that is important; it's having a language that properly encompasses everything we've learned. C++ and Java are just two examples of language that have overstayed their welcome.

            I would kill for a language that is native (compiled) but as expressive and modern as C# or Lua. Is Leaf that language? It uses LLVM, so that's a big first step. Sadly, the syntax is awful, and I don't feel any amount freedom granted from all the highly expressive new features.

            In my opinion, there is a strong demand for a language between C++ and Java. C++ has too many technical aspects that make it unproductive, and Java requires a VM (and has awful memory management). This mythological third language could drop all the legacy baggage of both languages, keep C++'s native/compiled benefits, and incorporate expressive syntax improvements from Java, Python, C#, etc.

            On a side note, if someone could please write a non-Ruby language to blow PHP out of the water, that'd be fantastic.

            Comment


            • #36
              Originally posted by TheBuzzSaw View Post
              C++ and Java are just two examples of language that have overstayed their welcome.
              While I don't like working in either language, I can't agree with them having 'overstayed their welcome', it's when developers stops using them that this has occured. And as of now they are still extremely well used. Not that I'd personally shed a single tear should they be abandoned.

              Originally posted by TheBuzzSaw View Post
              I would kill for a language that is native (compiled) but as expressive and modern as C# or Lua.
              I personally don't find Lua particularly expressive but I do like it, very easy to embed and very clean (try out l?ve if you are in to game programming!), however regarding your wish, have you taken a look at the Rust language?

              Originally posted by TheBuzzSaw View Post
              In my opinion, there is a strong demand for a language between C++ and Java. C++ has too many technical aspects that make it unproductive, and Java requires a VM (and has awful memory management).
              Again I'd say take a look at Rust and also possibly Go, although the latter has required automatic GC which may not fit into your demands. Also there's Nimrod which I find quite interesting, it compiles to C code and then to native code, it has reference counted garbage collection but also allows manual memory handling, here's a nice small introduction to the language: http://picheta.me/articles/2013/10/a...-features.html

              Comment


              • #37
                Originally posted by TheBuzzSaw View Post
                Actually, we do. It's not the quantity of programming languages that is important; it's having a language that properly encompasses everything we've learned. C++ and Java are just two examples of language that have overstayed their welcome.
                I agree, mostly. One is purposely gimped. The other is over complicated and difficult to make memory safe.


                I would kill for a language that is native (compiled) but as expressive and modern as C# or Lua. Is Leaf that language? It uses LLVM, so that's a big first step. Sadly, the syntax is awful, and I don't feel any amount freedom granted from all the highly expressive new features.

                In my opinion, there is a strong demand for a language between C++ and Java. C++ has too many technical aspects that make it unproductive, and Java requires a VM (and has awful memory management). This mythological third language could drop all the legacy baggage of both languages, keep C++'s native/compiled benefits, and incorporate expressive syntax improvements from Java, Python, C#, etc.

                On a side note, if someone could please write a non-Ruby language to blow PHP out of the water, that'd be fantastic.
                I agree with this as well. However I believe I've found the solution: The Nimrod Language. I'm used to C-style syntax, so it's somewhat-alien design was a bit off-putting at first. I still have my gripes with the standard lib (though it sounds like they plan on fixing most of them), but at the end of the day it's really a great language with a lot of potential. Plus, it's macro system allows you do some really creative things.

                It builds to C (but does it fast) which is actually awesome for linking. It's GC rocks, performance and power are excellent, and it's syntax is simple enough for script-kiddies. I have plans on writing a small game-engine in it using it's advanced AST manipulation abilities to simplify much of the editor-to-script boilerplate (here's my design if you're interested).

                Comment


                • #38
                  Originally posted by XorEaxEax View Post
                  Also there's Nimrod which I find quite interesting, it compiles to C code and then to native code, it has reference counted garbage collection but also allows manual memory handling, here's a nice small introduction to the language: http://picheta.me/articles/2013/10/a...-features.html
                  ha! I post my above message before i read this. Great to see Nimrod get more attention Are you part on the IRC?

                  Comment


                  • #39
                    Originally posted by F i L View Post
                    ha! I post my above message before i read this. Great to see Nimrod get more attention Are you part on the IRC?
                    I'm not spending much time on IRC these days but I have popped into the channel on a couple of occasions, I was kind of surprised as the first time I entered the channel there were like 9 people there including araq, next time I went there which was like 3 weeks later or so there were 49 people in the channel, so it seems like it's attracting attention as you said.

                    I took a quick glance at your game engine proposal and it looks interesting, are you basing it after an existing engine api or are are you coming up with the implementation from scratch? From what (little) I've seen of 'general purpose' game engines the big design problem seems to be how much work you leave to the game programmer and how much is 'automated' by the engine, basically flexibility versus ease of use.

                    Judging by your rough draft I assume the engine will automatically handle things like collision by using the data in the 'Space' structure, I found it odd that you directly handled the space.position updating rather than adding a velocity variable to the Space struct and have the game engine handle the actual updating of the position based upon that value (while taking delta time into consideration I guess), that said game programming is not my field of expertize at all so I'm probably talking nonsense. Feel free to disregard me.

                    Comment


                    • #40
                      Originally posted by Detructor View Post
                      as a software developer I don't care much about how 'great' or 'hipster' a programming language is. The important things are: Is the documentation useable and how good are the available IDEs. And as long as there is nothing that comes even remotely close to Visual Studio in combination with the MSDN, it's not worth it to discuss the language.
                      If you actually learn something like Scala or Haskell or F# (or to a much lesser extent Ruby), you wouldn't go back to C# or Java. It's not just a hpster pose, those languages are much cleaner and let you express logic with more elegance. Both Java and C# are loaded with legacy hacks and patches.

                      Many C# types love LINQ: all of the in memory functionality is in the core Scala language so it doesn't need some separate disjoint syntax bolted on.

                      Or take C# properties or Java's manual getters and setters: If you try the Scala equivalent, it's dramatically cleaner, simpler, and you won't want to go back.

                      Most people who are stuck on Visual Studio have never used a good build system like Gradle or SBT or even the new Ruby on Rails stuff. Visual Studio is designed largely around an older black-box type build system.

                      On IDEs: the main benefit of an IDE is navigating a code base. The second benefit is auto-complete type functionality and help hot linking is nice.

                      Comment

                      Working...
                      X