Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Best^H^H^H^HSilly Programming language?

Options
  • 05-06-2003 9:01pm
    #1
    Registered Users Posts: 2,281 ✭✭✭


    I saw f*ckf*ck in the "Best Programming Language" thread.

    I have also seen brainfuck. This is hello world:
    >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]
    <.#>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[
    <++++>-]<+.[-]++++++++++.
    

    And ook! is cool too!
    Ook! has only three distinct syntax elements:
    Ook.
    Ook?
    Ook!

    # Ook. Ook?
    Move the Memory Pointer to the next array cell.
    # Ook? Ook.
    Move the Memory Pointer to the previous array cell.
    # Ook. Ook.
    Increment the array cell pointed at by the Memory Pointer.
    # Ook! Ook!
    Decrement the array cell pointed at by the Memory Pointer.
    # Ook. Ook!
    Read a character from STDIN and put its ASCII value into the cell pointed at by the Memory Pointer.
    # Ook! Ook.
    Print the character with ASCII value equal to the value in the cell pointed at by the Memory Pointer.
    # Ook! Ook?
    Move to the command following the matching Ook? Ook! if the value in the cell pointed at by the Memory Pointer is zero. Note that Ook! Ook? and Ook? Ook! commands nest like pairs of parentheses, and matching pairs are defined in the same way as for parentheses.
    # Ook? Ook!
    Move to the command following the matching Ook! Ook? if the value in the cell pointed at by the Memory Pointer is non-zero.


    =)

    Does anyone have any other personal favourites?


