The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
...has become my default browser since this morning. I was tried to constant nagging from chrome that something went wrong last time I closed it, every time I opened it. So far, I felt everything is big, text, spaces, context menu. I managed to reduce first two. I still need to find where can I tell it to make context menu smaller.
Something right with the world today
And everybody knows it's wrong
But we can tell 'em no or we could let it go
But I'd would rather be a hanging on
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)
Glad I dont get paid per line of code
Years back, I worked with a product that had a limit of 32K lines of code
We used a framework that used up 21K of them
I spent so much time reducing the number of lines used so we could get all the functionality in
Id have ended up paying my employer
The 8 space idea was around from the early days of Unix, and the only the terminals were basic teletypes (electric typewriters). I Have never understood why anyone thought that was a good idea on a device that generally could only print 80 characters across the page.
Yes, it is waste of space, I feel. Or was it a mistake:
Australian Dev 1: Keep a tab on it, mate. I am going out for coffee.
Non-Australian Dev 1: tab on what? (didn't hear term mate)
Australian Dev 1: mate.
Non-Australian Dev 1: (again misheard) ah, keep tab on 8. Sure, but it is weird though.
And that caused this mishap.
In Fortran, cols 1-5 were reserved for labels. Col 6 was for a line continuation marker. You could start your code in col 7, but then the continuation marker would be adjacent to the code, possibly disturbing the reading of the line (if, say, you use digits 1, 2, 3... to mark the order of continuation lines, and the code line starts with a numeric. So you set the tab stop at 8.
In the Fortran days, indenting loops was not very common; code was written from pos 8 - the left margin labels were good enough marking of loops. The problem of rightward migration of the source code was not relevant.
In those days, it was common to have arbitrary tab stops (like on most old mechanical typewriters). Often, a programming language recommended certain tab stops: If my memory is correct, Fortran (if you used tabs at all!) recommended stops at 8, 14, 20 and then for every 10. On a punched card, there was no way to tell if you had moved out to col 14 using the tab stop or the space bar - either left no hole!
When evenly spaced tab stops were getting common, there were some fighting about what comes after 8 - is it 15 (the first tab brought you 7 positions out from the margin, 8 + 7 = 15)? Or is it 16, (counting starts at 0, so n tabs brings you to position 8*n)? Or 17, the first one 8 cols out from the margin, i.e. at pos 9? If Fortran had still been strong, I guess the third alternative (9, 17, 25...) would have been rejected, but it is the most consistent and easiest to handle, so it won.
If there had never been any disagreemet about the positions/intervals, causing chaos in line/table layout when moving text files around, maybe tabs would have been popular today. More and more people are rejecting it, both because of the non-standardization and (among software developers) because they came to hate it through makefiles. In modern days the tab key has become common as a navigation key in GUIs, for moving to the next edit field, which further discourages its use as a text input key. Python is actively discouraging tabs.
I am happy about it. As an input method, it is fine, as long as it has the semantics of "Space fill up to the next tab position" (rather than inserting a tab character code into the file).
I hate it when some tab-loving co-worker edits "my" files, and garbles up some nicely lined up declarations, comments etc. Some garble not only the lines they edit, inserting tab characters, but their editors (don't ask me which one they are using) replace any run of 2+ spaces up to a tab stop, throughout the file(s). Today, most of our projects state explicitly that their source files shall contain no tab stops, so we are gradually able to control it. We did have a pre-commit plugin rejecting commit of files with tab stops, but then there were projects still using classical makefiles, so we had to slack up on that. Maybe we could have allowed tabs if we forced everybody to use the same identically configured editor/IDE, but if we tried to enforce that, I'm sure that several of our young energetic employees would have left the company.
Quite possibly, although when I was writing Fortran & Cobol, all input was hand written to coding forms and sent to the Data Preparation department, where it would be punched onto Hollerith cards by a team of pretty young girls. And since neither language was free form the issue of tabs never arose as far as I know. Assembler was similarly fixed although by convention the operator field was set at column 11, operands at 21, and comments at 39.
I suffered the same problems for my first year at the U. The first run was always to identify they typos that the ladies had made. We had a couple of punches available for making corrections, but there was a sign telling that after punching 8 cards, you had to yield to the next one in line.
During my 2nd year, we went from that huge Univac 1110 filling a big hall to three single-rack 16 bit minis, each handling 20 interactive terminals (and they did it well!). The great, expensive Univac had interactive terminals too, reserved for special (mostly post-graduate) projects, running at 300 bps. Although the mini could easily handle 9600 bps lines, we were ordered to reduce the speed to 1200 bps so that the proud Univac would not totally loose its face We (that is, the TAs) had certain authorizations, so as soon as the professors went home for supper, and eager students would work through the night on the minis, we raised the line speed.
As you point out, assembler is another language (class) where unevenly spaced tab stops were/are common.
Last Visit: 8-Apr-20 13:02 Last Update: 8-Apr-20 13:02