Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

INVENT THE WORST PROGRAMMING LANGUAGE

Name: Anonymous 2006-07-09 1:18

1. you can define keywords, operators, grammar rules, general concepts endorsed by the language, etc.
2. do your worst
3. we are starting from the ground up, so it is prohibited to import complete keyword sets from an existing language (no OK, ALL JAVA KEYWORDS, THREAD OVER, HURRRRRRRRRR)
4. and we need a name for this language as well

Name: Anonymous 2012-01-20 13:26

Python


class FORCED_INDENTATION_OF_CODE:
    def __init__(self):
        print "Look mom, a procedure without parenthesis!"

Name: Anonymous 2012-01-20 13:43

( main ) = ( do ( "HELLO" ) ).
        ( var ( $HI = "Hello, world!" ) ).
        ( if ( $HI ) ) ( do ( "PRINT" ) ).
                ( "%d".printf( $HI.to_s ) ).
        ( end ( "PRINT" ).
        ( return 0 ).
( end ( "HELLO ) ).

that was kind of fun

Name: Anonymous 2012-01-20 13:51

A combination of COBOL and SQL with higher-order functions. Each statement is a function and has its own syntax and set of clauses. Keywords are reserved in some statements but can be used as variable or function names in others. Some keywords are synonyms but have slightly different syntax to match English grammar. User-defined functions can also have their own clause types. The documentation only shows basic uses of the statements, never the full variants. The only error messages are "TOO MUCH ON MY MIND." (out of memory), "I THINK I CAUGHT A BUG." (unhandled exception or signal) and "SORRY, I DON'T UNDERSTAND." (any compile-time error).

LET DOUBLE OF X BE MULTIPLY OF X AND Y GIVEN Y EQUALS 2.
COMPUTE DOUBLE OF 10 GIVING V.
WRITE OUT V LEFT ALIGNED NO PADDING.


COBOL's EVALUATE:
->->--EVALUATE-*--identifier-1--*-*-------------------------*--->
             *--literal-1-----* +  *--------------------* +
             *--expression-1--* +  V                    + +
             *--TRUE----------* *-ALSO-*--identifier-2--*-*
             *--FALSE---------*        *--literal-2-----*
                                       *--expression-2--*
                                       *--TRUE----------*
                                       *--FALSE---------*
 
   *---------------------------------------------------*
   *----------------------------*                      +
   V                            +                      +
->--WHEN phrase-1-*--------------*-imperative-statement-1------>
                 + *-----------*+
                 + V           ++
                 *ALSO phrase-2**
 
->--*-----------------------------------*-*--------------*-----><-
   *-WHEN OTHER imperative-statement-2-* *-END-EVALUATE-*
 
 
     where phrase-1 is:
 
->->-*-ANY--------------------------------------------------*---><-
   *-condition-1------------------------------------------*
   *-TRUE-------------------------------------------------*
   *-FALSE------------------------------------------------*
   *-*---*-*-identifier-3-*-*----------------------------**
     *NOT* *-literal-3----* **-THROUGH-*-*-identifier-4-**
           *-arith-exp-1--*  *-THRU----* *-literal-4----*
                                         *-arith-exp-2--*
 
     where phrase-2 is:
 
->->-*-ANY--------------------------------------------------*---><-
   *-condition-2------------------------------------------*
   *-TRUE-------------------------------------------------*
   *-FALSE------------------------------------------------*
   *-*---*-*-identifier-5-*-*----------------------------**
     *NOT* *-literal-5----* **-THROUGH-*-*-identifier-6-**
           *-arith-exp-3--*  *-THRU----* *-literal-6----*
                                         *-arith-exp-4--*


SQL's SELECT:
>>-+--------------------------------------------------+--------->
   |                      .-,-----------------------. |
   |                      V                         | |
   '-WITH--+-----------+----common-table-expression-+-'
           '-RECURSIVE-'
 
>--fullselect--+-----------------+--+--------------------+------>
               '-order-by-clause-'  '-fetch-first-clause-'
 
   .----------------------.
   V                      | (1) (2)
>----+------------------+-+------------------------------------><
     +-update-clause----+
     +-read-only-clause-+
     +-optimize-clause--+
     '-isolation-clause-'

     where order-by-clause is:
             .-,------------------------------.
             V             .-ASC--.           |
>>-ORDER BY----+-sort-key--+------+---------+-+----------------><
               |           '-DESC-'         |
               '-ORDER OF--table-designator-'
 
sort-key:
 
|--+-column-name---------+--------------------------------------|
   +-integer-------------+
   '-sort-key-expression-'

     where fetch-first-clause is:

                .-1-------.
>>-FETCH FIRST--+---------+--+-ROW--+--ONLY--------------------><
                '-integer-'  '-ROWS-'

     where update-clause is:

>>-FOR UPDATE--+---------------------+-------------------------><
               |     .-,-----------. |
               |     V             | |
               '-OF----column-name-+-'

     where read-only-clause is:

>>-FOR READ ONLY-----------------------------------------------><

     where optimize-clause is:

>>-OPTIMIZE FOR--+-integer-+--+-ROW--+-------------------------><
                 '-ALL-----'  '-ROWS-'

     where isolation-clause is:

>>-WITH--+-NC------------------+-------------------------------><
         +-UR------------------+
         +-CS--+------------+--+
         |     '-KEEP LOCKS-'  |
         +-RS--+-------------+-+
         |     '-lock-clause-' |
         '-RR--+-------------+-'
               '-lock-clause-'
 
lock-clause:
 
|--USE AND KEEP EXCLUSIVE LOCKS---------------------------------|

Name: Anonymous 2012-01-20 16:40

All programs start like this:
#include void.h

Name: Anonymous 2012-01-20 18:08

>>121

The plural is parentheses. Please learn it.

Name: Anonymous 2012-01-20 22:15

www.php.net

THE FORCED COERCION OF THE TYPES, THREAD OVER

Name: Anonymous 2012-01-21 1:54

Ducks.
Ducks are TOURING-COMPLETE, they can swim across a (theoretically) infinite river in either direction, at each step they can catch a fish, take a dump, or quack.

Name: Anonymous 2012-01-21 2:03

scheme, but every identifier and number and string must be represented as a balanced nesting of parenthesis.

Name: Anonymous 2012-01-21 4:19

>>125
No, fuck you.

Name: Anonymous 2012-01-21 6:03

mfw helloworld
>>> implying hello isn't "Hello, World!"
>>> I'd like to interject hello
>>> ISHYGDDT
helloworld
Hello, World!

Name: Anonymous 2012-01-21 6:38

functions of < > <= => should be reversed

Name: Anonymous 2012-01-21 6:46

>>133
nice dubs bro

Name: Anonymous 2012-01-21 6:47

Suck my dibs

Name: Anonymous 2012-01-21 7:12

Every procedure call has to start with at least one parenthesis and end with at least 7 of them.

Name: Anonymous 2012-01-21 11:23

>>134
Lisp!

Name: Anonymous 2012-01-21 12:27

Take the C language and make assignment statements have undefined behaviour.

Name: Anonymous 2012-01-21 13:03

>>136
Take the C language and make assignment statements have undefined behaviour.

An assignment in C is also an expression.

Name: Anonymous 2012-01-21 13:40

>>136

I see you haven't read your sicp today.

Name: Anonymous 2012-01-21 15:51

Take the C language and make assignment statements create Prolog-style choicepoints of execution when the variable was assigned and when it wasn't assigned, perform backtracking on segfault.

Name: Anonymous 2012-01-21 19:41

It should have the :: and := operators, and $ to say that the thing is a variable. Now it's unusable.

Name: Anonymous 2012-01-21 19:45

>>139

it's...it's beautiful!

Name: Anonymous 2012-01-21 20:32

use erlang syntax

Name: Anonymous 2012-01-21 23:32

A language based around line numbers where the statement has to be CHECK EM if the last two digits are the same.

Name: Anonymous 2012-01-21 23:32

>>143
144 CHECK EM

Name: Anonymous 2012-01-22 0:52

>>143-144
excellent!

Name: Anonymous 2012-01-22 5:56

i was going to sarcastically say microsoft visual cobol but apparently that actually exists

Name: Geo 2012-04-20 15:54

All keywords would either be words that would get you arrested under suspicion of discussing child porn or on the NSA's terrorism word watchlist.

Name: Geo 2012-04-20 16:11

admin please delete the previous post with my email.

I didn't want to have my email posted! (I thought it was for non posting validation or something - you should warn it will be posted! thanks!)

Name: VIPPER 2012-04-20 16:25

admin
AHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAH

Name: Geo 2012-04-20 16:44

yeah vipper, I'm an idiot.

why is not 4chan's auto delete button showing up ?

Name: Anonymous 2012-04-20 16:46

>>150
Because this isn't 4chan. This is monde4ca.

Name: Anonymous 2012-04-20 17:02

I call it )LISP( )setf( )aref y x board( ) 3((

Name: Anonymous 2012-04-20 18:08

It's like LISP, but without parentheses.

Name: Anonymous 2012-04-20 18:43

All variables are global.

Name: Anonymous 2012-04-20 18:50

Kinda like COBOL except the keywords are the tokens of this phrase:
reminds me of my friend she's about to die cause she has cancer and her favorite character on touhou was letty white ^_^ let's hope she'll live

Name: Anonymous 2012-04-20 22:45

What is Lisp had backwards parentheses. Sort of like: )function x y z(

Name: Anonymous 2012-04-21 0:43

Java.

Name: Anonymous 2012-04-21 1:12

>>153
That would be the best, not the worst.

Name: Anonymous 2012-04-22 6:55

Subtract and branch if less than or equal to zero

Name: Anonymous 2012-04-22 7:08

Just write a random grammar+semantics generator. Bound to be painful to use. Limit actual functionality as much as possible, enough to be Turing-complete (comes very cheap, can do everything), and add a lot of functionality that do overcomplicated one-off things nobody needs or wants or will ever use, bonus points if you only make the parts that make the language Turing-complete into such functionality (such as jumps and conditional jumps). Make recursion as broken as possible to make the language nearly unusable, but not broken sufficiently. Optional high-level or functional constructs which nevertheless are hopelessly unususble due to artificial restrictions as to their use (not creative enough? Think FIOC!).

Obviously this is all an utter waste of time. A good Lisper or just any computer scientist knows that you can just take any language, no matter how bad and as long as it's Turing-complete(hard not to get this, unless you start adding some very arbitrary restrictions), you can just make a compiler from your favorite language to this "new" language and just use whatever you want to write your code in without being forced to suffer...

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List