Home > Uncategorised > Programming Languages That Do Work For You Are Annoying

Programming Languages That Do Work For You Are Annoying

I am starting to get slightly annoyed with the programming language that we use at work – Progress 4GL (9.1D).

Recently, I’ve been informed of/discovered two different “features” of string handling that really annoy me. There are other features that Progress does that I actually find helpful – like case in-sensitive string comparisons, but these two take too much control away from what I want.

  1. Blank String Comparisons – In short: (” ” == “”) == true. Just rubbish – you can’t control anything with that logic.
  2. Data Import – If you have a file that has multiple fields per line, each separated by a certain delimiter (e.g. a CSV file), Progress automatically removes any leading spaces for each field that it imports when using the “IMPORT DELIMITER” command. For example, imagine a file contains this line: “abc|123| xyz”, and I import this data with the command “IMPORT DELIMITER ‘|’ vFirstString vInteger vSecondString.” (vFirstString, vInteger and vSecondString are all variables), you would expect the following result: vFirstString == “abc”, vInteger == 123 and vSecondString == ” xyz” – except this is not what happens. The value that you get for vSecondString is “xyz” – Progress automaticaly strips the leading space.

I hate these things, and the second one has caused me to waste an hour of my time working out what is happening. The language should not corrupt my data in that way. I imagine that there are flags you can specify that turn this behaviour off (like you can with case in-sensitive string comparisons) – but I think it should be the other way around – you should specify them if you want to turn them on.

Categories: Uncategorised Tags:
  1. No comments yet.
  1. No trackbacks yet.