This is such a gem of a channel and I look forward to seeing more of your content. Also thanks for the kind words regarding my series. Sorry it was finished so abruptly. I’m planning some big stuff coming soon regarding compiler theory.
@ozzyCheshire-ci3bf9 ай бұрын
yoo hi
@AndrieMC9 ай бұрын
you're alive?
@krauterfrischkase89399 ай бұрын
So I can finally write spaghetti code and nobody can complain?
@CodeNoodles9 ай бұрын
yes
@matt8ress9 ай бұрын
fancaders will absolutely love this
@hexxt_9 ай бұрын
@@CodeNoodles does this mean you accept that noodles are spaghetti
@Notabot-21129 ай бұрын
@@hexxt_ I thought spaghetti was a type of noodle. So not all noodles are spaghetti, but all spaghetti are noodles. (Or, I guess spaghetti is a type of pasta, and then pasta is a type of noodle)
@lemonindiallc72109 ай бұрын
@@CodeNoodlesBro I downloaded yr language but I mnt understanding its not running it is showing many errors like many programs r missing like msvcp1400.dll vcruntime1400.dill ucrtbased.dll etc can u plz tell how to rectify this
@AdrianHereToHelp9 ай бұрын
By creating a programming language you have activated the internet's trap card Someone's going to port DOOM
@sinom9 ай бұрын
If you want to write a compiled language but don't want to learn about optimization, you can instead write only a compiler frontend that compiles into an intermediate representation and then let a compiler backend like LLVM handle the optimization and machine code generation for you.
@Zullfix9 ай бұрын
I was thinking exactly this as well
@redstonewizard089 ай бұрын
I used cranelift when I made my language (in rust) and it wasn't too hard, you just gotta get the hang of it
@KaiHenningsen9 ай бұрын
That, or output, for example, C source code which can then be compiled by a C compiler. Bonus: your language is immediately able to talk to existing C code.
@Azoraqua9 ай бұрын
Might as well go a step further and use a parser generator (Bit of a joke, after all, this project is mostly for entertainment and education).
@vibaj169 ай бұрын
Or you can make your own virtual computer architecture and compile to machine code for that.
@snoowzin9 ай бұрын
A return statement could be called "serve"
@CodeNoodles9 ай бұрын
It's actually funny that you mention that, because the output function is called serve().
@noodleman_eric9 ай бұрын
i have been created
@CodeNoodles9 ай бұрын
Nice!
@baddestmofoalive9 ай бұрын
beetlejuicing
@ToastExists8 ай бұрын
Give me
@jblen9 ай бұрын
Invisible ink would actually go so hard. There are 25 characters in unicode defined as whitespace which is more than enough. Edit: somewhat unsurprisingly it already exists. But the existing version uses only tabs, spaces and newlines so you could definitely get way more user friendly while still being invisible... Though still not at all user friendly
@CodeNoodles9 ай бұрын
That's funny!
@thatcatthatalwayseatsyourchees9 ай бұрын
I may make this thanks for the idea
@anon_y_mousse9 ай бұрын
Indeed there are so many esoteric languages that I'm not surprised you'd never heard of Whitespace. Though my favorite is still the one which I'll censor as BrainF***. It's probably the easiest one to write a compiler or interpreter for that can still perform useful work.
@KaiHenningsen9 ай бұрын
@@anon_y_mousse Was that the one with the "come from" statement, or was that a different one? (Turns out, implementing "come from" correctly introduces threading. Who'dve thought?)
@anon_y_mousse9 ай бұрын
@@KaiHenningsen You're thinking of Intercal. Though, it's not for concurrency, but a sort of backwards goto.
@BenjaminGoldberg19 ай бұрын
Interpreted Languages like Python and JavaScript, are typically compiled to an internal byte code which is run immediately. Many interpreted languages have a read-eval-print-loop, but that is not the normal way to run code. Some scripting languages used as shells only have a REPL, such as bash on *nix or batch on dos , but these are often not thought of as "real programming languages,"
@1cubealot9 ай бұрын
9:33 but those bits are the best bits of programming videos. The "boring" bits are the most interesting because it is mostly trial and error, which is interesting because you get to see the persons thought process.
@Shuhkky9 ай бұрын
This is really cool, I tried creating a mix of python and c# a while ago, it didn't go far but I might try it again
@CodeNoodles9 ай бұрын
That sounds really cool! If you try it again, I wish you luck!
@Shuhkky9 ай бұрын
@@CodeNoodles thanks!
@PrivacyNProgramming9 ай бұрын
i (kind of) did too, but uhh its based on C# and its kinda dead, i might work on it once annuals are over (cbse) but ye, its basically C# but eaiser ig idk
@Shuhkky9 ай бұрын
@Mervin14 yeah that's fair that's kinda what I was doing but python based instead of c# based, but it would take inspiration from it
@arjix87389 ай бұрын
I recommend watching the VODs where "Tsoding" created porth. Porth is a language inspired by forth
@mezzoflow9 ай бұрын
That's super creative, programming languages are hard enough so making one by yourself is crazy man
@rodrigoqteixeira9 ай бұрын
1:39 "which can cost a bit of performance, or in case of python A LOT OF PERFORMANCE" 💀💀
@oglothenerd9 ай бұрын
Next step: make a compiled language using LLVM.
@kplays_60009 ай бұрын
An alternative to having a compiled language translate to machine code is to do what Java does and have it compile into a virtual machine. Kind of a best of both worlds!
@xyangst9 ай бұрын
worst*
@plaintext72889 ай бұрын
@@xyangstwhy? Is it because of development speed?
@anon_y_mousse9 ай бұрын
@@plaintext7288 He probably means because you still have to take the step of compiling the code first and it's still slower than a proper compiled language. Though, they've made great strides in JIT development and it's not as bad as it used to be, I'd still rather use C. As far as development speed, that's a knowledge issue because once you learn the correct libraries to use to piece everything together then it's as fast to write a program in a language like C as it is in Java.
@DigitalViscosity5 ай бұрын
@@anon_y_mousse You wouldn't say that about the CLR. A lot of the code is highly optimized and can run faster than the best C code. C# boasts a well defined floating-point model, which aligns seamlessly with the native operational mode of the Floating Point Unit (FPU) and Streaming SIMD Extensions (SSE) on x86 and x64 processors-a strategic design choice rather than mere coincidence. The Just-In-Time compiler (JITter) efficiently translates Math.Sqrt() into a handful of inline instructions. In contrast, native C/C++ is encumbered by decades of backward compatibility requirements. The compiler options /fp:precise, /fp:fast, and /fp:strict are the most prominent manifestations of this legacy. Consequently, it necessitates invoking a C Runtime (CRT) function to execute sqrt(), which must then verify the selected floating-point options to fine-tune the outcome, resulting in a discernible reduction in speed.
@danthon12679 ай бұрын
Just wait. Someday I'll make a game using your prog. language
@xanderplayz34469 ай бұрын
I am probably going to modify this to make it “normal” and see how it is. Turning a “esoteric” language into a “practical” language.
@BlackneeedWasHere9 ай бұрын
I like the scopes the syntax and the way you return values, im subscribing
@trevoro.97319 ай бұрын
Python is compiled to bytecode, like many other languages do.
@SpringySpring048 ай бұрын
automatically returning the last statement from a function is really cool. It's kinda like Ruby
@robotnik08899 ай бұрын
Nice! It's always such a treat to see people take on this challenge. I build my own lang in C, and string manipulation definitely was a major roadblock XD. Fun watch, hope to see you update it in the future, perhaps you can move from a tree walker (running the AST) to a proper bytecode interpreter, this'll definitely make your language more speedy, even getting it at or above the speed of python!
@CodeNoodles9 ай бұрын
Thanks, I'm glad you liked it! In the future, I may want to try the bytecode approach.
@robotnik08899 ай бұрын
@@CodeNoodles Awesome! Making a vm in a low level language like c++ is fun and speedy, and as a bonus, you get to reuse the parser and tokeniser!
@nulcow9 ай бұрын
I appreciate your decision to make this in C++ instead of Python, because an interpreted language running on an interpreted language would be catastrophically slow and resource-intensive. I plan to make my own programming language someday: a fusion of Java, Lua, and some of my other favourite languages that compiles to bytecode and runs in a VM. Anyways, nice video! NOTES: The function declaration syntax reminds me a lot of Lua (which uses `function` to define a function, and `end` to finish it), I don't really see that sort of thing in most languages.
@ThatRandomError3 ай бұрын
0:12 im taking this personally
@anon_y_mousse9 ай бұрын
My recommendation for your next attempt, and I hope you have a next attempt, would be to write it in pure C and aim for translating your language into C. Generally they refer to that as transpiling, but it's still technically a compiler, and it has the added benefit of being exceedingly portable because you can use cross platform libraries for all the complex bits of your language. I would also aim for writing a BASIC variant instead of a custom language, but I really only recommend that because that was the first language I wrote a compiler for having nostalgia for QBasic. As far as parsing, consider using an FSM.
@Lampe20209 ай бұрын
Well, I'm working on an own compiled esolang, called "arrowey". And I'm just compiling it to LLVM's IR and then let LLVM do the architecture-specific stuff. But I might also make it interpreted (first I have to get an AST generator), to be able to implement it in JS to run inside my own OS simulation. By the way, I'm using LARK to get a parse tree from the source code, which also made it easy to define the syntax, because I could just see the parse tree, adjust and see the new tree.
@Mr.RandomB129 ай бұрын
I have a very crazy challenge for you, try to create a computer operating system with this language
@CodeNoodles8 ай бұрын
I don't think I could make an operating system to begin with 😅
@7_5_3_09 ай бұрын
As a German, "NS" reminds me of something else...
@divine2039 ай бұрын
Your gonna trigger alot of Java devs with that intro
@PaulFisher9 ай бұрын
the “jk” is that it should have been golang
@williamgill6249 ай бұрын
"devs" 😂
@GustyCube8 ай бұрын
Yes fr
@NS8world7 ай бұрын
Java is my all time favourite language
@Classfied3D9 ай бұрын
You should add a 'spaghetti' statement that acts as a goto lmao
@CodeNoodles9 ай бұрын
That's an epic idea 😆
@lancemckenzie10749 ай бұрын
Step 1 identify performance failures, barriers, and lack of situational suitability in the existing programming languages - e.g. Call speed during certain tasks; bitsize required on RAM for edge computing; etc). Step 2 locate specific features in the existing languages that are sources of failure - e.g. requirement to store a reference table of basic operations and any function specific operations. Step 3 research logic systems used in other fields and products (e.g. Different natural language structures in real foreign languages, or matrix representation and reduction in theoretical mathematics) in order to craft a list of top candidate syntax features that MIGHT alleviate your speed/bit size problem identified in step 1. Theorise the degree of improvement that you can expect to see if you used these candidates - e.g. 50% faster; 30% reduction in bit size. Also determine if you will make sacrifices in other areas of performance, or be able to maintain certain features - e.g. retain lookup of value arrays of greater than 50,000 integers. Step 4 write your new language around those candidate syntax features identified in step 3. In plain English this looks like... My current interpreter language used in my smartwatch operating system requires 30MB of active RAM partitioned in order to be available for any and all health sensor data to be processed concurrently. As a result, a larger physical RAM card is required on the watch to provide sufficient RAM for applications. I believe that by incorporating both a non-deterministic rewriting logic like Java Script and a base 20 integer structure will allow me to reduce sensor partitioning to 17MB. This reduce RAM chip size required by 10% based on modern day RAM chip standard components, further increasing the space available for the battery and therefore simultaneously provide the potential for a further 6% increase in maximum battery capacity based on modern day standard components. And then you make those things.
@lancemckenzie10749 ай бұрын
Your new programming language does not need to be better in every regard. It can be worse than current languages in most ways, but highly efficient in your target use case (e.g. machine text interpretation). That would make it a specialised language, and you can have many languages for different tasks. You may also create multiple specialised languages to build out a technology stack that, on the whole, provides specific performance improvements in a broader use case (e.g. A.I. text generation from natural language voice commands).
@YouTubeName-hw1uk9 ай бұрын
This is pretty cool, also you've inspired me to do something similar
@koder77389 ай бұрын
Nice project! I did write a compiler for my own language "Brackets", which generates bytecode for my VM L1VM. It was not easy to write.
@wafinashwan82429 ай бұрын
if you were to try a hybrid approach then you could use zig for bytecode and rust for compalation
@happyman_smiling9 ай бұрын
writing a compiler sometimes is more easy than interpreter
@slizedk9 ай бұрын
The rotating background is really distracting, in my opinion. Thanks for your content. :)
@sinom9 ай бұрын
Just wanna say that that abbreviation for the logo might not be the best idea since it is commonly associated with a certain political party that rose to power in Germany during the 1930s.
@someonerandom99398 ай бұрын
This is a nice example of a recursive descent parser. I'm not going to lie I'm obsessed with parsers because I've made a javascript interpreter in C++. My most recent project is so painful I haven't coded in months because it scares me. I'm making a language that compiles to brainfk
@CodeNoodles8 ай бұрын
Wow. This project got pretty complicated towards the end, but making a language that compiles to brainfk sounds brutal 💀
@TheRealKingofCubing7 ай бұрын
i'm pretty new to programming and don't understand most of this but it sure is cool
@Bl0xxy9 ай бұрын
omg the music at the beginning i swear it's dantdm's old hardcore music
@ikytsu78229 ай бұрын
I had a similar project and I used C++. It's really good if you want performance. In my case, my programming language could calculate 2^9999999999999999 in only 3 minutes. I admit that writing C++ code can be a bit slow, but for projects where performance is important, that makes all the difference.Nice video tho.
@GlitchTrap123459 ай бұрын
Mrbeast wake up codenoodles posted
@CodeNoodles9 ай бұрын
I wish 😆
@GlitchTrap123459 ай бұрын
@@CodeNoodles maybe someday
@tjautomatin41459 ай бұрын
I'd make my own, basic script, it's so simple that it's literally scratch but you type out the block names
@AlexTsaava20 күн бұрын
damn i clicked on this video cuz i was also making my own programming lang in python, you did a really got job with making this unlike me 🤣🤣🤣 This video and programming language is a W
@CodeNoodles19 күн бұрын
Thanks! I hope your programming language turns out nicely!
@AlexTsaava19 күн бұрын
It’s not the best it’s interpreted I might make a compiler that compiles my programming language to python
@TimeLords9109 ай бұрын
I’m glad that I’m not the only one who used the word resonated
@CodeNoodles9 ай бұрын
I know right 😆
@TimeLords9109 ай бұрын
@@CodeNoodles when I used it it sounded like I was old
@n0o0b090lv9 ай бұрын
Why isnt there a langue that can be compiled and interpreted or there is and i dont know
@CodeNoodles9 ай бұрын
You are correct. Some languages use a hybrid approach like Java.
@EasonTek9 ай бұрын
if you wanna write a compiler you can actually just generate C you acn learn the ins and outs of pure C (no C++ BS) and make your code generator generate C that can theoretically compile anywhere (thats what nelua, nim, etc does)
@iltcuhtml9 ай бұрын
I thought you were making nood.js
@jtnoble3219 ай бұрын
I made 99 bottles in .ns and it definitely irked me lol. Minor issues I had: - early returns don't exist - numbers must be cast to a string if serving - no sleep function? - errors in the wrong place (I had an error on line 9, and interpreter kept saying error on line 11) - eat, eat, eat, eat I definitely could not make my own language though, and I found it fun digging through this! 99 Bottles Code: ``` recipe bottles(noodle num) if num 0 serve(str(num) + " bottles of beer on the wall ") serve(str(num) + " bottles of beer ") serve("You take one down, pass it around ) num = num - 1 if num == 0 serve("That's all the bottles of beer on the wall! ") else serve(str(num) + " bottles of beer on the wall! ) eat eat eat eat recipe main() bottles(99) eat main() ```
@CodeNoodles9 ай бұрын
Thank you for trying the language out! The number outputed as part of the error message is actually an error number, so it doesn't mention what line the error occurs on. Also, the serve function can take multiple arguments like so: serve(str(num) " bottles of beer on the wall ") ^ Notice the space to separate the arguments Regardless, it's awesome you were able to get something working, despite it being quite inconvenient.
@jtnoble3219 ай бұрын
I realized the error number wasn't a line a couple hours later 😅 And that's good to know. My biggest trouble debugging originally was I was separating variables in functions with commas, and didn't even realize your examples don't have commas
@Zwiebelgian9 ай бұрын
Be careful with the abbreviation NS…
@mathgeniuszach9 ай бұрын
Ever heard of smart pointers? Makes writing C++ code much cleaner. I usually macro the names to be shorter but they're quite nice
@danielgysi57299 ай бұрын
The programming language is insanely impressive Listening to other people talk about their chatgpt conversations is really boring. It wasn't even relevant to the final idea and you attributed ideas to chatgpt that it stole from real projects (whitespace programming languages have been done before)
@CodeNoodles9 ай бұрын
That's fair. I'll be more careful in the future about that. Thanks for the feedback!
@TomatoSaucey959 ай бұрын
now i want library support, also the syntax is a bit werid for programers, since they have things like "eat or "server", standarding them for things like "end" or "print" would be welcome in my opinion!
@devOnHolidayАй бұрын
I would've suggested for a framework based on noodlescript titled Ramen, but Js already has that one too
@paulzupan37324 ай бұрын
I'm sorry but not calling the language spaghetti code is such a missed opportunity
@TripleSlash2569 ай бұрын
only language im good at is scratch
@Ryland-tu6pj5 ай бұрын
I like how every variable is called noodle
@clyptos27057 ай бұрын
very cool idea. very nice video! however, the abbreviation of noodlescript is quite dangerous
@krall_21259 ай бұрын
I'm making a custom compiler and for fun I'm making it in C. I understand how hard this process will be but I have to master C. I am currently fixing issues with the tokenizer.
@CodeNoodles9 ай бұрын
That sounds awesome! I wish you luck.
@WorixWorld9 ай бұрын
idk, it is a very cool video but I can't handle with this programming language. haha, I meant I only know python, js, html and css, (html and css are markup languages not programming languages). but back to the point, I like your content, it seems like to be very difficult, but you mad ea good job! a big THANKS!
@DJ_gtagVR8 ай бұрын
Wait didnt this cooy that one chef programming language? I guess this is the best language now
@TheoParis9 ай бұрын
When you have time, please check your 2D-minecraft repository, I made a PR but it has gone unnoticed for several months... It solves several other issues in the repository.
@CodeNoodles9 ай бұрын
Sorry about the speed of things. I looked at your PR, and it looks good! You mentioned that Glass.hpp is needed, which is now on my GitHub, since I uploaded Glass 4.0 to it.
@TheoParis9 ай бұрын
@@CodeNoodles Thanks! I will try and finish it soon. Sorry if I sounded impatient, I just wanted to make sure it was being looked into.
@DemonicMeWasHere9 ай бұрын
Is this lang available for everyone to code in? If it is, imma make a game with it
@CodeNoodles9 ай бұрын
Yes, it's on my GitHub. To make games though, you'd have to modify the language to support external packages so that you could render graphics.
@TheRealMangoDev9 ай бұрын
im making a compiler btw
@TheRealMangoDev9 ай бұрын
so far its going well but im making it in rust and bc of that… i have to fight the borrow checker a LOT.
@rancidrandis9 ай бұрын
I have no idea what's going on in the slightest
@shadow_blader1929 ай бұрын
Valve favourite language.
@rafagd9 ай бұрын
If you target llvm, it's not that much more work to make a compiler.
@meta91live5 ай бұрын
Time to make my own coding language. (Tried to for the 98th time.)
@m3mes4208 ай бұрын
I feel like everyone is making programming languages now ever since that guys tutorial dropped lol
@iilogll9 ай бұрын
hey what is ur vsc theme? it looks nice
@Kirby_Super9 ай бұрын
I did this in Scratch once. It was fun even if the final result was impractical
@PumpkinBear9 ай бұрын
whats the song at 0:22 i've heard it before but can't think of where it's from
@CodeNoodles9 ай бұрын
It's a song from the KZbin Audio Library called English Country Garden by Aaron Kenny.
@PumpkinBear9 ай бұрын
@@CodeNoodles ty
@binayakadhikari18877 ай бұрын
hey i am looking for a noodlescript dev with 10+ years of experiience in the language
@EverTGX9 ай бұрын
now make a syntax highlighter for vscode of this language
@spiderpig20Ай бұрын
“C++ sucks at allocating memory@
@jdudeofficial42639 ай бұрын
What is your visual studio theme? And also nice video
@blockman_games179 ай бұрын
he made a programming language using a programming language
@szymongrzebyk59488 ай бұрын
You can add something like this : Repeat Forever Script here End
@goobertnelius9 ай бұрын
Now make a package manager and or a way to create windows and draw to them
@BPGHchess4 ай бұрын
when is syntax highlighting coming ;)
@Adasiek5327 ай бұрын
now make a game with this programming language
@note.swiper-main8 ай бұрын
aleight, let's learn this code and make the programming language using this if can
@boogaming97449 ай бұрын
I should learn noodlescript as my first coding language, I wanna learn one since i started what hung your videos so why won’t I start with this ?
@CodeNoodles9 ай бұрын
I love the idea, but definitely don't. My language is extremely limited and has a bunch of little issues with it. If you want a good language to start with though, I recommend Python.
@ASAPPokimane8 ай бұрын
the abbreviation goes hard in german bro 💀💀💀
@StumbleDev4 ай бұрын
bri noodlescript is really really good, you can make NoodleScript II
@derpcar2 ай бұрын
i want to download this.
@shidoengie95039 ай бұрын
you should've used rust
@BelBox8 ай бұрын
Bro,when new Minecraft 2D video?
@efekos7 ай бұрын
now make a language server for it
@Germisstucklmao9 ай бұрын
Hmm why not use LLVM? I mean, it simplifies everything
@DevmanGame9 ай бұрын
this reminds me of applesoft basic
@li-lunarink7 ай бұрын
add a language server for vim, nvim, vscode, visual studio, etc
@tanhrs87119 ай бұрын
Can I make recursivity with your language ?
@johnyeldry2 ай бұрын
WHAT HAPPENED TO THE SPAGHETTI CODE NAME IT IS SUCH A GOOD PUN >:(
@mubeenaaltaf94144 ай бұрын
I do not recommend python to make a programming language but if you are a python experimenter then you can make a programming language!
@sggamesofficial7 ай бұрын
wait a minute. you’re making a coding language with a coding language made by another coding language that may or may not be made by another coding language and that is made by a coding language made by a coder who uses a coding language?
@CodeNoodles7 ай бұрын
Codeception
@aarondelasy9 ай бұрын
Me developing my own programming language 5 years. CodeNoodles developing his own programming language in 6 months :(
@limec4tАй бұрын
0:42 code bro refrence😂
@Omena0MC9 ай бұрын
When syntax highlighting?
@Lemoniii009 ай бұрын
Which code editor are you using ?
@CodeNoodles9 ай бұрын
Visual Studios 2022
@Lemoniii009 ай бұрын
Ok thx
@Mediabelike-tc6pi9 ай бұрын
your lagause is cool i juse it now instead of python!!! (joke)