Slashdot Mirror


Introducing The Heron Programming Language

Christopher Diggins writes "The Heron programming language, is a new general-purpose multi-paradigm programming language in the style of C++ which is starting to make waves. The popular Polish software development magazine Software 2.0 is featuring an article on Heron, in its first English version of the magazine slated to appear in February 2005. A preview of the Heron article is available."

8 of 142 comments (clear)

  1. Willful Ignorance by Anonymous Coward · · Score: 3, Insightful
    Diggins makes absurd statements like:
    • "As a programmer for over 20 years, I have never been concerned with what a 'type system' is."
    • "Every programming language I am familiar with has the same basic concept: values and expressions may or may not have a type."
    • "The concept of "term" is irrelevant to the implementation, design and use of programming languages."

    See Lambda The Ultimate.

    I'm not sure how Heron is going to emerge from the mess of C++ish languages that includes Java (and variants like HyperJ and AspectJ), C#, the also new (but much more active) Scala, the well-grounded Nice, and the nearly complete Aldor.

    And there's no way I'm downloading and installing Kylix just to try it out.
  2. Sorry, i'll have to pass by QuantumRiff · · Score: 1, Insightful

    This could be the greatest thing since the invention of the transistor, but putting phrases in like :
    new general-purpose multi-paradigm
    is going to lead me to believe that it was developed by an Executive, a consultant, or, worst of all, a corporate motivational speaker!

    No thanks..

    --

    What are we going to do tonight Brain?
  3. To Quote Steve Jobs... by smug_lisp_weenie · · Score: 5, Insightful

    (in reference to the Next Cube)

    "In order for people to adopt a new computing platform you can't give them something that is 30% better- You really have to give them something that is 200% better and that is what we failed to see at Next."

    I commend the designer of the Heron language for trying to simplify some of the complexity of C/C++ (Just like the D language and Eiffel tried) and some persons may benefit from such a tool. But I fail to see how a language with some minor improvements in contract and aspect-oriented programming support is really offering more than 10-20% improvement in terms of design over vanilla C++ - Not that anyone says it has to, but to truly make waves in the programming world I think a larger advance would really be necessary...

    Also, I am skeptical of the practicality of new languages that don't support garbage collection- Garbage collection is just such a huge win in terms of productivity in many programmers' eyes, not to mention its ability to prevent viruses/exploits from buffer overflows. I coudn't imagine adopting a new language that doesn't at least have this one critical feature, even if you carry a tiny performance overhead because of it...

    Still, it's always nice to see people working on new ideas in language design!

    --Conrad Barski

  4. Re:Another statically typed language? by cdiggins · · Score: 2, Insightful
    The problem with dynamic languages, like Python, is that they can't be easily compiled to native code and optimized.

    I think that the particulars of C++ are the real problem, with all of the backwards compatibility issues, and incremental addition of new features without apropriate removal or updating of deprecated functionality.

    --
    Christopher Diggins
  5. As a C++ programmer... by Tim · · Score: 4, Insightful

    Let me just say that the last thing you want is to emulate is the style of C++!

    Perhaps next you'll tell me it has the speed of Python and the type-safety of perl....

    --
    Let's try not to let fact interfere with our speculation here, OK?
  6. Gosh. by Kickasso · · Score: 4, Insightful
    Who, in this day an age, deliberately designs a non-hygienic macro system? Don't they teach Scheme in CS101 courses?

    Note: call it a macro system, or call it a type safe generic metaprogramming facility, or whatever. I don't care, it's still not hygienic. The relevant wording is here.

    Gentle Slashdotter, if you are ever to design a programming language, please make sure its scope rules (whether run-time or compile-time) are sane. Thank you.

  7. Static typing is great!! by Tom7 · · Score: 2, Insightful

    I think you're way off base. Static typing helps you catch a large fraction of bugs (these fraction of these bugs being proportional to the quality of your type system) before you ever run your program, which is a very real win. Testing is particularly bad at catching problems in unanticipated inputs or situations, so I don't believe testing can replace static typing as a bug-finding mechanism. (Although testing is of course still important, since it provides another avenue to find bugs.) Tracking down the cause of a type error is always easier than tracking down the cause of a runtime error.

    Static typing doesn't come at a huge cost in language complexity. C++ is complex and broken, yes, but there are many much simpler languages (like SML, O'Caml, Haskell) that are statically typed and very elegant. Being a user of SML, I can attest to the fact that its static typing helps catch loads of bugs early--to the point where if your program compiles, it is probably right (indeed, many of the undergraduates at our school, even if they hate typed functional programming, believe this by the end of their first semester with it--I have TA'd these classes and watched programmers learn many times!)

    The future (and indeed, where most language design research is done today) is in more powerful type systems that let us express our ideas even more cleanly, reducing run-time bugs even more.

    (Again, C++ and Java are definitely not exemplars of this ideal.)

  8. Re:Thoughts by Carewolf · · Score: 2, Insightful

    Lisp is a functional programming language you can bend (usually in the Scheme form though).

    C++ is the only major inherently multiparadigm language. For instance try to make Lisp a hardware-close explicit memory managed language. Any new multiparadigm language is going to borrow a lot from C++, because it is the king.