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.
Back in the day when mainframes roamed the planet and ate punch cards, we used to measure code size by inches...thick.
When I went to work at the headquarters of a major railroad, the largest program written had been 3-1/2" thick.
I blew their minds when the first S/370 assembler program I wrote was 1-1/2 cartons long. They thought I was writing a compiler or something. I was writing a universal database editor (when databases were flat files and I'd go to calculator club meeting and there was this old gentleman raving about this new thing called "Sequel") so I'd never have to write another. It was mostly macro generated, it allowed multiple commands that did the same thing (edit, change, modify), columns were not fixed for data,...it was beautiful.
Wow, 3-1/2 inch! Best I got was about 2 inches, or a bit less (never measured it, this is just a guesstimate from memory). But then, it was just university assignments, and even for those I eventually switched to a terminal after getting hold of an unlimited terminal password (which was in fact only meant for use in an OS course I visited over the summer holidays).
I have to say, though , that I was known to produce very compact solutions. more a matter of practicality than anything else, because the typewriter ribbon in our punch card writers were never replaced, and so we could never read our punch cards to check for errors... (it also meant that dropping the stack forced us to 'rewrite' the entire program, as sorting them was impossible without readable line numbers).
I also on one occasion managed to 'blow their mind', when I expanded a programming task to build a min-max tree for a simple game into a full-blown game program, complete with a printout of the board after each move. I think that was the first (and last) time where the printout was in fact larger than the stack of program cards would have been, hadn't I used a terminal instead
I might have been generous in saying 3 1/2", might have been less. Those guys were operating without a clue. Whereas my program was around 3000 lines long. I was trying to eliminate fixed columns for input and created something akin to PL/C's stream input. I also macro generated PL/C's ByName function to copy fields from one structure to another. The problem was that I was using S/370's DOS Assembler, which wouldn't allow strings larger than 8 characters. However you could make a Macro call and pass up to 255 characters. So I created a recursive Macro call that peeled apart the fieldname strings and reassembled a target string. I also used to blow their minds by using symbolic names instead of hardcoded register numbers.
My program was intended to replace their usual database maintenance where they used to punch out the entire database to cards, interpret them, and then find and edit (repunch) the particular field in the particular record and then reload the entire database from those cards. This database was 300 characters wide so a record spanned several cards and some fields were only 1 character wide. I figured their probability of error was greater than their probability of a successful edit. So my program was intended to do an inplace replacement of the data. And I had to implement Create/Update/Delete against fields and records. It was a very fun program to write since it required so much. And with the intention that for other flatfile databases they would later throw at me, all I'd have to do is change the field declarations at the beginning (Macro generated) and write the custom fields, and I'd be done in short order.
Typical programmer behavior: Work hard so you wouldn't have to later.
Psychosis at 10
Film at 11
Those who do not remember the past, are doomed to repeat it.
Those who do not remember the past, cannot build upon it.
Well, I don't know to tell a C/C++ compiler to do that either!
Any time I have to deal with C (maybe once every year?) I just make sure that the #includes make it all collapse to 1 file.
But I'm not going to claim that I'm fairly skilled at either C or C++.
He could be skilled at writing small programs, and just have a bizarrely large blindspot in his skillset. It depends on the font, but 10 pages is probably around 500 lines of code which isn't unreasonable for a single class, and a small utility program.
I was largely self taught for anything relating to scaling code as a HS student in the 90s and much of my initial impetus for splitting procedural code up had to do with memory limits of a 16bit compiler than anything design related.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging 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?
If you cannot do things in C++ that virtually every C++ programmer can do, then your claim to be skilled is suspect.
If you cannot learn to do new things, then your claim to be a skilled programmer is suspect.
The entire point of object oriented programming is to break up a big problem into a series of small problems that can be solved in a few pages. If you have not grasped this fact, then your claim to have any skill whatsoever in C++ is suspect. It's entirely possible that you are using a C++ compiler, but your programs are more like C programs, or assembler.
What is it you lost between the time you learned to program and today, so that you cannot learn to do separate compilation? Go find that thing, and get it back. Then learn to compile multiple files. It's not that hard. In fact, any other C++ programmer should be able to explain it o you in five minutes.
Perhaps you don't know any other programmers. Then you have no basis on which to compare your skill. Perhaps you're missing very basic concepts like what a compiler, linker, and loader does.
If so your claim to skill is maybe not supported by any factual data at all.