"Real" Programmers & Drum Memory - Computerphile

  Рет қаралды 69,755

Computerphile

Computerphile

Күн бұрын

Пікірлер: 282
@davidgustavsson4000
@davidgustavsson4000 4 жыл бұрын
This was no doubt a time when programmer time was cheaper than processor time.
@maconth93
@maconth93 4 жыл бұрын
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.
@kensmith5694
@kensmith5694 4 жыл бұрын
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.
@Noctew
@Noctew 4 жыл бұрын
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"...
@davidgustavsson4000
@davidgustavsson4000 4 жыл бұрын
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."
@kensmith5694
@kensmith5694 4 жыл бұрын
@@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.igamer3958
@thea.igamer3958 4 жыл бұрын
Real programmers move electrons by hand
@RobertShippey
@RobertShippey 4 жыл бұрын
Real programmers build their own electrons in their garage
@TomFynn
@TomFynn Жыл бұрын
Real programmers debug the laws of physics.
@mentatphilosopher
@mentatphilosopher 4 жыл бұрын
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.
@jerrykew
@jerrykew 4 жыл бұрын
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.
@Tasarran
@Tasarran 4 жыл бұрын
Wouldn't these be... drum memory roll... 'reel' programmers? :D
@MisterMcHaos
@MisterMcHaos 4 жыл бұрын
I would encourage anyone who's interested in this sort of content to acquire and read a copy of "The Jargon File".
@compu85
@compu85 4 жыл бұрын
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!
@jwizardc
@jwizardc 4 жыл бұрын
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 .
@Electrk
@Electrk 4 жыл бұрын
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
@gerteldering
@gerteldering 4 жыл бұрын
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.
@Roxor128
@Roxor128 4 жыл бұрын
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.
@drdca8263
@drdca8263 4 жыл бұрын
Wasn’t there a story where some people get some machines to slightly shuffle across the room by doing something like that?
@borisgalos6967
@borisgalos6967 4 жыл бұрын
Yes. I was called "walking the disk drive"
@Dawwwg
@Dawwwg 4 жыл бұрын
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 :)
@esquilax5563
@esquilax5563 4 жыл бұрын
That sounds a bit like what Stuxnet did to those Iranian centrifuges
@usafa1987
@usafa1987 4 жыл бұрын
Real programmers use Verilog to CREATE the hardware, then programs down to it.
@iulianoprea6659
@iulianoprea6659 4 жыл бұрын
@@0x90h Hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha. We all know that programmers are what you call Stack Overflow dwellers that use macbooks and drink expensive coffee.
@pluto8404
@pluto8404 4 жыл бұрын
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.
@iulianoprea6659
@iulianoprea6659 4 жыл бұрын
@@pluto8404 This is........ this is ..... this is beautiful my man.....
@paulk314
@paulk314 4 жыл бұрын
I'm working on such a project now! ^_^
@humm535
@humm535 4 жыл бұрын
@@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_harris
@john_g_harris 4 жыл бұрын
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.
@moofree
@moofree 4 жыл бұрын
Reading instruction codes as integer inputs is pretty awesome.
@recklessroges
@recklessroges 4 жыл бұрын
Nothing could possible go wrong with that. (Ignore the debug nightmare for the next person... it probably won't by you.) /s ;-)
@CandyGramForMongo_
@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!
@fredgotpub871
@fredgotpub871 4 жыл бұрын
It's very meta.
@silaspoulson9935
@silaspoulson9935 4 жыл бұрын
@@CandyGramForMongo_ not help - had to edit code after Mel left
@martensjd
@martensjd 4 жыл бұрын
Instruction codes are integers. Awesome, sure. How every computer you've ever used works, yes.
@jwizardc
@jwizardc 4 жыл бұрын
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.
@danmerillat
@danmerillat 4 жыл бұрын
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.
@aliceanderson5154
@aliceanderson5154 4 жыл бұрын
"Real programmers go straight down to the metal"
@tocsa120ls
@tocsa120ls 4 жыл бұрын
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_8598
@deidara_8598 4 жыл бұрын
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_8598
@deidara_8598 4 жыл бұрын
@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.
@dandan7884
@dandan7884 4 жыл бұрын
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_8598
@deidara_8598 4 жыл бұрын
@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.
@dipi71
@dipi71 4 жыл бұрын
So many interleaving techniques related to these drum-based tricks. e.g. spiralized sector formatting for fast-loading data from floppy disks.
@werdna2231
@werdna2231 4 жыл бұрын
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..."
@RonJohn63
@RonJohn63 4 жыл бұрын
Don't forget that Real Programmers Don't Comment Their Code.
@666Tomato666
@666Tomato666 4 жыл бұрын
well, obviously, it's a waste of butterfly wings to add comments to the code
@DarkNexarius
@DarkNexarius 4 жыл бұрын
Real Programmers only write in binary.
@RonJohn63
@RonJohn63 4 жыл бұрын
@@DarkNexarius Real Programmers write in macro, but *can* write binary (since they know how to deassemble code).
@alexjohnward
@alexjohnward 4 жыл бұрын
@@666Tomato666 they can comment with pencil on punch cards.
@Yubel1100
@Yubel1100 4 жыл бұрын
@@adamburr so no naming a variable this_variable_does_this_and_should_be_used_for_that :P
@stephenwoods4118
@stephenwoods4118 4 жыл бұрын
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).
@DamonWakefield
@DamonWakefield 4 жыл бұрын
Brings back memories of my time at MIT when we programmed on a PDP-2.
@computer_toucher
@computer_toucher 4 жыл бұрын
Wow, the video was about exactly what I'd thought it would be after reading the title :)
@patternwhisperer4048
@patternwhisperer4048 4 жыл бұрын
"Real" programmers use their computer science education to apply/choose appropriate layers of indirections to get their jobs done :^)
@mikefochtman7164
@mikefochtman7164 4 жыл бұрын
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."
@MrRedstoner
@MrRedstoner 4 жыл бұрын
@@mikefochtman7164 Except having too many layers of indirection. That's how the joke usually goes.
@jjdawg9918
@jjdawg9918 4 жыл бұрын
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.
@Segphalt
@Segphalt 4 жыл бұрын
Or design the pcb with meanders in the first place...
@jjdawg9918
@jjdawg9918 4 жыл бұрын
​@@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 ;-)
@davedaley9093
@davedaley9093 10 ай бұрын
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.
@BertGrink
@BertGrink 4 жыл бұрын
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_
@CandyGramForMongo_ 4 жыл бұрын
Please be the story of Mel. It’s the story of Mel! Yoo-hoo!
@BytebroUK
@BytebroUK 2 жыл бұрын
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.
@MalachiTheBowlingGod
@MalachiTheBowlingGod 4 жыл бұрын
Retelling one of my fav stories, thanks!
@stephenwoods4118
@stephenwoods4118 4 жыл бұрын
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.
@alexisxander817
@alexisxander817 4 жыл бұрын
Computerphile is the most pragmatic channel on KZbin for me
@linkVIII
@linkVIII 4 жыл бұрын
Just google "Story of Mel"
@NestorCustodio
@NestorCustodio 4 жыл бұрын
"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*.
@farhanarieframadhan8139
@farhanarieframadhan8139 4 жыл бұрын
The monitor?
@yokmp1
@yokmp1 4 жыл бұрын
I would like to watch a video about Tubes in general.
@geethakm3273
@geethakm3273 4 жыл бұрын
Sir can a 'crt' be a memory, I love to hear from you more
@Tumbolisu
@Tumbolisu 4 жыл бұрын
Most programming languages still don't have an option to break out of multiple nested loops at once, making GOTO the best option.
@vladimir520
@vladimir520 4 жыл бұрын
​@@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.
@senkottuvelan
@senkottuvelan 4 жыл бұрын
These guys provide world class knowledge from nothing but diy stuff.
@blackblather
@blackblather 4 жыл бұрын
INTIMATE WITH THE MACHINE 😍😍😍
@ayush.kumar.13907
@ayush.kumar.13907 4 жыл бұрын
like Kevin from Paradise PD
@lunahoshi2844
@lunahoshi2844 4 жыл бұрын
do not horny the computer
@Diapolo10
@Diapolo10 4 жыл бұрын
@@lunahoshi2844 You doubt my convictions, my reasons.
@FedJimSmith
@FedJimSmith 4 жыл бұрын
I will marry a Quantum Computer,, that would make me an ultimate Quantum Programmer
@Czeckie
@Czeckie 4 жыл бұрын
in this video: horribly unmaintainable code
@daverotors
@daverotors 4 жыл бұрын
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
@MrRedstoner
@MrRedstoner 4 жыл бұрын
@@daverotors Or rather, did the opposite change because he valued his integrity
@davidmurray3542
@davidmurray3542 4 жыл бұрын
I went to university with a "real" programmer. His ideas were older than the lecturers (and none of them could stand him)
@x3ICEx
@x3ICEx 4 жыл бұрын
But if you miss your prediction by a single millisecond then you need to wait for a full rotation of the drum.
@kensmith5694
@kensmith5694 4 жыл бұрын
That is only true for a miss in one direction. Thus you perhaps always over estimate just a little.
@TomFynn
@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.
@martixy2
@martixy2 4 жыл бұрын
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.
@senkottuvelan
@senkottuvelan 4 жыл бұрын
So first time computerphile without subtitles.
@toddmarshall7573
@toddmarshall7573 4 жыл бұрын
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_7
@rennleitung_7 10 ай бұрын
Drum storage was invented in the early 1930s, but I didn't find an early computer, that used drum storage.
@thinboxdictator6720
@thinboxdictator6720 4 жыл бұрын
C-x M-c M-butterfly
@RealCadde
@RealCadde 4 жыл бұрын
Real programmers design their own hardware.
@tocsa120ls
@tocsa120ls 4 жыл бұрын
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.
@vladimir520
@vladimir520 4 жыл бұрын
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...)
@humm535
@humm535 4 жыл бұрын
> 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.
@davedaley9093
@davedaley9093 10 ай бұрын
As one coming from the IBM mainframe world I would consider big-endian the correct endian-ness. Little-endian is DEC perversion.
@classawarrior
@classawarrior 4 жыл бұрын
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?
@Phelan666
@Phelan666 4 жыл бұрын
When you think about it a hard disk is just a melty drum.
@paulwomack5866
@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.
@rogeratygc7895
@rogeratygc7895 4 жыл бұрын
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!
@markrice41
@markrice41 4 жыл бұрын
You should do an article on Donzi, and the things he did with the HP computer to build a successful control for Bunker Ramo.
@Armageddon2k
@Armageddon2k 4 жыл бұрын
A real programmer disregards the work that others have done. Yeah, seems about right...
@laurv8370
@laurv8370 4 жыл бұрын
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
@PopeLando
@PopeLando 4 жыл бұрын
A classic Real Programmer story! 🤯
@anissbenthami
@anissbenthami 24 күн бұрын
That's a computer engineer and a programmer combined
@CraftMine1000
@CraftMine1000 3 жыл бұрын
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
@_aullik
@_aullik 4 жыл бұрын
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.
@tiddergreen3667
@tiddergreen3667 4 жыл бұрын
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
@_aullik
@_aullik 4 жыл бұрын
@@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)
@vivekvarma3079
@vivekvarma3079 4 жыл бұрын
Please do a video on containers and containerization like docker, etc
@danmerillat
@danmerillat 4 жыл бұрын
How do you tell the computer to jump to an arbitrary instruction without using an instruction as a goto?
@waasar
@waasar 4 жыл бұрын
Just learnt that I'm not actually a programmer
@allstartuition267
@allstartuition267 4 жыл бұрын
Everyone criticising the prof clearly didn’t read the description.
@TheSpacecraftX
@TheSpacecraftX 4 жыл бұрын
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.
@danmerillat
@danmerillat 4 жыл бұрын
In those days, entire companies would only have one computer.
@THEMithrandir09
@THEMithrandir09 4 жыл бұрын
Can we get an episode about geohashes?
@guilhermedutragonzagajaime5898
@guilhermedutragonzagajaime5898 4 жыл бұрын
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.
@DanielKarbach
@DanielKarbach 4 жыл бұрын
Speaking of Mel, have you done a bit on "The File" yet? (Not "The Phile" :P)
@R.-.
@R.-. 4 жыл бұрын
Which came first: reel programmers or drum programmers? Ba dum tish.
@tidemover
@tidemover 4 жыл бұрын
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_
@CandyGramForMongo_ 4 жыл бұрын
Mel wasn’t wasting time as there were no functions to use except for his! Lol!
@kensmith5694
@kensmith5694 4 жыл бұрын
@@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.
@pruthalikhankar4427
@pruthalikhankar4427 4 жыл бұрын
Please enable captions/ subtitles ..
@ws_zilch
@ws_zilch 4 жыл бұрын
Terry Davis was a real programmer..
@-..-_-..-
@-..-_-..- 4 жыл бұрын
that's true, which is why his os only works on one architecture lol
@ws_zilch
@ws_zilch 4 жыл бұрын
@@-..-_-..- 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
@jmw1500
@jmw1500 4 жыл бұрын
@@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_zilch
@ws_zilch 4 жыл бұрын
@@jmw1500 :V Waw can u make me an OS? I need it! :D ty very much
@ws_zilch
@ws_zilch 4 жыл бұрын
@@jmw1500 also make a new programming lang and a compiler first.. :D ty much appreciated.. :)
@TheAMadMan
@TheAMadMan 4 жыл бұрын
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.
@miharix
@miharix 4 жыл бұрын
What software do you use to draw your graphical animations ?
@LewisCowles
@LewisCowles 4 жыл бұрын
I imagine "real programmers" red-case code paths would be a subject to bring balance to all this.
@swiftfox3461
@swiftfox3461 4 жыл бұрын
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.
@nathancortes3722
@nathancortes3722 4 жыл бұрын
I disagree with the premise, a real programmer ought to be able to use logic correctly.
@burpleson
@burpleson 4 жыл бұрын
Real Programmers Don't Eat Quiche
@goranjosic
@goranjosic 4 жыл бұрын
A real programmer would spin that disc with his own hand! :D
@pvc988
@pvc988 4 жыл бұрын
Real progreammer would mine raw materials for his computer himself.
@vic91020
@vic91020 4 жыл бұрын
It's a shame such low level interactions are not portable... I really want to know how he tried to keep that barely mantainable
@3dlabs99
@3dlabs99 4 жыл бұрын
These skills are still very relevant -- just look at modern CPU-design.
@pj20050
@pj20050 4 жыл бұрын
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.
@pj20050
@pj20050 4 жыл бұрын
@@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.
@chamaldesilva
@chamaldesilva 4 жыл бұрын
Are programmers of unreal engine real or unreal?
@drumetul_dacic
@drumetul_dacic 4 жыл бұрын
I'm not a real programmer, but a floating-point one (point one). :)
@Hal9526
@Hal9526 4 жыл бұрын
I wonder if this fellow is any relation to the great lexicographer Charles Talbut (C.T.) Onions?
@raykent3211
@raykent3211 4 жыл бұрын
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_marco
@costa_marco 4 жыл бұрын
Is your nick Key Rant? ;)
@CandyGramForMongo_
@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.
@peterfireflylund
@peterfireflylund 4 жыл бұрын
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.
@TimothyWhiteheadzm
@TimothyWhiteheadzm 4 жыл бұрын
These days, a real programmer just buys a faster SSD. Problem solved.
@kensmith5694
@kensmith5694 4 жыл бұрын
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.
@peppers1758
@peppers1758 4 жыл бұрын
Could they not just STOP the drum from moving? No Steppers? "Real programmers use GOTO" hahaha
@swapnilrana2206
@swapnilrana2206 4 жыл бұрын
Wow, it's so cool to watch Satya Nadella and Bill Gates talking
@LuizDahoraavida
@LuizDahoraavida 4 жыл бұрын
Between breaking DRY principle and using a well labeled goto, I'd roll with the goto.
@torb-no
@torb-no 4 жыл бұрын
I’m not a real programmer, I’m a imaginary programmer.
@nickpalance3622
@nickpalance3622 3 жыл бұрын
Then all you need to do is turn yourself 90 degrees.
@Raspredval1337
@Raspredval1337 4 жыл бұрын
am I the only one who waited for some fun tale of this machine going out of sync and completely messing things up?
@lucidmoses
@lucidmoses 4 жыл бұрын
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.
@kensmith5694
@kensmith5694 4 жыл бұрын
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"
@lucidmoses
@lucidmoses 4 жыл бұрын
@@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.
@kensmith5694
@kensmith5694 4 жыл бұрын
@@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_being
@not_a_human_being 4 жыл бұрын
Real programmers never use whitespace.. or is that real hackers?
@kensmith5694
@kensmith5694 4 жыл бұрын
"whitespace" is also the name of a computer language.
@avi12
@avi12 4 жыл бұрын
For me, the best programmer of all time is gotta be John Carmck
@QDIGS06
@QDIGS06 4 жыл бұрын
What about Terry A. Davis.
@peterfireflylund
@peterfireflylund 4 жыл бұрын
QDIGS06 mr Davis didn’t hold a candle to Carmack.
@mayankraj2294
@mayankraj2294 4 жыл бұрын
The intro sounds like news from an ai intelligence worlds.......................
@humm535
@humm535 4 жыл бұрын
“Real Programmers don’t use Pascal.”
@rennleitung_7
@rennleitung_7 10 ай бұрын
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.
@cranknlesdesires
@cranknlesdesires 4 жыл бұрын
Real programmers hand craft the cogs they use.
@CharlesAntoinePavy
@CharlesAntoinePavy 3 жыл бұрын
1 machine = 1 binary
@hansmuller1846
@hansmuller1846 4 жыл бұрын
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.
@strayling1
@strayling1 4 жыл бұрын
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.
@drdca8263
@drdca8263 4 жыл бұрын
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?
@hansmuller1846
@hansmuller1846 4 жыл бұрын
@@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...
@hansmuller1846
@hansmuller1846 4 жыл бұрын
@@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" ;)
@SimonBuchanNz
@SimonBuchanNz 4 жыл бұрын
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.
@jimbobbyrnes
@jimbobbyrnes 4 жыл бұрын
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.
@kylewilson4097
@kylewilson4097 2 жыл бұрын
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
@not_herobrine3752 Жыл бұрын
this could either be interpreted as "job security" or "a hostage situation" depending on how you look at it
@robchr
@robchr 4 жыл бұрын
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
@diegorivero6796
@diegorivero6796 4 жыл бұрын
@@-..-_-..- 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)
@noisytim
@noisytim 4 жыл бұрын
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-wh2ev
@JohnDoe-wh2ev 4 жыл бұрын
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
@TheJaguar1983
@TheJaguar1983 4 жыл бұрын
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)
@nutsnproud6932
@nutsnproud6932 4 жыл бұрын
Thanks for the video. The video is fine at 240p on my very slow ADSL.
@arijitdas7526
@arijitdas7526 4 жыл бұрын
REAL programmers use stack overflow and they're extremely good at Googling and "ctrl+c" and "ctrl+v" are their favorite keys.
@kensmith5694
@kensmith5694 4 жыл бұрын
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.
What NOT to do: Self Modifying Code - Computerphile
11:34
Computerphile
Рет қаралды 184 М.
Rotating Drum Memory with the Bendix G15
30:47
Usagi Electric
Рет қаралды 128 М.
Каха и лужа  #непосредственнокаха
00:15
I tricked MrBeast into giving me his channel
00:58
Jesser
Рет қаралды 30 МЛН
Smart Sigma Kid #funny #sigma
00:14
CRAZY GREAPA
Рет қаралды 109 МЛН
RWALL (Remote Write to All) - Computerphile
13:52
Computerphile
Рет қаралды 44 М.
Machine Code Explained - Computerphile
20:32
Computerphile
Рет қаралды 122 М.
Apollo Core Rope Memory (Apollo Guidance Computer Part 30)
49:03
CuriousMarc
Рет қаралды 550 М.
How Branch Prediction Works in CPUs - Computerphile
25:57
Computerphile
Рет қаралды 68 М.
Pascal (Not Just Nickel & Dime) - Computerphile
11:59
Computerphile
Рет қаралды 59 М.
SGI Octane:  What can a $30,000 computer from the 90's do ?
16:54
RetroBytes
Рет қаралды 2 МЛН
EDSAC Simulator - Computerphile
18:29
Computerphile
Рет қаралды 123 М.
Meet my new Litton Minicomputer (it has Drum Memory)!
19:12
Usagi Electric
Рет қаралды 75 М.
Каха и лужа  #непосредственнокаха
00:15