From: "Mauricio Fernández" Date: 2002-08-22T03:53:18+09:00 Subject: Re: What New Language After Ruby? On Thu, Aug 22, 2002 at 12:20:19AM +0900, Yukihiro Matsumoto wrote: > |To Andrew Hunt and David Thomas: > | > |I think in the book "The Pragmatic Programmer", one of the advices is to > |learn a new language at least once a year. Probably for the year 2001 it > |was Ruby. Now we are already in August 2002. Is there any language > |candidate for this year? > > I remember Dave once said his language for the year 2001 was Japanese. Come on... He's a Pragmatic Programmer, not a Utopian one :-) Japanese would be more like "one language per decade" :) (and I probably fall short) You'll soon have to answer such things as "is it worth switching to Japanese if I know Ruby" or "can Japanese be embedded in a C application"; the responses could arguably be yes in both cases :-) Maybe we should have a FAQ: * Who's behind it? Is it ready for prime-time? Japanese is a time-proven, industrial-strength language. It is actively used by more than 120 million people worldwide. It is little known out of Japan but it is much more used there than Python, Perl and even C/C++! It is also a very general language, suitable for any application you can think of! We don't know who's the current maintainer, but who needs one, anyway? * I've heard Japanese supports OOP, is it true? Yes; basic OO features such as classes, inheritance, etc have been used for a long time. Moreover, advanced concepts such as mix-ins and iterators can also be expressed in Japanese. * Is Japanese more OO than Python? Yes and no. Everything can be thought of as an object, but Japanese is multi-paradigm. You can think OO, functional, logical, whatever! But in a way it is more OO as you can extend all values. Methods and objects can easily be protected or made private. * What are its more interesting features? - it is multi-paradigm: dataflow, functional, logical, procedural, OO... - dynamically typed: variables (references) are type-less, but the values they point to have their own type. For performance and/or other reasons, you can specify the expected type with the type markers: "-chan", "-kun", "-san", "-senpai", "-sensei", etc... Values ares very often promoted, for example from "-chan" to "-kun". This dynamic typing allows you to use the same value in different contexts (try pointing to an unknown value as "-chan" and watch the result!) This is however quite an advanced feature, unsuited for newbies - HUGE library of already-made, fully-debugged classes - access to these classes is done via "Kanji" in Japanese terminology, of which there is an ENORMOUS number * What platforms can I use it with? Japanese has been used near Windows(TM). It can also be used in Un*x and POSIX-compliant systems. Just about anywhere there's people, Japanese can work! * So if it's so advanced, is it for me, the Pragmatic Programmer? Forget it. You'll never be proficient enough with Japanese. Its design is too alien for us and very few people outside of Japan have been able to learn it. Use BrainF*ck instead. -- _ _ | |__ __ _| |_ ___ _ __ ___ __ _ _ __ | '_ \ / _` | __/ __| '_ ` _ \ / _` | '_ \ | |_) | (_| | |_\__ \ | | | | | (_| | | | | |_.__/ \__,_|\__|___/_| |_| |_|\__,_|_| |_| Running Debian GNU/Linux Sid (unstable) batsman dot geo at yahoo dot com Linux: Where Don't We Want To Go Today? -- Submitted by Pancrazio De Mauro, paraphrasing some well-known sales talk