So I Made My Own Programming Language...

  Рет қаралды 80,080

Chadderbox

Chadderbox

Күн бұрын

//Description:
Every programmer has always dreamed of making their perfect programming language, but nobody really does, which is why I set about making my own programming language to see how hard it really could be.
//Chapters:
0:00 Intro
0:30 What is a programming language?
2:17 How does a programming language work?
2:57 The plan
3:45 Development
8:48 Bootstrapping
10:25 Existential crisis
10:58 Outro
//Links:
Programming Language GitHub: github.com/Ceebox/cbLang
Propulsion (my game): bit.ly/PropulsionSteam
Discord Server: bit.ly/ChadderboxDiscord
Epic Guy Who Helped With The Thumbnail: / @mujjmujj
//Other videos you might like:
I Made Half Life 3 Because Valve Wouldn't: • I Made Half-Life 3 Bec...
Making My DREAM Parkour Game: • Video
I Tried Creating a Game Using Real-world Geographic Data: • I Tried Creating a Gam...
Rust and Unity game development: • Rust and Unity game de...
Coding a Fluid Simulation with my Last 2 Brain Cells: • Coding a Fluid Simulat...
Making WORLDS For My Game: • Making WORLDS For My G...
//Other videos from me:
Making a GAME WITHOUT a GAME ENGINE in PYTHON: • Making a GAME WITHOUT ...
I Made A Game About SAVING THE OCEAN: • I Made A Game About SA...
//Additional notes:
Could you guess that I was ill for the entire recording of this video? Fun times.
I also made all of the music in this video myself, I'd love to know what you think about it.
#chadderbox

