Re: [U2] UV PE Linux
All I'm told it is on the way - apparently it's been in the queue for getting onto the Rocket website for a couple of weeks now. Just like the other UniVerse 11 stuff :( It exists - really - I was able to get a private download direct from Rocket to test out a specific issue that I needed to sort before implementing on a live system. It appears the problem is not at the Rocket *U2* end but with whatever division runs their website. Brian ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Version Control
On 04/03/11 00:55, Bill Brutzman wrote: It is not clear to me how SubVersion and GIT developers refer to the latest rev of their subs. Also the reverse...what programs use the subs. This is where OSGI fits in. I have heard rumblings that people are working on an Eclipse-compatible OSGI SCM thing. OSGI is worth learning about. OSGI is a configuration tool that grew up out of the cell phone industry to handle config control on say, a Nokia family of products. Git, certainly, you have two techniques. The commit ID for any given file(s), and the tag or branch for any given application. Application in quotes because it can refer to as much or as little of your system as you want. I'm currently playing with / learning git. The whole point of a DVCS is that there is NO master copy, other than by convention. So each developer is likely to have their own development account, and then there's the central development account. Where git really scores (dunno about other systems) is the ability to switch between different problems very quickly and easily. You could have a long-term project you're working on, and a medium term development job. It's dead easy to switch between the two - commit a; checkout b and you've just changed from one to t'other. Then someone might come to you with drop everything - we've got a problem on live so stash; checkout new branch from live and you're running on a copy of live, in a new branch, where you can modify and test things. Once it's all working, commit; push to live system (or pull from live system) and the fix has gone live. drop copy of live; checkout development; and you're back where you started. And the nice thing is, every time you change branch, or every morning or whatever, you can do a pull; merge and you're development copy keeps in sync with all the changes every one else is making. And these commands probably take longer to type than to run :-) But I would say, even if no-one else in your organisation is using it, it's a damn good tool for you to use for your own work. If you've got several people working on a centralised VCS, I've had enough pain where we've been tripping over each other trying to update the same file. You can have a master branch tracking the central system, then do your own development in your own branches. When you need to commit, sync your master with central, check out central, merge your changes into your master, then commit back to central. That way, you're not held up because you can't check out a file, and you're not swearing when you're half way through make a LOT of not-so-important changes, and someone comes along saying you need to check that back in, I've got an emergency to fix!. I'd say play with git! It's a nice system, and there's absolutely no need whatsoever for it to impact on anybody else around you, unless you want it to. And other people will probably start using it too, once you realise how nice and powerful it is. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
On 03/03/11 20:50, Tony Gravagno wrote: Some people apparently have brains that toggle IF NOT ELSE faster than others. But apparently this construct is of concern to some people, whether as a matter of elegance or a matter of coding effectiveness. Recognizing this, the more I can eliminate those lines where I or someone else needs to brain stutter out of the flow, the better I think the code is. Problem is, what causes some people to stutter is what other people find easy. Two cases in point ... A lot of my code does if (test) else, which is a very pick construct. In fact, a lot of code *had* to be written that way because a lot of conditional statements (READ etc) didn't have a THEN back then. And when I was learning C. I taught my instructor a trick or two - an exercise was to count how many 3's in a pack of cards. So I did count += (value == 3); When I read my code out for the instructor to write on the board, he just couldn't hear it right until I spelt it out letter by letter. Again, it's stuff I'd expect a Pickie to do without having to think! But the instructor just couldn't get it until he'd written it on the board and took a good hard look. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
On 03/03/11 06:04, Allen E. Elwood wrote: I dunno, just makes me laugh every time I think about the fact that at the lowest level there is really no such thing as digital because electricity is analog lol Is it? Quantum and all that? Actually, I think I'd sort of agree with you. Electrons are digital (quantum) but electricity is analog (classical). Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Git and U2
The difference I see here is whether you are talking about a library or tool you intend to share vs internal code that is not for public use. Companies would keep their internal work in repo's they host on their own servers. Something I have not come to grips with is in the dvcs world, it is expected that the dev will clone the repo to their home directory and maerge their changes back to trunk. That model does not fit our db well since our apps are larger and not every dev gets (or wants) the entire acct duped for them. Going to finish this thought from my desk instead of phone, stupid chiclet keys... On 3/3/11, Doug dave...@hotmail.com wrote: I think the idea of Distributed Version Control System (DVSC) has some merit for certain applications. Google Code supports Subversion, and Mercurial and maybe others in its DVSC system. Several of our customers make us jump through hoops to get at their source code. So you are now thinking about storing source code on Google servers that replicate all over the world. The problems that I can envision are overwhelming my head here in Colorado, maybe it's the altitude. I better go outside and take a breather... I'm back and I have a few questions: 1) What editor are you using? 2) How are you going to wrap the editor calls to capture the source code, the procs, the paragraphs, the voc changes, and the dictionaries changes to Google. 3) Are using real-time or batch updates? 4) How to you know your updates were applied? Regards, Doug www.u2logic.com -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of DavidJMurray (mvdbs.com) Sent: Thursday, March 03, 2011 9:23 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Git and U2 Thanks everyone for your replies. As it looks like I will now be hosting on google code (as its free) I have a choice of subversion or mercurial. Weekend reading will be in order... Cheers, djm ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- Sent from my mobile device ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Git and U2
On 3/3/2011 7:09 PM, Doug wrote: I think the idea of Distributed Version Control System (DVSC) has some merit for certain applications. Google Code supports Subversion, and Mercurial and maybe others in its DVSC system. Several of our customers make us jump through hoops to get at their source code. So you are now thinking about storing source code on Google servers that replicate all over the world. The problems that I can envision are overwhelming my head here in Colorado, maybe it's the altitude. I better go outside and take a breather... I'm back and I have a few questions: 1) What editor are you using? 2) How are you going to wrap the editor calls to capture the source code, the procs, the paragraphs, the voc changes, and the dictionaries changes to Google. 3) Are using real-time or batch updates? 4) How to you know your updates were applied? What I do for my company is: I have 3 main repos, one for TEST, PROD, and PROGS (vendor branch) each of TEST and PROD include USER-FORMS, USER-PROGS, and bin. hgignore lets me filter out all the object code so it is not stored in the repo. These repos are cloned to my local workstation and my laptop. I mainly use those for research and basically a worst-case-scenario backup. Editing: My editing and vcs usage is separate. I do not commit every change immediately, I mean some testing needs to occur and I am usually multitasking so things move forward in fits and starts. Commits: At the moment, I am the only person that commits in my org. I use hg st to see what has changed in the past 24, and then I use the -user arg on hg ci to give attribution to the dev that did the work. I am basically acting as librarian and responsible party for my company. Reversions and Restores: Since my repo has ~5k items in it, and I am using a shared working directory, hg revert can never, never be done. If you rever a repo to say changeset 163, ALL modules that were changed since them will be reverted. What I do is research which changeset I want, and I hg cat it to the current dir. Than I commit that version. Nothing has ever been lost with this method. Branches: Very little use for this at the moment. I usually make a copy of a routine appending issue number and when testing is complete, rename it back to the original name (using hg copy and hg rename of course, this keeps history of the copies). Right now I have No Good Answer for dictionary items and SB+ objects. I did receive some info last year of a list subscriber that has a system I think would work for me but I have not been able to implement it yet. Public vs Private: Google Code, Sourceforge, etc are for discrete modules that you intend to allow ppl to clone and hack on. That is how that economy works, you get patches for improvements from friends and strangers. You can choose whether to accept or decline the patches. There are a couple of projects where I am not a main dev or even affiliated, but I have benefited from their generosity, and I have provided testing, patches, and documentation. David has signaled by putting it on GC that it will have some form of public access. That is up to him what he does with his code. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UV PE Linux
Good to know it's on its way. Thanks for the info. Doesn't seem to ease the frustration however. :) -bob -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Brian Leach Sent: Friday, March 04, 2011 3:49 AM To: 'U2 Users List' Subject: Re: [U2] UV PE Linux All I'm told it is on the way - apparently it's been in the queue for getting onto the Rocket website for a couple of weeks now. Just like the other UniVerse 11 stuff :( It exists - really - I was able to get a private download direct from Rocket to test out a specific issue that I needed to sort before implementing on a live system. It appears the problem is not at the Rocket *U2* end but with whatever division runs their website. Brian ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
What absolute and utter rubbish! You never had to write IF (test) ELSE ... in Pick. READ did have a THEN clause as far back as I can remember (mid-80s) - only LOCKED came later. You just don't use it that often because you usually only want to do something if your READ fails. Typically READ rec FROM FILE,Id ELSE rec = IF is different. I at least expect that after a test I'll do something if the condition is true. The ELSE clause is optional. I wasn't even aware you could leave the THEN clause out until I encountered some code that did that. That is IMHO one of the worst coding sins and I always change it to IF NOT(test) THEN if I find it anywhere. I just have been bitten too many times with this nonsense code. Aren't I lucky that I don't have to maintain your code? :-P You wouldn't say ' if you brush your teeth else you get decay' in a conversation, so why would you want to do it in your code? But hey, why make life easy for the next guy if with a little bit of effort you can make it really difficult? If it was hard to write it should be hard to read, right? The only thing that forced us to write code as compact as possible in the really olden days was the 32K item size limit. On 04/03/2011 10:50, Wols Lists wrote: On 03/03/11 20:50, Tony Gravagno wrote: Some people apparently have brains that toggle IF NOT ELSE faster than others. But apparently this construct is of concern to some people, whether as a matter of elegance or a matter of coding effectiveness. Recognizing this, the more I can eliminate those lines where I or someone else needs to brain stutter out of the flow, the better I think the code is. Problem is, what causes some people to stutter is what other people find easy. Two cases in point ... A lot of my code does if (test) else, which is a very pick construct. In fact, a lot of code *had* to be written that way because a lot of conditional statements (READ etc) didn't have a THEN back then. And when I was learning C. I taught my instructor a trick or two - an exercise was to count how many 3's in a pack of cards. So I did count += (value == 3); When I read my code out for the instructor to write on the board, he just couldn't hear it right until I spelt it out letter by letter. Again, it's stuff I'd expect a Pickie to do without having to think! But the instructor just couldn't get it until he'd written it on the board and took a good hard look. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
Come on - if something can be in two or more places at the same time it is digital? On 04/03/2011 10:54, Wols Lists wrote: On 03/03/11 06:04, Allen E. Elwood wrote: I dunno, just makes me laugh every time I think about the fact that at the lowest level there is really no such thing as digital because electricity is analog lol Is it? Quantum and all that? Actually, I think I'd sort of agree with you. Electrons are digital (quantum) but electricity is analog (classical). Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
Come on - if something can be in two or more places at the same time it is digital? My hands are digital and they're always in just one place: at the ends of my arms. :-P U.S. BANCORP made the following annotations - Electronic Privacy Notice. This e-mail, and any attachments, contains information that is, or may be, covered by electronic communications privacy laws, and is also confidential and proprietary in nature. If you are not the intended recipient, please be advised that you are legally prohibited from retaining, using, copying, distributing, or otherwise disclosing this information in any manner. Instead, please reply to the sender that you have received this communication in error, and then immediately delete it. Thank you in advance for your cooperation. - ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UV PE Linux
Well, I can tell you from an UniData document error on the web site - that web group is SLOW AS MOLASSES at things -- my guess, Rocket's acquisitions mode keeps them in a constant state! g If you have an urgent need, find an alternate way to 'get' the PE download. You could wait a while for the web group to act (sort of counterintuitive, I know...) DW -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Brian Leach Sent: Friday, March 04, 2011 2:49 AM To: 'U2 Users List' Subject: Re: [U2] UV PE Linux All I'm told it is on the way - apparently it's been in the queue for getting onto the Rocket website for a couple of weeks now. Just like the other UniVerse 11 stuff :( It exists - really - I was able to get a private download direct from Rocket to test out a specific issue that I needed to sort before implementing on a live system. It appears the problem is not at the Rocket *U2* end but with whatever division runs their website. Brian ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
good comprehension = faster, accurate programming (that's programming, not code execution) We all want fast and accurate programming. To improve comprehension, you have to write code to (a) reveal its logical structure, and (b) reveal the business rules implemented in the code. Sorry, but structures like: IF A:B:C NE '' THEN CUM(M) = A+B+C (concatenating variables as a string, then performing numeric operations on them) slows down the comprehension process. And for what benefit? To me, that's just a lazy programmer that doesn't want to type a few extra keystrokes. Another structure caused a number of comments: IF condition THEN statement ELSE other-statement END (inline THEN followed by block ELSE). It appears that some readers saw the # in the condition and assumed an If Not Not structure at first, missing the THEN. I find it interesting that no one has commented on the fact that CUM(M) gets conditionally reinitialized, and whether or not that is important. But it proves my points that neither the structure nor business rules are clear within the OP's code. You can have 2 years programming experience, or 20, it does not matter. Better structure and variable naming will vastly improve program accuracy. (On the other hand, I could make this code really, really fast if it didn't have to be accurate!) rex ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
Rex Gozar Said We all want fast and accurate programming. To improve comprehension, you have to write code to (a) reveal its logical structure, and (b) reveal the business rules implemented in the code. I agree. My first language was C and I went through a phase of cramming as much code as I could into one line because the language would let me. I came to realize that this a) did not create more efficient code. The compiler has still had to turn it into machine code. b) Most important. It made it very difficult for the programmers that followed. A great deal of the value of code is how quickly and easily it can be debugged and modified after it is initially written. This is a huge factor in terms of cost and efficiency. Charles Shaffer Senior Analyst NTN-Bower Corporation ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
count += (value == 3); Careful some programming languages represent TRUE as -1. (all bits turned on) David A. Green (480) 813-1725 DAG Consulting -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wols Lists Sent: Friday, March 04, 2011 3:51 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Is this worth rewriting? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
As usual, Mecki, you expressed my thoughts eloquently. I agree 100%. IF (test) ELSE drives me about as buggy as multiple IF/THEN/ELSE all on the same line. If I can figure out what the original intent was, I change the code so I can understand it at a glance later. I'm not sure why, but OPEN xxx ELSE never bothered me. Ah, the 32K limit, I remember it well. I had a cheat I used sometimes. I would split the source into 2 or more pieces, then INCLUDE the second, third, etc. at the end of the first. As long as the resultant pseudo-code was less than 32K, I was able to get away with it (at least in Microdata Reality). It made editing fun sometimes, but it worked. I also remember jockeying source around so that GOSUBs wouldn't frame fault. That often made a very noticeable difference in execution speed. Those were the days! ;-) Charlie Noah Charles W. Noah Associates cwn...@comcast.net The views and opinions expressed herein are my own (Charlie Noah) and do not necessarily reflect the views, positions or policies of any of my former, current or future employers, employees, clients, friends, enemies or anyone else who might take exception to them. On 03-04-2011 7:25 AM, Mecki Foerthmann wrote: What absolute and utter rubbish! You never had to write IF (test) ELSE ... in Pick. READ did have a THEN clause as far back as I can remember (mid-80s) - only LOCKED came later. You just don't use it that often because you usually only want to do something if your READ fails. Typically READ rec FROM FILE,Id ELSE rec = IF is different. I at least expect that after a test I'll do something if the condition is true. The ELSE clause is optional. I wasn't even aware you could leave the THEN clause out until I encountered some code that did that. That is IMHO one of the worst coding sins and I always change it to IF NOT(test) THEN if I find it anywhere. I just have been bitten too many times with this nonsense code. Aren't I lucky that I don't have to maintain your code? :-P You wouldn't say ' if you brush your teeth else you get decay' in a conversation, so why would you want to do it in your code? But hey, why make life easy for the next guy if with a little bit of effort you can make it really difficult? If it was hard to write it should be hard to read, right? The only thing that forced us to write code as compact as possible in the really olden days was the 32K item size limit. On 04/03/2011 10:50, Wols Lists wrote: On 03/03/11 20:50, Tony Gravagno wrote: Some people apparently have brains that toggle IF NOT ELSE faster than others. But apparently this construct is of concern to some people, whether as a matter of elegance or a matter of coding effectiveness. Recognizing this, the more I can eliminate those lines where I or someone else needs to brain stutter out of the flow, the better I think the code is. Problem is, what causes some people to stutter is what other people find easy. Two cases in point ... A lot of my code does if (test) else, which is a very pick construct. In fact, a lot of code *had* to be written that way because a lot of conditional statements (READ etc) didn't have a THEN back then. And when I was learning C. I taught my instructor a trick or two - an exercise was to count how many 3's in a pack of cards. So I did count += (value == 3); When I read my code out for the instructor to write on the board, he just couldn't hear it right until I spelt it out letter by letter. Again, it's stuff I'd expect a Pickie to do without having to think! But the instructor just couldn't get it until he'd written it on the board and took a good hard look. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Version Control
When fixing THIS.APP, copy all the source code from THIS.APP.R3 to THIS.APP.R4, complile .R4, test .R4 in a SandBox, change VOC in LIVE from R3 to R4. ED VOC THIS.APP 1: PA 2: RUN BP.INV THIS.APP.R3 --Bill -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Hona, David Sent: Friday, March 04, 2011 1:59 AM To: 'U2 Users List' Subject: Re: [U2] Version Control If you are using U2 environment a lot of stuff won't work without utilising the VOC some fundamental or critical way. VOC entries for files, programs, paragraphs/PROCS, etc. Granted, in some cases these don't change often. Unless you are like some poor sites I have seen and run their entire or parts of their application process from a paragraph or proc in the VOC file - more common than you would like to think or hope! Likewise, control information inside U2 files are in many case extremely critical for many applications - this also needs to be managed and versioned, rolled-back if required, etc., etc. Any configuration management application needs to take everything into account not just source code. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Sent: Friday, 4 March 2011 1:48 PM To: 'U2 Users List' Subject: Re: [U2] Version Control Hi Bill: The U2 world works inside the database. The rest of the world thinks source code control should be outside the database. Your use of VOC is very unique and probably applicable to a small set of the U2 community. Source code control, except for U2, is done from the local workstation and not on the server. ** IMPORTANT MESSAGE * This e-mail message is intended only for the addressee(s) and contains information which may be confidential. If you are not the intended recipient please advise the sender by return email, do not use or disclose the contents, and delete the message and any attachments from your system. Unless specifically indicated, this email does not constitute formal advice or commitment by the sender or the Commonwealth Bank of Australia (ABN 48 123 123 124) or its subsidiaries. We can be contacted through our web site: commbank.com.au. If you no longer wish to receive commercial electronic messages from us, please reply to this e-mail by typing Unsubscribe in the subject line. ** ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Version Control
One year ago, I was editing all of my code with EditPlus, an FTP editor. From an editing perspective, the source code was a file in a folder on a Unix box, the same Unix box that was running UniVerse. Inside UniVerse, there was a file pointer (in VOC) to the source and object code. One of the selling points of SubVersion (and others) is that a programmer could write code on a plane and then re-sync once the plane lands. As a lone ranger, checking code in and out has little meaning. Graphic 1: How does VOC knows what is the LIVE rev?. Is U2Logic's Version Control included with the XLr8 editor? --Bill -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Sent: Thursday, March 03, 2011 9:48 PM To: 'U2 Users List' Subject: Re: [U2] Version Control Hi Bill: The U2 world works inside the database. The rest of the world thinks source code control should be outside the database. Your use of VOC is very unique and probably applicable to a small set of the U2 community. Source code control, except for U2, is done from the local workstation and not on the server. When I was a Configuration Manager for a telecom software company, many moons ago, we did not store any changes inside either the Informix or Sybase databases. We stored all of source code revisions on several Unix boxes that the programmers had to check out and check in from their workstations. I have created a web page that shows how Eclipse maintains a local version. There is a graphic of what U2 project looks like as well as few more. You need to look at the last graphic. That is where version control shines and shows you what you checked in and why. The pretty pictures of Eclipse version control using the XLr8Editor plug-ins is feature here and you can click on any of images to enlarge them: http://www.u2logic.com/versioncontrol.html. Regards, Doug www.u2logic.com Universe and Unidata Eclipse based tool supplier ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
I still think all of these constructs as just sooo basic that if you can't just read them either which way, then you had better think about another career. From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Rex Gozar Sent: 04 March 2011 14:09 To: U2 Users List Subject: Re: [U2] Is this worth rewriting? good comprehension = faster, accurate programming (that's programming, not code execution) We all want fast and accurate programming. To improve comprehension, you have to write code to (a) reveal its logical structure, and (b) reveal the business rules implemented in the code. Sorry, but structures like: IF A:B:C NE '' THEN CUM(M) = A+B+C (concatenating variables as a string, then performing numeric operations on them) slows down the comprehension process. And for what benefit? To me, that's just a lazy programmer that doesn't want to type a few extra keystrokes. Another structure caused a number of comments: IF condition THEN statement ELSE other-statement END (inline THEN followed by block ELSE). It appears that some readers saw the # in the condition and assumed an If Not Not structure at first, missing the THEN. I find it interesting that no one has commented on the fact that CUM(M) gets conditionally reinitialized, and whether or not that is important. But it proves my points that neither the structure nor business rules are clear within the OP's code. You can have 2 years programming experience, or 20, it does not matter. Better structure and variable naming will vastly improve program accuracy. (On the other hand, I could make this code really, really fast if it didn't have to be accurate!) rex ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users _ No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1204 / Virus Database: 1435/3480 - Release Date: 03/03/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
Actually, A:B:C NE '' THEN CUMM(M) = A+B+C doesn't slow anything down compared to? If A# OR B# OR C# THEN CUMM(M) = A+B+C Or just CUMM(M) = A+B+C (with no IF) Depending on whether it's expected that the majority of times A,B, or C will have something or won't have a value will determine which is faster. By that I mean If you expect A,B, or C to have a value rarely, then it would be faster to concatenate and check for , otherwise ADD If you expect A,B, or C to have a value most of the time, then it would be faster to just CUMM(M) = A+B+C (no concat, no IF) But I don't think that A:B:C NE is slower than A# or B# or C# There is another tried and true way to make it perfectly clear what a program does and what the business rules are, without changing the program at all By putting in blocks of commenting that describe what/why is going on George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Rex Gozar Sent: Friday, March 04, 2011 9:09 AM To: U2 Users List Subject: Re: [U2] Is this worth rewriting? Sorry, but structures like: IF A:B:C NE '' THEN CUM(M) = A+B+C (concatenating variables as a string, then performing numeric operations on them) slows down the comprehension process. And for what benefit? To me, that's just a lazy programmer that doesn't want to type a few extra keystrokes. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
agreed -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Symeon Breen Sent: March 4, 2011 11:05 AM To: 'U2 Users List' Subject: Re: [U2] Is this worth rewriting? I still think all of these constructs as just sooo basic that if you can't just read them either which way, then you had better think about another career. From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Rex Gozar Sent: 04 March 2011 14:09 To: U2 Users List Subject: Re: [U2] Is this worth rewriting? good comprehension = faster, accurate programming (that's programming, not code execution) We all want fast and accurate programming. To improve comprehension, you have to write code to (a) reveal its logical structure, and (b) reveal the business rules implemented in the code. Sorry, but structures like: IF A:B:C NE '' THEN CUM(M) = A+B+C (concatenating variables as a string, then performing numeric operations on them) slows down the comprehension process. And for what benefit? To me, that's just a lazy programmer that doesn't want to type a few extra keystrokes. Another structure caused a number of comments: IF condition THEN statement ELSE other-statement END (inline THEN followed by block ELSE). It appears that some readers saw the # in the condition and assumed an If Not Not structure at first, missing the THEN. I find it interesting that no one has commented on the fact that CUM(M) gets conditionally reinitialized, and whether or not that is important. But it proves my points that neither the structure nor business rules are clear within the OP's code. You can have 2 years programming experience, or 20, it does not matter. Better structure and variable naming will vastly improve program accuracy. (On the other hand, I could make this code really, really fast if it didn't have to be accurate!) rex ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users _ No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1204 / Virus Database: 1435/3480 - Release Date: 03/03/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
Symeon wrote: I still think all of these constructs as just sooo basic that if you can't just read them either which way, then you had better think about another career. They are basic, but even good programmers will occasionally ASSUME they understand what's going on when they really don't and introduce new bugs. The risk is always mitigated with better structure. rex ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Version Control
Bill: You are editing locally: that is how Eclipse works. You must copy from the database or version control to edit the programs in this case. Unidata and Universe do not have an external BASIC compiler. We must compile within the U2 database. We have created tools in Eclipse to copy all or a single program from the U2 database to your workstation. You then edit your program on your work station. When you want to compile it, we send the program back the place we got it from and compile it on the database server. All version control packages in Eclipse copy those programs locally as well, where you can then edit them. When creating a project you point to the Test or Live Account you want to edit the source from. When you are done editing, Eclipse will copy it back into that account. If you are happy with the results after testing, you can Team it in to your version control with notes on what got changed. That is all you have to do. No editor wrappers, no scripts for Windows or Unix, no changes to your Universe or Unidata database, no external or internal programs to worry about, no accounts to load, no software to install on your database server. XLr8Editor uses Version control from what every plug-in you have on Eclipse. Be it Subversion, CVS, GIT, or Perforce, you pick what version control you want. Where the version control software lives is your choice as well. Regards, Doug www.u2logic.com/tools.html XLr8Editor for Universe or Unidata still $49.00 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Brutzman Sent: Friday, March 04, 2011 9:04 AM To: U2 Users List Subject: Re: [U2] Version Control One year ago, I was editing all of my code with EditPlus, an FTP editor. From an editing perspective, the source code was a file in a folder on a Unix box, the same Unix box that was running UniVerse. Inside UniVerse, there was a file pointer (in VOC) to the source and object code. One of the selling points of SubVersion (and others) is that a programmer could write code on a plane and then re-sync once the plane lands. As a lone ranger, checking code in and out has little meaning. Graphic 1: How does VOC knows what is the LIVE rev?. Is U2Logic's Version Control included with the XLr8 editor? --Bill ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
Symeon wrote: I still think all of these constructs as just sooo basic that if you can't just read them either which way, then you had better think about another career. Yes, for an experienced UniBasic programmer. What if there is a new programmer, or a programmer that normally works in another language? The simpler and clearer the source code is, the easier, and less costly, it is to support. The source code is the human-machine interface for the programmer. Using clear structures and meaningful variable names is always a good idea. We in the U2 community want the U2 technology to become more widely used. When someone looks at UniBasic code and finds it difficult to read, they might not find another career, they might just find another environment to do the project in. Charles Shaffer Senior Analyst NTN-Bower Corporation ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
George wrote: Actually, A:B:C NE '' THEN CUMM(M) = A+B+C doesn't slow anything down... I think you're talking about execution speed; I was talking about comprehension. What data type is A? Apparently, it can be an empty string or a number. But more importantly, what does it represent? Quantity? Dollars? Mileage? Yes, you would have to change the program to create self-documenting code to show the business rules. Technically, A:B:C NE might be slower than A# or B# or C# because the system would have to malloc and free string space for the temporary variable. But that's not my point; it would be faster to comprehend if I wrote something like: IF (SALE.AMT) OR (TAX.AMT) OR (SHIPPING.AMT) THEN * reinitialize the month with actual amounts CUMM(MONTH) = SALE.AMT + TAX.AMT + SHIPPING.AMT END (or whatever the OP's code is supposed to represent) rex ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Version Control
Hi Bill: I find this very messy. After a program has been changed 50 times, do I really care what the other 49 versions look like in my U2 account. I think not. I sometimes change a program every 1 to 5 minutes as I'm going through testing process. Then sometimes about an hour into it I think, wow I would like to have the version from 30 minutes ago which worked better than the current version. With Eclipse there is a local history and I save the last 100 copies, so I use the local compare editor to find the version I would like to go back to. You can change this preference to fit your needs. Eclipse makes me more productive. I can work on multiple accounts within the same window using tabs. I feel that my code is cleaner because of the Outline capability of all my variables in the program, the ability to double click and see where the variable is used. Other things like the way Eclipse ruler show me visually where all those variables are so I can check my scope has made my code less problematic when it comes to unassigned variables at run time. Regards, Doug www.u2logic.com/versioncontrol.html The Eclipse U2 Experts -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Brutzman Sent: Friday, March 04, 2011 8:32 AM To: U2 Users List Subject: Re: [U2] Version Control When fixing THIS.APP, copy all the source code from THIS.APP.R3 to THIS.APP.R4, complile .R4, test .R4 in a SandBox, change VOC in LIVE from R3 to R4. ED VOC THIS.APP 1: PA 2: RUN BP.INV THIS.APP.R3 --Bill ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
Wow Dave, you really opened up a discussion on this one. We shall call you Pandora... :) ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
In this sense, I'd agree. Descriptive variables can never be a bad thing. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Rex Gozar Sent: Friday, March 04, 2011 11:57 AM To: U2 Users List Subject: Re: [U2] Is this worth rewriting? George wrote: Actually, A:B:C NE '' THEN CUMM(M) = A+B+C doesn't slow anything down... I think you're talking about execution speed; I was talking about comprehension. What data type is A? Apparently, it can be an empty string or a number. But more importantly, what does it represent? Quantity? Dollars? Mileage? Yes, you would have to change the program to create self-documenting code to show the business rules. Technically, A:B:C NE might be slower than A# or B# or C# because the system would have to malloc and free string space for the temporary variable. But that's not my point; it would be faster to comprehend if I wrote something like: IF (SALE.AMT) OR (TAX.AMT) OR (SHIPPING.AMT) THEN * reinitialize the month with actual amounts CUMM(MONTH) = SALE.AMT + TAX.AMT + SHIPPING.AMT END (or whatever the OP's code is supposed to represent) rex ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
Kevin, if you only knew ... Sincerely, David Laansma IT Manager Hubbard Supply Co. Direct: 810-342-7143 Office: 810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services and Innovative Solutions -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King Sent: Friday, March 04, 2011 12:01 PM To: U2 Users List Subject: Re: [U2] Is this worth rewriting? Wow Dave, you really opened up a discussion on this one. We shall call you Pandora... :) ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
Hey Wol, Now were you talking loop quantum gravity or string theory? (I'm a follower of Dr. Michio Kaku.) An electron is just another piece of matter that exhibits both wave and particle characteristics. A member of the lepton class, sharing both charge, spin and interactions with it's fellow members the muon and the tao - they all have a half odd integer spin which of course classifies all leptons in the fermion class. I don't really see the digital connection (1 or 0) between a wave/particle with a rest energy of 0.511 MeV with a calculated life span of 4.6 x 10 to the 26th years. :-) Allen -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wols Lists Sent: Friday, March 04, 2011 2:55 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Is this worth rewriting? On 03/03/11 06:04, Allen E. Elwood wrote: I dunno, just makes me laugh every time I think about the fact that at the lowest level there is really no such thing as digital because electricity is analog lol Is it? Quantum and all that? Actually, I think I'd sort of agree with you. Electrons are digital (quantum) but electricity is analog (classical). Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Version Control
On 3/4/2011 11:59 AM, Doug wrote: Hi Bill: I find this very messy. After a program has been changed 50 times, do I really care what the other 49 versions look like in my U2 account. I think not. I sometimes change a program every 1 to 5 minutes as I'm going through testing process. Then sometimes about an hour into it I think, wow I would like to have the version from 30 minutes ago which worked better than the current version. With Eclipse there is a local history and I save the last 100 copies, so I use the local compare editor to find the version I would like to go back to. You can change this preference to fit your needs. Eclipse makes me more productive. I can work on multiple accounts within the same window using tabs. I feel that my code is cleaner because of the Outline capability of all my variables in the program, the ability to double click and see where the variable is used. Other things like the way Eclipse ruler show me visually where all those variables are so I can check my scope has made my code less problematic when it comes to unassigned variables at run time. Code annotation is nice too, where you can view code and see the changeset that introduced the change (all in one view) in the browser or Tortoise. Anyone who has cloned your repo has this exact same visibility for blame support. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] SB+ positions available
I know a company that is looking for SB+ North America based contract programmers for 3 months projects (to test you) and then you commonly get extended for 6 or 9 months more. Work on-site for project kick off, then remote, on-site for code drops and go-live. Pays well, including TL. Please forward me your contact information with resume and I’ll make the introduction I know no more about these positions than is stated in the prepared announcement above, so don't ask me any questions, just send me your contact info and your resume and I will forward it on to the employer. Good luck. Tom Dodds t...@ix.netcom.com 630.235.2975 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SB+ positions available
Where ?? I don't care who at the moment - but where does matter. From: Tom Dodds t...@ix.netcom.com To: U2 User group u2-users@listserver.u2ug.org Sent: Fri, March 4, 2011 1:01:11 PM Subject: [U2] SB+ positions available I know a company that is looking for SB+ North America based contract programmers for 3 months projects (to test you) and then you commonly get extended for 6 or 9 months more. Work on-site for project kick off, then remote, on-site for code drops and go-live. Pays well, including TL. Please forward me your contact information with resume and I’ll make the introduction I know no more about these positions than is stated in the prepared announcement above, so don't ask me any questions, just send me your contact info and your resume and I will forward it on to the employer. Good luck. Tom Dodds t...@ix.netcom.com 630.235.2975 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SB+ positions available
I really don't know anything more than was included in their pre-prepared announcement. Send me you resume and I will pass it on and then you will know. Tom Dodds t...@ix.netcom.com 630.235.2975 On Mar 4, 2011, at 12:03 PM, Paul Wilson wrote: Where ?? I don't care who at the moment - but where does matter. From: Tom Dodds t...@ix.netcom.com To: U2 User group u2-users@listserver.u2ug.org Sent: Fri, March 4, 2011 1:01:11 PM Subject: [U2] SB+ positions available I know a company that is looking for SB+ North America based contract programmers for 3 months projects (to test you) and then you commonly get extended for 6 or 9 months more. Work on-site for project kick off, then remote, on-site for code drops and go-live. Pays well, including TL. Please forward me your contact information with resume and I’ll make the introduction I know no more about these positions than is stated in the prepared announcement above, so don't ask me any questions, just send me your contact info and your resume and I will forward it on to the employer. Good luck. Tom Dodds t...@ix.netcom.com 630.235.2975 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
No assumption. You are masking the very issue by merely saying condition when it was a NOT condition :) -Original Message- From: Rex Gozar rgo...@gmail.com To: U2 Users List u2-users@listserver.u2ug.org Sent: Fri, Mar 4, 2011 6:09 am Subject: Re: [U2] Is this worth rewriting? good comprehension = faster, accurate programming (that's programming, not code execution) We all want fast and accurate programming. To improve comprehension, you have to write code to (a) reveal its logical structure, and (b) reveal the business rules implemented in the code. Sorry, but structures like: IF A:B:C NE '' THEN CUM(M) = A+B+C (concatenating variables as a string, then performing numeric operations on them) slows down the comprehension process. And for what benefit? To me, that's just a lazy programmer that doesn't want to type a few extra keystrokes. Another structure caused a number of comments: IF condition THEN statement ELSE other-statement END (inline THEN followed by block ELSE). It appears that some readers saw the # in the condition and assumed an If Not Not structure at first, missing the THEN. I find it interesting that no one has commented on the fact that CUM(M) gets conditionally reinitialized, and whether or not that is important. But it proves my points that neither the structure nor business rules are clear within the OP's code. You can have 2 years programming experience, or 20, it does not matter. Better structure and variable naming will vastly improve program accuracy. (On the other hand, I could make this code really, really fast if it didn't have to be accurate!) rex ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
And then they (the anonymous they) came out with a version that allowed the source to be unlimited while still limiting the object to 32K Which made the whole world scratch their head. -Original Message- From: Charlie Noah cwn...@comcast.net To: U2 Users List u2-users@listserver.u2ug.org Sent: Fri, Mar 4, 2011 6:41 am Subject: Re: [U2] Is this worth rewriting? As usual, Mecki, you expressed my thoughts eloquently. I agree 100%. IF (test) ELSE drives me about as buggy as multiple IF/THEN/ELSE all on the same line. If I can figure out what the original intent was, I change the code so I can understand it at a glance later. I'm not sure why, but OPEN xxx ELSE never bothered me. Ah, the 32K limit, I remember it well. I had a cheat I used sometimes. I would split the source into 2 or more pieces, then INCLUDE the second, third, etc. at the end of the first. As long as the resultant pseudo-code was less than 32K, I was able to get away with it (at least in Microdata Reality). It made editing fun sometimes, but it worked. I also remember jockeying source around so that GOSUBs wouldn't frame fault. That often made a very noticeable difference in execution speed. Those were the days! ;-) Charlie Noah Charles W. Noah Associates cwn...@comcast.net The views and opinions expressed herein are my own (Charlie Noah) and do not necessarily reflect the views, positions or policies of any of my former, current or future employers, employees, clients, friends, enemies or anyone else who might take exception to them. On 03-04-2011 7:25 AM, Mecki Foerthmann wrote: What absolute and utter rubbish! You never had to write IF (test) ELSE ... in Pick. READ did have a THEN clause as far back as I can remember (mid-80s) - only LOCKED came later. You just don't use it that often because you usually only want to do something if your READ fails. Typically READ rec FROM FILE,Id ELSE rec = IF is different. I at least expect that after a test I'll do something if the condition is true. The ELSE clause is optional. I wasn't even aware you could leave the THEN clause out until I encountered some code that did that. That is IMHO one of the worst coding sins and I always change it to IF NOT(test) THEN if I find it anywhere. I just have been bitten too many times with this nonsense code. Aren't I lucky that I don't have to maintain your code? :-P You wouldn't say ' if you brush your teeth else you get decay' in a conversation, so why would you want to do it in your code? But hey, why make life easy for the next guy if with a little bit of effort you can make it really difficult? If it was hard to write it should be hard to read, right? The only thing that forced us to write code as compact as possible in the really olden days was the 32K item size limit. On 04/03/2011 10:50, Wols Lists wrote: On 03/03/11 20:50, Tony Gravagno wrote: Some people apparently have brains that toggle IF NOT ELSE faster than others. But apparently this construct is of concern to some people, whether as a matter of elegance or a matter of coding effectiveness. Recognizing this, the more I can eliminate those lines where I or someone else needs to brain stutter out of the flow, the better I think the code is. Problem is, what causes some people to stutter is what other people find easy. Two cases in point ... A lot of my code does if (test) else, which is a very pick construct. In fact, a lot of code *had* to be written that way because a lot of conditional statements (READ etc) didn't have a THEN back then. And when I was learning C. I taught my instructor a trick or two - an exercise was to count how many 3's in a pack of cards. So I did count += (value == 3); When I read my code out for the instructor to write on the board, he just couldn't hear it right until I spelt it out letter by letter. Again, it's stuff I'd expect a Pickie to do without having to think! But the instructor just couldn't get it until he'd written it on the board and took a good hard look. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
The point is, why make a construct which is harder to understand, when it takes the exact same amount of effort to make one which is easier to understand? Answer that one Symeon? Why deliberately obfuscate ? -Original Message- From: Symeon Breen syme...@gmail.com To: 'U2 Users List' u2-users@listserver.u2ug.org Sent: Fri, Mar 4, 2011 8:05 am Subject: Re: [U2] Is this worth rewriting? I still think all of these constructs as just sooo basic that if you can't just read them either which way, then you had better think about another career. From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Rex Gozar Sent: 04 March 2011 14:09 To: U2 Users List Subject: Re: [U2] Is this worth rewriting? good comprehension = faster, accurate programming (that's programming, not code execution) We all want fast and accurate programming. To improve comprehension, you have to write code to (a) reveal its logical structure, and (b) reveal the business rules implemented in the code. Sorry, but structures like: IF A:B:C NE '' THEN CUM(M) = A+B+C (concatenating variables as a string, then performing numeric operations on them) slows down the comprehension process. And for what benefit? To me, that's just a lazy programmer that doesn't want to type a few extra keystrokes. Another structure caused a number of comments: IF condition THEN statement ELSE other-statement END (inline THEN followed by block ELSE). It appears that some readers saw the # in the condition and assumed an If Not Not structure at first, missing the THEN. I find it interesting that no one has commented on the fact that CUM(M) gets conditionally reinitialized, and whether or not that is important. But it proves my points that neither the structure nor business rules are clear within the OP's code. You can have 2 years programming experience, or 20, it does not matter. Better structure and variable naming will vastly improve program accuracy. (On the other hand, I could make this code really, really fast if it didn't have to be accurate!) rex ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users _ No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1204 / Virus Database: 1435/3480 - Release Date: 03/03/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
I am not crazy about IF (condition) ELSE logic but the compiler supports it. The versions of Information I was on did not support THEN on the reads until the 90s. Once it was available we jumped on it. Date: Fri, 4 Mar 2011 13:25:48 + From: mec...@gmx.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] Is this worth rewriting? What absolute and utter rubbish! You never had to write IF (test) ELSE ... in Pick. READ did have a THEN clause as far back as I can remember (mid-80s) - only LOCKED came later. You just don't use it that often because you usually only want to do something if your READ fails. Typically READ rec FROM FILE,Id ELSE rec = IF is different. I at least expect that after a test I'll do something if the condition is true. The ELSE clause is optional. I wasn't even aware you could leave the THEN clause out until I encountered some code that did that. That is IMHO one of the worst coding sins and I always change it to IF NOT(test) THEN if I find it anywhere. I just have been bitten too many times with this nonsense code. Aren't I lucky that I don't have to maintain your code? :-P You wouldn't say ' if you brush your teeth else you get decay' in a conversation, so why would you want to do it in your code? But hey, why make life easy for the next guy if with a little bit of effort you can make it really difficult? If it was hard to write it should be hard to read, right? The only thing that forced us to write code as compact as possible in the really olden days was the 32K item size limit. On 04/03/2011 10:50, Wols Lists wrote: On 03/03/11 20:50, Tony Gravagno wrote: Some people apparently have brains that toggle IF NOT ELSE faster than others. But apparently this construct is of concern to some people, whether as a matter of elegance or a matter of coding effectiveness. Recognizing this, the more I can eliminate those lines where I or someone else needs to brain stutter out of the flow, the better I think the code is. Problem is, what causes some people to stutter is what other people find easy. Two cases in point ... A lot of my code does if (test) else, which is a very pick construct. In fact, a lot of code *had* to be written that way because a lot of conditional statements (READ etc) didn't have a THEN back then. And when I was learning C. I taught my instructor a trick or two - an exercise was to count how many 3's in a pack of cards. So I did count += (value == 3); When I read my code out for the instructor to write on the board, he just couldn't hear it right until I spelt it out letter by letter. Again, it's stuff I'd expect a Pickie to do without having to think! But the instructor just couldn't get it until he'd written it on the board and took a good hard look. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
Hi Ron, I don't know what version you worked on, but I worked with Information in the mid 80s and the THEN was supported, both on READ and IF. I would have gone ballistic if it hadn't been, since I ported many of my utilities. I don't know about OPEN, I rarely use THEN with OPEN even now. I also don't remember what version I was on (memory is the first thing to go). Charlie Noah Charles W. Noah Associates cwn...@comcast.net The views and opinions expressed herein are my own (Charlie Noah) and do not necessarily reflect the views, positions or policies of any of my former, current or future employers, employees, clients, friends, enemies or anyone else who might take exception to them. On 03-04-2011 2:10 PM, Ron Hutchings wrote: I am not crazy about IF (condition) ELSE logic but the compiler supports it. The versions of Information I was on did not support THEN on the reads until the 90s. Once it was available we jumped on it. Date: Fri, 4 Mar 2011 13:25:48 + From: mec...@gmx.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] Is this worth rewriting? What absolute and utter rubbish! You never had to write IF (test) ELSE ... in Pick. READ did have a THEN clause as far back as I can remember (mid-80s) - only LOCKED came later. You just don't use it that often because you usually only want to do something if your READ fails. Typically READ rec FROM FILE,Id ELSE rec = IF is different. I at least expect that after a test I'll do something if the condition is true. The ELSE clause is optional. I wasn't even aware you could leave the THEN clause out until I encountered some code that did that. That is IMHO one of the worst coding sins and I always change it to IF NOT(test) THEN if I find it anywhere. I just have been bitten too many times with this nonsense code. Aren't I lucky that I don't have to maintain your code? :-P You wouldn't say ' if you brush your teeth else you get decay' in a conversation, so why would you want to do it in your code? But hey, why make life easy for the next guy if with a little bit of effort you can make it really difficult? If it was hard to write it should be hard to read, right? The only thing that forced us to write code as compact as possible in the really olden days was the 32K item size limit. On 04/03/2011 10:50, Wols Lists wrote: On 03/03/11 20:50, Tony Gravagno wrote: Some people apparently have brains that toggle IF NOT ELSE faster than others. But apparently this construct is of concern to some people, whether as a matter of elegance or a matter of coding effectiveness. Recognizing this, the more I can eliminate those lines where I or someone else needs to brain stutter out of the flow, the better I think the code is. Problem is, what causes some people to stutter is what other people find easy. Two cases in point ... A lot of my code does if (test) else, which is a very pick construct. In fact, a lot of code *had* to be written that way because a lot of conditional statements (READ etc) didn't have a THEN back then. And when I was learning C. I taught my instructor a trick or two - an exercise was to count how many 3's in a pack of cards. So I did count += (value == 3); When I read my code out for the instructor to write on the board, he just couldn't hear it right until I spelt it out letter by letter. Again, it's stuff I'd expect a Pickie to do without having to think! But the instructor just couldn't get it until he'd written it on the board and took a good hard look. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
Ron is right that the OPEN, and READ did not originally support the THEN clause, just the ELSE. Speaking of Microdata, Ultimate and R83 versions. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
Now that you have backed me in a corner, I remember that the READ supported THEN and ELSE. There were a couple of constructs that only had ELSE that had THEN added. Now, I can't remember which they were. Date: Fri, 4 Mar 2011 14:16:43 -0600 From: cwn...@comcast.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] Is this worth rewriting? Hi Ron, I don't know what version you worked on, but I worked with Information in the mid 80s and the THEN was supported, both on READ and IF. I would have gone ballistic if it hadn't been, since I ported many of my utilities. I don't know about OPEN, I rarely use THEN with OPEN even now. I also don't remember what version I was on (memory is the first thing to go). Charlie Noah Charles W. Noah Associates cwn...@comcast.net ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Version Control
David, I agree! This is my main argument for driving the sdlc / change control from within U2. ( And of course my product, PRC. ) Plus you can control all kinds of outside stuff - talking back and forth to other products - from within U2. Those other applications cannot 'drive' the change control for the rest of the things inside U2 besides basic programs in directories. Plus a separate solution for data integrity is still required. Susan Message: 13 Date: Fri, 4 Mar 2011 17:59:11 +1100 From: Hona, David david.h...@cba.com.au To: 'U2 Users List' u2-users@listserver.u2ug.org Subject: Re: [U2] Version Control Message-ID: 297b19fd90fdb14da1c8ceff0b6cffe76a3fee8...@vaunsw139.au.cbainet.com Content-Type: text/plain; charset=us-ascii If you are using U2 environment a lot of stuff won't work without utilising the VOC some fundamental or critical way. VOC entries for files, programs, paragraphs/PROCS, etc. Granted, in some cases these don't change often. Unless you are like some poor sites I have seen and run their entire or parts of their application process from a paragraph or proc in the VOC file - more common than you would like to think or hope! Likewise, control information inside U2 files are in many case extremely critical for many applications - this also needs to be managed and versioned, rolled-back if required, etc., etc. Any configuration management application needs to take everything into account not just source code. - ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
OPEN and WRITE come to mind. But that is still no reason to use IF condition ELSE. On 04/03/2011 20:50, Ron Hutchings wrote: Now that you have backed me in a corner, I remember that the READ supported THEN and ELSE. There were a couple of constructs that only had ELSE that had THEN added. Now, I can't remember which they were. Date: Fri, 4 Mar 2011 14:16:43 -0600 From: cwn...@comcast.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] Is this worth rewriting? Hi Ron, I don't know what version you worked on, but I worked with Information in the mid 80s and the THEN was supported, both on READ and IF. I would have gone ballistic if it hadn't been, since I ported many of my utilities. I don't know about OPEN, I rarely use THEN with OPEN even now. I also don't remember what version I was on (memory is the first thing to go). Charlie Noah Charles W. Noah Associates cwn...@comcast.net ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] AUTO: Chris Thornton, Milton Keynes DataStage software engineer, is on leave. (returning 15/03/2011)
I am out of the office until 15/03/2011. I am on leave until Tuesday 15th March. For 8.5 migration and concierge issues, please email conci...@us.ibm.com For other support issues please email dave.cheese...@uk.ibm.com For techlist (IBM internal mailing list) please contact Tony Curcio. For any other issues which won't wait until I get back, please email theony.mo...@uk.ibm.com Note: This is an automated response to your message Re: [U2] SB+ positions available sent on 4/3/11 18:34:45. This is the only notification you will receive while this person is away. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Is this worth rewriting?
On 04/03/11 20:10, Ron Hutchings wrote: I am not crazy about IF (condition) ELSE logic but the compiler supports it. The versions of Information I was on did not support THEN on the reads until the 90s. Once it was available we jumped on it. Exactly. I've only ever really used INFORMATION and UV. OK, IF always supported THEN, but I was so used to all the other stuff like READ, WRITE, OPEN etc not having it, that I saw no reason to necessarily use it in IFs either. Plus, in my other main languages, THEN and ELSE are optional (or not supported, even!) in FORTRAN, and optional in C. At the end of the day, I wrote the conditional in whatever form seemed easiest to understand, and then used THEN or ELSE as appropriate. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users