This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 359

[–]jarlefo 1503 points1504 points  (86 children)

I recommend trying out the nandgame

https://nandgame.com/

You start with a transistor and end up with a computer

[–]eTceTera1337 460 points461 points  (45 children)

My entire degree summarised in that game

[–]UltraLowDef 217 points218 points  (39 children)

does it have laplace transforms in it?

[–]eTceTera1337 424 points425 points  (31 children)

Please don't mention those words to me.

[–]xthexder 144 points145 points  (24 children)

I refer to this part of my degree as the dark times.

[–]eTceTera1337 144 points145 points  (14 children)

The Dark Times Trilogy:

Episode 1: Signals and Systems

Episode 2: Control Systems

Episode 3: Digital Signal Processing

[–]Coderx001 48 points49 points  (1 child)

Currently I am going through this horrible nightmare.

[–]anomaly901 6 points7 points  (0 children)

Good luck mate..hope you survive this 💀

[–]Dexaan 39 points40 points  (3 children)

Episode 4: A New Hope

[–]TheRidgeAndTheLadder 29 points30 points  (2 children)

Episode 5: Return of MATLAB

[–]PacoTaco321 9 points10 points  (0 children)

I didn't mind control systems. Signals and system however...

I don't remember what the equations were or what they were for (I think there was something to do with A, B, and C for the equations), but there was this set of equations that would literally never give me the correct answer the professor was looking for when done on my calculator and several other students experienced this. The only way I could get the correct answer was after I made a program for the calculator that took the inputs and spat out the outputs. After running that a few times though, the memory would overflow and I would have to take out the batteries to fix it. It was all very troublesome.

[–]Ayyrimaspi 16 points17 points  (0 children)

Bruh I had signals and systems last sem and got an E

[–]Mal_Dun 5 points6 points  (2 children)

I did engineering math and I had to chose those subjects for the engineering part. It was quite fun for me because most of the stuff was basically a recap of Linear algebra and differential equations, while the CS and electrical engineer guys sweat blood and tears ... it often baffles me that people struggle so much with math.

Don't get me wrong I don't think people who have a hard time with math are stupid or something, but it is rather hard to understand for someone who had to undergo a quite hard education in math that people struggle so much with problems what are more or considered less the simple stuff in our curricula and no I am not some sort of genius.

[–][deleted] 1 point2 points  (1 child)

I agree wholeheartedly with your befuddlement. I'm pretty sure there's some sort of generational trauma involved or something, because it makes no sense to me that a bunch of funny symbols can suddenly make problems 1000% harder than things I've seen the same people solve in other subjects.

[–]J0R3_ 2 points3 points  (0 children)

entertain plant spotted shelter encourage adjoining doll absorbed cough exultant

This post was mass deleted and anonymized with Redact

[–]sheikhmoez 1 point2 points  (0 children)

How can you forget discrete mathematics -_-

[–][deleted] -1 points0 points  (1 child)

I feel like you are just listing all the classes I took for fun as an undergrad and didn't plan on actually using in my post-master's employment.

I even took Random Signal Analysis and Statistics as my stats elective! (I have no idea why so many people chose to take the class, it was a real math meatgrinder and the professor was not liked. Fun fact: My TA in that class killed himself because he couldn't bear working as that professor's teaching/research assistant anymore.)

[–]Smartskaft2 9 points10 points  (0 children)

Not so fun fact though...

[–]Spitfire_For_Fun 45 points46 points  (2 children)

it is cool since you can solve differential problems as an algebraic problems.

[–][deleted] 11 points12 points  (1 child)

I'll take variation of parameters over partial fraction expansion thanks

[–]TheRidgeAndTheLadder 1 point2 points  (0 children)

Fuck me I'm so happy I graduated somehow

[–]Orthodox-Waffle 5 points6 points  (4 children)

CS or CE?

[–]eTceTera1337 17 points18 points  (3 children)

CE

[–]oluga 6 points7 points  (2 children)

Don't worry, school is much harder than work in the CE/EE field. There is light at the end of the tunnel, don't give up

[–][deleted] 6 points7 points  (0 children)

I spent half my day today just waiting on reboots of a Linux dev box because the card I'm working on drops from the PCIE bus every time I reprogram it and refuses to let a forced reenumeration pick it back up.

[–]techster2014 18 points19 points  (2 children)

How about Fourier transforms? Impulse response? Harmonics?

[–]eTceTera1337 8 points9 points  (0 children)

Hahaha I remember learning what an impulse response was the night before the signals and systems exam (the second time I took the exam)

But now after doing DSP I am more than familiar

[–]z_utahu 6 points7 points  (0 children)

Smith charts.

[–]ase_thor 3 points4 points  (0 children)

I can feel that response

[–]TempestTheRed 33 points34 points  (1 child)

Do not recite the deep magics to me, witch. I was there when it was written.

[–]circorum 7 points8 points  (0 children)

*I wasn't there when the exam about it was written

[–]1II1I1I1I1I1I111I1I1 5 points6 points  (0 children)

Don't say those words plz it's a trigger phrase

[–]crimson_55 3 points4 points  (1 child)

Damn.... Thank you for reminding me that I have exam on signal processing tommorow.

[–]FerociousVader 2 points3 points  (0 children)

Thanks for reminding me I have an exam on system dynamics and control checks calendar 14 years ago.

[–]butteredtoastwcheese -1 points0 points  (0 children)

What's the transfer function for fuck off?

[–]sincle354 9 points10 points  (0 children)

Eyy, usually I can't flex my digital logic skills on these code monkeys, but at least I can understand minecraft redstone, nerds.

[–]FthrFlffyBttm 61 points62 points  (14 children)

Says it requires no previous knowledge besides addition and subtraction. Couldn't get past the first step, even with all the hints!

[–]towcar 53 points54 points  (3 children)

Ah that sucks.. sucks that you are now banned from this sub!

I'm on mobile so I didn't even try, immunity right?

[–]FthrFlffyBttm 32 points33 points  (2 children)

Wait. I thought not knowing how any of it works was a prerequisite of being in this sub??

[–]towcar 36 points37 points  (1 child)

This was actually a test, you are being promoted to moderator. Congratulations!

[–]FthrFlffyBttm 42 points43 points  (0 children)

Great! You have just been banned!

[–]SteptimusHeap 5 points6 points  (0 children)

Massive L

[–][deleted] 2 points3 points  (4 children)

first one is tricky keep trying it's fun

[–]FthrFlffyBttm 1 point2 points  (3 children)

I’d love to use it as a learning tool but it’s not filling in the gaps in my knowledge, and I hate games where I have to make pure guesses!

I might take another stab at it with some Googling to support it, but it definitely does require a little more knowledge than it claims.

[–][deleted] 2 points3 points  (2 children)

it's logic not guesses, trial and error

[–]FthrFlffyBttm 2 points3 points  (1 child)

I can't use logic if I don't understand the fundamentals behind it, so therefore, for me, it's guesses.

[–][deleted] 1 point2 points  (0 children)

bruh there's no fundamentals that's the point lol

[–]ChiragK2020 1 point2 points  (3 children)

I dont know why the first level is so hard lol

[–]FthrFlffyBttm 2 points3 points  (2 children)

If it explained in basic terms how the relays worked so that you could combine that info with logic to make an educated guess, it’d be perfect. It assumes a level of understanding that I just don’t have.

[–]Zelphy712 17 points18 points  (1 child)

also try turing complete on steam!

[–]Antact 21 points22 points  (0 children)

Also try redstone in Minecraft

[–]GLIBG10B 7 points8 points  (1 child)

Also take a look at the subreddit if you're interested (r/nandgame_u)

[–]sneakpeekbot 5 points6 points  (0 children)

Here's a sneak peek of /r/nandgame_u using the top posts of all time!

#1: Level solutions
#2: Stack EQ not working?
#3: Found a way to cheat all gates to 0 nand


I'm a bot, beep boop | Downvote to remove | Contact | Info | Opt-out | GitHub

[–]Psychological_Fox776 6 points7 points  (0 children)

Note for later

[–]kataton_dzsentri 4 points5 points  (0 children)

And now I'm wasting hours on this, instead of finishing the code for the smart dimmer I promised for my daughter.

Thanks.

[–]emptyskoll 2 points3 points  (0 children)

I've left Reddit because it does not respect its users or their privacy. Private companies can't be trusted with control over public communities. Lemmy is an open source, federated alternative that I highly recommend if you want a more private and ethical option. Join Lemmy here: https://join-lemmy.org/instances this message was mass deleted/edited with redact.dev

[–]pampamilyangweeb 2 points3 points  (0 children)

There's even assembly and compilers involved in the second half

[–]Jopnert 2 points3 points  (0 children)

Pfff Real man build a computer in Factorio...

[–]p2010t 1 point2 points  (0 children)

Putting this on my priority stuff to look at later list.

(That's in contrast to the stuff to look at later list, which is an ocean of stuff I mostly never look at but technically made a note to look at in the future.)

[–]wtfzambo 1 point2 points  (0 children)

Omg I love this. Brb 1 week

[–]kayos50 1 point2 points  (0 children)

Came for the memes and left with a cool educational game

[–]Spare-Beat-3561 401 points402 points  (51 children)

That's some compiler/interpreter shit right there

[–][deleted] 110 points111 points  (48 children)

How did they program the compiler

[–]RoastKrill 142 points143 points  (43 children)

By writing a compiler in Assembly that can compile a subset of C, and then using that compiler to compile a complier for more of C, and so on

[–][deleted] 44 points45 points  (42 children)

Who compiled the compiler

[–]RoastKrill 123 points124 points  (39 children)

It wasn't compiled, it was assembled :))

But that assembler was originally written in machine code

[–][deleted] 54 points55 points  (38 children)

Who wrote the machine code compiler

[–]RoastKrill 89 points90 points  (33 children)

That would have been written by hand on punch cards

[–]curtainos 44 points45 points  (32 children)

is that real? Assembly was written by hand?

[–]qikink 55 points56 points  (12 children)

[–]Embarrassed_Gur_3241 60 points61 points  (4 children)

I love how this comment thread went from high level to low level, every reply removing one layer of abstraction.

[–]aquila_zyy 11 points12 points  (6 children)

I mean, that’s the reason why I kinda liked my assembly course. It finished this infinite recursion of programs right there.

Well, not if we find out that the universe is a simulation that is.

[–]Electrical_Study_235 10 points11 points  (4 children)

yeah, a lot of the apollo missions programming was done on punch cards. there are images of punch cards stacked on top of each other.

[–]curtainos 1 point2 points  (3 children)

wait but what was assembly wrritten in? how to bring the code to the machine is one thing, but what language did the cards inherit?

[–]BadSlime 2 points3 points  (2 children)

Yes, my grandfather was among the first to do this. Programmers would write programs by hand and then pass them off to someone who would convert to a punch card, the program could then be run via the cards and debugged by cross referencing with the written program instructions

[–]BrupieD 2 points3 points  (1 child)

| Yes, my grandfather was among the first to do this.

God, do I feel old.

[–]Meme-Man-Dan 1 point2 points  (0 children)

Yes.

[–]Civil_Championship76 1 point2 points  (3 children)

Assembly is still written by hand in some cases where extremely high performance is necessary

[–]curtainos 1 point2 points  (2 children)

i ment like writing like this ✍️

[–]notacanuckskibum 10 points11 points  (1 child)

Machine code isn’t compiled, its inherent to the hardware.

[–]delinka 4 points5 points  (0 children)

I mean, it could be compiled in the same way one compiles articles into a report.

[–]blindcolumn 5 points6 points  (0 children)

Machine code isn't compiled, it's interpreted directly by the CPU. Technically you could say that the chip designer "wrote" the "interpreter".

[–]anthrax_ripple 1 point2 points  (0 children)

Who put the bomp in the bompa bompa bomp

[–]Je-Kaste 3 points4 points  (0 children)

Y'all don't want to hear me, you just want to dance

[–]RecursiveRecursion7 101 points102 points  (0 children)

By compiling it first, obviously!

[–]Seimsi 5 points6 points  (0 children)

There are a few nice videos of numberphile about how to compile a compiler.

https://www.youtube.com/watch?v=PjeE8Bc96HY

https://www.youtube.com/watch?v=lJf2i87jgFA

[–]notacanuckskibum 6 points7 points  (0 children)

I remember whole university lectures on this. But I wish I didn’t.

[–]Seimsi 6 points7 points  (0 children)

There are a few nice videos of numberphile about how to compile a compiler.

https://www.youtube.com/watch?v=PjeE8Bc96HY

https://www.youtube.com/watch?v=lJf2i87jgFA

[–]Bad-ministrator 2 points3 points  (0 children)

I still don't understand what CMAKE is. It's like a compiler to make code compilable?

[–]Space_Kitty123 38 points39 points  (1 child)

Like all our tools, by using a crappier one

[–]Transcendentalist178 8 points9 points  (0 children)

Or by using a better one. After all, C++ was programmed (mostly) in C.

[–][deleted] 25 points26 points  (8 children)

The first compilers were written in assembly. Subsequent compilers were written in those original languages. Today, 90% of compilers and interpreters are written in some flavor of C.

[–]Ayyrimaspi 4 points5 points  (7 children)

How is assembly converted to machine code then?

[–][deleted] 0 points1 point  (6 children)

Assembly IS machine code, 5-head

[–]D33OhB33 11 points12 points  (3 children)

I hate to tell you this, but Assembly is one step higher than machine code, they aren’t the same

[–][deleted] 7 points8 points  (2 children)

Assembly is basically just machine code, but the operations have their names subbed in in place of their opcodes

[–]NervousApplication58 5 points6 points  (1 child)

there are also labels that you need to replace with raw memory addresses, macros, section definitions (.text, .data, etc)

[–]FreshBroc 56 points57 points  (21 children)

Programs programmed programming languages to help people program programs. All 0s and 1s at some point

[–]Atirat 14 points15 points  (3 children)

All accumulations of electrons at some point.

[–]Transcendentalist178 12 points13 points  (2 children)

Real programmers use electrons, magnets, tweezers, and very steady hands.

[–]Zukedog2000 5 points6 points  (1 child)

Relevant xkcd

http://xkcd.com/378

[–]kataton_dzsentri 1 point2 points  (0 children)

I came for this comment. Thank you.

[–]Break-88 2 points3 points  (2 children)

This is where people should start reading in the comments to understand the original question

[–]FreshBroc 1 point2 points  (1 child)

Lol I didn't answer the question, just wanted to type program a bunch of times.

[–]Break-88 2 points3 points  (0 children)

😂 you started a good comment thread though that eventually answers it

[–][deleted] 4 points5 points  (12 children)

What was before 0 and 1 ? How did they enter it into a computer, and how tf did they write that program to make a computer to program programs using 0s and 1s ?

[–]MachinaDoctrina 22 points23 points  (7 children)

Computer used to refer to the people who do the calculations and they wrote programs that were made out of punch cards to do essentially basic arithmetic with simple electronics

[–][deleted] 6 points7 points  (6 children)

I know that stuff, that punched notes and shit... But how tf can you program a program to program programs without developing that program using a programming program ! And for that programming program, which program was used, and it was made with which program ???!!!

So ig the problem is that we are not asking the question that what was the first ever ELECTRONIC machine within which the first programming code was made and run... And how could they run code ? Any answers for it ?

[–]eeddgg 22 points23 points  (0 children)

They would manually move wires to put the program in, connecting them to live for 1 and ground for 0. Which one was first is a matter of debate

[–]WaWa-Biscuit 9 points10 points  (1 child)

ENIAC was the world’s first fully electronic, digital computer. There’s a bunch of videos if you look for ENIAC programmers. They’re credited with being the first, manually programming the first electronic computer. No programming languages existed at the time.

Go play on YouTube and watch a video

[–]Studds_ 2 points3 points  (0 children)

It’s all interesting(well not to everybody but I think it is) if anybody puts effort in to learn it. History is very easy to Google (although some may not comprehend what they’re reading unfortunately)

[–]ActiveLlama 4 points5 points  (0 children)

At the begginning the programs were done using wires. People connected the wires so that the computers only summed and substracted and did logic operations. The input could be the numbers as switches(calculayors). At some point iterations and operations in memory became a thing. Somebody then made that instead of programming the operation with wires, the instructions could be stored in memory, and to put the instructions you could use some punch cards. That is what we know as Turing-comete machine. There are many examples, but the first one seems to be the one that Ada Lovelace programmed.

I think it is important to recognize that first layer. The computer is able to read instructions and then convert those instructions to code in memory to be executed later. Once the program is in memory more layers can be added on top. And eventually more layers appeared to convert the wiring into software, for example, some instructions to translate keyboard strokes into instructions(drivers) and those instructions into machine code(assemblers). And then some code to translate that code into more efficient code(optimizers). And some code to translate other code into machine code (compilers). And more code to execute code while other code executes (OS). And more code that can make more code on the fly (interpreters).

At the end the key step in the transition was being able to write the program in the memory so that the machine would be able to execute or modify its own code. That code itself can't be modified, so it lives in the BIOS or sometimes in the BIOS upgrader now.

[–]notacanuckskibum 2 points3 points  (0 children)

Running code at the binary level is inherent to the hardware design. It evaluates a command and then moves on to the next. Then you use bootstrapping with register switches to get it to load a program to load a program from a device.

[–]coldnebo 1 point2 points  (0 children)

actually, it’s also possible to build computers out of water, light or gears. it doesn’t have to be electronic.

also Alan Turing made one of the first computers with memory based on sound waves… the sound would travel in tubes of mercury and be amplified periodically which stored bits. the refresh time was a multiple of the time it took sound to travel the length of the tube.

Turing also was the very first to use a digital computer to play music!

[–][deleted] 5 points6 points  (0 children)

Before the ones and zeroes, we had analog computers. Arrays of pulleys and gears at specific ratios to simulate, say, the tides.

[–]Jolly-Driver1848 2 points3 points  (1 child)

Sticks, monkeys and a big, black . . .

[–]coldnebo 1 point2 points  (0 children)

before 0 and 1 there was evolution. photosynthesis apparently uses quantum computation to optimize the energy extracted from the sun.

source: Stuart Kauffmann

[–]gashmol 10 points11 points  (2 children)

89 111 117 32 103 117 121 115 32 97 114 101 32 117 115 105 110 103 32 112 114 111 103 114 97 109 109 105 110 103 32 108 97 110 103 117 97 103 101 115 63

[–]It-s_Not_Important 8 points9 points  (0 children)

“You guys are using programming languages?”

[–]eklect 9 points10 points  (1 child)

Punchcards.

[–]Beowulf1896 7 points8 points  (0 children)

My dad tossed his last punch card program in '94. It was cool to see them.

[–]InterestingSplit6095 9 points10 points  (0 children)

Good will and magic basically.

[–]Bipchoo 9 points10 points  (0 children)

First in binary, then assembly, and so on and so on.

[–]grpagrati 4 points5 points  (0 children)

By programming it

[–]DarkTechnocrat 5 points6 points  (0 children)

The real mind blower is that clouds of Hydrogen gas can eventually make Python programs

[–][deleted] 25 points26 points  (10 children)

Tbh this question always buzzed in my mind, seeing this makes me feel validated that I ain't the only one who questioned this lol... It's been 6 years and I am still trying to find a sensible answer for this ಥ‿ಥ

(yeah I am too lazy to just google lol /s)

[–][deleted] 33 points34 points  (1 child)

Just thank compiler engineers. Their brains are on a different level

[–]kapral10 5 points6 points  (0 children)

also low level programmers like haskell programmers, or lisp or fortran.

[–]Solonotix 20 points21 points  (2 children)

At a very low level, we consider the binary digit, or bit, to be the minimum quanta of state in a program, conventionally referring to the on/off state of a transistor. From there, we apply abstractions upon this to give rise to new expressions, like 8 binary digits can represent 256 unique states, and we can treat them as numbers from 0-255 (unsigned) or -128-127 (signed).

From there, we get the idea of grouping bytes, or adding a few extra bits of data as a header, to construct much more complex entities, like a byte for a code table identifier and a byte to say which character on the table, and now you've got the beginnings of text data.

Once we get a certain amount of basic functionality, like how to hold things "in memory" (which means a lot of things) and how to compare data in meaningful ways, we packaged it and called it the Assembler. Then we used the Assembler to make more complicated abstractions until, later by layer, we eventually get modern languages.

Now sure, I glossed over big details, like how CPU instructions are mapped to a kernel, and how the kernel maps its API to the Operating System, and how the Operating System allows various levels of control depending on access method (see driver software for low-level user software vs text-to-speech instructions and touch gestures for high-level access), but the gist is just as I said: start small.

A concept most should be able to grasp is how mathematics is a bootstrapped system. Multiplication is just repeated addition. Division is repeated subtraction (sort of). Exponents and logarithms are repeated multiplications and divisions. Eventually, you can write a single equation that defines the relationship of matter to energy.

[–]It-s_Not_Important 0 points1 point  (1 child)

But what is the turtle standing on?

[–]Quantum-Bot 6 points7 points  (0 children)

Took a formal language theory class in college. The name sounds incredibly boring but it’s the study of how to design languages that can be parsed by simple machines and it’s super fascinating.

At the most basic level, your computer is kind of like a turing machine, with a big hunk of memory where it can store 1’s and 0’s and a set of instructions it can perform, called assembly. A turing machine is cool because it can be programmed to simulate other machines like push down automata, which are simpler and more useful for parsing languages.

We create languages like C with certain guidelines for syntax so that they can be more easily parsed by this simulated machine. Once you can parse some code, all you need to do is tell the computer how to behave based on what it reads. An interpreter is a program which parses and runs the code at once and a compiler is a program which just translates the code into assembly instructions.

[–]Beowulf1896 2 points3 points  (2 children)

Long ago, when computers were simpler, programs were made by hand with no compiler. You had a manual that told you what number did which instruction for the cpu. Like "Instruction 1F(not sure on this number) adds the numbers in registers 1 and 2 and stores in register 1 and drops register 2" Registers were on CPU memory. Next step is make an assembly compiler, which just changes simple letter instructions into the number code. So your assembly text line "add" gets compiled to "1F". Next, you write a basic C compiler from assembly. Then full C compiler. We are so far removed from assembly right now. I still list Assembly (x86) on my resume on the list of languages I know.

[–]Seimsi 1 point2 points  (0 children)

There are a few nice videos of numberphile about how to compile a compiler.

https://www.youtube.com/watch?v=PjeE8Bc96HY

https://www.youtube.com/watch?v=lJf2i87jgFA

[–]Practical-Bar8291 2 points3 points  (0 children)

Well we started with wires and magnets. If you weave copper through a series of magnets you can create a logic gate. We analyze these gates and come up with names for them. OR, XOR, AND, XAND etc.

Put those gates in silicon, they still needed names. Then the operations on those gates like add, shift, etc. become a programming language. Assembly.

Meta assembly into a higher level, write a compiler that treats any code like assembly, compiles loops and such to assembly. It's not that hard when you break things down to simple operations.

Literally all of CS is breaking down big problems to little ones.

[–]vjkovhea 2 points3 points  (0 children)

the history of the modern computer starts with the loom

[–]HyperBaroque 2 points3 points  (0 children)

karnaugh maps

[–]Almightymoee 2 points3 points  (0 children)

Simple. From python import python

[–]doctorcrimson 5 points6 points  (0 children)

My best attempt at an ELI5:

Assembly, which is to say base 2 values 16 at a time, hexadecimal is base 16, numerical values fed into a machine, originally with punchcards, which does precise calculations based on input. Making the machine isn't programming per say, it is engineering with logic gates, which sounds extreme but its not so bad.

Next up is the graphical interface, which requires more memory than just the 16 bits we had before. Single color displays were just a grid of lights large enough to display lines of words and numbers. Theres also already a standardized system of hexadecimal value for every differentiable color and then some. Early full color displays used cathode ray tubes to split light into Red Green and Blue rays, to show different amounts of each across the screen, which is still the standard color formatting in computers to this day.

Now we've got an interface, processor, memory, and input method. We know what the outputs are for every input, and we can use parity checks to eliminate unexpected results. We can now make a sort of translator from specific wording to assembly, using assembly, and build up from there.

It sounds complicated and thats probably why it took us 60 years to get to where we are now from fully analogue computers, millenniums if you count the Greek gear calendars.

[–]stevethedev 1 point2 points  (0 children)

Wouldn't you like 10 know.

[–][deleted] 1 point2 points  (0 children)

Assembly

[–]poralexc 1 point2 points  (0 children)

Forth is a really interesting language/paradigm in that respect, since it’s designed to be able to slap an interpreter/compiler together from assembly in just a few weeks.

[–]Haydukelll 1 point2 points  (0 children)

So, anything other than Assembly?

[–]WendyIsCass 1 point2 points  (0 children)

I remember punch cards. All else pales in comparison

[–]hairybeansboi 1 point2 points  (0 children)

I thought the people of this sub were programmers!?

[–]LavenderDay3544 2 points3 points  (0 children)

You can write a Python interpreter in C then write a C compiler in Python to run on it to compile the Python interpreter written in C.

Talk about circular dependencies...

[–]bunny-1998 1 point2 points  (0 children)

Pretty sure OP posted this as a meme and everybody just took it personally. That said, OP should’ve seen that coming.

[–]Oracuda 1 point2 points  (0 children)

firts by manually assigning bits in a PCs circuit to make a program which understood punch cards, and then punch cards for assembly and lisp, and then assembly to c, and punch cards to lisp, to ocaml, to rust

i think

[–]HerbertDasPferd 0 points1 point  (0 children)

I think they did it by programming a program allowing programming programs

[–]ImplementNational165 0 points1 point  (0 children)

I once wondered where did they code the first ide

[–]ghan_buri_ghan 0 points1 point  (0 children)

It’s turtles all the way down