Tried Dylan? (12)

1 Name: Albright 2005-10-03 18:50 ID:Heaven

Of course, major geek points can be earned by being one of the first to hack in an obscure language before it hits the big time (if it ever does). According to this article, one language that may have a good shot is Dylan:
http://arstechnica.com/news.ars/post/20051001-5375.html

While I think the "market" for new mainstream langs is more crowded than ever now, this one looks pretty neat. Have you tried it? Your thoughts?

2 Name: !WAHa.06x36 2005-10-03 20:21 ID:JRFBKeRv

Well, after looking at some code examples, my first impressions would be:

Good:

  • Scripting-language style language that is neither strictly imperative nor functional.
  • Flexible object model, with goodies like multiple inheritance and object introspection and so on.
  • Compiler available, so not a language that has give up on ever being fast like most other such langauges.
  • Easy interfacing with C-style libraries, so this is a language that is actually serious about being useful.

All of those mark it as a language that is serious about actually being useful, instead of merely being some sort of academic exercise, like so many others. I've been wanting a language like this for some time. However, it's not all good:

  • The syntax looks horrible. It's needlessly verbose - I even spotted a "let" statement (what is this, 1980?) - and full of weird punctuation, especially in identifiers (where it's not even needed - it's just a convetion to make variable names unreadable, apparently). This also makes it more sensitive to whitespace than other languages. If I wanted weird punctuation everywhere and needless verbosity, I'd just use Objective-C.
    Oh right, I am.

3 Name: #!usr/bin/anon 2005-10-04 00:13 ID:Heaven

Hm. Bastard child of Haskell and Ruby with naming conventions from GNU Arch. But why are members "slots"? Kind of neat, though.

4 Name: #!usr/bin/anon 2005-10-12 12:39 ID:QwXPlFjG

>>3
Every language needs its gimmick, and since all the good gimmicks have been done already, they need to come up with new names for the existing ones.

Compare: "instance variable", "data member", "field", "slot", etc; compare "method", "member function", etc. They're just rebranding the wheel like everyone else.

5 Name: #!usr/bin/anon 2005-10-17 12:17 ID:Heaven

> "slot" ... "method", "member function"

Am I the only one seeing the sad sexual innuendo here?

6 Name: #!usr/bin/anon 2006-01-04 12:20 ID:taG6VAKT

Who needs Dylan when you have Lisp?

7 Name: #!usr/bin/anon 2006-01-05 12:29 ID:Heaven

>>5
Hey, if you've got enough time to design programming languages, you probably need every bit of innuendo you can lay your hands on.

8 Name: #!/usr/bin/anon 2006-01-16 00:58 ID:zG8BqG4B

Dylan is the greatest singer-songwriter of all time.

9 Name: #!/usr/bin/anon 2006-01-23 09:20 ID:Heaven

>>8
True as that may be, he isn't a very good programming language.

10 Name: #!/usr/bin/anonymous : 2006-04-22 10:50 ID:RIw4LemO

I tried the gwydion implementation of Dylan a while back. My experience: the compiler was incredibly anal about where certain overtly verbose yet seemingly free-form module headers are, and its error messages with regard to these were next to useless. Additionally the compiler was, on a 1.9ghz athlon XP, so slow that any recent GHC is actually faster even if you exclude the time it takes gwydion to link things (which is like 80% of the wall clock time).

My verdict is that Dylan must've been a byproduct of the "make code readable to simpleton managers" movement of the nineties. No wonder that Apple pushed so hard for it in the days of macos 7 (or was it 8? or copeland or some such?). As a serious language however? I'll take Common LISP over this bullcrap any day.

11 Name: #!/usr/bin/anonymous : 2006-04-26 02:29 ID:B+/wLuZS

LISP was a hard sell because I've had very few co-workers willing to learn it.

I had better luck with Python becasue it's easier to pick up, and the ctypes add-on lets you call C libraries without writing binding code.

The disadvantage is we can't automatically convert our final code into C for maximum performance and source obfuscation.

Looking into Euphoria language for that.

12 Name: #!/usr/bin/anonymous : 2006-04-26 10:22 ID:Heaven

Is today plug Euphoria day or something?

This thread has been closed. You cannot post in this thread any longer.