Comments

  • Closed Accounts Posts: 9,314 ✭✭✭Talliesin


    The idea behind brainf*ck was quite a sensible programming challenge, to write a Turing complete language with a smaller compiler than any other Turing complete language (and they got the compiler size down to 200 bytes).

    Of course while the design of most programming languages have consisted of a series of compromises between how easy things are for the programmer and how easy for the compiler (including optimisier in some cases) brainf*ck always gave the compiler the benefit, and produced a Turing Tarpit, hence the name.

    f*ckf*ck and ook are of course just the same but with different symbols, but they are fun.

    Another fun silly language is Whitespace where only the whitespace characters are significant.


  • Closed Accounts Posts: 1,719 ✭✭✭Ruaidhri


    Originally posted by Talliesin
    Another fun silly language is Whitespace where only the whitespace characters are significant.

    i thought whitespace is an april fools joke?


  • Registered Users Posts: 68,317 ✭✭✭✭seamus


    Challenges
    None of the following have yet been managed. Want to earn some respect?
    • Port the Linux kernel to f*ckf*ck

    ROFL

    I had no idea stuff like this even existed :)


  • Registered Users Posts: 1,865 ✭✭✭Syth


    After seeing Brainf*ck on "Best Programming Language" thread. It's cool and great craic.

    Now which would you rather programme in Brainf*ck or a Turing Machine?


  • Closed Accounts Posts: 9,314 ✭✭✭Talliesin


    Originally posted by Ruaidhri
    i thought whitespace is an april fools joke?
    It is and it isn't. They maintain that the date was a coincidence, but that it is of course a joke. The language works, and code has been written in it, but it wouldn't make much sense to port all of your company's software to it :)

    Similarly RFC 1149 has been implemented but it's still a joke. On the other hand plenty of people have independently arrived at RFC 3093 without getting the joke.


  • Advertisement
  • Moderators, Recreation & Hobbies Moderators, Science, Health & Environment Moderators, Technology & Internet Moderators Posts: 91,238 Mod ✭✭✭✭Capt'n Midnight


    What is the simpliest langague ?
    Or what is the minimum instruction set needed to make a multifunctional langague/processor...

    Is it true that PIC / Stamp basic written into 512 Bytes ?

    Anyone know any of the languages that used lookup tables instead of processors ? (or is that HW :) )


    PS.
    Worst langague is VB
    Look at the costs associated with macro viruses and the whole AV industry - look at sloppy code and Script Kiddies - look at the whole DLL mess associated with it - the whole thing is a security risk - and next to impossible to keep off a machine ...

    Yes I could live without VB.


  • Closed Accounts Posts: 9,314 ✭✭✭Talliesin


    Originally posted by Capt'n Midnight
    PS.
    Worst langague is VB
    Look at the costs associated with macro viruses and the whole AV industry - look at sloppy code and Script Kiddies - look at the whole DLL mess associated with it - the whole thing is a security risk - and next to impossible to keep off a machine ...
    That is the silliest anti-VB comment I've ever heard. The only way the language itself is responsible for the malware is that it's easy to use, which is a good thing. None of the other factors that play in VB being used to write malware relate to the language.


  • Moderators, Recreation & Hobbies Moderators, Science, Health & Environment Moderators, Technology & Internet Moderators Posts: 91,238 Mod ✭✭✭✭Capt'n Midnight


    In and of itself it is not so bad.
    If properly coded and tested it fills many needs.

    But it is resposible for a lot of muppetware.

    When CAD systems were introduced into engineering calculations one of the effects was that engineers had less time to work out things and many problems that would have come to light were missed. It's the same in VB - it's great for prototyping - BUT how many people then sit down and do a full rewrite with bounds testing / walkthrough - many just tart up the interface and call it finished..

    The problem with programming is that historically much emphasis is put on showing that the program works (at least once, under ideal test conditions). But it is also important to test under what conditions the program / algorithms don't work and to filter out inputs that would cause this... Other harder to use languages force you to think more about problems and enforce stronger data definitions..

    BTW: I'm bundling VBS and VB macros into this.


    The best programming system I've heard about was in India where you would have three programmers per group (computers being relatively expensive) and no one would be allowed to write any line of code unless all three agreeded upon it. - Funnily enough they needed very little debugging. - sorry no idea what langague it was.


  • Closed Accounts Posts: 99 ✭✭QBall


    On topic:

    Befunge is even more insane than Brainf*ck.

    To see what it looks like here is a copy of "Hunt the Wumpus" written in Befunge.

    Off topic:

    While Talliesin is correct...

    IMHO VB is an ugly bitch and if it wasn't supported by a company as powerful as Microsoft it would have died years ago. I have to say, I have yet to see a decent program written using VB. I don't know is it VB the language, or the type of coder that uses VB, but most of them have been hideously buggy pieces of sh*t.


  • Moderators, Recreation & Hobbies Moderators, Science, Health & Environment Moderators, Technology & Internet Moderators Posts: 91,238 Mod ✭✭✭✭Capt'n Midnight


    Befunge-93 programs have a maximum size of 80x25 total commands and data bytes

    This sounds like a text screen (mode mono)
    you'd be looking down at the "core" and seeing the program run - neat...

    Speaking of which - there are all the http://corewars.sourceforge.net/ programs too..
    not forgetting http://www.corewars.org/

    http://www.koth.org/info/corewars_for_dummies/dummies.html

    There are currently 17 instructions used in Redcode. This number has changed as the games has evolved. Each instruction has a three letter code (an example would the MOV for move.) They are listed below in no particular order.

    DAT data - MOV move - ADD add - SUB subtract - MUL multiply
    DIV divide - MOD modula (remainder of division)
    JMP jump - JMZ jump if zero - JMN jump if not zero
    DJN decrement, jump if not zero - SPL split execution
    SLT skip if less than - CMP compare (see SEQ)
    SEQ skip if equal - SNE skip if not equal - NOP no operation


  • Advertisement
  • Moderators, Recreation & Hobbies Moderators, Science, Health & Environment Moderators, Technology & Internet Moderators Posts: 91,238 Mod ✭✭✭✭Capt'n Midnight


    http://www.mines.edu/students/b/bolmstea/randlang/
    some quotes:

    Befunge - is (thought to be) the world's first two-dimensional language. It has been accurately described as "a cross between Forth and Lemmings":

    INTERCAL - Originally created in 1972 with one goal in mind (to create a language which had absolutely nothing in common with any other language),

    Malbolge - Named after Dante's eighth circle of Hell, this langauge is the most evil one on this list. It was designed to be evil, and it is. Take the worst parts of INTERCAL, machine language, and BrainF***, temper them with a twisted mind, and you have Malbolge.


  • Closed Accounts Posts: 9,314 ✭✭✭Talliesin


    Originally posted by QBall
    While Talliesin is correct...

    IMHO VB is an ugly bitch and if it wasn't supported by a company as powerful as Microsoft it would have died years ago. I have to say, I have yet to see a decent program written using VB. I don't know is it VB the language, or the type of coder that uses VB, but most of them have been hideously buggy pieces of sh*t.

    VB is ugly. It has many flaws as a language, its runtime has many flaws, and the mechanisms for running macros in VBA and VBS from within programs is seriously and fundamentally flawed.

    That said, there is always going to be a place for a language which allows you to get something done quickly.

    It is also possible to write very sophisticated programs in VB that you wouldn't know (without at the very least examining it to see if it links to the VB runtime) that it was written in VB. Poor VB programs will soon show themselves to be VB, but then many things only show their inner workings when they go wrong.

    I don't like VB, but I believe that a lot of the criticism it receives is uninformed (trust me, if you learn to use it well, you get to hate it in a completely different way to the way you hate it if you don't know it inside out).


  • Closed Accounts Posts: 99 ✭✭QBall


    Originally posted by Talliesin
    VB is ugly. It has many flaws as a language, its runtime has many flaws, and the mechanisms for running macros in VBA and VBS from within programs is seriously and fundamentally flawed.

    That said, there is always going to be a place for a language which allows you to get something done quickly.

    Yep, I totally agree. That language is called Perl. :-)
    Originally posted by Talliesin

    It is also possible to write very sophisticated programs in VB that you wouldn't know (without at the very least examining it to see if it links to the VB runtime) that it was written in VB. Poor VB programs will soon show themselves to be VB, but then many things only show their inner workings when they go wrong.

    Yes, but if the program is very sophisticated, then you take the time to design it carefully and write it with great skill. If you're putting that much effort in, you may as well use a language without the flaws that VB has.

    VB's greatest strength is the ability to rapidly develop your program. For small, quick programs, this is fine, but (IME) for the larger programs it seems to encourage hasty thought and lack of planning.
    Originally posted by Talliesin

    I don't like VB, but I believe that a lot of the criticism it receives is uninformed (trust me, if you learn to use it well, you get to hate it in a completely different way to the way you hate it if you don't know it inside out).

    I suppose, but since I have absolutely no intention (or need) of learning it well I'll stick to the other languages I know. Anything without curlies and semi-colons feels a bit odd to me. :-)


  • Closed Accounts Posts: 9,314 ✭✭✭Talliesin


    Originally posted by QBall
    Yep, I totally agree. That language is called Perl. :-)
    I've lost count of the number of clueless parsers for either XML or a particular XML application (especially the various RSS formats) I've come across written by some muppet that thought "XML is text, Perl makes text stuff easy, therefore writing this in Perl requires no thought" and proceeded with that as their design criteria. A disturbing amount would choke on UTF-16, UTF-8 with any character above U+007F, or even UTF-8 with a BOM.

    It's essentially the same thinking that leads to poorly-written VB code.

    Poor C++ code on the other hand tends to be predicated on the thinking, "I am a real programmer doing hard stuff, I must make this really complicated".


Advertisement