• (cs)

    First? Really? Oh, happy day!

  • James (unregistered)

    UGLY!!! :(

  • (cs)

    I'll do it to spare everyone else the trouble: The real WTF is the syntax of that language!

  • (cs) in reply to DocJowles

    Now, I've seen lots of ugly languages (and code) but this has transcended fugly into demanding new, hithereto unknown realms of invectives to describe it.

  • (cs)

    I dunno, looks like a bad language to me. That @If operator alone should inspire a mob and a bonfire. It almost looks like the language was designed to inspire overdesigned, complex and usually wrong solutions.

    In fact, it reminds me of my lotus 123 scripting days, and that WAS a bad language. What are the odds that lotus would produce 2 totally awful script languages?

  • (cs) in reply to DocJowles

    It's not so bad..........................it's more tingly than hot.

  • (cs)

    Normally the tingling means it's working. In this case...not so much.

  • (cs) in reply to ItsAllGeekToMe

    ItsAllGeekToMe:
    It's not so bad..........................it's more tingly than hot.

     

    He must make a ton!!!! Lots of lines means lots of money $$$$

  • (cs)

    Our company uses Lotus Notes, and eveyone hates it.  I always wonder if it's pile-o-poop out of the box, or we have some crazy inhouse Notes programmers.  After seeing this code and the language syntax, I think I have my answer...

  • (cs)

    WTF is up with that language. Seriously, WTF. How does someone that is so retarded actualy write code in that lanugage? And WTF WTF WTF. WTF. WTF WTF WTF. W, TF. WTF!

  • (cs)

    All those '@' symbols in front of everything are like Excel, as well.  I guess they got the ideas from Lotus 1-2-3.  I didn't do much advanced work in 1-2-3, but I do know that in Excel you have expressions like:

    @IF(condition, do if true, do if false)

    Unlike Lotus Notes, Excel (and OpenOffice.org) do not allow arbitrary nesting at one level.  To get multiple levels, you have to nest them:

    @IF(condition1, do if true, @IF(condition 2, do if true, do if false))

    I remember having to create horrendous looking expressions to produce letter grades (A/B/C/D/NC) from numeric averages.

  • (cs) in reply to Xepol
    Xepol:
    I dunno, looks like a bad language to me. That @If operator alone should inspire a mob and a bonfire. It almost looks like the language was designed to inspire overdesigned, complex and usually wrong solutions.

    In fact, it reminds me of my lotus 123 scripting days, and that WAS a bad language. What are the odds that lotus would produce 2 totally awful script languages?



    A while ago (Lotus Notes 3 maybe?) a  co-worker of mine tried doing a simple script to forward incoming emails to another person in conjunction with the out of office agent.  He ended up creating the Lotus version of the Melissa virus.  Just the thought of scripting anything for a Lotus product makes me queasy.  +o(

  • (cs) in reply to DocJowles

    Wow.  You couldn't pay me enough money to use Lotus Notes.  I thought Visual Basic was ugly, but Lotus Notes...wow.  I am so horrified that I cannot think of the words to describe how ugly that is.  I would rather code in binary.

     

    01001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001

  • (cs) in reply to luke727

    The forum software strikes again!

  • (cs)

    @Lotus

    :@Sucks

    Did I get the concatenation right?

  • (cs) in reply to MikeB
    MikeB:

    @Lotus

    :@Sucks

    Did I get the concatenation right?



    Solid.

    Sadly, the old User Interface Hall of Shame, which had an entire anti-usability section reserved for Lotus Notes, seems to be missing in action.  Pity.  That site made great reading.

  • Alan De Smet (unregistered) in reply to sinistral

    sinistral: In most cases a nested IF() in a spreadsheet mean you're thinking about the problem in the wrong way. You usually are logically looking something up out of table, for which VLOOKUP does the job handily. It's an old idea, I first used it in Lotus 1-2-3 for DOS and have found it in every serious spreadsheet I've used since. The best part is that it's easy to change or expand the lookup table.

  • James Schend (unregistered)

    Nobody likes Notes, except grizzled old Notes programmers, and its function is replaced MUCH better (and MUCH cheaper) by Microsoft Exchange/Outlook and Access.  (And I know, Access sucks, but compared to Notes it's heaven-sent.)

    My theory is that IBM sells Notes via hypnosis.

  • (cs) in reply to sinistral
    sinistral:

    Sadly, the old User Interface Hall of Shame, which had an entire anti-usability section reserved for Lotus Notes, seems to be missing in action.  Pity.  That site made great reading.



    Let's here it for people who make content available when it no longer exists at the original site:

    http://homepage.mac.com/bradster/iarchitect/lotus.htm

    and, here is a page of people who have other issues with it:

    http://www.computergripes.com/LotusNotes.html

  • (cs) in reply to sinistral
    sinistral:

    Let's  hear it for people who make content available when it no longer exists at the original site.

    I hate here/hear their/there it's/its errors in other's writing, and now I go and make one myself. Grumble.

  • James (unregistered) in reply to MikeB

    hehehehehe....

    01001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001010011000110111101110100011101010111001100100000010011100110111101110100011001010111001100100000001011010010000001010111010010000100000101010100001000000101010001001000010001010010000001000110010101010100001101001011001111110010000100111111001000010100110001101111011101000111010101110011001000000100111001101111011101000110010101110011001000000010110100100000010101110100100001000001010101000010000001010100010010000100010100100000010001100101010101000011010010110011111100100001001111110010000101001100011011110111010001110101011100110010000001001110011011110111010001100101011100110010000000101101001000000101011101001000010000010101010000100000010101000100100001000101001000000100011001010101010000110100101100111111001000010011111100100001

  • Pedant (unregistered) in reply to James

    Anyone here had to program monk? That is a pretty nasty language as well.
    myfunction()(

    )

  • Sean (unregistered) in reply to James Schend

    Anonymous:
    Nobody likes Notes, except grizzled old Notes programmers, and its function is replaced MUCH better (and MUCH cheaper) by Microsoft Exchange/Outlook and Access.  (And I know, Access sucks, but compared to Notes it's heaven-sent.)

    My theory is that IBM sells Notes via hypnosis.

    I can tell that you get truck loads of Redmond Kool-aid sent you in convenient IV drip bags.  Only someone who lives and breathes the Northwest air and has never actually looked under the hood of a large Notes deployment would make a comment as ridiculous as you just did.  The day you can build ANY REAL application in Exchange and acccess it via Outlook will be the day that Ray Ozzie is working at running MS.  And considering they are both built on the ancient Jet engine technology says enough about their ability to scale to the enterprise.

    Anyways, for those of you who look at the code above and go "You call that a programming language?", think of the @Formula language in Notes the same way you think of the macro language Excel.  It was built to let power users do some advanced things without having to call the IT department.  Unfortunately, it also allowed some non-geeks to write some truly horrid functions.  But at least it gives some of us a laugh or tw now and then.  I can't imagine the time it took to write this function when it could be replaced by just the name of a field.

    My theory is the MS sells Exchange by simply bribing the IT upper management.  Who needs hypnosis when you can just buy them off.

  • (cs)
    Alex Papadimoulis:
        <font color="#000099">@Elements</font>(exp_newlocation) = 20;
          <font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;1);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;2);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;3);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;4);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;5);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;6);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;7);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;8);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;9);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;10);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;11);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;12);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;13);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;14);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;15);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;16);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;17);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;18);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;19);-1)
            :<font color="#000099">@Subset</font>(<font color="#000099">@Subset</font>(exp_newlocation;20);-1);


    So I take it your consultant added a 21st item, and billed for three hours, with the option of another item for an hour extra each? ;)
  • (cs) in reply to Xepol
    Xepol:
    I dunno, looks like a bad language to me. That @If operator alone should inspire a mob and a bonfire. It almost looks like the language was designed to inspire overdesigned, complex and usually wrong solutions.

    In fact, it reminds me of my lotus 123 scripting days, and that WAS a bad language. What are the odds that lotus would produce 2 totally awful script languages?



    I think you misspelled "3".

    I was modifying a combination item worksheet and invoice in Lotus Symphony, and in order to copy relevant item lines to the print area of the spreadsheet, I had to code double indirection.

    Sincerely,

    Gene Wirchenko

  • Damien Katz (unregistered)

    As the guy who wrote the current Notes formula language engine, let me say all these formula hating comments make me weepy.

    So so so sad :(

  • (cs) in reply to Sean
    Anonymous:

    I can tell that you get truck loads of Redmond Kool-aid sent you in convenient IV drip bags.  Only someone who lives and breathes the Northwest air and has never actually looked under the hood of a large Notes deployment would make a comment as ridiculous as you just did.  The day you can build ANY REAL application in Exchange and acccess it via Outlook will be the day that Ray Ozzie is working at running MS.  And considering they are both built on the ancient Jet engine technology says enough about their ability to scale to the enterprise.


    Exchange is based primarily off of SQL Server (2000, not the godforsaken Sybase versions). Um, if Exchange was based on Jet, I very much doubt anyone would be able to run it on 200 meg stores, let alone the 2 TB stores I've seen. And it is a good email system, not great, but just a very mediocre content management system for its price.

    Outlook is just overblown, who needs an application platform without any applications. Like Eclipse, where the IDE is the only part anyone uses. Notes is the only widespread app platform with many useful apps, and maybe Mozilla. (Unless you count office.)
  • (cs) in reply to sinistral

    sinistral:

    Let's here it for people who make content available when it no longer exists at the original site:

    http://homepage.mac.com/bradster/iarchitect/lotus.htm

    Hrm. I just read the following at that link: "Why the designers chose to use an arrow pointing to the right to indicate downward movement is one of the many mysteries of this program."

    It's called a disclosure triangle. They're used all over the place.

    (not that the interface isn't otherwise bad, but that's the wrong thing to pick on.)

  • Sean (unregistered) in reply to foxyshadis

    foxyshadis:

    Exchange is based primarily off of SQL Server (2000, not the godforsaken Sybase versions). Um, if Exchange was based on Jet, I very much doubt anyone would be able to run it on 200 meg stores, let alone the 2 TB stores I've seen.

    As you can see by this article, not only is the current Exchange 2003 based on the JET engine, but the upcoming Exchange 12 will be based on it too.  Exchange 2003 Standard Edition has a limit of 16GB for a mailbox store and Enterprise Edition 2003 SP2 ups the limit to 75GB. 

  • (cs) in reply to Sean
    Anonymous:

    foxyshadis:

    Exchange is based primarily off of SQL Server (2000, not the godforsaken Sybase versions). Um, if Exchange was based on Jet, I very much doubt anyone would be able to run it on 200 meg stores, let alone the 2 TB stores I've seen.

    As you can see by this article, not only is the current Exchange 2003 based on the JET engine, but the upcoming Exchange 12 will be based on it too.  Exchange 2003 Standard Edition has a limit of 16GB for a mailbox store and Enterprise Edition 2003 SP2 ups the limit to 75GB. 


    That's bizarre, I had it on good authority that it was a custom-modified SQL Server database. I stand corrected, I guess I'll have to check my sources better.
  • (cs) in reply to Sean
    Anonymous:

    My theory is the MS sells Exchange by simply bribing the IT upper management.  Who needs hypnosis when you can just buy them off.



    That would explain a lot...

    At my old job, the reason for using exchange was "We're a microsoft shop".  EVERYTHING had to be microsoft.  What fun.


  • (cs) in reply to Xepol
    Xepol:
    I dunno, looks like a bad language to me. That @If operator alone should inspire a mob and a bonfire.
    I'm with you. I'll bring the torches and pitchforks.
    Xepol:
    In fact, it reminds me of my lotus 123 scripting days, and that WAS a bad language. What are the odds that lotus would produce 2 totally awful script languages?
    That was the worst scripting language I have ever seen.
  • James Schend (unregistered)

    I can tell that you get truck loads of Redmond Kool-aid sent you in convenient IV drip bags.

    Nope.  I'm just fed up supporting that piece of crap email client that sucks ass.

    Yes, I know you can use it to write applications, and we even have one that's not terrible.  But 90% of businesses use it for email, and it sucks ass for email.  It's slow.  It uses a brain-dead folder scheme that practically guarantees you'll accidentally delete messages.  It won't let you sort by subject.  The mousewheel doesn't work in every view.  The address book looks, and works, like it hasn't been modified since 1985.  In some views, it sorts users by first name... in some views it sorts users by last name... and there's never column headers to change sort order for users.  The address book has two pointless default entries that do nothing, but you can't get rid of them.  The "Edit Attachment" function is perfect for encouraging my users to delete their data without warning them.  (And there's no way to disable it with the admin utility.)  It adds the IM toolbar even after I specifically tell it I don't have an IM server.  (Yes, it's minor, but it's still stupid as hell.)  It often, like daily, brings up error dialogs that read, "this class does not contain that object" without telling you which class has the error or which object it lacks, making it impossible to debug anything.  It's bloated, it's slow.  When you hit the close box, Windows usually thinks it's not responding because it takes more than 15 seconds to close.  When it crashes, it won't run again until you run Windows again.  It wasn't multi-user aware until version 6 (even though version 4 ran on multi-user NT.)

    Try this.  Open Notes 6.5 and go to your In Box.  (The default template In Box that comes with Notes.)  Hit F6, and press right and left arrow... watch as the little pane reading "for James Schend" moves left and right for no apparent reason.  What the hell?

    Does Exchange suck?  Yes, it sucks.  Groupwise sucks, also.  In fact, all the groupware software out there sucks.  But Outlook is 100 times more pleasant to use than Notes, and my users all agree.

    BTW, you can be a "IBM shop" also... trust me, coping with OS/400, Infoprinters, Lotus Notes and "consultants" is much worse than anything Microsoft can throw at you.

  • (cs) in reply to James Schend
    Anonymous:

    Try this.  Open Notes 6.5 and go to ...  <snip> ... for no apparent reason.  What the hell?


    It think what you are acctually trying to say here is "WTF".

  • (cs) in reply to DocJowles

    I've seen worse ...

    Try to code some PSP scripting ... (Corel Paint Shop Pro).

    That's more weird... the { }, begin // ends, are based on indentation !

    If you "don't see" a TAB.. imagine what happens...

    DocJowles:
    I'll do it to spare everyone else the trouble: The real WTF is the syntax of that language!

  • (cs) in reply to James Schend

    Anonymous:
    Nobody likes Notes, except grizzled old Notes programmers, and its function is replaced MUCH better (and MUCH cheaper) by Microsoft Exchange/Outlook and Access.  (And I know, Access sucks, but compared to Notes it's heaven-sent.)

    My theory is that IBM sells Notes via hypnosis.

    Hypnosis?  I thought it was hookers and liquor.

  • Dan Pope (unregistered) in reply to XoK
    XoK:

    I've seen worse ...

    Try to code some PSP scripting ... (Corel Paint Shop Pro).

    That's more weird... the { }, begin // ends, are based on indentation !

    If you "don't see" a TAB.. imagine what happens...



    All good programmers indent their code anyway.

    Python just saves you having to both indent and type braces.
  • Grizzled (unregistered) in reply to Sean
    Anonymous:

    Anonymous:
    Nobody likes Notes, except grizzled old Notes programmers, and its function is replaced MUCH better (and MUCH cheaper) by Microsoft Exchange/Outlook and Access.  (And I know, Access sucks, but compared to Notes it's heaven-sent.)

    My theory is that IBM sells Notes via hypnosis.

    I can tell that you get truck loads of Redmond Kool-aid sent you in convenient IV drip bags.  Only someone who lives and breathes the Northwest air and has never actually looked under the hood of a large Notes deployment would make a comment as ridiculous as you just did.  The day you can build ANY REAL application in Exchange and acccess it via Outlook will be the day that Ray Ozzie is working at running MS.  And considering they are both built on the ancient Jet engine technology says enough about their ability to scale to the enterprise.

    Anyways, for those of you who look at the code above and go "You call that a programming language?", think of the @Formula language in Notes the same way you think of the macro language Excel.  It was built to let power users do some advanced things without having to call the IT department.  Unfortunately, it also allowed some non-geeks to write some truly horrid functions.  But at least it gives some of us a laugh or tw now and then.  I can't imagine the time it took to write this function when it could be replaced by just the name of a field.

    My theory is the MS sells Exchange by simply bribing the IT upper management.  Who needs hypnosis when you can just buy them off.




    As I recall. . .   the rule at M$ was that "DOS isn't done until Lotus won't run. . .
  • Unixer in a &quot;microsoft shop&quot;... (unregistered) in reply to warispeace
    That would explain a lot...

    At my old job, the reason for using exchange was "We're a microsoft shop". EVERYTHING had to be microsoft. What fun.


    Hey, that's what they say where I work... You from Norway, by any chance?
    *sigh*...
  • Annie Onymous (unregistered) in reply to Unixer in a &quot;microsoft shop&quot;...

    The author is definitely wearing the juice (I think we need to get this comment started).

  • (cs) in reply to Damien Katz
    Anonymous:
    As the guy who wrote the current Notes formula language engine, let me say all these formula hating comments make me weepy. So so so sad :(

    You should n't worry, remember they are WTF programmers.
  • Asnala (unregistered) in reply to Annie Onymous

    Notes formula language. One of at least five ways to get a programming interface to Notes:

    Formula, IIRC kind of inherited from 1-2-3, next Lotusscript language with VB-like syntax but a special Notes object model which takes several months to really understand, java classes which access the same object model, nearly same thing in the form of C++-Classes, and finally the magic C-API which allows to access nearly all of Notes´ deepest internals - mighty, but you really have to understand the way Notes works before using it. Nevertheless one of the best documented and working programming interfaces to commercial, non-open-source-software I´ve ever seen.

    All of those have special restrictions, strengths and weaknesses, but the sad thing with this wtf is, that formula language (if understood) is quite good in handling lists (as long as you don´t try to sort them in Notes < 6. No sort operator. An implementation of a sorting algorithm in Notes formula is among the weirdest things I´ve ever seen). The lack of an iteration construct (I think they have introduced one now) simply demands thinking in functional ways about dealing with lists, and it's fast as hell.

    Unfortunately the barrier to enter Notes programming is held quite low, while the barrier to program Notes in a reasonable way is quite high, so I´ve seen a lot of so-called programmers trying to do things in Notes and fail spectaculary. Most of this is attributed to Notes itself, some of it justifiably so, some not.

  • (cs) in reply to Xepol
    Xepol:
    I dunno, looks like a bad language to me. That @If operator alone should inspire a mob and a bonfire.


    I've got the bonfire burning ...
    Let's get'em !!!


    By the way, I would love to know if there is a @Switch operator with the ingenious syntax of @If  ... now that would be amazing ( to further obfuscate code )

    __
    Rui
  • Bjarke (unregistered)

    Wow! This looks like a Boost header file.


  • (cs) in reply to Dan Pope
    Anonymous:
    XoK:

    I've seen worse ...

    Try to code some PSP scripting ... (Corel Paint Shop Pro).

    That's more weird... the { }, begin // ends, are based on indentation !

    If you "don't see" a TAB.. imagine what happens...



    All good programmers indent their code anyway.

    Python just saves you having to both indent and type braces.


    A language where formatting is significant is an unnecessarily restrictive language. Whitespace should never impact program logic. It's dumb.

    We do email newsletters, and some of those end up in Notes clients. We've had three different clients give us a shot of how a letter looked in their Notes, and what we got back ranged from the almost-correct to the displaying of a single line of text seemingly unrelated to the letter at all.
  • (cs) in reply to Dan Pope

    Yeah. Instead, python gives you endless hours of fun when your indention settings doesn't matches the settings of the guy who originally wrote the script that you're modifying.
    It also gets hard to read very quickly because the blocks aren't visible quite as easily without braces.
    Also, a simple indention error change the behavior of the code.

    This was a very bad idea in a language that is otherwise ok.

  • (cs) in reply to DocJowles

    before version 6 there was no looping so you had to do this sort of shit if you wanted to use formula language (all that @if crap). Anyone with a bit of cop on would have done this with lotusScript however

  • (cs) in reply to dhromed
    dhromed:

    A language where formatting is significant is an unnecessarily restrictive language. Whitespace should never impact program logic. It's dumb.


    It always does, if you count linefeed as whitespace.
  • (cs) in reply to wiggzie
    wiggzie:
    before version 6 there was no looping so you had to do this sort of shit if you wanted to use formula language (all that @if crap). Anyone with a bit of cop on would have done this with lotusScript however



    R U kidding right? no loop??!?!?!?!?!? at least there must be a GOTO function, recursion?


    No Loop => No Programming Languaje!

  • (cs) in reply to ZeoS
    ZeoS:
    wiggzie:
    before version 6 there was no looping so you had to do this sort of shit if you wanted to use formula language (all that @if crap). Anyone with a bit of cop on would have done this with lotusScript however



    R U kidding right? no loop??!?!?!?!?!? at least there must be a GOTO function, recursion?


    No Loop => No Programming Languaje!



    there must be a way to make a loop

    The simples languaje I remember  has  only these  instructions:
    V<- X0
    V<-V+1
    IF V=0 GOTO L
    where L is a label and X0 is the first input


Leave a comment on “Listing a List”

Log In or post as a guest

Replying to comment #53577:

« Return to Article