http://www.perlmonks.org?node_id=872847


in reply to Re: What is Perl6?
in thread What is Perl6?

This is not unfamiliar territory.
Perhaps not to you. It certainly was to me, which is why I started this thread. I asked a few of my colleagues. They agreed with me. For good measure, I called up a friend of mine who is a Python programmer. He also said that this was confusing to him. He considers himself a Python programmer, he downloads Python, he programs in Python, his programs are written in Python, and he uses Python (the compiler/run-time) to run his programs.

sigh. Look. I admit that I am technically wrong. But, I am telling how it is. If we want less confusion, if we want Perl 6 to get mindshare, in my highly unscientific but very human-centric view, the message has to be clear and unambiguous, not loaded with technical distinctions that most people will find confusing needlessly.

Update: By the way, I always found Java naming conventions terrible. They stank to high heaven. Its been a while, but I was always puzzled by Java 2 Version 5 SE whatever. There was the JDK and the JVM and the hotspot technology and the JRE. Seriously?

It is like Japanese electronics companies naming their products compared to Apple -- you have the svelte Sony VPCZ1290X Vaio computer on the one hand or you have the Apple MacBook on the other.

--

when small people start casting long shadows, it is time to go to bed

Replies are listed 'Best First'.
Re^3: What is Perl6?
by ikegami (Patriarch) on Nov 22, 2010 at 01:50 UTC

    not loaded with technical distinctions that most people will find confusing needlessly.

    I provided technical details since you seem to be asking for them. There's no need to know any technical details. All you need to know is that you need rakudo to compile the program, and parrot to run it.

    They can't share the same name since they're unrelated projects.

    I always found Java naming conventions terrible.

    It's the web site that was terrible. The distinction is actually quite straightforward.

    • JDK — Sun's distro for developers. Includes their compiler (javac) and their runtime (java).
    • JRE — Sun's distro for users. Includes their runtime (java).

    JVM is an imaginary machine whose assembler language is Java Bytecode, the product of Sun's compiler. It's not a term you should have to deal with.

      I provided technical details since you seem to be asking for them. There's no need to know any technical details. You need rakudo to compile the program, and parrot to run it.
      And that, in my view, is the crux of the problem. Even if I don't want to know any technical details, I have to "write" programs in Perl 6, "compile" them with Rakudo, and "run" them with Parrot.

      This is something I don't have to do with Perl 5. Having worked with Perl 5 for the past 5-6 years, I have written my programs in Perl, and used the perl binary (call it the compiler or the run-time) to run them. Going from version 5 to version 6, and having this change seems to be quite a significant point of inflection.

      Anyway, the point now is -- I understand the difference between the three now, but I don't necessarily appreciate them. To the extent that I have to convey to others what I do with Perl, I will try to keep it simple by telling them that I use Perl, write in Perl and run Perl.

      To me, it seems, that will be a simple, easy to understand message.

      --

      when small people start casting long shadows, it is time to go to bed

        This is something I don't have to do with Perl 5. [...] I understand the difference between the three now, but I don't necessarily appreciate them

        Yes, and this caused you to be stuck with using one implementation. With Perl6, you are not locked with one vendor. For example, you could use another implementation such as pugs instead of rakudo. (Although I believe the development of pugs has stalled.)

        And that, in my view, is the crux of the problem. Even if I don't want to know any technical details, I have to "write" programs in Perl 6, "compile" them with Rakudo, and "run" them with Parrot.

        FWIW parrot is supposed to be completely transparent in thhis process (once it's installed) - you just run your program with whatever executable the compiler provides.

Re^3: What is Perl6?
by TomDLux (Vicar) on Nov 22, 2010 at 01:29 UTC

    Isn't there Puthon and JPython?

    As Occam said: Entia non sunt multiplicanda praeter necessitatem.

      Isn't there Puthon and JPython?
      You are correct. I had forgotten about Jython (the successor to JPython -- I don't think there is any Puthon). In my view, Jython is a bit different -- it is Python written in Java. Kinda like Objective-J. At one point there used to be a PerlScript (from ActiveState) so one could use Perl syntax to write browser-side programs. My impression is that Perl6/Rakudo/Parrot nexus is qualitatively different from the Python/Jython nexus.

      By the way, Occam was also correct.

      --

      when small people start casting long shadows, it is time to go to bed
      ... and Iron Python, and PyPy (Python in Python), and Jython, and others. Those are all on Python 2.6 or earlier, although the latest CPython is at 2.7, and only CPython is on Python 3, with Python 3.2 coming out in February.

      However, for newbies there is a clear download link from python.org - it is to the CPython release, since that is what most want. Will Perl 6 newbies want to wade through alternative versions? Personally I doubt it, choice is good when you are qualified to make the decision, but newbies will be scared of it (a reason for the success of Windows).

      Python 2 to Python 3 involved major changes, but nothing like the number of differences between Perl 5 and 6. Two years since the full release of Python 3 and it is still a minority of sites using it. A major factor in the slow take-up is the lack of ported modules. There is currently a freeze on Python 3 language development to allow everyone a stable target. I'm sure the Perl 6 people are watching the Python 3 experience, and I hope the lessons are being learnt.

      Actually, William never did say that. It was made up later. What he said was numquam ponenda est pluralitas sine necessitate.