C
Vložit
- čas přidán 7. 09. 2024
- C is the programming language that basically defined how a programming language is supposed to look and feel. This is an (admittedly not extremely thorough) video about where it came from! This video was inspired by jan Misali's video about the letter 'c', which can be found at • c .
Sources:
en.wikipedia.o...)
en.wikipedia.o...
en.wikipedia.o...)
en.wikipedia.o...
www.cl.cam.ac....
en.wikipedia.o...)
tio.run/
Music:
"Sim Broadway" from SimCity 3000
"The Open Plane" and "Gloam Valley" from Super Paper Mario
"Blue Sky, White Clouds" from Paper Mario: Sticker Star
Discord: discord.gg/EKPBjjUc65
CORRECTIONS:
At 7:51 I described auto as a placeholder for a type. It actually means "automatic storage," which is a variable within its scope. This is in contrast to "static storage" which is a global variable. Thanks to Ignacio Losiggo for pointing this out!
At 2:20 I described the UK as a “giant garbage patch.” This was wrong, and I apologize. It is actually a giant rubbish patch.
so true
As a British person, I was very annoyed and when you said garbage instead of rubbish you wanka
As someone who does not originate from the UK, I can verify
Oi mate, t'anks fa clarifyin' innit
:'( agreed, our only good locations are the foreign businesses
Can’t wait for the rest of the alphabet to get its own programming language
I think it's just Z now
There's also H and E, lmao
And F#
fact: B programming language is the "father" of C
There was an X# once for COSMOS. Idk if it still exists
my favourite esoteric programming language!
Its not even esotoric programming language
@@fleezyt2418 r/woosh
@@fleezyt2418 Probably...
@@fleezyt2418 🤫
Mine is python :>
On the uses of Cs child languages, another common use for C# is medical software. Since its what Epic uses and they dominate the market. We have a weird stack: Mumps, C#, Typescript, and React.
Epic uses C++… Unity uses C# but not even I don’t think, I believe they use it for scripting.
@@Uvuv6969 Epic Systems Corp, not Epic Games
@@ttthttpd a h. Sorry I’m an Unreal engine user so my brain immediately went to them
Mumps would be a great language for truttle to make a video about ;)
I love theDailyWTF's writeup on Mumps programming
It's been over half a century since I wrote BCPL programs on Multies (and a compiler for the SDS-940), the key point of word vs byte was more about generations of machines -- going from word-addressable machines to byte-addresable machines. A BCPL compiler would be quite small so size wouldn't have been an issue.
I thought i was missing something about the transition from BCPL to B, and I didn’t remember what it was until after the video was posted. But yes, they started using different sized types when it became possible to address bytes rather than words.
Just the fact you used to program on a computer without even a screen amazes me
@@pedroivog.s.6870 What about writing programs by punching holes in cardboard which was the norm (along with paper tape).
@@BobFrTube nuts
in fairness it used to be WAY easier to write operating systems
the modern driver ecosystem is a disaster lol
Even stuff alike UEFI adds a stupidly amount of complexity
@@leonardocaetano6307 it all exists for a valid reason
*hardware ecosystem.
Terry A Davis did it.
Are you a drivers developer?
You missed something - C++ to Java by Sun which Microsoft ripped off as Visual J++, which then had to be renamed to C#. Other than that I learnt a lot, great vid.
(I have no idea what I'm talking about and only looked at Wikipedia for 5 min, so don't believe me, but:)
Visual J++ was eventually renamed to J#. The original name for C# was going to be: C like Object Oriented Language (COOL), because this wasn't trademarkable they had to name it C#.
@@error-42 I got that info from 'Uncle Bob', so... But I actually owned a copy of Visual J++ and actually recall when C# came out and I remember reading it was 'built on top of Java'.
That said, maybe J++ did become J#. It's not something I'm really interested in, but I'd watch a video about that just for the trivia.
Great video! Only thing I'd add is I'd show some legacy C code as it's quite different to what people know today. Early C was quite crazy!
Also you didn't mention the abysmal method that C used to do typed arguments in function declarations
int myfunc(myint,myfloat,mystring)
int myint;
float myfloat;
char * mystring;
{...}
Yes, those are declarations, and they are between the function declaration and definition. You might be asking "What if you declare the function in the header, how does the compiler know what types the arguments are?". It doesn't. And if you make a mistake that's undefined behavior. That also lead to the absolute atrocity that is "Hungarian Notation". Giving you "int myfunc (iMyInt, fMyFloat, pszMyString)".
K&R C, that particular flaw was fixed by Ansi C and the 2nd edition of "The C Programming Language" book.
how old are you? C doesn't write that way anymore.
@@kevinyonan2147 the 10th or 11th word is "used" and I think it is a verb conjugated in the past tense
but yeah, I know very little about the language since I started earning it about a couple of months ago and never met that syntax atrocity
hwndMyWindow
C is a fun programming language. Despite its age, it's a workhorse and I use it with GLUT for graphics demos. Oh, and I do have that book.
As a programmer in 2022, this feels like an alternate universe where Ive never heard of most of these things but I can understand them anyways
Ackchyually, D is a pretty good prog lang. I used a lot in Graphical (with or without OpenGL) projects
Not saying it isn't, but I feel like the main reason anyone cares about it is that it was the first to make a claim to such a prestigious language name.
It's a bit like Raku, whose biggest claim to fame is that it used to be called "Perl 6".
Et's fulla shiet
depends very much on your code style (not formatting), D is really a mix of Java, C++ and Python which imo isn't the best
@@monomere agree
D managed to combine garbage collection with raii
thus people from garbage collection languages see raii and leave
and c++ people see garbage collection and leave
i'm a long time jan Misali viewer who just discovered this channel through the p = np vid. this is incredible lmao
my favourite one letter programming language!
Welcome to the Esolang Critic, the show that gets facts wrong about your favorite esolang!
Hm yes another "esoteric" programming language very nice very nice
11:23 I'd more say that first sun made java, then microsoft just stole sun's homework and made c#, which is like java but... not
These days I'd argue, like Java but better.
Nice video bro! I'm learning to use C for College and i know it's a bit old and clunky but i think it's interesting to know more about it. Hope to see more of this videos from you! New subscriber 👌
Hey I’m doing that too! :p
After you'll get used to it it'll make you question some other language's design choices.
it's sad that they don't use H for Highschool
en.wikipedia.org/wiki/Language_H
great video, can't wair for the next episode of Esolang Critic
this channel is super underrated, i hope this vid blows up
A through Z: A quine for every single letter language from a to z!
Now we actually have a use for C.
Please do either Java or JavaScript next, whichever you have more experience with, or Python if you like that kind of syntax better.
If you are interested in the history of modern C then check out the book 21st Century C. It can teach you a lot about C if you are starting out. It explains the addition of bool, _Noreturn, intX_t (eg, int64_t); and some features of _GNU_SOURCE. It also gives some tips on modifying structs from old code to make new features.
I have the second edition. The first chapter was a tutorial about makefiles and it was pretty rough. On chapter 9 I had to install a newer compiler to enable position independent code (-fPIC). Those were the worst parts of the book but it is great overall.
Install a newer compiler....... ????? Do they instruct you to install an older compiler on purpose?
@@_garicas I was using Linux Mint at the time. The default compiler configuration for gcc on Mint doesn't allow PIC. So I installed another instance of gcc which did.
I went with the newest version because that was easy and seemed like a good idea.
@@smergibblegibberish I mean, any new version of gcc, at least from official repositories show allow that... Unless it were compile using different compile flags
@@cj00785 Yes, but installing from the package manager won't fix the problem in this case. I think it would a apply flag to not enable PIC when it compiles the official install. You would need to get gcc directly from GNU's website and compile it. While compiling gcc, I remember getting error message about not having some flag about disabling 32 bit. That was the only flag that I used to get compilation to work.
The compiler you install won't replace the old one. You will still have a path to the old version.
@@smergibblegibberish I don't know what kind of repo you are using then. The majority if not all public repositories from most package managers that provides gcc binaries allows to use -fPIC. You don't need to recompile GCC from source unless you need something really specific or you really want to do it this way. And I don't get it why would you need the path to the old one? This looks like a broken system with binaries and libraries split everywhere probably causing conflicts
omg I forgot I subscribed. Now for the most esoteric language of them all
Holy C is the best one so far
i agree with your pronounciation of LaTeX
c is a lesser known esolang
4:27 why is this literally the most inefficient program to generate fibonacci sequence? just use iteration, it's infinitely faster...
because certain languages back then didn't have the functionality or capability to recursively run a function.
@@kevinyonan2147 But the version shown *does* use recursion. When it shouldn't. It really really really shouldn't. This way of generating Fibonacci numbers has exponential time and space complexity.
Its an example. Many things are defined much more easily in recursion than in iteration
@@adivp7 but in this case at least doing just straight up recursion makes it slow af, at least use dynamic programming
@@random6033 It's just an example, and a widely used one, something easy to explain. Don't obsess too much over it.
once again my interests collide in entirely unexpected ways
You've come a long way and are doing well, keep it up with the good content bro
subscribed just because of the SimCity 3000 intro
2:50 problem is, the 'tex' in latex is from greek 'τεχ' which is _not_ read with a ksi, but a khi. If we wanted you to read it with a ksi, we would have used the letter ksi ξ instead of the letter khi χ :>
Love that Sim City 3000 theme. It's on my coding playlist.
Love your videos a lot! It would be amazing if you could do a video on Emmental or Mascarpone.
Emmental has only redefining commands as flow control.
Mascarpone is the extension of that, except interpreters can be placed on the stack along with symbols and operators, and the interpreter can be modified and messed around with.
(the interpreter is never really modified in either of these, it just simulates as if it were)
not really sure why they're named after cheeses *shrug
Great job. I couldn't help but laugh each time a British joke came up.
this is exactly the kind of video i was hoping for whenever i saw jan Misali's C video.
even though that mostly doesn't make any sense
"That's not how English pronunciation works..."
But it's how the IPA pronunciation works
9:42 I think, that was the most wtf moment for me
I dont know who you are, great video.
Yay!
love the simcity 3000 music used in the video
Always hype to see a new truttle1 video.
Ooh random Mario music at the end! Mama mia!
First it's A = 440, now it's the C standard? Man, I never knew Swiss Franks could get you so much!
2:16 jdh also built a computer for that lmao
Does that mean Unix is a multiprocessing version of a single processing OS which is an offshoot of a multiprocessing OS
Oh man the SC3000 soundtrack had some gems!
Technically ASCII only has 128 characters. It's a 7-bit format. Character sets with 256 characters are extensions.
tbh, i didn't know that c# was c++++ with pluses rearranged
jan Misali and Truttle1, a perfect duo!
digraphs and trigraphs. The crimes against computing.
your latex pronunciation is more valid than the official one
1:10 They could reply: Oh, according to a Moore's law it's very much possible.
you always reminded me a bit of jan misali lol
This video was great besides the part where you degraded my home country, that made me incredibly sad. :(
Maybe i was a bit too harsh on the UK for the memes. I mean, at least you don’t go bankrupt in the UK if you break your legs or get cancer. I cannot say the same for here. :p
list of letter programming languages:
A: x
B: o
C: o
D: o
E: o
F: o
G: o
H: o
I: x
J: o
K: o
L: o
M: o
N: x
O: x
P: o
Q: o
R: o
S: o
T: o
U: o
V: o
W: no.
X: o
Y: o
Z: o
What does O stand for?
@@jamburga321 exists
C (but in spanish)
5:03 isn't that a linear bounded automaton?
0:37 C… m City 3000 soundtrack 🤘
This video is
1% History of Programming Languages
99% Making fun of Bri'ish people
Greetings from the UK. It's utterly screwed here.
awesome channel!
plz do emmental or its successor
note: it's made by the same person who made befunge
every british joke in this video:
2:17
3:13
6:31
This is really cool video. Thank you.
... Then Microsoft made c++++ and rearranged the pluses 😂 lmao
I'd like an explanation for F# next, thank you.
Thank you so much.
Now it's D time!
Amazing video, thank you.
the history of c,i guess
I kinda like your Esolang Critics
What is with the different microphone quality? There is a lot more background noise
i think he went to college since his previous video, so he's probably using different equipment in his dorm?
@@jaded151 And what makes you think that this fella went to college?
@@gardener_leaftail i remember reading it somewhere, and it was why his uploads had slowed down? can't find the source so i might be confusing them.
Oh yeah, I found a great name for my new language thanks to this video. "the D" (pronunciation: "d-d") language
Don't forget F!
lol the queen was alive when you made this video
I agree with that one last part. If it's not C it's Satan spawn, because BLOAT.
what about making your own language in something like Python and make its compiler on COBOL or C or ANY OTHER LANGUAGE
This is a different channel. More like a childrens channel, but good explanations.
C# is closer to java then C, its pretty much nothing like C. thanks Microsoft for confusing almost every developer on the planet
Letters DO work that way Truttle you just assumed that the A and X were in English, not the Greek alpha and chi
the C in C stands for seCurity issue.
finally new vid
Yeah, school sucks. :p
Interesting, so is BCPL the origin of the let keyword too? Javascript and other "modern" languages have it and I've always wondered who started the trend of let.
It probably comes from math since you can say when talking about an equation "let x be..." or something like that
@@starletscarlet Makes sense.
great vid! keep it up
The b programming language: 1 good decision, for every 3 bad decisions...
one of my jobs used D
Good video!
Wow guys, he change his name from Thruttle1 to Truttle1 ! Congrats 🎉🥳
When was it thruttle1?
@@Truttle1 Wait... It's all Truttle1 ?
@@Golem642 always has been
6:13
Java does let you manually allocate memory with sun.misc.unsafe though
wait WHAT?! That's wild.
EDIT: also undocumented, since it's an internal class...
Laugh out loud!!!!!
You had me at the very first Pronoun O' &UcK!!!
AWESOME!! WHERE CAN I BUY TICKETS FOR YOUR NEXT ROUTINE!!!????
Hey dude, fun video!
*_fave-awh-oor-it col-awh-oor_*
8:15 ah yes I love 🅱️
Doug McIlroy: lol
D is actually good
Hey your padding calculations at 9:45 aren't consistent with one another
ah yes, the best esolang
This video is gold, make more bri`ish jokes please!
sim city ds intro music?
Next? E programming language?