Пікірлер: 204
@Chadderbox
@Chadderbox 2 жыл бұрын
Hey, if you liked this video, I'd really appreciate if you liked the video. You can also subscribe because I'm thinking of doing stuff similar to this in more videos, and you'll see them when they come out.
@venerable_nelson
@venerable_nelson 2 жыл бұрын
Check out Lisp (or lisp like languages). Racket was a language we used in school to create our own programming language as a class project. Functional programming is great for building your parser/interpreter (just like how you did with Python). It also opens the door of the functional programming paradigm, which is a rabbit hole in and of itself. What is a monad? And how could you use it to maintain state? ;)
@barj
@barj 2 жыл бұрын
Came for programming, stayed for history of the computer 😤
@mrmoist
@mrmoist 2 жыл бұрын
So true, hey quirky question but are you a lizard
@Stondonk
@Stondonk 2 жыл бұрын
@@mrmoist bro you also think he's a lizard. It just makes sense doesn't it?
@simoncordy8825
@simoncordy8825 2 жыл бұрын
@@Stondonk you guys are barji-lizardites as well?
@Guy_Sandler
@Guy_Sandler 2 жыл бұрын
Because that's how you extend the video
@Chadderbox
@Chadderbox 2 жыл бұрын
I timestamped everything, you can skip the 'filler' if you want :)
@alexander191297
@alexander191297 2 жыл бұрын
So you’ve made Python, just with semicolons instead of whitespace… I dig it! :)
@lolcat69
@lolcat69 Жыл бұрын
it looks more like Java...
@GDominusOnYt
@GDominusOnYt 11 ай бұрын
agree
@GDominusOnYt
@GDominusOnYt 11 ай бұрын
more like java
@GDominusOnYt
@GDominusOnYt 11 ай бұрын
infinite reply loop
@GDominusOnYt
@GDominusOnYt 11 ай бұрын
infinite reply loop
@The_Codemaster144k
@The_Codemaster144k 2 жыл бұрын
Keep making videos like this and this will eventually make you go viral! I tried doing this sort of thing one time but I gave up after dealing with a lot of bugs.. I find this kind of stuff really intresting and its great to see somebody make a video about this process
@LetThereBeMayhem
@LetThereBeMayhem 2 жыл бұрын
The amount of things which you've achieved in a this short period of time is shocking, well done!
@wazaDev
@wazaDev 2 жыл бұрын
Really interesting how you approached it, it seems so clean and efficient.
@segsfault
@segsfault 2 жыл бұрын
It's like typescript but in python
@daboxguy3848
@daboxguy3848 2 жыл бұрын
Well done. The amount of research you did for this is awesome. A project always seems simple from an outside point of view, but most of starting any project is a learning process.
@Chadderbox
@Chadderbox 2 жыл бұрын
Well said!
@robinpage2730
@robinpage2730 2 жыл бұрын
For bootstrapping, don't just write the compiler in itself, write each library/module in a different source language. For extra pain:)
@ciso
@ciso Жыл бұрын
The crafting interpreters book is really good and writing your own simple interpeter is actually not that hard. So if you haven't I would definitely recommend following along that part of the book (and all the others as well ;). I am currently reading it and implementing my own little scripting language in rust. Im especially excited about the bytecode representation and I hope that you can successfully continue to work on your little language. 😁
@dawsonpate7385
@dawsonpate7385 9 ай бұрын
Man this is an old comment but I am reading and learning from this book rn 😂. It is amazing and helped me so much more than online tutorials/explanations to lay out the groundwork. Currently making a small scripting language to run on a microcontroller to be able to have portable apps that I can load on an sdcard and interface with my firmware (I know micropython exists but this has to be a custom solution for my connected peripherals and custom stack)
@ciso
@ciso 9 ай бұрын
@@dawsonpate7385 Cool! Do you have github/gitlab account where I could look at this?
@antonnym214
@antonnym214 Жыл бұрын
I wrote an interpreter called R-code which ran under PCDOS/MSDOS back in the 80s. The language controlled on-screen robots that would battle in a maze, and it would run up to 5 programs simultaneously. Then in 2012, I designed a language called LIM (Limited Instruction Model or "Less Is More") Which is a Turing complete, robust general-purpose language which has only 24 reserved words. None of that was easy, so I applaud you for sticking with it. All good wishes.
@Chadderbox
@Chadderbox Жыл бұрын
Your projects sound a lot more impressive than mine. Well done, that is awesome!
@simoncordy8825
@simoncordy8825 2 жыл бұрын
Came for the Declan Mckenna brazil riff, stayed for the Scarily accurate Boris Johnson impression.
@MrFantom_
@MrFantom_ 2 жыл бұрын
I recently created my own custom interpreted programming language just for a my game I’m making. It’s used to create custom game files for my game, so users don’t have to know any other programming languages to get things working. My situation was different though, There’s only about 14 or so commands with super simple syntax, just a tag system somewhat similar to HTML. I wrote the interpreter in C#, my main programming language. Mainly because I’m too lazy to learn anything else just for a simple project like this lol
@yumeed
@yumeed 2 жыл бұрын
even though I didnt understand much I GET THAT YOU PUT A LOT OF WORK IN THIS its just amazing... !!
@SHD69
@SHD69 Жыл бұрын
i love how you make your videos look so simple and easy :D Thumbs up!
@Bl0xxy
@Bl0xxy 3 ай бұрын
he didn't even make a real coding language, he made just a python extension
@harleyspeedthrust4013
@harleyspeedthrust4013 Жыл бұрын
I had to do this recently for a project, me and two guys were building a cryptocurrency on Blockchain from scratch for a class project. We said we would include smart contracts but the professor didn't think we could get the whole project done in time, so we had to prove him wrong. We implemented simple smart contracts by designing a custom programming language used to verify transactions - it was imperative that the language was not Turing complete so that programs were guaranteed to halt. We didn't have gas fees, so if a program didn't halt then nodes would get stuck verifying the transaction and the Blockchain would never progress.
@Drifyt
@Drifyt 2 жыл бұрын
What an awesome channel subbed and keep at it love your presentations.
@Chadderbox
@Chadderbox 2 жыл бұрын
Thanks :)
@GamesBySaul
@GamesBySaul 2 жыл бұрын
You are mad, absolutely amazing though, very cool to make your own language, never realised Python could do so much
@GodofWar1515
@GodofWar1515 Жыл бұрын
Nice job! You certainly have a lot of dedication to your learning, I'm impressed. I look forward to your upcoming projects :) you've got a sub from me mate. Keep up the good work.
@solon7740
@solon7740 Жыл бұрын
Bro thats a really good Video and I appreciate the effort you put into making this language. But I think it would've been quite nice to see something from the code with you talking about what you did there and how you came to the solution. Not only talking about "I had lot of bugs" but instead telling us which bugs you've encountered and how you got around them. Appreciate your work. Cheers
@Chadderbox
@Chadderbox Жыл бұрын
That's fair. I will remember this for future videos. The code linked in the description if you are curious.
@sixvivid
@sixvivid Жыл бұрын
Watching this as I am building my own language as well, and using a similar method of parsing code to another compiler. I definitely agree, comments were much harder than expected! First thing I did after I got the parser to output properly and make sure code was working, was printing text. Next was variables. Then IF statements, then loops, then graphics, and so on
@MattSuguisAsFondAsEverrr
@MattSuguisAsFondAsEverrr 2 жыл бұрын
I've a programming language in développement as well It parses definitely very differently than normal because I can't comprehend those from actual tutorials and didn't realise I could exploit stacks by version 0.9 so yea I do need some more skills but I'm now 530 builds (version 1.2) in lmao and so far so good
@astrovation3281
@astrovation3281 2 жыл бұрын
1:52 Lua is used to program Roblox games, and there are over 20 Million of those, so I wouldn't say Lua died off.
@zelokorLocalGodOfChaosAndBread
@zelokorLocalGodOfChaosAndBread 2 жыл бұрын
not to mention all the games made with it, world of warcraft is one, fuck someone even made an entire fantasy console that uses lua (pico8) so even if roblox didn't exist, it would still be pretty popular
@anhuman7022
@anhuman7022 2 жыл бұрын
Thanks for the video I am also trying to make something similar, but way worse The subprocess method worked really well
@bwnjuara5716
@bwnjuara5716 Жыл бұрын
What did You Use for Making a Computer Programming Language? Visual Studio? Blank Black Computer Screen and Write Small Codings Then Turn Them into Complex Codings and Larger Codings? Or Computer Core Nucleus in a Form of Green Colored Number 0’s and 1’s Called The Computer Binary Code?
@renedescartesdomingosmuala298
@renedescartesdomingosmuala298 2 жыл бұрын
Very interesting! So, what's next? Are you planning to create your own vm for the language or something like that?
@Chadderbox
@Chadderbox 2 жыл бұрын
I've got no clue, to be honest.
@mrmoist
@mrmoist 2 жыл бұрын
Came for history of the computer, stayed for declan mckenna brazil riff
@Bl0xxy
@Bl0xxy 3 ай бұрын
I didn't watch much of the video, but I looked at the code and it doesn't look like a real programming language but instead just a thing that converts your syntax to Python code. It's more of an extension of Python with your own syntax, is that right?
@tegasteve8195
@tegasteve8195 2 жыл бұрын
This video was really entertaining, can you show an indepth tutorial
@Chadderbox
@Chadderbox 2 жыл бұрын
The GitHub repo is in the description, I'd recommend looking through that.
@ramongonzalezfernandez8904
@ramongonzalezfernandez8904 2 жыл бұрын
3:51 that seems closer to typescript than c#
@user-dh8oi2mk4f
@user-dh8oi2mk4f 2 жыл бұрын
Typescript was based off c#
@ramongonzalezfernandez8904
@ramongonzalezfernandez8904 2 жыл бұрын
@@user-dh8oi2mk4f typescript added types to javascript, which use a format which is not used by C#, and the rest of his language is very similar to javascript, so your point doesn't stand.
@user-dh8oi2mk4f
@user-dh8oi2mk4f 2 жыл бұрын
@@ramongonzalezfernandez8904 they were designed by the same person. Maybe it wasn't right to say that one was based off the other, but they are definitely very similar
@WhoTheHellTookDudedogScrewYou
@WhoTheHellTookDudedogScrewYou 2 жыл бұрын
This is really good!
@max_ishere
@max_ishere 2 жыл бұрын
You shouldve started with an AST that you get after parsing and then implement a way to convert it to python
@jan_harald
@jan_harald 2 жыл бұрын
running AS another language is totally fine, and there's plenty of other languages that do it, e.g. Haxe and Nim are the ones I can think of off the top of my head
@jan_harald
@jan_harald 2 жыл бұрын
and neither of those are hobby languages or anything, either, btw, although they aren't that popular outside some niches (e.g. haxe is popular with the folks who used to make flash games and such, but not so much for other people, despite being very capable)
@Chadderbox
@Chadderbox 2 жыл бұрын
I like Haxe, I don't see much point in Nim though.
@doyoureallyneedahandle
@doyoureallyneedahandle Жыл бұрын
I created an interpreter that does not convert the code to python code instead it runs it using a executer I wrote
@TheDarkOne629
@TheDarkOne629 Жыл бұрын
Nice work! You've taken the first step into madness. Lift the other and join us in the abyss. >:) Here's a little story about my last venture into it. I understand the pain of writing a language in itself. My last language is an interpreted Lisp. The standard library is written ~95% in itself. Getting it to parse itself would not be a huge problem until the "AST" is generated. This makes me want to define all the base types (various numbers, strings, lists, vectors, symbols, keywords, maps, delays; Most pre-defined in Ruby) as new types inside my lisp. I know how to define them in a moderatly efficient way, but it sounds like a nightmare to get them into the bootstrap module itself. code -> tokens -> reader -> eval In lisp, most structures are created when the reader is running, NOT when it's evaluated. This means, that I can't easily remake vectors during evaluation and then time-travel back to get their definition into the reader. This could be solved by just setting up another layer of runtimes but them I have double the overhead. code -> tokens -> reader -> (eval to set up bootstrap modules -> tokens -> reader -> eval code with new system) Also, if I asked the system "hey, is this variable a vector or a list?", should it look for the Ruby-definition or for the new one? I could try to implement a bytecode-format, which would be easier to parse, to analyse and to run. Nah, the next version will just transpile to Ruby or D. I've done like 3 transpilers before my first interpreter. Should be easier than melting my brain further. I've been at this for a year by now but made no process because seeing the terrible performance (as bad as one would expect from an interpreter written in Ruby) is already demotivating enough. Maybe write a bytecode-format and then transpile that to D? Maybe I should finish the core-language first? Nah. However, it could be fun to write a syntax-analyser in my lisp for itself. The code itself is just a recursive structure afterall. Thanks for reading. :-)
@cbbcbb6803
@cbbcbb6803 Жыл бұрын
You forgot to mention that Grace Harper also invinted COBOL, which was much more popular than A-ZERO.
@strike6621
@strike6621 2 жыл бұрын
Lol! I wanted to make a programming language, and I did the same thing you did, and it was also in python! Although I gave up because it was too hard.
@colinmaharaj
@colinmaharaj 3 ай бұрын
Some years ago I was trying to create a scripting language that is almost like C but at the end of a line is the end of your statement If you want to have multiple statements on one line then you would use the semicolon.
@opposite342
@opposite342 2 жыл бұрын
For Pyinstaller, did you bother recompiling the module? It seems like using it directly causes antivirus to flag them (it sure does for me last time I used it).
@Chadderbox
@Chadderbox 2 жыл бұрын
Yeah, no matter what I do I can't stop your computer registering it as an unknown program. You'll notice most things you make with C/C++ and compile as well will be flagged when you compile them too. Either that or I'm really stupid.
@portaltotheweekend_189
@portaltotheweekend_189 2 жыл бұрын
your issue with bootstrapping is that what you created is not a compiled language. For example, Python is interpreted so if you looked at the source code for Python right now it would be in Cpp or C or whatever it is written in. If you want to make it actually compiled there is a nifty python library called LLVMlite which basically allows you to emit LLVM IR code from python. This way LLVM can handle all the crazy compiler optimizations and stuff while all you have to do is focus on generating the IR code with python. Then you can take the LLVM executable file you generated from the python compiler and use that to bootstrap the language, since its a separate executable that is not relying on another programming language run anymore at this point. LLVM is what Rust, Swift, Julia, Zig and a lot of other big languages use so you don't have to worry about it not being a good tool or whatever.
@bowersindustry
@bowersindustry 2 жыл бұрын
This is awesome!
@Twingamerdudes
@Twingamerdudes 2 жыл бұрын
0:18 me too, it's pretty hard. I like it, it's pretty fun. Good job bro. (btw my language is not finished yet so yeah)
@Chadderbox
@Chadderbox 2 жыл бұрын
Good work, I hope your language ends up better than mine!
@Twingamerdudes
@Twingamerdudes 2 жыл бұрын
@@Chadderbox thanks. But your language is 10x better than mine so far XD
@leos8407
@leos8407 10 ай бұрын
I love seeing letters and numbers on my screen 😀 (the most productive thing i’ve ever done)
@danimgmd3510
@danimgmd3510 Жыл бұрын
snakecase your: Okay did Otheres: ERROR, why no snake_case
@SabeDoesThingsChannel
@SabeDoesThingsChannel Жыл бұрын
yo, I am also wanting to make a programming language based off python if you could give me some resources to look at that would be sick.
@Chadderbox
@Chadderbox Жыл бұрын
The GitHub repo for the language is in the description, I didn't really use any other resources though.
@gachastorys5129
@gachastorys5129 2 жыл бұрын
I am very impressed at this! is there anything like for loops or while loops or anything else of note? i would love to see this expanded upon but i would (im not forcing you) like to see you to make a game in Java without a game engine. you can do it without any external tools or graphics librarys
@gachastorys5129
@gachastorys5129 2 жыл бұрын
oh and i tried running the .exe file but whenever i do it just crashes without me pressing anything... can you please tell me how to propperly (i dont know how to spell dont judge me >:( ) run it thank you!
@Chadderbox
@Chadderbox 2 жыл бұрын
I'm working more on the language. Loops are fully supported because they are part of python. I might do something in Java eventually, but I don't really see a point considering I've already done it in C#, which is just better Java.
@Chadderbox
@Chadderbox 2 жыл бұрын
Look at the readme, it is a command line utility
@foxtro484
@foxtro484 2 жыл бұрын
@@Chadderbox microsoft java*
@UsmanDev
@UsmanDev 2 жыл бұрын
Pretty cool!
@mrmaniac9905
@mrmaniac9905 2 жыл бұрын
Parsing is a solved problem. Use something like flex, gnu bison, or my personal favorite antlr. You can then generate bytecode, or write an interpreter by building an AST from the generated lexer and parsers, parse tree
@funwithalbi2425
@funwithalbi2425 Жыл бұрын
i wanna do this and i need help cuz ive not gone anywhere
@int4_t
@int4_t 2 жыл бұрын
Did you forget to make a new linux distro because that always comes first
@cheatcentral790
@cheatcentral790 Жыл бұрын
Hey man, I have not looked at your code so idk if u did it this way but to fix the bracket and indentation problem. I would have stored a global variable called x or something and every time it comes across a "{" it increases by 1 and then decreases by 1 at a "}" and then just add 4spaces*x at in front of the character in the indentation so something like this: x = 0 script = """ if (1 == 1) { if (2 == 2) { print("Hello World"); } } """ pythonScript = "" token = ""; for i in script: if token == "print": indents = "" for i in range(0,4*x): indents+=" " pythonScript += indents+"print" token = "" else: if i == "{": x+=1 elif i == "}": x-=1 else: token+=i; Sorry for messy code as I am mainly a c++ developer and I wrote it in the comments and did not try it out also I obviously did not add any detection for function value so it will not detect what you want to print.
@Chadderbox
@Chadderbox Жыл бұрын
It gets more complicated than this when considering comments and strings
@cheatcentral790
@cheatcentral790 Жыл бұрын
@@Chadderbox x = 0 script = """ if (1 == 1) { if (2 == 2) { print("Hello World"); } } """ pythonScript = "" inString = False inComment = False token = ""; for i in script: if token == "print": indents = "" for i in range(0,4*x): indents+=" " pythonScript += indents+"print" token = "" else: if inString == False and inComment == False: if i == "'" or i == '"': inString = True elif i == "#": inComment = True elif i == "{": x+=1 elif i == "}": x-=1 else: token+=i; else: if i == "'" or i == '"' and inComment == False and inString == True: inString = False elif i == "#" and inString == false and inComment == true: inComment = False So something like that?
@cnitrotimes
@cnitrotimes 11 ай бұрын
Assalomu alaykum bro, Can you realease SFML 2.6 tutorial? Thanks for response in advance
@peterSobieraj
@peterSobieraj Жыл бұрын
I think that next time you should do it right way. If you analise comments when converting to tokkens, most problems that you were facing go away. Aond once you have full tree of user pgoram, you can have options to save it in many different formats, or execute it.
@ThatBoringDeveloper
@ThatBoringDeveloper 2 жыл бұрын
What about Fortran I never heard of A zero much less it being the first high level language
@enderger5308
@enderger5308 2 жыл бұрын
Wasn’t Perl the previous king of the spot Python now fills? Autotools is written in it, and most Unix systems come with it preinstalled (so, anything but Windows).
@Chadderbox
@Chadderbox 2 жыл бұрын
Yeah perl was used for a lot of things but people don't really like it from what I can tell.
@enderger5308
@enderger5308 2 жыл бұрын
While it’s not anywhere near it’s heyday, a few nuts like me still find it nice (I personally enjoy Raku, but Perl5 works for portability). That said, it’s not always looked at as the best and it can be easily misused (like the C preprocessor, in a way).
@vodracseck
@vodracseck 10 ай бұрын
it's an dsl (domain specific language)
@idiotflextech4273
@idiotflextech4273 2 жыл бұрын
I am currently making my own programming language in c#, this involves basically creating concepts as to how you can recreate a function that is triggered by code for that language, which sometimes involves practically reconstructing the entire way things work. And even though your language is meant to be simpler and easier to make, what I’ve made and am aiming to make seems so much simpler than what you’re explaining. 😐lol
@samochreno
@samochreno 2 жыл бұрын
I dont think c# is a good idea for this
@idiotflextech4273
@idiotflextech4273 2 жыл бұрын
@@samochreno its going well so far and its better than java so i think im fine
@samochreno
@samochreno 2 жыл бұрын
@@idiotflextech4273 well, good luck
@dimitar.bogdanov
@dimitar.bogdanov Жыл бұрын
@@samochreno C# is a pretty good language for writing compilers. It has a very, very good text library, obviously built on .NET Core so portability is guranteed, there are tons of lexer/parser generator libraries (if you don't want to write your own). There are bindings for clanglib and llvm for the backend side of the compiler. The language is well suited for the job.
@samochreno
@samochreno Жыл бұрын
@@dimitar.bogdanov I was stupid indeed, I think C# is a great language for building a compiler, I don't know why I made that comment, I think maybe because C# is not very good for memory management if he's making an interpreter
@cyanuranus6456
@cyanuranus6456 Жыл бұрын
I Also Want to Make a Programming Language Just like Bjarne Stroustrup and Guido Van Rossum. They're The Ones Who Made C++ and Python. Robert Made Lua
@onichan6897
@onichan6897 2 жыл бұрын
Using LLVM is cool
@dorbie
@dorbie Жыл бұрын
Languages typically aren't bootstrapped. They're written initially in another language then reimplemented in themselves which is called dogfooding or self-hosting. Not all programming languages dogfood. Most these days use C & C++, often leveraging the LLVM project and easy support for system and 3rd party libraries these languages offer. Many never move away from this, particularly the slower interpreted languages. This includes Javascript & Python. Implementing Javascript or Python in their own languages would have profound negative performance implications, however other choices might be faster, look at the Bun project that boosted the performance of Javascript by implementing it in Zig. It's also unavoidable that an interpreted language running in a VM / interpreter at some point needs to run on the physical hardware. It can't simply be turtles all the way down, so how would you dog food a VM implementation when there is no underlying compiler to native code? If it was written in interpreted code at least something under the hood must be compiled. If you contemplate this you might realize that when compiling a compiler, or even bootstrapping one you rely on archival code in the compiled compiler and that might contain hidden bugs or even malicious code that is not present in the codebase but compiled into the compiler binary. Quite scary and mind bending when you first realize this.
@Chadderbox
@Chadderbox Жыл бұрын
Everyone I have talked to refers to this as bootstrapping. But yes this is an interesting discussion that I had to leave out of the video to save on time.
@dorbie
@dorbie Жыл бұрын
​@@Chadderbox You might be right, when I hear bootstrapping I envision it's starting from nothing or very little and bringing up from almost no features to full functionality. In practice though these tend to be reimplementations after a very functional compiler is already in place and successful using another language, at which point someone considers it worth dogfooding. It is vastly easier to reimplement a language in itself when you have a fully functional compiler before you start.
@cbbcbb6803
@cbbcbb6803 2 жыл бұрын
I cannot love Python either. Thanks. Very good job. 👏
@colin1444
@colin1444 2 жыл бұрын
you should make a language to make languages
@foxtrot596
@foxtrot596 5 ай бұрын
3:26 to make it extra slow💀
@legendrags
@legendrags 6 ай бұрын
you just made a python preprocessor, but if it makes it better it is good+
@linusbrendel
@linusbrendel 3 ай бұрын
I really don't get why anyone would want to have a line with a single character.
@espero_dev
@espero_dev Жыл бұрын
Hey bro I can help you add really useful stuff like a built in compilers and a decompiler
@Chadderbox
@Chadderbox Жыл бұрын
Do what you want, it's open source.
@espero_dev
@espero_dev Жыл бұрын
@@Chadderbox how good are you in coding?
@espero_dev
@espero_dev Жыл бұрын
@@Chadderbox and if you could get a custom OS what coding languages will you like and do you want a Mac look or windows look or play with settings and figure out what looks best for you :) I will make you a custom OS
@Chadderbox
@Chadderbox Жыл бұрын
Not very
@IlliaZhdanov
@IlliaZhdanov 10 ай бұрын
5:22 you parse the comment, well duh, if you'll want to put // in a string, just escape it with \
@Scrampy1
@Scrampy1 Жыл бұрын
How hard is it?
@Scrampy1
@Scrampy1 Жыл бұрын
That sounds wrong😳😳😳
@Guy_Sandler
@Guy_Sandler 2 жыл бұрын
Wow this is what I was looking to make lol
@andrewpriestleyxyz
@andrewpriestleyxyz 2 жыл бұрын
The most impressive part of this video is that you managed to successfully get useful information off of stack overflow
@thomasm9095
@thomasm9095 2 жыл бұрын
This just makes me wonder how computers read binary, and better yet who made binary and how, and how did that person think of making binary and how the system for their pc can read binary and what binary was made in if text editors didn't exist and how the people making binary even knew what they where doing 😳
@Chadderbox
@Chadderbox 2 жыл бұрын
It's pretty nuts.
@corinnarust
@corinnarust 2 жыл бұрын
this is called: microcode. basically, primitive instructions are called in binary. They are read by the hardware. Instead of ones and zeros, 5v and 2v. and some crazy people created "binary libraries", and then some initial text in screen, and then a really simple compiler, and this simple compiler was used to create a better compiler, and a better compi... this comment threw an exception: com.youtube.StackOverflowException: "Stop with recursive comments"
@qwerty_qwerty
@qwerty_qwerty Жыл бұрын
Seeing lua in the trash can in the thumbnail 😢😢
@Chadderbox
@Chadderbox Жыл бұрын
Easily the worst programming language :)
@TheStickCollector
@TheStickCollector 2 жыл бұрын
Interesting
@minodigital328
@minodigital328 Жыл бұрын
I hear Lua is very underrated
@_icey
@_icey Жыл бұрын
yea
@sanchalghosh2110
@sanchalghosh2110 Жыл бұрын
You didn't mention FORTRAN
@Chadderbox
@Chadderbox Жыл бұрын
Ok
@dunkmania5155
@dunkmania5155 2 жыл бұрын
If it weren't for this video, I may have never learned that Python supports semicolons. Thank you for enlightening me!
@stopmotionproductions7686
@stopmotionproductions7686 2 жыл бұрын
Pov Craig n Dave just taught you about lexemes 😌
@Chadderbox
@Chadderbox 2 жыл бұрын
Only UK Computer Science students will understand the pain :(
@le9038
@le9038 2 жыл бұрын
I think I would probably make my own programming language. For one, I don't like semicolons at the end of the line. Because if you accidentally leave out one in your code, your whole program won't compile and you have to go to that one line and add one in. Second, I was writing some C++ one day and I was curious what a program actually looked like in assembly. So I wrote it down and fed it to a decompiler and as it turns out, C++ (when using a library) calls everything and leaves in the rest that won't be used. Kinda like buying a swiss army knife only to use it for opening wine bottles. Also third, while I was watching programming videos, I notice that most programming language look pretty simular to each other and one programming language to the next will mostly have the same stuff from the other.
@dynpallomah5918
@dynpallomah5918 2 жыл бұрын
i disagree. for a free-form language, semicolons are sometimes crucial for parsing, and having them can make things look a bit clearer. relying on context to determine the end of a statement is not a good thing. that's why i hate python because i feel like i cannot write my programs in my style. i cannot seperate a long statement or a function call with . feels like the semicolon-related complains often comes from inexperienced programmers not related but python uses words like 'and', 'or', 'not' as logical operators in contrast to the symbols used in most popular languages. i feel dumber using python, like a toddler
@user-dh8oi2mk4f
@user-dh8oi2mk4f 2 жыл бұрын
Ofc c++ leaves out stuff that isn’t used, the linker isn’t gonna add code that isn’t run.
@Legoman69
@Legoman69 2 жыл бұрын
Do not question Legoman69
@ithaca2076
@ithaca2076 2 жыл бұрын
i love this! ive been trying to make my own language too. right now i know i can make a lexer, but not a good one. it would only just be a load of "if, else..." statements which is slow and not great. so i found a solution, something like this: temp = '' result = [] while i < range(len(program_in_one_string)): char = program_in_one_string[i] if char in [list of unicode space characters]: # ignore basically i += 1 # if we hit a character like "(", "}", ":", etc process it accordingly elif char in [list of your programs delimiters]: result.append(temp) result.append(char) temp = '' i += 1 # essentially if your temp value is in the list of tokens your program uses, append it to the results elif char in [list of all of your langs tokens]: result.append(temp) i += len(temp) temp = '' # otherwise, append the character to temp. else: temp += char i += 1 im extremely happy with my code to be honest and even in python is relatively fast. but its dumb. since a lexer is just a tokenizer but it also adds some helpful values, (like token start and end, type of token sometimes, etc) the code above is more like a tokenizer. the idea is to save time with the lexer, since all you need is to do is to simply get whatever is written on the text file chopped up, and you can determine whether or not its syntactically correct or whatever in the parser or something idk. youd have to likely heavily modify my code above, especially because im on my phone and likely made a typo or something but you get the idea. i found it to be very VERY useful for quick processing times
@mgames3209
@mgames3209 2 жыл бұрын
Wow, that was pretty cool
@cyanuranus6456
@cyanuranus6456 Жыл бұрын
So I Wanted to Do The Same. By Learning Computer Binary Codes of 0's and 1's. So I Can Make a Programming Language
@hadawardgz
@hadawardgz Жыл бұрын
Well, TypeScript is just a transpiler that converts your code to pure JS and people call it a programming language, so yeah, you can assume you made a new language
@johnnyfrankenstein0123
@johnnyfrankenstein0123 2 жыл бұрын
2:08 The 437 lbs mountain gorilla watching this video on the eastern congo basin:
@IlliaZhdanov
@IlliaZhdanov 10 ай бұрын
It's only hard to make a compiled language. Interpreters are EASY.
@adrianyt1749
@adrianyt1749 2 жыл бұрын
you can call it P#
@cyanuranus6456
@cyanuranus6456 Жыл бұрын
Learn Computer Binary Codes of 0's and 1's in Hexadecimals or Translation. You'll Make a Programming Language. Making a Programming Language is Not Using a Compiler or Lexer in Another Programming Language. You Can Just Learn it from wikiHow I Saw from the Browser. You Should Make a Programming Language by Learning Computer Binary Codes in a Form of 0's and 1's
@Chadderbox
@Chadderbox Жыл бұрын
Is this comment AI generated?
@cyanuranus6456
@cyanuranus6456 Жыл бұрын
@@Chadderbox Is That Even an Excuse?
@Chadderbox
@Chadderbox Жыл бұрын
Well, if you can do it then I'd love to see a video of you doing it. If you can do it within the next 3 years I'll be even more impressed.
@ChiChibi_Personal
@ChiChibi_Personal 2 жыл бұрын
I did the same thing
@why8402
@why8402 2 жыл бұрын
6:06 no
@ArmaanM123
@ArmaanM123 8 ай бұрын
In the thumb nail: I love how Javascript is still on the podium even if it is in the trash!🤣
@Chadderbox
@Chadderbox 8 ай бұрын
One of the best at being the worst!
@Dorbellprod
@Dorbellprod 2 жыл бұрын
Impressive. Now make an English compiler.
@Chadderbox
@Chadderbox 2 жыл бұрын
No u
@gachastorys5129
@gachastorys5129 2 жыл бұрын
What's funny is that there's an entire programming language called english that's not a joke look it up. I have yet to see somebody do something interesting with it
@Dorbellprod
@Dorbellprod 2 жыл бұрын
@@gachastorys5129 I have heard of it actually but I think I forgor 💀
@x256_Link
@x256_Link 2 ай бұрын
python is inefficient enough, and youre gonna make it more slow by making an interpreted language in it!
@jacoboneill3735
@jacoboneill3735 Жыл бұрын
Sounds simmilar to python but also different. Programming accent? 😂
@somnvm37
@somnvm37 Жыл бұрын
quite hard to watch the video with all of these bright colours and text for the whole screen not the entirety of the video needs to look like a misterbeast thumbnail
@TheN0D3
@TheN0D3 2 жыл бұрын
Admit it guys you wanted to make a game engine since the existing ones are too complicated
@cyanuranus6456
@cyanuranus6456 Жыл бұрын
You Can Just Make a Programming Language from Scratch. But NOT Make a Programming Language in Scratch. "From" not "In"
@ibaadmir-kb9ts
@ibaadmir-kb9ts 2 ай бұрын
What happened? You stopped Uploading!
@Chadderbox
@Chadderbox 2 ай бұрын
Unfortunately, I had to get a life 😞- I think my community page has more info.
@RGBA
@RGBA 2 жыл бұрын
can this language solve, where tf is my dad
@Chadderbox
@Chadderbox 2 жыл бұрын
No, it returns a NullReferenceException.
@RGBA
@RGBA Жыл бұрын
@@Chadderbox oh god
@Gandalf_the_Black_
@Gandalf_the_Black_ Жыл бұрын
Perhaps what you made was a programming dialect
@cyanuranus6456
@cyanuranus6456 Жыл бұрын
Instead of Making Your Programming Language Using Python. You Can Just Learn Computer Binary Codes in a Form of 0's and 1's
@ClayTheFoxx
@ClayTheFoxx Жыл бұрын
He reinvented JavaScript 🤦‍♂️🤦‍♂️🤦‍♂️
So I Made My Own Game Engine...
10:19
Chadderbox
Рет қаралды 84 М.
I Made My Own Programming Language
10:20
CodeNoodles
Рет қаралды 80 М.
Универ. 13 лет спустя - ВСЕ СЕРИИ ПОДРЯД
9:07:11
Комедии 2023
Рет қаралды 3,9 МЛН
1❤️#thankyou #shorts
00:21
あみか部
Рет қаралды 76 МЛН
Is 8-Bit Minecraft Possible?
13:56
Inkbox
Рет қаралды 1,1 МЛН
Compilers, How They Work, And Writing Them From Scratch
23:53
Adam McDaniel
Рет қаралды 51 М.
Every Programming Language Ever Explained in 15 Minutes
15:29
Flash Bytes
Рет қаралды 265 М.
Running "Hello World!" in 10 FORBIDDEN Programming Languages
18:07
C++ Developer Learns Python
9:26
PolyMars
Рет қаралды 2,7 МЛН
I made my own Text Editor (in Rust)
8:16
FaceDev
Рет қаралды 89 М.
Making a Game in Lua with No Experience
5:52
Goodgis
Рет қаралды 239 М.
I Designed My Own 16-bit CPU
15:46
AstroSam
Рет қаралды 1,9 МЛН
Making My Own Programming Language and Coding a Game in It
10:19
AstroSam
Рет қаралды 1,2 МЛН
Дени против умной колонки😁
0:40
Deni & Mani
Рет қаралды 11 МЛН
Настоящий детектор , который нужен каждому!
0:16
Ender Пересказы
Рет қаралды 281 М.
Cadiz smart lock official account unlocks the aesthetics of returning home
0:30
How To Unlock Your iphone With Your Voice
0:34
요루퐁 yorupong
Рет қаралды 22 МЛН
keren sih #iphone #apple
0:16
Muhammad Arsyad
Рет қаралды 1,6 МЛН