

Duck Programming Language - xigency
http://ducklang.org/

======
femngi
I have to ask what this language is trying to provide that isn't already
provided by lua or python when it already looks almost identical to them. Has
it got an end goal that I cannot see or is it just being done out of an
interest in programming languages?

~~~
Udo
_> or is it just being done out of an interest in programming languages_

That would be enough. I believe more people should be thinking about
programming languages - even if it's just for fun or learning.

 _> what this language is trying to provide that isn't already provided by
[...]_

Most languages don't provide things that aren't technically also provided by
others. It's more about _how_ they are provided, what the language's strengths
are, and how it wants programmers to approach problems.

Showing people what your language is all about is harder than it seems at
first. Duck could probably do with a more in-depth tutorial and some talking
points in order to better inform people about its features.

This made me look at the website of my own perpetually unfinished language
project, and even though I knew I had to make an effort to showcase the thing
in the tutorial section, upon reviewing it now I don't think it was
particularly successful. Arguably, there are even some high profile languages
that don't do a good enough job explaining what they're about, though website
quality has picked up dramatically across the board in recent years.

~~~
klibertp
> That would be enough. I believe more people should be thinking about
> programming languages - even if it's just for fun or learning.

Yes. Having a solid understanding of how languages work makes exploiting
particular strengths of any one easier. It makes polyglot approach viable. It
makes you less dependent on external tools and support from other people, as
you can always roll your own linter, autocompleter or other such things. Being
able to debug and modify your language is rather extreme, but very effective
measure against some development problems.

It doesn't even need to be that great of a time investment to learn the
basics. I see no reason for not doing this if you're a professional
programmer. Language design and implementation is a thing that you'll interact
with every day working as a programmer. It really makes no sense not to have
at least basic grasp of it.

------
xigency
For those of you wondering about the motivations of this, I'd like to explain
that it's mostly an enthusiast project but it might have some utility down the
road.

Honestly, I don't see anyone else using this language besides me. I just enjoy
implementing projects from the ground-up, so this was a chance to really do
that. Originally, this was going to be part of a project to design a minimal
computer from the CPU down to the operating system, but I don't really have
time for that.

I'm hoping some day that Duck will find its uses, somewhere.

------
xigency
An example of the fixed-point combinator in Duck:

    
    
      function fixed_point(f)
        function curry(g, i)
          function recurse(j)
            return g(g, j)
          end
          return f(recurse, i)
        end
    
        function apply(k)
          return curry(curry, k)
        end
    
        return apply
      end

------
fdsary
This looks like a nice language, mad props to the author(s) for actually
creating a new language, that's something I dream of doing one day!

But I wonder, is this means for me to use, and then why should I use it? The
text had great examples of how to use it, but I couldn't find the _why_.

Again, super cool that you wrote a language!

~~~
xigency
Thanks. It's meant for anyone to use. The language is basically in Play-Doh
form at this point, so it's something you can do whatever you want with.

Obviously, depending on what you want to do, it might take more effort on your
part, but I think that's a large part of the point in programming.

For me, the motivation is mainly researching garbage collection/memory
management and function closures.

------
k__
Funny.

The curly braces of the other language in the examples look in place to me.
But seeing all the ends and loops I feel it would be cleaner if they had been
left away and the dev had opted for indentation based blocks.

~~~
TazeTSchnitzel
Only barely related, but it'd be nice if more languages had something similar
to BASIC at the end of a loop (NEXT <VAR>). That way, if you're looking at the
tail end of several nested IFs and loops, it's easier to know where you are.

~~~
xigency
Going through the language forming stage I've really been at a loss to how
other languages accomplish certain features. Revisiting some older code I had
written I had to start contemplating syntax like var_name$ for strings or
decmial_number#.

~~~
TazeTSchnitzel
I've certainly wondered about making a modern language with influences from
BASIC. Most of the languages in use today seem to be C-influenced.

------
tete
Looks like a nice little language. I wonder what the intention was for not
using or (re)implementing Lua.

I might be wrong, but it seems kinda close to it on first look.

------
asimjalis
Why?

~~~
dvirsky
Because why not

