Gerard, Yes we did it, of course we did and I was brought up on Cobol and Algol in the 70's so I understand where you are coming from very well. There were always ways in which to get around potential locking problems whatever you were using. In fact data records were locked in Cobol by placing an "*" in a particular column of the data record as record locking only came about in Cobol at a later date.
I was on the conversion team with ICL in the early 80's when DBASE II single user was ported onto ICL's IBM PC equivalent Multi User Concurrent CPM (MUCCPM) by Digital Research before Multi-user PC networks had even been developed. We ran on thin ethernet at 10Mbs (we used to know it as Serial I/O) using protocol developed by Singer Business Machines who I joined straight from University and we had to allow for multiple "virtual machines" to update a single user DBASE II table because customers expected multi screens to be able to update the tables. http://www.mail-archive.com/[email protected]/msg78221.html It wasn't supported but we did it nevertheless because we used our in depth knowledge of the hardware and software, so much the same as today. The good programmers will always find ways to circumvent the shortcomings of Languages and Systems by lateral thinking. A long time ago I learnt that there is no "right" or "wrong" way to write software, there are just "ways", some of which may be more efficient than others. The end result is though that the end user NEVER EVER sees the work that goes into a program and doesn't in fact need to. They see the end result and if it works ... then fine, job accomplished. 4GL, RDBMS etc, etc still haven't changed the underlying attributes of good programmers to innovate and think out of the box and that is what makes the good ones stand out in the crowd. For example, I hate with a vengeance the .Net framework, but I work with it on a day to day basis, cursing the fact that I could write the same code in VFP far quicker.... but that is life. SQL Server is somewhat the same, but I work within its structure and restrictions... as well as working WITH all the superior bits that MySQL and M$SQL provide. Presentation and Application layers along with Data Layers are things that most good programmers will have learnt about years before the terminology was standardised and turned into a Mantra for everyone. We just didn't give all the attributes formal names. Consequently, the advent of Multi-Tier applications and OOP thinking wasn't a quantum leap, at least for myself. Embrace new technology and thinking as it is formalised and introduced but never forget that innovation and logical thinking is normally the way to solve most difficult programming problems and that is mostly a natural ability to concentrate under pressure and think outside the box... to whatever degree you are able. As for low level languages, I've done my share of writing in Assembler and supporting O/S's at that level, but the problems and solutions are exactly the same, apart from the fact that the restrictions on HOW you can solve problems at assembler level are obviously less than with a 4GL ... but the timescales are HUGE! I wrote a multi user ops system in 8K ... yes 8K not 8Mb or 8Gb that happily supported up to 127 terminals and gave ISAM files on the server with multi user access at the same time so I do speak with some authority, but what good would imparting that knowledge to new programmers achieve?.... Precisely nothing, that's what. It is in the past but the techniques and experience remain with me forever. There is a good saying.. "Experience is the one thing that you only obtain immediately AFTER the very time that you need it most" and it can't be taught, no matter how good a teacher you are, In essence, use the tools you have got to the best of your ability with your own creativity to solve the problems that are thrown at you. O, and just as a final addition. Take a look at some of the open source code and frameworks that are being developed by the younger guys these days. Some of the concepts and implementation methods are truly wonderful and innovative from a programming point of view (Geeky smile). Wow, that turned into a right soap-box session... oops! ... or should I say procedural "OOPS" being old school! Dave -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Gérard Lochon Sent: 05 September 2012 12:06 To: ProFox Email List Subject: Re: auto increment > Gerard, > That is true for ALL the data not just the pointer table so that isn't > an issue when DBF's are used because the whole of the DBF structure > > is available to change as long as the user has access rights. Yes indeed, that's the genetic lack of open systems, but i wanted to especially point that because in only one operation you can make a lot of desagrements in many tables ; multiples accesses to each dbf to modify them needs a longer time and maybe is easier to trace back. > Normally a "$ Share is sufficient to hide the data away from potential > prying eyes on server hosted hardware. In any case, ALL data is > available for hacking if one has the relevant expertise. > My point in identifying this method was to indicate that there is a > simple Multi-User alternative to using Autoincrement which is robust > and reliable. You know, my mind is always wondering when i see asks and further discussions about that problem ; because it is not new, and through dozens of years still the same old chats are remaining, as algorithmic solutions have been found long time ago. So, sometimes it becomes boring. So that, so what ? It looks like a psychotic fix about this point, but what about the multi-user update of a "normal" value, like a stock value ? That is the same game. In earlier 70's, when neither RDBS nor L4G existed, we had, using procedural languages (as COBOL) to respond to the same questions. And we did it. It is curious that this knowlegde basis can't be transmitted trough generations of valorous programmers ... > The only really secure way of hiding your data is not to put it in > DBF's in the first place but to put it into a SQL container like M$SQL > or > MySQL etc. IMO, the only really secure way is to fully understand the underlying mechanisms, and practise, practise ... MSSQL is not written in MSSQL language, nor MySql is written in MySql language. They are written in low-level language, the same ones that we used long ago. Presentation and application layers have obscured minds. Gérard. [excessive quoting removed by server] _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://leafe.com/mailman/listinfo/profox OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/[email protected] ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.

