back to article New coding language Fetlang's syntax designed to read like 'poorly written erotica'

Developers: bored with bracketing? Got a dose of “escaping ennui”? Why not write bad erotica instead? That's the brilliant/sick objective of a project called "Fetlang" that recently emerged on GitHub thanks to a chap called Dagan, aka “Property404”. As the repo's readme explains: “Fetlang is a statically typed, procedural, …

  1. OzBob

    OK, so if there are any coders

    that are part of the "Huka Falls Surf Club", they will subscribe to this sort of thing?

    https://en.wikipedia.org/wiki/Huka_Falls

    If you are a programmer who wants pain, try coding in ABAP.

    1. Anonymous Coward
      Anonymous Coward

      Re: OK, so if there are any coders

      Yeah, we're mostly IT workers. I see no call for further BDSM, thank you very much.

    2. MichaelBirks

      Re: OK, so if there are any coders

      Peter Plumley-Walker was 1989? Wow, how time flies.

    3. Muscleguy

      Re: OK, so if there are any coders

      Don't code foreign until you've seen the locality.

      /ancient NZ tourism ad featuring the aforementioned falls and knowledge of them.

    4. Anonymous Coward
      Anonymous Coward

      Re: OK, so if there are any coders

      I see your ABAP and raise you MHEG-5.

      1. MyffyW Silver badge

        Re: OK, so if there are any coders

        The last luser who tried to interface with my BAPI ended up with his stack overflow in an untidy heap.

        Keep you filthy codecs to yourself, young man. ;-)

      2. JetSetJim

        Re: OK, so if there are any coders

        I see your MHEG-5 and raise you Malbolge, where the "Hello World!" program is (apparently) written as:

        (=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc

        1. David Given
          Thumb Up

          Re: OK, so if there are any coders

          Malebolge is so evil that the first known program was discovered by doing a brute force search of the program space. It took a cryptanalysis attack before somebody found out how to write programs in it on purpose.

  2. jake Silver badge

    make love

    not war?

  3. FozzyBear
    Gimp

    Fetlang is not recommended for production use

    OH! I don't know it would make code reviews much more interesting.

    1. Peter2 Silver badge

      Re: Fetlang is not recommended for production use

      It's probably not recommended to put anything much about having any experiance with it on your CV either...

      1. Anonymous Coward
        Anonymous Coward

        Re: Fetlang is not recommended for production use

        A new frontend for FetLife ? I think I have the perfect resume for your needs ... ^^

  4. The Wild Tomcat

    I think I prefer...

    ...Brainfuck.

    1. Anonymous Coward
      Anonymous Coward

      Re: I think I prefer...

      Whitespace for me: look at this example

      1. Anonymous Coward
        Anonymous Coward

        Re: I think I prefer...

        "Whitespace for me: look at this example"

        There's an unclosed function on line 44. Does not compile.

        1. Michael H.F. Wilkinson Silver badge
          Happy

          Re: I think I prefer...

          I have a soft spot for Befunge. Loops are REAL loops in a 2D language, and stack orientation means you program the way Yoda speaks

    2. Anonymous Coward
      Anonymous Coward

      Re: I think I prefer...

      Noes! Can haz LOLCODE!

      kthxbye!

  5. Chris Stephens

    Imagine a class on this language. The teacher would be hilarious. The curriculum would be awesome. The discussions would be just awesome.. "Well if you lick johns balls here, you have to lick his cock too" Oh man... What a class.. I wonder if I could get certified in the language ?

    1. jake Silver badge

      I think you'd have to be.

      Certifiable, anyway ... This kind of language isn't the type you learn in a classroom. This is the kind of thing that Usenet and mailing lists were invented for.

      1. Teiwaz

        Re: I think you'd have to be.

        This is the kind of thing that Usenet and mailing lists were invented for.

        This is the kind of language best learnt from crinkly yellowed and dog eared line printer output - passed around surreptitiously in disused ink cartridge storerooms....

    2. Amorous Cowherder
      Unhappy

      Classes and members

      I read the first sentence and immediately I was thinking OOP implementation with this Fetlang.

      Oh dear Lord I've been in the IT biz way too long, let me out!!

  6. Teiwaz

    Love the honestly listed 'features'

    Confusing English-like syntax and unhelpful error messages

    If only all computer languages were so honest...

    1. AndrueC Silver badge
      Joke

      Re: Love the honestly listed 'features'

      I've occasionally thought that abusive versions of error messages might help lighten the programming mood:

      "Object reference not set to an instance of an object you stupid idiot".

      "The name 'ibble' does not exist in the current context you pillock."

      "Cannot implicitly convert type 'string' to an 'int' - have you gone mad?"

      "'Fred' is inaccessible due to its protection level. Mind your own business."

      "'IZero' does not contain a definition for 'ibble'. Why don't you try reading the documentation or learn to type?"

      On seconds thoughts, maybe not :)

      1. Voland's right hand Silver badge

        Re: Love the honestly listed 'features'

        I've occasionally thought that abusive versions of error messages might help lighten the programming mood:

        Unfortunately, we are long past the days when statlab (or was that minitab?) answered to "fuck you" on the command line with "Your place or mine?".

        The world has gone politically correctness mad.

        1. Michael H.F. Wilkinson Silver badge

          Re: Love the honestly listed 'features'

          I seem to remember that our CDC 160/760 NOS operating system responded to "Fuck you" with the dry response:

          Task not in system

          1. Amorous Cowherder
            WTF?

            Re: Love the honestly listed 'features'

            Given Powershell's verb-noun syntax ( yes it's scripting, not a real language ) "Fuck-You" sounds perfectly legal.

            Opportunity for a complete module here.

            "Fuck-This" - exit script ( optional -ForAGameofSoliders param )

            "Fuck-That" - kill a process

            "Fuck-Yourself" - exit and delete all traces of the script

            "Fuck-It" - power down system

      2. Version 1.0 Silver badge

        Re: Love the honestly listed 'features'

        It's hard to beat (sic):

        ERROR 67291: ERROR MESSAGE DOES NOT EXIST

        1. DJO Silver badge

          Re: Love the honestly listed 'features'

          It's hard to beat...

          The all time best error message has to be the DOS masterpiece:

          "Keyboard Failure. Press F1 to continue"

          1. Anonymous Coward
            Anonymous Coward

            Re: Love the honestly listed 'features'

            >The all time best error message has to be the DOS masterpiece:

            >"Keyboard Failure. Press F1 to continue"

            A lot of AT systems supported hot-plugging - BYOD started with keyboards - and decent ones weighed more than my current laptop. It's also the error you get if a key is stuck on or you've left your IBM ashtray mashing the keyboard - so not as daft as it sounds.

            1. Jonathan 27

              Yeah...

              That's generally a BIOS prompt, not DOS. You can disable it in the BIOS on most machines, I've seen even recent machines with "Keyboard Failure Warning" listed in the BIOS setup screen.

            2. jake Silver badge

              Re: Love the honestly listed 'features'

              "BYOD started with keyboards"

              Nope. BYOD started with modems.

  7. Anonymous Coward
    Anonymous Coward

    Should spark the interest of some Politicians

    to understand more about computers and encryption.

  8. John Smith 19 Gold badge
    Coat

    Some people...

    have waaay too much time on their hands.

    1. Anonymous Coward
      Anonymous Coward

      Re: Some people...

      .. but I'm glad they use it to make shit up. It's a good laugh :).

  9. Ken Moorhouse Silver badge

    I can see the attraction...

    ...if you write bad code and put it into production - when people who've bought your software complain bitterly then the resulting humiliation [presumably*] aims to give lasting fulfillment to the author.

    * I am guessing here.

  10. Peter Prof Fox

    A much more interesting language would be CARRY-ON

    nudge-nudge ... for boring CRLF

    perusing my synopses ... Accessing the file system's index

    And so on.

    Exceptions would be represented by oo-er-missus

    This would be a far better language for pedagogy as (a session in my study later!) would develop an oblique approach to programming and be a healthy introduction to the reality of sexism in IT.

  11. Anonymous Coward
    Anonymous Coward

    So technically shades of grey could be the code behind clippy and no one knew.

  12. trog-oz

    We used to do this back when I was a COBOL programmer in the 1970s

    You could :

    ADD INSULT TO INJURY.

    PERFORM FLOGGING UNTIL SATISFIED.

    DISPLAY PENIS.

    etc, etc

    1. Teiwaz

      Re: We used to do this back when I was a COBOL programmer in the 1970s

      I've often found the comments in production COBOL worth keeping an eye on for humour

      1. jake Silver badge

        Re: We used to do this back when I was a COBOL programmer in the 1970s

        The source for any major project has amusing comments embedded in it. It a way of keeping ourselves sane(ish). Hell, try reading something as purely functional as termcap sometime. (On Slackware, the old 'complete" version is /etc/termcap-BSD, your distro's mileage may vary.)

    2. Simon Harris

      Re: We used to do this back when I was a COBOL programmer in the 1970s

      When I used to write a lot more assembly code than I do now there was always the challenge of smuttifying 'ORG' directives and 'BRA' and 'SEX' instructions... and that challenge was invariably accepted.

      1. Anonymous Coward
        Anonymous Coward

        Re: We used to do this back when I was a COBOL programmer in the 1970s

        "'BRA' and 'SEX' instructions... and that challenge was invariably accepted."

        Isn't that 1800 Assembler? SEX disappointingly SElects the register to use for the X stack pointer.

        The manual had a convoluted example of how to code ASCII that seemed designed purely to allow the introduction of the word "t'its'.

        1. Simon Harris

          SEX @ Voyna i Mor

          I was thinking more along the lines of 6809 assembly code where it stood for Sign EXtend the A register into the AB register pair, but good to see Motorola wasn't the only company having SEX back then.

          1. Steve the Cynic

            Re: SEX @ Voyna i Mor

            Could be worse. Could be 80x86 assembler, where the opposite of CLI is STI.

            But yeah, I remember 6809 assembler well, wuth SEX and BRA (rather prosaically, this was just BRanch Always, and yes, it had an instruction BRN - BRanch Never(1)).

            (1) I mean it. All the position-independent branches were conditional and came in pairs. One member of each pair would branch if the condition was true, and the other would branch if it was not true. And one of the conditions was "true". BRA branched if true was true, and BRN branched if true was not true. That didn't happen very often.

            1. JulieM Silver badge

              Re: SEX @ Voyna i Mor

              Early-generation ARM processors -- where every instruction was conditional -- included a "never" condition as well as an "always" one, simply because it was too much bother not to.

              Those opcodes were later repurposed for "thumb" instructions.

            2. This post has been deleted by its author

          2. Anonymous Coward
            Anonymous Coward

            Re: SEX @ Voyna i Mor

            "I was thinking more along the lines of 6809 assembly code"

            Ah. I only came across the 6809 once as I went straight from 8 to 16 bits, both military processors, and never looked back.

            And I discover my memory fails me (perhaps that's why the downvote?) and the 1800 branch instruction is just BR. So yes, 6809 is where it's at. What's more, the 1805/6 instruction set missed a trick - there's a DSM instruction and a DSMB instruction. So close! If only they'd called it Borrow Decimal Subtract Memory.

  13. Joerg

    Idiots in the IT field.. too many in the last few years...

    Before the IT was filled with idiots like these producing absolute garbage and childish lame nonsense stuff like this "programming language" the IT field was made mostly of very smart people.

    Nowadays too many idiots at large. The IT field.. being a programmer IS NOT FOR EVERYONE ! Just like Engineering, Chemistry, Medicine .. Instead worldwide these sectors have been filled by people with no brain cells and it shows everywhere. The overall quality worldwide dropped thru the last few decades like never before in all countries and that is a real shame.

    1. Teiwaz

      Re: Idiots in the IT field.. too many in the last few years...

      Before the IT was filled with idiots...

      Somebody accidentally uninstalled their sense of humour this morning...

      There's a great tradition of 'silly' little projects like these, everyone knows not to take it seriously. This is just an exercise in free thought - next thing they may come up with is a more useful language.

      1. David Harper 1

        Re: Idiots in the IT field.. too many in the last few years...

        "There's a great tradition of 'silly' little projects like these, everyone knows not to take it seriously."

        Alas, some of these practical jokes do still occasionally get out of hand. Take Python, for example -- the language that brought back indentation as part of the syntax, just when old FORTRAN programmers like me thought that we'd seen the last of that kind of nonsense :-)

      2. WolfFan Silver badge

        Re: Idiots in the IT field.. too many in the last few years...

        Somebody accidentally uninstalled their sense of humour this morning...

        It wasn't an accident, and it wasn't this morning. He had it surgically removed quite some time ago.

      3. Fatman
        Joke

        Re: Somebody accidentally uninstalled their sense of humour this morning...

        <quote>Somebody's accidentally uninstalled their sense of humour module has been corrupted by malware this morning...</quote>

        FTFY!!!

    2. jake Silver badge

      Re: Idiots in the IT field.. too many in the last few years...

      I feel ever so sorry for you, Joerg. I think life must be simply awful for you, without the ability to parse poetry.

    3. Anonymous Coward
      Anonymous Coward

      Re: Idiots in the IT field.. too many in the last few years...

      "Before the IT was filled with idiots like these producing absolute garbage and childish lame nonsense stuff like this"

      Before about 1965 then, which I think was when I first saw a Snoopy printout from a mainframe.

      1. HPCJohn

        Re: Idiots in the IT field.. too many in the last few years...

        Snoopy printouts... still around in the 1980s on all right thinking mainframe ops rooms.

        There was also a line printer image with a lady in a bikini if I am not imagining it..

        1. Pompous Git Silver badge

          Re: Idiots in the IT field.. too many in the last few years...

          "There was also a line printer image with a lady in a bikini if I am not imagining it.."
          Bikini?

          ASCII nude

    4. phuzz Silver badge
      Devil

      Re: Idiots in the IT field.. too many in the last few years...

      Particularly fun to see Jorge's comment about how the entire IT industry is going to the dogs in "the last few decades like never before", right underneath a bunch of comments between COBOL programmers chatting about getting up to the same stuff forty years ago.

      Perhaps you should go have a lie down Jorge, once you've been in IT for a few more years you'll realise none of us take it that seriously.

    5. Jason Bloomberg Silver badge
      Gimp

      Re: Idiots in the IT field.. too many in the last few years...

      idiots like these producing absolute garbage and childish lame nonsense

      "Make slave scream" as a reimagining of the Print command put a smile on my face.

      I would dispute your dismissive put-downs as the author shows quite a flair for creativity and outside the box thinking even if it is nothing but an attempt to have and share a little bit of fun. Who knows: it might actually turn out to be an important step in moving to natural language processing; but I'll take it for what it is. There's nothing wrong with a bit of "what if?' every now and again.

      If I come across a stack of compiler discs tucked under a bush in the local park I might give it a whirl. It will make a change from doing the usual 'tied to the desk' stuff I have to do.

      1. Teiwaz

        Re: Idiots in the IT field.. too many in the last few years...

        If I come across a stack of compiler discs tucked under a bush in the local park I might give it a whirl. It will make a change from doing the usual 'tied to the desk' stuff I have to do.

        Contemplating setting up a Phone Sex coding help-line - Think it's a winner?

      2. eldakka
        Coat

        Re: Idiots in the IT field.. too many in the last few years...

        @Jason Bloomberg

        If I come across a stack of compiler discs tucked under a bush in the local park I might give it a whirl. It will make a change from doing the usual 'tied to the desk' stuff I have to do.

        Looks like you are trying to write Fetlang code...

    6. My Alter Ego
      Facepalm

      Re: Idiots in the IT field.. too many in the last few years...

      I know, can you believe that somebody actually wrote RFC 2549 (IP over Avian Carriers with Quality of Service). I mean what were they thinking - it's a ludicrous idea.

      1. Missing Semicolon Silver badge
        Happy

        Re: Idiots in the IT field.. too many in the last few years...

        RFC2549 (actually its predecessor RFC 1149) , was implemented - once.

        See here

        1. Roo
          Windows

          Re: Idiots in the IT field.. too many in the last few years...

          ${DEITY} bless those crazy people.

    7. Amorous Cowherder
      Unhappy

      Re: Idiots in the IT field.. too many in the last few years...

      One of the key fundamental exercises for creative minds is the classic "thinking outside the box", all great creative minds have to think wildly outside their respective boxes otherwise they will not grow. I'll be honest and state that if you're not coming up with silly ideas at least once a day, then you're obviously a failed AI bot on a system somewhere, as no human being can get through their day without coming up with creative ideas every few hours.

      Maybe you're an alien trying to find out more about human civilization? I'd work on learning more about this humour thing, especially if you're in an English speaking country as we have a very rich history of stupid humour due to the ambiguous nature of our language. I'd spend some time on that, as humans we appreciate it when people join in and take part, we're a social species and the more people join in our games the more we all enjoy ourselves.

  14. Anonymous Noel Coward
    Coat

    I tried using this

    But all my fetishes kept resulting in illegal errors...

    1. jake Silver badge

      Re: I tried using this

      Sounds like your compiler needs upgrading, Noel. Are you using the latest revision?

    2. Simon Harris

      Re: I tried using this

      "But all my fetishes kept resulting in illegal errors..."

      Maybe set your LOCALE to a more permissive country.

      1. Teiwaz

        Re: I tried using this

        Maybe set your LOCALE to a more permissive country.

        Those are getting fewer and fewer...

        We're going to need multiple locales on systems soon.

        for time,

        for language,

        for keyboard,

        for morality,

        and probably one for legal jurisdiction - to rule them all - and in the darkness bind them....

        1. TRT Silver badge

          Re: I tried using this

          I've got a version for the ZX-81, but every time I try anything I get a code 6/9.

          1. JulieM Silver badge

            Re: I tried using this

            6/something is an arithmetic overflow, if my memory serves me well. It means you are trying to insert too many digits at once.

            1. TRT Silver badge

              Re: I tried using this

              Yep. Something was too big. I forced it, eventually, but got a code D. BREAK - CONTS

              I tell you that was a trial.

              10 LET PLAY = 1

              20 PRINT PLAY

              30 LET PLAY = PLAY + 1

              40 NEXT PLAY

              Error 1/40

              Attempted NEXT PLAY without FOR PLAY

      2. Anonymous Coward
        Anonymous Coward

        Re: I tried using this

        err, like Saudi Arabia ... https://muricaderp.wordpress.com/2015/02/27/dubai-porta-potty/

    3. Amorous Cowherder
      Gimp

      Re: I tried using this

      Good, that's entirely correct my bitch and you'll be suitably punished for it too!

  15. Simon Harris
    Coat

    Coding examples...

    should include penetration testing...

    ... And does one have to bend over to enter de-bugger mode?

    Mines the one with the handcuffs in the pocket ----->

    1. HPCJohn

      Re: Coding examples...

      Simon.

      debugger: The person who sold you the system

      (From the Devils Data Processing Dictionary)

  16. Anonymous Coward
    Anonymous Coward

    "Which for those of you who led sheltered lives is a nod to BDSM, the acronym for "bondage, discipline and sadomasochism"."

    It's a folded acronym. As I know it, it stands for Bondage and Discipline, Domination and Submission, Sadism and Masochism. Because as we all know, the biggest and most widespread kink is pedantry.

    1. Teiwaz

      As I know it, it stands for...

      a folded acronym. As I know it, it stands for Bondage and Discipline, Domination and Submission, Sadism and Masochism.

      Not just a pedant, but a masochistic pedant.

      I wouldn't have bothered to type that out...

      1. Tom 7

        Re: As I know it, it stands for...

        And you would have been punished for it!

    2. Anonymous Coward
      Anonymous Coward

      I think the D/s aspect was added later, wasn't it?

  17. Anonymous Coward
    Gimp

    I can hardly wait for the emails from slave-traders punting roles which require 5+ years experience in this language ....

    (Cynic? Moi?)

    1. Teiwaz

      I can hardly wait for the emails from slave-traders punting roles which require 5+ years experience in this language ....

      Or the training course ads for it - that initially read like job ads.

      (Cynic? Oui!)

    2. allthecoolshortnamesweretaken

      "I can hardly wait for the emails from slave-traders punting roles which require 5+ years experience in this language ...."

      Let's plant the seeds by concocting a couple of creative LinkedIn profiles...

  18. HPCJohn

    Playing Dcotors and Nurses

    Fetlang is not recommended .... especially in medical or military applications

    Shame. I am sure there are plenty of application swhen playing doctors and nurses.

    take pain(away)

    but

    leave (swelling)

  19. AceRimmer1980
    Gimp

    Not recommended for graphical applications

    The colour palette only goes from #000000 to #313131

  20. ganymede io device

    Fetlang deserves an entry here

    http://wiki.c2.com/?BondageAndDisciplineLanguage

  21. Tom 7

    Inspired, I've just managed to get Lady Chatterly's to compile and run

    Set my old rusties spinning.

  22. Anonymous Coward
    Anonymous Coward

    my most poetic scripting....

    -- "Drop yesterday"

    "DROP TABLE ADComputers_yesterday"

    --"Rename today to yesterday"

    "sp_rename 'ADComputers', 'ADComputers_yesterday';"

    -- "Make a new today"

    "CREATE TABLE ADComputers (SamAccountName NVARCHAR (100),DistName NVARCHAR(300),OS NVARCHAR (100))"

    1. TRT Silver badge

      Re: my most poetic scripting....

      I'll have to dust off the old Sparcstation to test that one, but not today I wager.

      The Sun'll come out tomorrow.

      1. Amorous Cowherder

        Re: my most poetic scripting....

        "The Sun'll come out tomorrow."

        Nah, Larry's doing his best to make sure we live in perpetual darkness mate!

  23. HAL-9000

    At last

    A comp lang all of us Brits (& Germans), even the non-programmers, can fully understand ! ;)

  24. Sgt_Oddball
    Gimp

    I thought it was usually called...

    Java?

    On a unrelated note, I wonder what message a stack overflow receives? And I don't even want to think what would happen when it finds exception to something...

  25. John Smith 19 Gold badge
    Coat

    "Confusing English-like syntax and unhelpful error messages"

    I think we have a winner for the next hipster language.

  26. the Jim bloke
    Gimp

    SDBM

    rather tangental,

    but any dyslexic who is into Suicidal Depressive Black Metal (yes, it is a thing), is heading for a world of hurt...

    1. Amorous Cowherder

      Re: SDBM

      Sounds like a language in itself.

      To save files: RecordPoorQualityOn8TrackTape( filename )

      To upper case: Scream( string )

      To lower case: Guttural ( string )

      Screen draw commands like ApplyCorpsePaintToFace(x,y), sadly you only get black and white as colours, only low resolution images and print are allowed like most album covers.

      Of course the entire IDE has to use some bizarre obscure font no one can read without the help of the language authors!

  27. Ken Moorhouse Silver badge

    COSMAC

    How about this for a target system for the language?

    Appropriately the architecture required a lot of self-discipline to get the best from it. IIRC there were two assemblers, one where the full versatility of registers, etc. could be used, then another which effectively nominated registers for specific purposes.

    Historic Note: We were thinking about using the 1802 for train-borne equipment on the Underground due to its low current consumption and higher tolerance to electrical noise and voltage fluctuations, but to my knowledge nothing came of it.

  28. This post has been deleted by its author

  29. allthecoolshortnamesweretaken

    https://www.smbc-comics.com/comic/2008-05-06

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon