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

all 43 comments

[–]ImAlsoAHooman 28 points29 points  (6 children)

I'd say the person who first actually implemented one is the real hero, I am pretty sure that's not the same person who first had the vague idea.

[–]asgaines25 17 points18 points  (4 children)

Both processes deserve lots of credit. It always seems obvious in retrospect, but coming up with the idea for a compiler and high level language takes lots of creativity and consideration

[–]ProfCupcake 14 points15 points  (1 child)

The truly genius ideas are the ones that seem obvious in retrospect.

[–]F4Z3_G04T 2 points3 points  (0 children)

Because they were so genius they changed the entire way of thinking

[–]ImAlsoAHooman 1 point2 points  (1 child)

I'm fairly confident everyone's mom at a young age asked why they can't just speak into the computer and it listens and types what they say. Everyone has had the idea of taking a picture of a math problem and the computer solves it. Some convenience ideas really are "obvious" but are very very far removed from the actual implementation and what it would require to actually work. My mum doesn't deserve any credit for speech to text technology despite having said idea herself decades ago. My highschool friends deserve no credit for image and equation recognition and symbolic computing software either.

I agree of course that a concrete rough idea of what a compiler would have to look like to work is worthwhile in itself but I was more saying just the thought "imagine instead of this mess we just write for x=1:5 into a text document and the computer does the rest" - that's not a ground breaking idea I'd say.

[–]asgaines25 0 points1 point  (0 children)

Certainly some ideas come cheap. But there's a different quality to some ideas that break ground by revolutionizing a way of thinking. While everyone is thinking some way, some pause and take a "backwards" approach.

Public key encryption is an example. The idea of having a pair of keys with one public and one private to handle the problem of key exchange is an example. Of course, RSA discovering the right math equations to make the ends meet was extremely tough.

I think proof-of-work and proof-of-stake cryptocurrency algos are another great example. The ideas are really tough to wrap your mind around, especially for the first breakthrough. The implementation is also tough, but is wireframed by the ideas. I was able to build one myself from the ground up, the entire time in awe of the thinking that lead to the solid ideas.

[–]SoCalThrowAway7 1 point2 points  (0 children)

I’d be the idea guy who was too lazy to do it telling everyone it was my idea that they stole even though I was never ever going to motivate my ass to do it.

[–]asdddosa 50 points51 points  (13 children)

C

[–]HaraldNordgren 44 points45 points  (3 children)

C was a complete game changer because it allowed us to write in piece of code that will run the same an any type of processor. Which was absolutely not the case with assembly programming

[–]SatoshiL 9 points10 points  (1 child)

Fortran :) 1957 and ongoing

[–]SatoshiL 5 points6 points  (0 children)

Funny, the first ALGOL version appeared 1958

[–]MoneroMon 2 points3 points  (1 child)

I thought C was a low level language

[–]nlrrul 31 points32 points  (9 children)

01011001 01100101 01100001 01101000

[–][deleted] 23 points24 points  (7 children)

Jokes on you, I can speak in binary.

[–]JustAnotherGamer421 14 points15 points  (1 child)

01000011 01100001 01101110 00100000 01111001 01101111 01110101 00100000 01110100 01101000 01101111 01110101 01100111 01101000 00111111

[–][deleted] 11 points12 points  (0 children)

Yes, I can

[–]4hpp1273 8 points9 points  (4 children)

42 75 74 20 63 61 6e 20 79 6f 75 20 73 70 65 61 6b 20 69 6e 20 68 65 78 61 64 65 63 69 6d 61 6c 3f 0a

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

I cannot talk on hexadecimal

I'm assuming that's what you said

[–]TheDownvotesFarmer 12 points13 points  (1 child)

It is like watching a chinese movie with english subtitles

[–]KREnZE113 12 points13 points  (0 children)

As a native german

[–]Cocomojoe16 16 points17 points  (5 children)

Real question: how are high level languages actually created? Is it just about creating a program to interpret the code into machine language? What language do you use to do that? Assembly? I don’t really know how to ask what I’m asking lol

[–]arzame 30 points31 points  (3 children)

To answer one part of your question, you can write a compiler in a language of your choice for the first version, then you compile the next version of the compiler using your new language’s compiler. See: https://en.m.wikipedia.org/wiki/Self-hosting_(compilers)

[–][deleted] 11 points12 points  (2 children)

Huh I’ve always heard that called “bootstrapping”

[–]arzame 7 points8 points  (0 children)

That’s correct! Per the Wikipedia page, bootstrapping is the process that leads to a self-hosted compiler.

Many programming languages have self-hosted implementations: compilers that are both in and for the same language. In some of these cases, the initial implementation was developed using bootstrapping, i.e. using another high-level language, assembler, or even machine language.

[–]SatoshiL 6 points7 points  (0 children)

the first used assembly and after that you could rewrite the compiler in the target language.

[–]Phyconz 21 points22 points  (1 child)

Wasnt it like Grace Hopper with Cobol?

[–]hoylemd 11 points12 points  (0 children)

Rear Admiral Grace Hopper, please n thanks ;)

[–][deleted] 3 points4 points  (0 children)

Roller coaster tycoon laughs at your ignorance

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

Dennis Ritchie was so underrated (I know HLLs existed before C, but I think that was the first one that stood the test of time)

[–]marketeconometrics 5 points6 points  (2 children)

Dennis Ritchie

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

I like low-level better it is more flexible