Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 WORLD programming language in alpha
Index -> General Programming
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
btiffin




PostPosted: Mon Dec 26, 2011 11:48 pm   Post subject: WORLD programming language in alpha

Heavily influenced by REBOL, a new programming language is emerging. By John Niclasen, see http://www.world-lang.org/ and https://github.com/Geomol/World for info and downloads. This is ALPHA, but the catch-all KWATZ! datatype could well make this a tool suitable for laymen and practitioners of sciences outside computing.

If you a want functionally complete system, see REBOL, but for an alpha, John already has a fair console, a fair complete implementation of core flavour and well, kwatz.

"Kwatz! It is a sound, found by Zen, that shatters your mind. At least for a moment you simply remain silent, amazed. Because it is not language."

And here is a nice backronym recursive. The hello world program for World is dot, the period, ..

Dot will set records for shortest hello.
code:

[btiffin@home World]$ ./world
Loading Cortex... Done
World/Cortex 0  Copyright (c) 2009-2011 John Niclasen, NicomSoft
build: Dec 23 2011 10:09:47
w> .
Hello, World!
w> help .
Usage:
    .

Description:
    . is a function!
w> source .
.: does [print "Hello, World!"]
w> disasm .
Hello, World!
** Script error: invalid argument:
** Near: disasm .
w> disasm :.
   0 GET_TVALUE       0                8ff8480         
   1 PRINT            0                0               
   2 RETURN           0                0               
w>

In the above, w> is the prompt. . does as advertised and says hello. source . displays the source for the . does code block. When I first tried the world vm disassembler, it triggered the does expression of ., so I needed to use colon : to treat the . disasm argument as a get, not an execute.

If you like REBOL and its derivatives, or want to get in on the really early phases of a language development, see https://github.com/Geomol/World.

Cheers

(Edit) Oh yeah, WORLD is Words, Objectivity, Relations, Language, Datatypes. From the cortex PDF
(Other edits)
See the readme and notice:
Known issues
------------

- The memory handling system can't cope with cyclic references yet. This happens also with functions, blocks, etc. within contexts, because of binding rules.

So, don't plan on doing anything commercial with World yet, but please do check it out, and stay tuned.
Sponsor
Sponsor
Sponsor
sponsor
Insectoid




PostPosted: Tue Dec 27, 2011 12:33 am   Post subject: RE:WORLD programming language in alpha

making '.' output hello world rather defeats the purpose of 'hello world' at all. It's supposed to be your first introduction to programming. Even if it's as simple as a put statement, you're calling a function and passing a parameter.

Bundling it up into a function identified by an extremely common character (ie the period) is gimmicky. Any language *could* have done it, but didn't, because it is, to be quite blunt, really stupid.

Unless there's a good reason for it, in which case I hope you'll enlighten me.
[Gandalf]




PostPosted: Tue Dec 27, 2011 6:11 am   Post subject: Re: RE:WORLD programming language in alpha

Insectoid @ 2011-12-27, 12:33 am wrote:
making '.' output hello world rather defeats the purpose of 'hello world' at all. It's supposed to be your first introduction to programming. Even if it's as simple as a put statement, you're calling a function and passing a parameter.

What about Java, where "hello world" includes defining a class, creating a function (static, no less), passing arguments to it (an array of objects, no less), and using a method from a static PrintStream object for output. Laughing
Insectoid




PostPosted: Tue Dec 27, 2011 9:31 am   Post subject: RE:WORLD programming language in alpha

Even if you don't understand it, it shows you what code 'looks like'. In Java, even if the user doesn't understand all the extra lines, they know that System.Out.PrintLn() outputs to the screen, and whatever is in the brackets is what is printed. The first thing a student will try to do (well, the first thing I did) is change the output string. How do you change 'hello world' to 'goodbye world' in WORLD?

To exaggerate the scenario, what if '.' was a complete game of Pong? Then every student creates Pong their first day, but to what end?
btiffin




PostPosted: Tue Dec 27, 2011 12:39 pm   Post subject: Re: WORLD programming language in alpha

Insectoid;

As a Forther, I grew up typing hi to start up a Forth session. It responds with ok if nothing went wrong.

. (dot) is the Forth print top of stack word. The say hello to World word is dot. Not gimmicky really, a historical reference to the languages that influenced its design.

Umm, it makes perfect sense and feels right, from an old guy's, crusty, "get off my lawn" head space.

But don't let one little issue stop you from checking it out. If John completes a 1.0 reference implementation (and all signs are positive), World could well be a tool that opens console scripting to a vast number of non-techie related fields.

Cheers
Velocity




PostPosted: Tue Jan 10, 2012 12:08 am   Post subject: RE:WORLD programming language in alpha

Insectoid :

The world gets lazier everyday, soon every key stroke made on your keyboard will make its own simple function or game on the ''newly designed language of its sort'' as long as its easy and efficient, people will like it. This dot outputted hello world is just a start. Only the true programmers are the ones behind the curtain making this thing work, or the ones that ignore all this modern day shcaddadle and work hard to achieve something well known but take credit for actually putting effort into it. Take dissasembler or assembler for instance, its difficult, but efficient.
Display posts from previous:   
   Index -> General Programming
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 6 Posts ]
Jump to:   


Style:  
Search: