Announcement

Collapse
No announcement yet.

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

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

  • Wildfire
    replied
    Originally posted by dee. View Post
    They're not really breaking conventions, they're just using Pascal-like syntax. Apart from the if=do thing, which doesn't make sense any way you cut it...

    The type declaration syntax is straight from pascal, though. Pascal was always a wordy language, it was designed to be a sort of advanced basic, a language for learning programming. If this language aims to do the same, then the wordiness at least makes sense on some level.

    But personally I have to sort of question the idea of using a language like this for teaching programming... isn't it better to just teach the languages that are actually used right from the start?
    Yeah, I was reminded of that, I did use Pascal back in school (or had to). Our teacher was a big fan, because "x := 1" is "more correct" than "x = 1" in a semantic kind of way...

    As far as learning to program goes, I guess picking a simple language does help (but really, Java or C# aren't that bad in this regard). What's far more important than language is developing the right mindset, problem solving skills, deduction, algorithms, etc.

    Leave a comment:


  • dee.
    replied
    Originally posted by Wildfire View Post
    I can understand you sometimes have to break conventions
    They're not really breaking conventions, they're just using Pascal-like syntax. Apart from the if=do thing, which doesn't make sense any way you cut it...

    The type declaration syntax is straight from pascal, though. Pascal was always a wordy language, it was designed to be a sort of advanced basic, a language for learning programming. If this language aims to do the same, then the wordiness at least makes sense on some level.

    But personally I have to sort of question the idea of using a language like this for teaching programming... isn't it better to just teach the languages that are actually used right from the start?

    Leave a comment:


  • prodigy_
    replied
    If there's one thing the world needs, it's more programming languages!

    Leave a comment:


  • Wildfire
    replied
    I can understand you sometimes have to break conventions to improve, but you should have a good explanations as to why you're doing so. From the examples shown on the webpage, I get the feeling Leaf breaks many conventions, all in the wrong places. I mean, what's wrong with if, why do they feel the need to call it do? How is "do x be less than y" better than "if x is less than y"?

    The variable declarations are overly wordy (when you're not using type-inference), and they seem to make up for it by using things like the pipe-character to mean "else", instead of say simply using else. I feel it doesn't really add to the language's readability and also breaks with most other languages where a pipe is a binary-or and a double-pipe is a logical or.

    I mean, sure it's nice you can write
    var a = [ 1, 2, 3 ]
    var b = [ a, [ 5 ] ]

    instead of
    var a = new List<List<int>>(){ { 1, 2, 3 }, { 5 } };

    But I think type-inference for things like this can easily get out of hand since you never truly know what a and b. I mean, I can assume they're arrays of integers but sneak a ".3" in there somewhere and suddenly it's an array of floats or doubles. By the way, how would I go about explicitly declaring the variable type for b in Leaf? Something like "b : array of array of integer 32bit"?

    One other thing they haven't shown so far is loops like for and while. Guess they're still trying to come up with fancy new names...

    Originally posted by Leaf in Launchpad
    Leaf is the language we always wanted. Drawing from a half century?s worth of collective knowledge, Leaf incorporates the best ideas into a unified whole. A language with the willingness to rebuild everything and examine the deep foundations of every issue.

    All programmers will feel at home with Leaf.
    Wow... they sure are awfully sure about what they're doing. And no, so far I'm not feeling "at home" going from the examples they've shown. Hm, a handful of examples, big words, a professional looking webpage... could you be a start-up in need of a sponsor? Are you trying to be bought for a few millions so you can sit back and laugh at the investor trying to capitalize on their useless investment? All of the stuff surrounding the language looks far too professional to be the work of a lone developer.

    Leave a comment:


  • nslay
    replied
    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.
    Visual Studio is a piece of crap and a waste of my time. There's nothing normal about lock ups, freeze ups, glitches, large debug/meta data files, false positive red squiggly lines, inability to find template definitions, 15 minute link times, needing plugins because features that should be there aren't, or the numerous standards-violating handling of templates.

    And don't even get me started on TFS (also a piece of crap and a waste of time).

    Leave a comment:


  • rdnetto
    replied
    Originally posted by Detructor View Post
    well, the combination of code suggestion, the easy access to MSDN (just press F1 on a keyword/method and you get the definition), the extension system, viewing 3rd party assemblies (it's namespaces/methods), just clicking a small button and a missing using statement is added and the (for the most part) useful error messages make it an awesome IDE. And while Eclipse has a similiar extension system, the IDE itself feels just...unprofessional...interestingly I get the same feeling when seeing/using a KDE desktop, but not with Gnome. I get it on Windows XP, Windows 8, Apple's operating systems and Xfce but not on Windows 7. I guess I'm just weird.
    I've found that Vim actually comes quite close to being as powerful an IDE as Visual Studio, when programming Python (and presumably other languages with the requisite plugins).
    • code suggestion - ctags
    • the easy access to MSDN - pyref
    • the extension system - there are more plugins for Vim than for Visual Studio, although they're limited by the textual interface (unless you keep them in their own windows)
    • viewing 3rd party assemblies (it's namespaces/methods) - ctags
    • just clicking a small button and a missing using statement is added - as far as I'm aware there's no plugin for this, but it probably wouldn't be hard to write one
    • the (for the most part) useful error messages - pylint


    Obviously you'll still want something else if you're designing GUIs (I'm quite fond of QtCreator for this), but Vim is extremely powerful with the right set of plug-ins. That said, it's definitely a DIY approach to an IDE and combined with the steep learning curve, I can understand why most people don't use it.

    Leave a comment:


  • dee.
    replied
    Originally posted by YoungManKlaus View Post
    Apart from a bulky syntax for declaring typed variables ("var a : integer 32bit") and nullables ("optional" - compare that to C#'s "int?") nothing noteworthy pokes me in the eye yet...
    Oh man, that sounds horrible. It's like a strain injury waiting to happen (from all the superfluous typing, you see).

    On the other hand, if it provides some good default macros that shorten those to something reasonable ("int32" sounds good), then I don't see it as much of a problem. C has "unsigned long long int" too but you can shorten it to "uint64_t" so it's all right.

    Leave a comment:


  • F i L
    replied
    Language looks interesting. Good to see another language focus on memory safety and performance (it's focused on performance right? website is a bit lacking on information). I like the syntax in some ways ('type', 'func', 'var <name> : <type> = ...', etc) but don't like it in other ways ('integer'.. really? 'int' is common enough to justify abbreviation, and why remove if statements?).

    Anyways, looks interesting, and good to see it's LLVM backed and all that. Maybe it will be great in the future. Though i'm not really seeing anything "new" besides syntax (well, i guess it's syntax, memory safety, and C/C++ level performance/control? that could be worth it). I'll keep an eye on it.

    The Nimrod Programming Language has pretty much everything benefit of Leaf, but also introduces a ton of great things other languages don't do (that have nothing to do with syntax).

    Leave a comment:


  • fuzz
    replied
    Originally posted by AnonymousCoward View Post
    Leaf looks a lot like Javascript.
    I was thinking the same thing.

    From the website, the guy says "I want a language that makes it a joy to write great programs."

    Perhaps he should try Python.

    Leave a comment:


  • Pseus
    replied
    Originally posted by Pseus View Post
    Err, can't find the edit button: when I refer to Java IDEs I mean IntelliJ IDEA.
    Stupid 1 minute limit for edits. And regarding the article: IMO, the most interesting in-development language would be Rust for now.

    Leave a comment:

Working...
X