This was no doubt a time when programmer time was cheaper than processor time.
@maconth934 жыл бұрын
Yes, but do remember that that is still a relatively niche field in computing. The differerence between now and then is that back then programmers were ALWAYS cheaper, not just in a specific niche sub-field.
@kensmith56944 жыл бұрын
I suspect it still is common today. The real question is "Who pays for the time". Imagine that a programmer at Microsoft can save some time coding up a portion of Windows by using the "bogosort" method. If he goes that path, Microsoft saves perhaps a days pay for him but the millions of computer around the world take a little longer to get something done. Thus the cost is distributed to people who don't know that they are paying it.
@Noctew4 жыл бұрын
True dat. I work with databases, and the number of times I offered to optimize some SQL queries being answered by "no, we'll just add some CPU"...
@davidgustavsson40004 жыл бұрын
We had a moment in one of my early programming courses where the lecturer said "anything from this point on only matters if you are doing computer science. Don't get caught doing these optimizations on the clock as an engineer."
@kensmith56944 жыл бұрын
@@davidgustavsson4000 That was somewhat bad advice. If you are designing for a very power limited or CPU restricted environment, you need to do some optimizations your self. There are processors that cost $0.10 in quantity and others that cost $5.00. On a $20 consumer product that will sell millions, the $0.10 processor is the better one.
@thea.igamer39584 жыл бұрын
Real programmers move electrons by hand
@RobertShippey4 жыл бұрын
Real programmers build their own electrons in their garage
@TomFynn Жыл бұрын
Real programmers debug the laws of physics.
@mentatphilosopher4 жыл бұрын
Worked on a TSPS Switch with drum memory the size of a full size washing machine drum. Only element in the switch that was AC to spin it. It stored data tables and had a separate bit in the 34 bit word (32 data, 1 parity, 1 table end mark) to mark end of a table. The table search was hardware implemented. Give the start of the table on the drum and a key and key size and record size and it would search until a match or the end of table mark was found. Still in field use until the end of the 1980s.
@jerrykew4 жыл бұрын
In 1976 I worked in the machine room in Wythenshawe for Shell. Big space, 3 mainframes, Two Univac and an IBM 370. They had corridors of drum store. The stats were astonishing, they weighed a quarter tonne each. I *think* 4 heads per track(1/4 latency), and 20,000 rpm. Apparently, they took hours to power up. I never saw that as that only happened on an airconditioning weekend (I wasn't invited :-) ). We had permanent Univac engineers on site. If a unit (tape deck, IOAU, CAU disk, drum etc) went down we handed that cabinet back to Univac, and they handed it back to us when working. 24hour ops of course. Only paid for it working, early AWS!!. Anyway, back to the drums, the engineers were aware of two globally that had had their bottom end bearings fail. Apparently one 'walked' through a couple of CPU or whatever cabinets and exited through a wall, the other had drilled down through the building, you don't argue with a quarter tonne at 20k rpm. I'm sure there was artistic licence to the tales, but I can still recall nervously walking the drum corridors, occasionally peering through the vertical spyglasses at the seemingly motionless drum behind.
@Tasarran4 жыл бұрын
Wouldn't these be... drum memory roll... 'reel' programmers? :D
@MisterMcHaos4 жыл бұрын
I would encourage anyone who's interested in this sort of content to acquire and read a copy of "The Jargon File".
@compu854 жыл бұрын
Having the data positioned so that it's "ready" at the same time as the processor was used for spinning disks for quite a while - it's called interleaving. On the original PC the hard disk had an interleave of 5 - the disk controller and processor were slow enough that it took 4 sectors of time before they'd be ready to read in the next sector!
@jwizardc4 жыл бұрын
The processing time included reading the track and sector headers, computing and comparing the CRC (sortof like a checksum), reading the data, and computing and comparing that CRC .
@Electrk4 жыл бұрын
The creators of Myst had to specifically plot out where on the disc each area was stored so that it would load in a decent amount of time
@gerteldering4 жыл бұрын
This reminds me of the story I heard in the early seventies that one of our genius "real" programmers succeeded in crashing a hard disk by moving the read/write head of the disk continuously between the innermost to the outermost cylinder of the disk. The drive was designed for random access in the literal sense of the word and not for that kind of action and it started to resonate in some way until it crashed.
@Roxor1284 жыл бұрын
Causing the drive to run in horizontal mode? Those washing-machine-sized drives would have had a massive amount of angular momentum. Properly exploited, I can see the potential to tip the thing over.
@drdca82634 жыл бұрын
Wasn’t there a story where some people get some machines to slightly shuffle across the room by doing something like that?
@borisgalos69674 жыл бұрын
Yes. I was called "walking the disk drive"
@Dawwwg4 жыл бұрын
I'm too young for that; but I did code my own MIDI-file player that played 'notes' on the floppy-disk arm, like the Star Wars floppy tune. And of course the test-drive died during it's ~2 week of development :)
@esquilax55634 жыл бұрын
That sounds a bit like what Stuxnet did to those Iranian centrifuges
@usafa19874 жыл бұрын
Real programmers use Verilog to CREATE the hardware, then programs down to it.
@iulianoprea66594 жыл бұрын
@@0x90h Hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha. We all know that programmers are what you call Stack Overflow dwellers that use macbooks and drink expensive coffee.
@pluto84044 жыл бұрын
Real programmers mine the metals for the computer hardware with their bare hands, collect the silocon in a stomach from a sperm whale they speared with nothing but a bamboo stick, and cast the parts in the skull of a 500lb gorilla they killed in a fist fight. Then after all that, they install the latest distribution of linux and install Scratch programming language and get to work.
@iulianoprea66594 жыл бұрын
@@pluto8404 This is........ this is ..... this is beautiful my man.....
@paulk3144 жыл бұрын
I'm working on such a project now! ^_^
@humm5354 жыл бұрын
@@0x90h Real programmers don’t need to think long. Real programmers just write their programs. Stackoverflow wouldn’t know the solution a real programmer would come up with, consisting of self-modifying programs written in FORTRAN. Stackoverflow is only used by quiche eaters.
@john_g_harris4 жыл бұрын
The people writing programs for the English Electric Deuce computer (drum + mercury delay lines for fast access) also wrote in binary. All the tricks Julian mentions were in use which made them 'real' programmers as well.
@moofree4 жыл бұрын
Reading instruction codes as integer inputs is pretty awesome.
@recklessroges4 жыл бұрын
Nothing could possible go wrong with that. (Ignore the debug nightmare for the next person... it probably won't by you.) /s ;-)
@CandyGramForMongo_4 жыл бұрын
This whole bit is lifted from the Jargon File. There is a great first-person account of a programmer that was sent in to help Mel. Spoiler: he gave up!
@fredgotpub8714 жыл бұрын
It's very meta.
@silaspoulson99354 жыл бұрын
@@CandyGramForMongo_ not help - had to edit code after Mel left
@martensjd4 жыл бұрын
Instruction codes are integers. Awesome, sure. How every computer you've ever used works, yes.
@jwizardc4 жыл бұрын
The first computer I wrote (The Mark I) for had drum memory. It also had a separate Arithmetic and Logical units. My favorite "trick" was to the machine cycles that were required for a mathematic operation and execute logical instructions. For example, the divide instruction took 12 cycles. That works out to 8 - 12 logical instructions while the math unit cranked. It also had (if I remember correctly) 12k of 24 bit words of ram. Ouch. It hurts to remember that far ago.
@danmerillat4 жыл бұрын
Always cool to hear about the early days. That tradition of careful scheduling has continued to this day; from the separate floating point chip in the way-back where you could do exactly that same trick to modern processors that peek ahead and put future instructions on separate ALUs to run them at the same time.
@aliceanderson51544 жыл бұрын
"Real programmers go straight down to the metal"
@tocsa120ls4 жыл бұрын
You have to. Embedded designers do it to this day. You don't always get the luxury of megabytes of RAM, sometimes you have to fit whatever you need into 4k.
@deidara_85984 жыл бұрын
Id' say it hugely depends on the task you're trying to accomplish. Sometime it can be benefitial to go down to the metal if you're dealing with performance constraits, other times it's better to do things in a higher-level language like Python.
@deidara_85984 жыл бұрын
@referral madness Java? Not exactly assembly, but it gets compiled into a sort of psuedo-assembly which can be fully assembled by the local Java distribution, which is why it's able to run on pretty much everything.
@dandan78844 жыл бұрын
mining the minerals, smelting it, building the measuring tools required to create more advanced measuring tools using smelted minerals mined previously... i think there are no "real" programmers on earth :(
@deidara_85984 жыл бұрын
@referral madness Generally when it comes to computer languages, the more you hide under the hood, the slower it gets. A high-level language will always be slower than pure assembly. On the other hand you have languages like C and BASIC, which comes close to what you're describing.
@dipi714 жыл бұрын
So many interleaving techniques related to these drum-based tricks. e.g. spiralized sector formatting for fast-loading data from floppy disks.
@werdna22314 жыл бұрын
Heard the following from a former co-worker - take it as you will. A new drum-based hard drive was deployed to an airport control center. The drum spun at a "gajillion" RPM. It also had a foot pedal to activate an emergency brake. The emergency brake was rated for one use. The U.S. Federal Aviation Administration regulator required the installer to demonstrate that the emergency brake worked. In other words, spin up the disk and activate the brake. Installer explained that would use up the one-and-only-one guaranteed brake activation. Regulator didn't care. "Rules say..."
@RonJohn634 жыл бұрын
Don't forget that Real Programmers Don't Comment Their Code.
@666Tomato6664 жыл бұрын
well, obviously, it's a waste of butterfly wings to add comments to the code
@DarkNexarius4 жыл бұрын
Real Programmers only write in binary.
@RonJohn634 жыл бұрын
@@DarkNexarius Real Programmers write in macro, but *can* write binary (since they know how to deassemble code).
@alexjohnward4 жыл бұрын
@@666Tomato666 they can comment with pencil on punch cards.
@Yubel11004 жыл бұрын
@@adamburr so no naming a variable this_variable_does_this_and_should_be_used_for_that :P
@stephenwoods41184 жыл бұрын
Also plotters, that used stepper motors to move paper and pen in X and Y, by default the time per step was .01 second which made the damn thing very noist as the stepper motors had to stop and start. Adjusting the pot on the controller to run at about 120+ Hz made everything run much faster, 10 times more quiet and cooler as well. A three way win. OH yeah and it ran the diagnostic perfectly (the diagnostic drew trefoils all around and inside a square and were supposed to over trace the previous run (if you hadn't dropped any steps).
@DamonWakefield4 жыл бұрын
Brings back memories of my time at MIT when we programmed on a PDP-2.
@computer_toucher4 жыл бұрын
Wow, the video was about exactly what I'd thought it would be after reading the title :)
@patternwhisperer40484 жыл бұрын
"Real" programmers use their computer science education to apply/choose appropriate layers of indirections to get their jobs done :^)
@mikefochtman71644 жыл бұрын
hehehe... We had a saying in Machine Language class.... "No problem is so difficult that it can't be solved by adding another layer of indirection."
@MrRedstoner4 жыл бұрын
@@mikefochtman7164 Except having too many layers of indirection. That's how the joke usually goes.
@jjdawg99184 жыл бұрын
A modern day example of "real" programming is writing assembly language delay loops to accommodate the timing in different lengths of PCB traces to DDR memory pins, where the instructions to create the delay do something useful(e.g. temperature measurement). And then using this to modify the delay for clock timing drift over different temperatures.(don’t ask me how I know). Javascript programmers will never know, and I'm glad they don't have too.
@Segphalt4 жыл бұрын
Or design the pcb with meanders in the first place...
@jjdawg99184 жыл бұрын
@@Segphalt You are correct about using meanders but I think you missed the point which is given a piece of hardware with constraints that “cannot be changed” you come up with real programming optimizations. In this case the meanders could not be added due to PCB size limitations (or maybe 10,000 PCBs were already manufactured with a bad layout; that never happens ;-)
@davedaley909310 ай бұрын
The IBM 650"s memory was on a drum storage unit which the SOAP program (i.e. Symbolic Optimized Assembly Program) could locate the instructions so that when one execution was completed the next instruction would be coming under the read head to be decoded and executed.
@BertGrink4 жыл бұрын
I hope they will tell the story of the Blackjack program in the next episode.
@-..-_-..-4 жыл бұрын
lol that's what I thought this would be
@CandyGramForMongo_4 жыл бұрын
Please be the story of Mel. It’s the story of Mel! Yoo-hoo!
@BytebroUK2 жыл бұрын
Once upon a time in the late 70s I wrote pipe-lined microcode where you could do different instructions in a single clock cycle. So very aware of using instruction timing and clock speeds to speed things up. But never until this did I realise that the same things were sometimes used to slow things down! Interesting vid.
@MalachiTheBowlingGod4 жыл бұрын
Retelling one of my fav stories, thanks!
@stephenwoods41184 жыл бұрын
Was a drum computer (Called a MonroeBot , so I'm toled) who's instruction format was OPCODE, Next address. One could hand optimize the program on the drum so that just as the instruction was finishing the next instruction was just coming up on the drum.
@alexisxander8174 жыл бұрын
Computerphile is the most pragmatic channel on KZbin for me
@linkVIII4 жыл бұрын
Just google "Story of Mel"
@NestorCustodio4 жыл бұрын
"A real programmer is someone who isn't afraid to use GOTOs." ... That statement right there will get you *fired* most days. Also, fun fact for the kids out there: before flash storage, optical media, hard drives, floppy disks, tape storage, drum memory, magnetic-core memory, and even mercury-delay lines, there was CRT storage. Yes, CRT *storage*.
@farhanarieframadhan81394 жыл бұрын
The monitor?
@yokmp14 жыл бұрын
I would like to watch a video about Tubes in general.
@geethakm32734 жыл бұрын
Sir can a 'crt' be a memory, I love to hear from you more
@Tumbolisu4 жыл бұрын
Most programming languages still don't have an option to break out of multiple nested loops at once, making GOTO the best option.
@vladimir5204 жыл бұрын
@@Tumbolisu Exactly, that's what they're best used for. Use it for anything else and you get spaghetti code, but this is the single best use of gotos.
@senkottuvelan4 жыл бұрын
These guys provide world class knowledge from nothing but diy stuff.
@blackblather4 жыл бұрын
INTIMATE WITH THE MACHINE 😍😍😍
@ayush.kumar.139074 жыл бұрын
like Kevin from Paradise PD
@lunahoshi28444 жыл бұрын
do not horny the computer
@Diapolo104 жыл бұрын
@@lunahoshi2844 You doubt my convictions, my reasons.
@FedJimSmith4 жыл бұрын
I will marry a Quantum Computer,, that would make me an ultimate Quantum Programmer
@Czeckie4 жыл бұрын
in this video: horribly unmaintainable code
@daverotors4 жыл бұрын
Look up the story of Mel the Real Programmer. It's from the perspective of the guy who was supposed to maintain it because Mel refused to do some changes :D
@MrRedstoner4 жыл бұрын
@@daverotors Or rather, did the opposite change because he valued his integrity
@davidmurray35424 жыл бұрын
I went to university with a "real" programmer. His ideas were older than the lecturers (and none of them could stand him)
@x3ICEx4 жыл бұрын
But if you miss your prediction by a single millisecond then you need to wait for a full rotation of the drum.
@kensmith56944 жыл бұрын
That is only true for a miss in one direction. Thus you perhaps always over estimate just a little.
@TomFynn Жыл бұрын
Fun fact: As a kid - back then, before the flood - public libraries still had punch cards tucked in the back of the books, which were used to log that you checked out the book.
@martixy24 жыл бұрын
Real programmers blow on a butterfly's wings, triggering a tornado on the other side of the world that causes cosmic rays to refract through the atmosphere to flip memory bits to the right pattern.
@senkottuvelan4 жыл бұрын
So first time computerphile without subtitles.
@toddmarshall75734 жыл бұрын
CRT storage came before drum storage. I think delay line storage came after drum storage. First I saw it used was on Control Data 200 User Terminals. They used it to refresh the screen.
@rennleitung_710 ай бұрын
Drum storage was invented in the early 1930s, but I didn't find an early computer, that used drum storage.
@thinboxdictator67204 жыл бұрын
C-x M-c M-butterfly
@RealCadde4 жыл бұрын
Real programmers design their own hardware.
@tocsa120ls4 жыл бұрын
If you've ever programmed a C64, you know how to time stuff to the badlines, how to write a raster line that goes all the way through the screen, etc. And what "little endian" means. Which is the correct endian-ness, by the way.
@vladimir5204 жыл бұрын
If you ever tried learning ASM of any kind and got to stacks you must have learned about little endianness ;P I've never actually written in ASM and I know what little endian means lol (all that other stuff though...)
@humm5354 жыл бұрын
> And what "little endian" means. I expect every programmer who touched to machine code compiled, imperative languages once to know what endianess is. That is nothing special.
@davedaley909310 ай бұрын
As one coming from the IBM mainframe world I would consider big-endian the correct endian-ness. Little-endian is DEC perversion.
@classawarrior4 жыл бұрын
How did you tell the computer the address of the next operation you wanted it to run, after processing the (e.g. multiply) instruction you just gave it? Would it not just advance to the next memory location after processing each operation? Or was "oh by the way, the next instruction starts at offset X" part of the instruction set somehow?
@Phelan6664 жыл бұрын
When you think about it a hard disk is just a melty drum.
@paulwomack5866 Жыл бұрын
I strongly suspect Mel K was programming a Bendix G-15 (made 1956-1963), which was a comparatively common machine; around 400 were made. A clue is the company Mel worked for; "Royal McBee". And the technical characteristics fit.
@rogeratygc78954 жыл бұрын
The first computer I used was a Stantec Zebra which had a drum memory; it kept a teleprinter (not even as fast as a teletype) waiting while it worked out the next decimal digit of a number. Oh, and apparently only "real" programmers have a sense of humour, judging by some of the comments!
@markrice414 жыл бұрын
You should do an article on Donzi, and the things he did with the HP computer to build a successful control for Bunker Ramo.
@Armageddon2k4 жыл бұрын
A real programmer disregards the work that others have done. Yeah, seems about right...
@laurv83704 жыл бұрын
That's how to take a beautiful story and make a roll of toilet paper from it. But we love the toilet paper roll, the future internauts will know this is a 2020 video... :D
@PopeLando4 жыл бұрын
A classic Real Programmer story! 🤯
@anissbenthami24 күн бұрын
That's a computer engineer and a programmer combined
@CraftMine10003 жыл бұрын
On a side note, that broken disk really broke, since the heads weren't parked I assume they crashed into the disk after a controller failure or impact failure, bet it made quite a noise as well
@_aullik4 жыл бұрын
You would know that if you were a real professor that people have specializations and not everyone is coding directly to the hardware. Specially today when your program has to work on many different hardware.
@tiddergreen36674 жыл бұрын
Sounds like is very limited in what he can do these days and doesn't want to move with the times and recognise doing everything from scratch isn't always the best way
@_aullik4 жыл бұрын
@@tiddergreen3667 I mean hardware near programming is fun. So understanding your hardware and creating fun projects will increase your coding level. That being said, its a fun project, not a production project. (That is unless you're named ben eater and your production is selling the fun project XD)
@vivekvarma30794 жыл бұрын
Please do a video on containers and containerization like docker, etc
@danmerillat4 жыл бұрын
How do you tell the computer to jump to an arbitrary instruction without using an instruction as a goto?
@waasar4 жыл бұрын
Just learnt that I'm not actually a programmer
@allstartuition2674 жыл бұрын
Everyone criticising the prof clearly didn’t read the description.
@TheSpacecraftX4 жыл бұрын
Problem is it only works on one computer. You have to know that that memory drum is used at the same speed, with the same processor speed as the computer the program was written for.
@danmerillat4 жыл бұрын
In those days, entire companies would only have one computer.
@THEMithrandir094 жыл бұрын
Can we get an episode about geohashes?
@guilhermedutragonzagajaime58984 жыл бұрын
Dear Computerphile team, would you please enable auto subtitles and auto translation to all your youtube videos? This way We'll be able to recommend your videos to non-english speaking students.
@DanielKarbach4 жыл бұрын
Speaking of Mel, have you done a bit on "The File" yet? (Not "The Phile" :P)
@R.-.4 жыл бұрын
Which came first: reel programmers or drum programmers? Ba dum tish.
@tidemover4 жыл бұрын
One thing to keep in mind is to even control an 8086 using hex code isn't an easy task(Which I did with an 8085) . Plus , you would be wasting time reinventing the wheel . Since routines etc are already written.
@CandyGramForMongo_4 жыл бұрын
Mel wasn’t wasting time as there were no functions to use except for his! Lol!
@kensmith56944 жыл бұрын
@@CandyGramForMongo_ Early machines didn't have a call instruction On things like the PDP-8, the "call" was "jump to subroutine" That instruction stored the return address where you pointed it to and then started doing instructions that followed that location. Recursive code was slightly harder to write on a machine like that.
@pruthalikhankar44274 жыл бұрын
Please enable captions/ subtitles ..
@ws_zilch4 жыл бұрын
Terry Davis was a real programmer..
@-..-_-..-4 жыл бұрын
that's true, which is why his os only works on one architecture lol
@ws_zilch4 жыл бұрын
@@-..-_-..- c'mon bro he created his own os from a scratch on his own... just take a moment to appreciate his genius hard work... will you.. xD
@jmw15004 жыл бұрын
@@ws_zilch No. Intro operating systems is an undergraduate course. Any relatively smart person can make an OS on their own. He spent most of his decades making the OS big and fancy looking, with games and other random things.
@ws_zilch4 жыл бұрын
@@jmw1500 :V Waw can u make me an OS? I need it! :D ty very much
@ws_zilch4 жыл бұрын
@@jmw1500 also make a new programming lang and a compiler first.. :D ty much appreciated.. :)
@TheAMadMan4 жыл бұрын
The way he says "real"programmer is a truly exclusionary way to talk about your profession. To me it sounds more like those guys were doing the best with what they had, but were really working with inadequate technology that hindered rather than helped their goals.
@miharix4 жыл бұрын
What software do you use to draw your graphical animations ?
@LewisCowles4 жыл бұрын
I imagine "real programmers" red-case code paths would be a subject to bring balance to all this.
@swiftfox34614 жыл бұрын
Did you ever hear the tale of The Real Programmer? I thought not. It's not a story the Jedi would tell you. It's a hacker legend. Mel K was a Real Programmer, so powerful and so wise he could use memory drums to influence the Machine Code to create... life. He had such a knowledge of the dark side that he could even keep the programs he cared about from crashing. The dark side of the Machine Code is a pathway to many abilities some consider to be... unnatural. He became so powerful, the only thing he was afraid of was losing his cross-platform portability, which eventually, of course, he did.
@nathancortes37224 жыл бұрын
I disagree with the premise, a real programmer ought to be able to use logic correctly.
@burpleson4 жыл бұрын
Real Programmers Don't Eat Quiche
@goranjosic4 жыл бұрын
A real programmer would spin that disc with his own hand! :D
@pvc9884 жыл бұрын
Real progreammer would mine raw materials for his computer himself.
@vic910204 жыл бұрын
It's a shame such low level interactions are not portable... I really want to know how he tried to keep that barely mantainable
@3dlabs994 жыл бұрын
These skills are still very relevant -- just look at modern CPU-design.
@pj200504 жыл бұрын
The core take away is to consider the spatial and temporal locality of your data and organise it to be cache friendly; this isn't something many programmers give much thought to unfortunately, they're more concerned with how it looks in their text editor as if the source is the product they ship rather than the binary.
@pj200504 жыл бұрын
@@niklas3128 You sound pretty ignorant on the matter or just don't care about the performance of your program. I suggest you watch Mike Acton's presentation from CPP con 2014 to be enlightened on just how "intelligent" compilers are at producing optimisations and how much they can really help you.
@chamaldesilva4 жыл бұрын
Are programmers of unreal engine real or unreal?
@drumetul_dacic4 жыл бұрын
I'm not a real programmer, but a floating-point one (point one). :)
@Hal95264 жыл бұрын
I wonder if this fellow is any relation to the great lexicographer Charles Talbut (C.T.) Onions?
@raykent32114 жыл бұрын
Sorry, but i think this is poor. Valves are slow? They were fast enough for the MHz range, which is a heck of a lot faster than a drum, or I think, a modern hard disk. Ergo: machine needs an adder, the adder can add 7 much quicker than searching on a drum for a numerical instruction that happens to have the value 7. Which, of course, must not be overwritten without messing up the instruction set. What a weird example, the adding of a literal constant. As for the seeming machismo of not being afraid to use goto (ponder the choice of the word "afraid"), well I'm not the least bit afraid. Nor am I afraid of beetroot, I just don't like it. The later subroutine call simply embeds a goto along with a return address. So the programmer is using a goto, but not explicitly. Which is hardly ever inefficient. Is this man from the Ark?
@costa_marco4 жыл бұрын
Is your nick Key Rant? ;)
@CandyGramForMongo_4 жыл бұрын
In a way, yes. Mel was the operating system! Otherwise, there wasn’t any room for one. To your point, there is a reason you are not familiar with the Royal McBee Computer Company now days.
@peterfireflylund4 жыл бұрын
Ray Kent valves were fast... but expensive. So machines back then were bit serial. Internal registers could use valves (expensive) or acoustic delay lines (slowish). Delay lines didn’t have to use a liquid. A metal wire worked fine. An add instruction involved more than just reading a value from the drum a bit by bit and adding it to some other number in a register... so the drum *did* move a bit during the add. It moved more during a multiply. Some kind of floating-point support wasn’t unusual at the time, which was even slower.
@TimothyWhiteheadzm4 жыл бұрын
These days, a real programmer just buys a faster SSD. Problem solved.
@kensmith56944 жыл бұрын
This doesn't apply if you are making code for a micro controlled commercial product. These days things like your clothes washer has a micro with many lines of code. The cheaper the processor that can be used the more goes to the bottom line.
@peppers17584 жыл бұрын
Could they not just STOP the drum from moving? No Steppers? "Real programmers use GOTO" hahaha
@swapnilrana22064 жыл бұрын
Wow, it's so cool to watch Satya Nadella and Bill Gates talking
@LuizDahoraavida4 жыл бұрын
Between breaking DRY principle and using a well labeled goto, I'd roll with the goto.
@torb-no4 жыл бұрын
I’m not a real programmer, I’m a imaginary programmer.
@nickpalance36223 жыл бұрын
Then all you need to do is turn yourself 90 degrees.
@Raspredval13374 жыл бұрын
am I the only one who waited for some fun tale of this machine going out of sync and completely messing things up?
@lucidmoses4 жыл бұрын
Your idea of a "Real" programmer is way out of date. Back when computers were simpler those optimizations where simple enough. Now a days if any of my people did that we would have words.
@kensmith56944 жыл бұрын
That just means you are not "a real manager". The question to always ask is "was that the best choice for getting the job done"
@lucidmoses4 жыл бұрын
@@kensmith5694 "best choice for getting the job done" Absolutely not! Not only would we have words. that would get you fired if you kept up that nonsense. Absolutely no one on my team is allowed to be that short sighted. "Real" programs produce things that are; Fault torrential. Check point able. Back out recoverable. Well balanced with resources and other concurrent processes. Long term maintainable. etc etc. You show me a shop that focuses/priorities getting the job done and you'll find that shops thrust is at screwing over there customers or critically focused on time because they are too busy fighting fires cased by programming hacks that are focused on what "was that the best choice for getting the job done". Systems don't exist to satisfied the ego of one developer.
@kensmith56944 жыл бұрын
@@lucidmoses You have the who fires whom backwards. "best choice to get the job done" is the right question in all design. That you can't see that even after the prompt from me means you are doing harm to whoever you work for. You are not a competent manager.
@not_a_human_being4 жыл бұрын
Real programmers never use whitespace.. or is that real hackers?
@kensmith56944 жыл бұрын
"whitespace" is also the name of a computer language.
@avi124 жыл бұрын
For me, the best programmer of all time is gotta be John Carmck
@QDIGS064 жыл бұрын
What about Terry A. Davis.
@peterfireflylund4 жыл бұрын
QDIGS06 mr Davis didn’t hold a candle to Carmack.
@mayankraj22944 жыл бұрын
The intro sounds like news from an ai intelligence worlds.......................
@humm5354 жыл бұрын
“Real Programmers don’t use Pascal.”
@rennleitung_710 ай бұрын
Real (and unreal) programmers are useless without inventors like Gustav Tauschek, who invented the drum storage some 90 years ago. A "real" 😉 enthusiast would have mentioned him.
@cranknlesdesires4 жыл бұрын
Real programmers hand craft the cogs they use.
@CharlesAntoinePavy3 жыл бұрын
1 machine = 1 binary
@hansmuller18464 жыл бұрын
Just to make it clear: It is absolutely NOT TRUE that real programmers should use GOTOs, know their hardward closely or anything like that. The achievements reached by further abstraction of different layers of Computer Science have been enormous, and are the best reason why software produced today is slowly increasing in quality.
@strayling14 жыл бұрын
Try viewing this as something your optimiser does for you now, but had to be done by hand back then. Layers of abstraction don't come for free.
@drdca82634 жыл бұрын
Is software today increasing in quality? At least, is it increasing in speed? More layers of abstraction certainly makes it easier to make things, but code written in C is generally faster than code written in python to complete the same task. Now, yes, I’m sure that compiler optimizations have improved a great deal, and so I assume the same C++ code compiled today may produce an executable that runs much faster than if it was compiled using the version of the compiler from 10 years ago. But my impression has been that the efficiency with which programs use the increasingly fast clock speeds, has diminished? Is this not the case?
@hansmuller18464 жыл бұрын
@@drdca8263 I think that is mainly because programs have become way more complex, and also programmers do not look on their ressources as closely because it's most of the time not necessary. Just as this extreme efficiency btw, it's also most of the time not necessary...
@hansmuller18464 жыл бұрын
@@strayling1 Well, very often this small difference in speed is not at all important - especially comparing it to the danger of having memory-related bugs, memory leaks and whatever... Also, you might want to have a look at "zero cost abstractions" ;)
@SimonBuchanNz4 жыл бұрын
Keep in mind "real" is in scare quotes. It's generally used in a somewhat perjorative sense, similar to "no true Scotsman...", but with the acknowledgement that it's still impressive and sometimes useful.
@jimbobbyrnes4 жыл бұрын
i would call them mechanical programmers since most programmable machines today have no moving parts and the price of them makes them disposable. no reason to learn the mechanics if there are none. all you have to do is minimize latency with better memory since the cost of the memory is probably less than the cost of your time.
@kylewilson40972 жыл бұрын
Sounds as if a 'real' engineer would adjust the rotation rate of the drum to match their required timing so that timing was optimized. Personally I'm a very real programmed (and a BS EE with significant digital design experience) but I would never play these sorts of low level games (not that many would work in a modern pipelined cached, speculatively executing CPU) as the code would become a maintenance nightmare as less experience people needed to maintain it in the future.
@not_herobrine3752 Жыл бұрын
this could either be interpreted as "job security" or "a hostage situation" depending on how you look at it
@robchr4 жыл бұрын
Real programmers have big egos and would rather write in gotos than use levels of abstraction to get features done faster with greater reliably.
@-..-_-..-4 жыл бұрын
they also have very little interest in interoperability or being supported on more than one machine, which works fine for a gimmick blackjack machine your company uses at trade expos but doesn't work when you have to produce something you have any interest in others using
@diegorivero67964 жыл бұрын
@@-..-_-..- Fair enough to Mel, back in the 50s and 60s when drum memory was used, computers were hardly general purpose machines, and programs were hardware-specific, the concepts of portability and interop were not born yet. To try and advocate for such a thing nowadays would be really ridiculous indeed (and those who try to gatekeep "real programming" are ridiculous as well)
@noisytim4 жыл бұрын
they also don’t care for documentation or naming conventions. And if someone doesn’t know exactly what they know, they are not worth their time.
@JohnDoe-wh2ev4 жыл бұрын
Dive into ring 0 and come back alive, become a man and then we will talk about usefulnes of that levels of abstraction of yours. Boy
@TheJaguar19834 жыл бұрын
We're so spoiled as programmers these days. Compilers do so much optimisation for us, including re-ordering instructions based on CPU cycles (a digital equivalent to efficiently placing instructions on the drum)
@nutsnproud69324 жыл бұрын
Thanks for the video. The video is fine at 240p on my very slow ADSL.
@arijitdas75264 жыл бұрын
REAL programmers use stack overflow and they're extremely good at Googling and "ctrl+c" and "ctrl+v" are their favorite keys.
@kensmith56944 жыл бұрын
It is not an "overflow" if it is on purpose. The stack pointer is just a pointer to some place in memory where things are.