Writing software without a programming language - Kronark - No. 0

Поделиться
HTML-код
  • Опубликовано: 10 сен 2024

Комментарии • 425

  • @BooLightning
    @BooLightning Месяц назад +257

    This is what happens when programmers let intrusive thoughts win

    • @mitaskeledzija6269
      @mitaskeledzija6269 26 дней назад +15

      You cannot escape God's Temple - Terry Davis prob

    • @running.on.c82
      @running.on.c82 23 дня назад

      I wrote my own Transformer Neural Network from scratch in C++ and thought I'm good, but this guy is really pushing my limits.

    • @jonnupe1645
      @jonnupe1645 14 дней назад +1

      Seems like a win for the rest of us most of the time

  • @Una-R
    @Una-R Месяц назад +135

    > Comes with a challenging proposition
    > will program but at the same time will not program
    > builds its own system for using the binary
    > speaks as if he were the smartest antagonist/allied character in the plot explaining an artifact that totally changes the direction of the story
    > What a determined and badass guy, I subscribe.

    • @Kronark
      @Kronark  Месяц назад +13

      💀

    • @amalirfan
      @amalirfan 28 дней назад +2

      ​@@Kronarkngl, this seems much like fiction, but so what, I say embrace it, full send 🎉

    • @amalirfan
      @amalirfan 28 дней назад

      ​@@Kronarkalso would you consider publishing the source code with a proprietary or open source licence? That would be cool. And community posts with screenshots, plans, etc. would be cool too.

    • @Kronark
      @Kronark  28 дней назад +1

      Not in the near future. Not sure if I'll ever release the source code of this prototype - but we will re-implement a release build using the prototype, and that node-source-code will be public. Definitely leaning towards proprietary or non-commercial licenses, open source / public domain is to often abused by huge corporations who'll then make even more profit from it.
      Regarding community posts, they'll come soon. I only started 6 days ago, so I want to get the weekly upload schedule rolling first. But I will make community posts eventually, since I want to update you guys on my behind the scenes progress regarding the computer graphics stuff - the dev-logs will lag behind in content eventually since I develop faster than I upload.

  • @dang-x3n0t1ct
    @dang-x3n0t1ct 28 дней назад +50

    bro made scratch for adults

  • @paxcoder
    @paxcoder Месяц назад +152

    A visual dataflow programming language.

    • @Kronark
      @Kronark  Месяц назад +34

      kind of, with a little bit of magic sprinkled on

    • @JanB1605
      @JanB1605 24 дня назад +5

      ​@@Kronark Sounds a lot like G to me, used in LabVIEW.

  • @BadBoy65t
    @BadBoy65t Месяц назад +194

    I think I just found the coolest channel ever…

  • @old-gamer-01
    @old-gamer-01 16 дней назад +3

    WOOW DUDE!
    YOU SOLVED A LOT OF PROBLEMS!
    I NEED YOUR KNOWLEDGE!
    THANK YOU TO EXISTS, LEARN AND PUBLISH SUCH HIGH KEVEL KNOWLEDGE!
    JUST WOW!

  • @itsjustboarsley
    @itsjustboarsley Месяц назад +38

    So you’re using a sort of actor model to represent a “primitive” type that is made manifest by clearly separated nodes of logic. Then, using these little actors, you’re stacking functionality.
    Feels the same conceptually as a lisp, but decomposed a bit where each node would be akin to a list member with the sockets defining how data flows between them. Very unix-like in principle. I made a toy language with similar underlying concepts but a wildly different imagining of implementation than you.
    Very excited to see this

    • @Kronark
      @Kronark  Месяц назад +7

      Essentially, yes.
      I'm just as excited as you are! :)

  • @christobothma368
    @christobothma368 Месяц назад +66

    I'm curios how this project won't just end up being another high level language itself. What i do find interesting though is the idea of programming in a very low level. My thinking has always been that we could perhaps achieve much greater degrees of efficiency like this but it's really hard and maybe impractical to do this for a very large system. This is something I've been thinking that AI might end up doing in the future. Removing the need for abstraction or compilation altogether.

    • @Kronark
      @Kronark  Месяц назад +30

      I'd argue that it'll be similar to any high level programming language, but distinct in some key points. The main benefit I find extremely helpful is that the compiled output isn't produced by some black box. All the program does is string a bunch of bytes together - the user controls everything else. So if you want to make something more efficient, you can technically adjust the code at every level of abstraction, which is something you simply can't do with what we have currently. I can't open up my C++ compiler of choice to achieve some specific improvements (at least not without great effort), I'll mostly be at the mercy of the compiler-architect's implementations regarding optimisation.
      I think a large part of the reason behind the large amount of different programming languages we have right now is, that different developers optimised different things. You have Go for systems programming, R for data science, Python for prototyping and AI stuff etc... I'm honestly just so tired of learning yet another specification. So I'm hoping I can sort of escape all this and just use one frontend for everything - it will be less efficient / optimised in the beginning but I should be able to beat most standard programming languages eventually, since I can add lower level optimisations "on the fly".
      Regarding practicality, I guess we'll have to wait and see. I'm still very sceptical myself since the project has thrown some pretty annoying design problems at me over the past 2 years - still not 100% sure if my optimisations will keep the low compilation times up once projects grow to standard software sizes. Theoretically they should, but you never know... :D

    • @christobothma368
      @christobothma368 Месяц назад +21

      @Kronark One thing is for sure you'll know a hell of a lot once this is finished. I admire your dedication to something so daunting. I wish you the best of luck!

    • @Kronark
      @Kronark  Месяц назад +14

      Thanks man! Appreciate it :)

    • @hexxt_
      @hexxt_ 28 дней назад +4

      the interesting thing about this is that as he builds abstractions and it starts feeling more and more high level he always has access to the low level stuff

    • @lordrusk6118
      @lordrusk6118 28 дней назад +1

      @christobothma368 geometry is a higher form than the written word, it has been said, but having this direct access is not available in any high level language…

  • @perfectionbox
    @perfectionbox Месяц назад +21

    It sounds very cool but all node-based language attempts suffer from graph complexity as program size grows. I recommend prototyping some test projects to see what they'd be like in graph form. Shaders tend to be okay because they're small (although some graphs are still cryptic) but e.g. things like UE Blueprint break down forcing devs to switch to C++. A differ is also needed to make it workable in team environments.

    • @Kronark
      @Kronark  Месяц назад +7

      There's already (somewhat) a solution for that in place, but it's difficult to explain or show to be honest - just know this compiler heavily incentivises modular and compact node graph building. I haven't seen super complex graphs during usage yet, they're usually compacted into new custom nodes before that point is reached. It'd probably become most apparent in a dedicated video on that topic, but right now that just isn't a priority for me.
      Regarding the differ, that's an easy addition - but again, just not relevant at the moment. However I do admit that I didn't see all this exploding like it is right now, so I don't know if some community efforts will arise sooner than later.

    • @fltfathin
      @fltfathin 27 дней назад +2

      ​@@Kronark imo a graph representation in a text format will help alot. Like how mermaid graph file, but more on what each node connects where.
      Wait that sounds like VHDL/ Verilog.

    • @hotworlds
      @hotworlds 10 дней назад

      Something I've been thinking about for ages as a solution to this problem is being able to make some kind of more complex sub-modules that you then use as nodes to abstract behaviors for other modules.
      There's this old game called 'Robot Odyssey' where you essentially build real circuits using logic gates to control some simple robots to solve puzzles. The thing I found really fascinating about it is you could build a circuit and then bake it into a tiny microchip to use in other circuits. Since it all took place on a tiny 80s monitor and it was graphical you were basically forced to do this to make anything complex, but since you could go as deep as you want you could still program pretty much anything in theory.
      So I hope something like that gets into this project lol

  • @gyrotta
    @gyrotta Месяц назад +66

    your channel feels like i've been just exposed to another world of dev youtube this is pure gold i cant wait to see how this all turns out in the end

  • @The-Nie
    @The-Nie Месяц назад +15

    No way
    Seems like I found something really interesting in my recommendations
    And that "something" is your video :)
    I just want to thank you for making my day better lol

    • @Kronark
      @Kronark  Месяц назад

      And I thank you for the kind comment! :D
      I'll definitely try again next wednesday ;)

  • @Jhonnydonny
    @Jhonnydonny 25 дней назад +3

    This channel is the ScienceClic of Computer Science and that’s exactly what we all were craving for.

    • @Kronark
      @Kronark  25 дней назад +1

      Truly humbled you think so!

    • @Jhonnydonny
      @Jhonnydonny 3 дня назад

      @@Kronark❤

  • @casungo
    @casungo Месяц назад +12

    mark my words, this channel is going to the moon. Really great content!

    • @Kronark
      @Kronark  Месяц назад +3

      Thank you! This is all going so fast right now, I'm not even sure I'm ready to go to the moon lol

    • @mitaskeledzija6269
      @mitaskeledzija6269 26 дней назад +1

      ​@@Kronarklet's go to Andromeda

    • @Kronark
      @Kronark  26 дней назад +1

      We‘ll do rockrt science a bit further down the road!

  • @Kknewkles
    @Kknewkles Месяц назад +6

    Looking forward to learning all these things at an extreme level of detail, and to seeing the journey(one of the very few times this word seems warranted).
    You, my friend, got yourself a sub :) Cheers!

    • @Kronark
      @Kronark  Месяц назад +2

      Thanks man!
      I do hope I'll not go into TO MUCH detail, the next video script is already quite long ^^ x64 instruction encoding is a bit of a beast :S

  • @sinus4784
    @sinus4784 Месяц назад +7

    Wow! The sounds and visuals are superb!
    I'm really excited to see more of what you make.

    • @sinus4784
      @sinus4784 Месяц назад +1

      That "intro" sound I especially like!

    • @Kronark
      @Kronark  Месяц назад +1

      Thank you, I did put some effort into those!

    • @sinus4784
      @sinus4784 Месяц назад +1

      @@Kronark deff gonna have to search those up later

  • @maolmhuire
    @maolmhuire Месяц назад +4

    i have been vexed by this problem for years: how to bring the node graph paradigm to the machine instruction level. a byte sequence generator is a fascinating approach. instead of the nodes being a map of the program logic, they are a map of a factory for generating the program file. it is absolutely first principles reworking of the process of creating an executable file.

  • @joaquindomenech7541
    @joaquindomenech7541 Месяц назад +22

    We're better at spatial (thus visual) thinking than abstract thinking. Making our tools more visual can help us solve problems

    • @paulyflynn
      @paulyflynn Месяц назад +3

      Spatial yes. That is why the interface should be for a spatial computing platform like Vision Pro

  • @wmpowell8
    @wmpowell8 Месяц назад +8

    You don't need to implement floating point arithmetic yourself; if you have all x86-64 processor instructions implemented into your editor, you can simply call the necessary instruction to do your math.
    Also, a naïve approach to turning each instruction into code would be to represent each node as an address in your program, then, to jump to the address corresponding to the next instruction. However this would use a lot of jump instructions, significantly slowing down the resulting program, so you'll have to implement some logic to reduce jump instructions.

    • @Kronark
      @Kronark  Месяц назад +2

      By „implementing floating point arithmetic“ i meant constructing some nodes that output the relevant x87 instructions to do floating point maths.
      The compiler doesn‘t execute the nodes, it uses them to construct an executable. A hypothetical „addition“ node with the inputs „1“ and „3“ doesn‘t return „4“, it returns „1 + 3“.
      It appears to be a common pitfall when thinking about node graphs - i fell into that myself about a year ago :)

    • @lverno7349
      @lverno7349 13 дней назад

      @@Kronark How do you implement constant folding then? Surely you would want 1 + 3 to be evaluated at compile time in most cases. Are there primitive nodes for compile time math?

    • @Kronark
      @Kronark  13 дней назад

      Yes, there is a math node that can do addition, subtraction, multiplication, division, modulo, minimum, maximum, logarithm and exponentiation :)
      Addition, subtraction, multiplication, minimum and maximum operations also are able to take in more than two operands.
      So you can determine the sum or the max of an array of numbers at compile time for example.

    • @lverno7349
      @lverno7349 13 дней назад

      @@Kronark Very cool. Do you plan on open sourcing this at some point? This project seems like a breath of fresh air in the systems programming space.

    • @Kronark
      @Kronark  13 дней назад

      Unfortunately no. This prototype is the only edge I have in the software development industry right now. But we will be implementing a release build using this prototype, which will then be made available for free in my store :)

  • @avgvstvs96
    @avgvstvs96 Месяц назад +4

    impressive work, phenomenal production. this is awesome!

  • @kongolandwalker
    @kongolandwalker Месяц назад +3

    3:00 "this.. is a node". Reminded of a ToadPond.

    • @Kronark
      @Kronark  Месяц назад

      What's ToadPond if you don't mind me asking? ^^

    • @kongolandwalker
      @kongolandwalker Месяц назад

      @@Kronark ruclips.net/video/Q4OIcwt8vcE/видео.htmlsi=-eXARwaG6sP2kH_2

    • @Kronark
      @Kronark  Месяц назад +2

      what in the artistic expression is this?! :D thanks for sharing :)

  • @Andressuquaz156
    @Andressuquaz156 Месяц назад +1

    Such a complex topic, packed in a nice format. This is gold my man, can't wait for the next videos!

    • @Kronark
      @Kronark  Месяц назад +1

      Hope the next video doesn't disappoint! It's some heavy sh*t

  • @AliceHamori
    @AliceHamori 17 дней назад

    Super interesting concept what you have described. Can't wait to see how it will turn out! I am especially thrilled that this will be a weekly mini series, because I can witness how you will tackle issues that might come up when developing a tool like finding the balance between feature/function and easy of use^^

    • @Kronark
      @Kronark  17 дней назад

      Thanks! :)
      I will be trying to cut down on video length a bit, since these long ones are taking up quite a bit of time, but i‘m committed to keeping it weekly :)

  • @adlerkampf
    @adlerkampf Месяц назад +2

    Wow, this is amazing! I find graphic stuff challenging even in high-level languages, and you're tackling it in machine code? That’s beyond impressive. I'm definitely following your series!

    • @Kronark
      @Kronark  Месяц назад +1

      Well I haven't started with the graphics stuff yet using this compiler - so don't jinx it :D Glad you're on board!

  • @yt_n-c0de-r
    @yt_n-c0de-r 16 дней назад

    Omg
    I've been thinking about making something like this, for years. But as I suck at coding, and barely passed my bachelor at 40, there was no way I'd ever achieve this.
    Will watch your series, to see someone with literal mastery level do it in a right way.

  • @nikelborm
    @nikelborm 23 дня назад

    Dude, that's not a programming video. That's ART
    WOW!

  • @jayyusi
    @jayyusi Месяц назад +3

    good luck, this seems like it's gonna be quite a ride

  • @dinoscheidt
    @dinoscheidt Месяц назад +2

    Subscribed. 🍿 But mostly because, since the invention of visual programming in the 70s, node based logic always end in “state explosion” as soon you have recursion and switches…. 👀 But “no code” comes back every decade or so… so I tag along 🤗 best of luck, definitely awesome learning experience !

    • @Kronark
      @Kronark  Месяц назад +1

      We'll see how this one turns out :D

  • @cn-ml
    @cn-ml 6 дней назад

    Also congratulations, you have basically built a wrapper around any functional programming language. Not downplaying, i love your idea, and the execution is also pretty cool :)

    • @Kronark
      @Kronark  6 дней назад

      Thanks ^^ the neat part is, that it‘s not limited to programming languages in any way :p

  • @r0fael_programmer
    @r0fael_programmer Месяц назад +2

    I am making something similar to that project and it is cool. So good luck!

  • @MonkeyNBananas
    @MonkeyNBananas 12 дней назад

    This is really well done. I wouldn't be surprised to see this becoming the new norm for coding especially for people new to coding

    • @Kronark
      @Kronark  10 дней назад

      Thanks! Knowing the programming community, I‘m pretty sure there will be a significant chunk clinging to what worked best for them so far instead of moving to this… but if it helps some people to at least get into coding, that‘s a win for me :)

  • @bakdiabderrahmane8009
    @bakdiabderrahmane8009 Месяц назад +2

    Oh boy, this is extremely interesting, good luck.

    • @Kronark
      @Kronark  Месяц назад +1

      thanks! I'll need it ^^

  • @trinity1969
    @trinity1969 Месяц назад +1

    All the best for your project! I am glad youtube recommended this video to me

    • @Kronark
      @Kronark  Месяц назад

      Glad you‘re here! :)

  • @E_m1ly_6302
    @E_m1ly_6302 29 дней назад +1

    Damn, this is awesome and a big sounding project. I'm also currently working on a node based programming language. I also had the idea of partial compilation to speed up compilation in total. Also the abstraction nodes i also implemented. I was stupid in making inputs and outputs of an abstraction node individual nodes instead of you combining them into one, wich feels much smarter.
    Im currently only making the node editor part of the IDE. Making compilation comes when all necessary actions for making changes to the nodes are finished.
    I wanted to call it Duke (in German Graf, wich sounds the same as Graph, like a graph of nodes and edges).

    • @Kronark
      @Kronark  29 дней назад

      Good luck with your approach! :)

  • @refeals
    @refeals 29 дней назад +1

    this is really interesting, cant wait to see more

    • @Kronark
      @Kronark  29 дней назад +1

      Thanks! Gonna be a wild ride :D

  • @cakerer
    @cakerer 5 дней назад

    Subscribed. I’ve been a professional developer for 15+ years but never really got into low level stuff. Really interested to follow along and learn from this series.

    • @Kronark
      @Kronark  5 дней назад +1

      You picked the right channel for that! There really isn‘t a lower level than what we‘ll be doing here ^^
      We‘ll get back into actual implementations soon though, currently uploading a couple of explainers to help better understand the compiler itself first :)

    • @cakerer
      @cakerer 5 дней назад

      @@Kronark Good! I need the explainers. It’s been 20 years since I studied CPU architecture at university 😆

  • @YahiyaJasem
    @YahiyaJasem 25 дней назад

    I’ve been using unreal engine for 10 years and I always wanted visual scripting to build apps! I recently started learning c++ ,, and im glad I found your channel, looking forward to follow your journey brother

    • @Kronark
      @Kronark  25 дней назад

      Thanks mate! Hope I don‘t disappoint :)

  • @oglothenerd
    @oglothenerd Месяц назад +3

    Okay, this is pretty cool! 😎

  • @zububabu8249
    @zububabu8249 Месяц назад +4

    Wow u just blew my mind look forward to see how this goes!!

    • @Kronark
      @Kronark  Месяц назад

      I'm eager to find out myself :D

  • @tacobabyman1215
    @tacobabyman1215 Месяц назад +1

    This is such high production. You've earned a sub

    • @Kronark
      @Kronark  Месяц назад

      Thank you! :)

  • @zain9842
    @zain9842 17 дней назад

    Watching a few minutes of this video I really hoped it was a 3 year old video video and the software is out by now, but I guess now I'll be there for the journey.

    • @Kronark
      @Kronark  17 дней назад +1

      Glad you‘re here anyway! :P

  • @Carrymejane
    @Carrymejane Месяц назад +2

    Man u make me click this video because i know this technology sounds cool

    • @Kronark
      @Kronark  Месяц назад

      I am pretty proud of the thumnail + title tbh :D

  • @EarnestWilliamsGeofferic
    @EarnestWilliamsGeofferic Месяц назад +8

    I'm here for it, King. Let's go.

  • @rcpacini3128
    @rcpacini3128 Месяц назад +1

    I’m interested to see how you progress. Another reference is NI’s LabVIEW graphical data-flow programming language.

    • @Kronark
      @Kronark  Месяц назад

      Yet another node editor with limited applicability :D

  • @mrcavas
    @mrcavas 11 дней назад

    I wasn't hooked with the title. Clicked anyway and was not disappointed!

    • @Kronark
      @Kronark  10 дней назад

      Glad you liked it anyway :D
      I‘m not touching this title and thumbnail, this is the only video that got some significant attention so far ^^

  • @lumiey
    @lumiey Месяц назад +2

    very interesting, I'd be watching

    • @Kronark
      @Kronark  Месяц назад

      Welcome aboard!

  • @ThePowerRanger
    @ThePowerRanger 15 дней назад

    Mad ambitious, I am here for what ever comes of it. Good luck bro.

    • @Kronark
      @Kronark  15 дней назад

      Thanks mate!

  • @rir-ll6gf
    @rir-ll6gf Месяц назад +2

    I see thi as a opportunity for growth bro work extremely hard to deliver thus and the views and subs will deffo grow ❤ youve gotso much potential and time

    • @Kronark
      @Kronark  Месяц назад

      Yeah, the pressure is getting real - hope the next video doesn't bore everyone to bits ^^ x64 instruction encoding is... very dry.

  • @ProfShibe
    @ProfShibe Месяц назад +3

    Hope it works out dude that’s a big project but it’ll be insanely worth if you keep it up.
    If it’s python level easy to read but with pointers and low level functionality etc I may literally never learn another language again lol

    • @Kronark
      @Kronark  Месяц назад +2

      That‘s exactly my intention, actually! We‘ll add support for different targets later on, including source code formats such as javascript, python, etc. - so you‘ll be able to use the same nodes regardless of what your output needs to be :)

  • @56independent42
    @56independent42 29 дней назад

    WOAH THIS VIDEO FEELS SO SUPERVILLAIN SCI-FI KEEP IT COMING

    • @Kronark
      @Kronark  29 дней назад

      I‘ll try! :)

  • @chrissalgaj4111
    @chrissalgaj4111 Месяц назад +1

    Hell yeah dude! Extremely excited to see this come along!

  • @ahmedabdulmalik4792
    @ahmedabdulmalik4792 24 дня назад

    what an inspiration you are man, love your content.

    • @Kronark
      @Kronark  24 дня назад

      Thank you! :)

  • @m4rt_
    @m4rt_ Месяц назад +1

    You're insane. Good luck! I'm exited to see how this unfolds.

    • @Kronark
      @Kronark  Месяц назад

      You and me both mate!
      Thanks :)

  • @radeeyate
    @radeeyate Месяц назад +3

    this looks so cool! best of luck!

  • @sebastercats6123
    @sebastercats6123 Месяц назад +2

    Nah, forget making it for a thesis, you should propose this subject to department of education and make everyone in the world learn this concept, period.

    • @Kronark
      @Kronark  Месяц назад +1

      Not making it for the thesis, just preparing it for use during the thesis :)
      First gotta ensure that it actually works for larger projects, before doing anything like that :P

  • @jeromewilson
    @jeromewilson Месяц назад +8

    Dude, you must have massive nerd cojones. Godspeed.

  • @robertbaldwin711
    @robertbaldwin711 Месяц назад +1

    There will be a few/many issues:
    1. how will you do system calls? especially anything async which might require threading..
    2. how will you do threading?can one 'lock' a node? if modifying a file is happening like you elude to in the video then you will have to do file sync strategies.also execution might be slow... like really really slow
    3. you seem to be choosing the more instructions is more approach, which is valid, but has the same issue in large assembly instruction sets compared to small assembly instruction sets (i.e. lots of fun writing docs for everything)
    4. nodes might get very complicated, and I don't just mean the mess of 1000s of nodes on screen that represent some algorithm, I mean just a single node in and of itself might get complicated. For example, if you need atomics ever, then you might need to make a special compare and swap node, or if a node requires multiple inputs that might also be 'fun'. Or if you allow for abstraction of nodes by nodes then you get other problems, like maybe you represent nodes of A..Z with fn(x) node or something.
    5. you might want to look at how fpgas work and languages for them, as they are basically just building blocks that allow for specifying inputs and then piecing these set of blocks/functions together. Might find good parallels.
    6. since you mention you want to be able to integrate with a gpu then you will have to have some way of using special nodes that do compile shader, submit shader, wait for result, get result from gpu, and whatever other special fns you might need to embed into a node for this to work.

    • @Kronark
      @Kronark  Месяц назад +3

      I think you fell into the same trap I fell into a year ago while designing this. The node graph compiler doesn‘t return the result of an operation, it returns the operations needed to get that result. A hypothetical „Addition“ node which recieves the inputs „1“ and „3“ does not return „4“ - it returns „1 + 3“. This compiler simply places instructions into an executable, it doesn‘t execute itself. It‘s exactly like traditional programming in that regard - your source code text editor doesn‘t execute your text, it uses it to build an executable which can then be executed.
      Once you see the compiler from this perspective, you‘ll see how none of these problems are actually on the horizon. Each problem you mentioned is solved exactly the same way you‘d solve it in traditional source code.
      For example system calls. They‘re just the syscall instruction (in the case of x64) with some setup required beforehand. They‘re handled by creating a node that returns the syscall opcode together with the necessary register-related operations beforehand - which is then placed into our executable.

    • @robertbaldwin711
      @robertbaldwin711 Месяц назад +2

      @Kronark I see now, that makes the job a lot easier if all you need to do is go from node to instruction set code and then let someone just run an executable afterward instead of having the node actually do an operation. I'm looking forward to seeing what the initial poc looks like!

    • @Kronark
      @Kronark  Месяц назад

      Me too man, me too

  • @theevilcottonball
    @theevilcottonball 27 дней назад

    After i wrote a 800 bytes windows PE exectubal in ahex editor, I once had a similar idea of a universal programming language called binaula (binary authoring language, yeah the name sucks) where you start from bitpatterns and then you can have loops to repeat a pattern, functions to encode a pattern e. g. to write out a file format header, and other structures, basically a hex editor with macros, and with this language you could program sound, images, windows executables (maybe with an instruction encoding function in the stdlib), ELF files, etc. etc. But it was text based, not node based, and it would have probably been impractical and very low level (in some ways lower level than assembly) so it would have required a lot of library functionality to be useful, so I never really spent much time on it, maybe I will get back to it,

  • @aeyedeyen
    @aeyedeyen 18 дней назад

    Wooooow! Very exiting stuff, and great aesthetics too :D

    • @Kronark
      @Kronark  18 дней назад

      Thank you! :D glad you like it :)

  • @DrW1ne
    @DrW1ne 29 дней назад +1

    This is awesome.

    • @Kronark
      @Kronark  29 дней назад +1

      Thank you! :)

  • @harsx1122
    @harsx1122 Месяц назад +1

    Brooo it gonna be amazing and motivating!! Watching for futher videos:)

  • @ryashau3527
    @ryashau3527 Месяц назад +4

    Most interesting thing YT has served up in a while.
    Can't wait to see where you go with this.

    • @Kronark
      @Kronark  Месяц назад +1

      Thank you! Super excited to get into some heavy sh*t next week :D

  • @andrewferguson6901
    @andrewferguson6901 Месяц назад +1

    Any nerd who cites the work of inigo quilez has my immediate attention

    • @Kronark
      @Kronark  Месяц назад

      iq is the best!

  • @hermit25
    @hermit25 Месяц назад +2

    as a beginner i enjoyed this video quite a lot

    • @Kronark
      @Kronark  Месяц назад

      glad you liked it! :)

  • @RostislavArts
    @RostislavArts Месяц назад +3

    Such a quality content with less than 1000 views. Man...

    • @Kronark
      @Kronark  Месяц назад +1

      Thank you!
      To be fair, this is not my first attempt at making youtube videos and I did work in the visual effects industry a bit... But man, I did not expect all this right now... after 2 god damn days...

  • @Someone-df7tj
    @Someone-df7tj 28 дней назад

    This is some peak content gonna turn on the notifications for this one

    • @Kronark
      @Kronark  28 дней назад

      Thanks! Welcome aboard :)

  • @hugobarroca9538
    @hugobarroca9538 Месяц назад +1

    Seems closely related, in concept, to a low-code tool like outsystems, but much broader in scope and flexibility. Looking foward to the following devlogs, excelente video quality and production, and the concept itself is pretty interesting as well!

    • @Kronark
      @Kronark  Месяц назад

      Thank you! I hope the next video won't disappoint :D

  • @rashedulkabir6227
    @rashedulkabir6227 29 дней назад +1

    It's a cool video. You are going to become the next Steve Ozniak.

  • @cryptixdaemon7236
    @cryptixdaemon7236 10 дней назад

    Starting a new revolution I see...

  • @lordrusk6118
    @lordrusk6118 28 дней назад

    The moment you can create a node as a defined input and output of a group/map of sub nodes, which would implementing fractal abstraction, this is be amazing

  • @MowiWowi
    @MowiWowi Месяц назад +1

    Is it me or does this video feel mysterious....?

  • @QisHD
    @QisHD Месяц назад +3

    Good luck! Will wait for updates.

    • @Kronark
      @Kronark  Месяц назад

      Welcome aboard! :) looking forward to uploading more

  • @cn-ml
    @cn-ml 6 дней назад

    I've also planned on doing a project like this, but apart from the obvious, a big problem of all node-based languages is that there is no easy way to efficiently solve merge conflicts.

    • @Kronark
      @Kronark  6 дней назад

      I‘ve gotten that quite a bit now and I honestly don‘t see the problem… could you maybe elaborate on which issues you‘d expect to encounter when implementing a merge-conflict resolution approach?

  • @vasyavasilich7659
    @vasyavasilich7659 Месяц назад +1

    Bro is trying to make his own game engine, not from scratch, but from scratch scratch

  • @kravataf
    @kravataf Месяц назад +3

    looks really interesting

    • @Kronark
      @Kronark  Месяц назад +2

      thank you!

  • @PlayBASIC-Developer
    @PlayBASIC-Developer Месяц назад +1

    I must be old, back when I was in high school a generation of kids wrote actual machine code everyday.. but yeah seems interesting

    • @Kronark
      @Kronark  Месяц назад

      Must‘ve been some exciting times back then :)

  • @PaulPaulPaulson
    @PaulPaulPaulson Месяц назад

    This is very cool and I'm excited to follow your progress!
    I've done something similiar this year in my free time, or rather I started it. It's far from done and has a limited scope. I made a very rudimentary programming language from scratch, also setting every byte of the exe file myself, not using any compiler framework or assembler. Just a simple programm written in C++ that reads my language files and outputs an exe file byte by byte. It's a textual language, not a node based, but I think that's not that much of a difference for the lower layers.
    I do it just for fun and to learn the fundamentals. A toy language not supposed to be published or anything. I thought I might share some of my experience here, maybe it's helpful for someone.
    So far my language is still very limited. Only basic math with integers and some control structures, but more will come when I have the time for it. My goal was to have someting that can run as early as possible wihtout having to support many types of machine code instructions yet. Understanding the PE format of exe files is hard enough for the beginning. A good hex editor that shows the structure of the PE format and that can show all the bytes along with the corresponding instructions in assembler notation is very helpful for this.
    So far in my language I can basically add and multiply some numbers, have some control structures, and return a value as an exit code which I can print in a command line using $LastExitCode. That's not much, but I have something running that has barely any dependencies and I can go on from here. Writing the PE format myself works and I have a growing understanding of how all the machine code instructions work and what the difference to assembler code is (which is similiar but has more differences than I previously thought).
    Since I also wanted to learn how debuggers work, I implemented one for my language as early as possible, and this turned out to be a good idea because seeing what my program is doing helps a lot when working on the compiler. I could have used an existing debugger (which would have also been a good approach) but that still would have needed debug information about the addresses of the code and the variables, and it expects them in an existing complicated format that is made to fit existing languages, and I just didn't want that. So I made my own debug file format, wrote my own debugger (including UI) and can now start my program from it and step through my code, looking at all the registers, memory and variables. And I learned a lot about debuggers.
    Stepping through my code with an existing kind of a hex-editor-level debugger was also helpful in the beginning, but slows development down as the complexity growth.
    For a node based approach like yours I think existing debuggers don't fit well so you might consider writing your own one as well. Not so much because of the structure of the generated code (shouldn't be that different), but because you may want to step through it visually and show that in your editor. There might be libraries or command line style debuggers you can call for that so you don't have to implement every aspect of it yourself. But I haven't looked into it since my goal was to do it from scratch, so I can't tell much about that.
    There are many ways to approach such a task as yours, and many of them are good. But this worked well for me: Doing an extremly narrow slice of my end goal first but getting it to run very early. Having as much control as possible over what the code does is key, and being able to debug very early helps a lot for that.
    Sorry for this wall of text 😄
    Good luck with your project and thanks for sharing your journey with us!

  • @mariosadov
    @mariosadov 29 дней назад +1

    Good luck with your master's degree. Looks like a really big project

    • @Kronark
      @Kronark  29 дней назад

      Definitely, it‘s gonna be a wild ride the next months ^^

  • @midnightfuture
    @midnightfuture Месяц назад +2

    "Writing software by first building my own programming language." I presume you're familiar with what are sometimes called "4GLs," or Fourth-Generation programming languages? Node-based programmatic logic environments are fairly commonplace, as you mention, but most tend to focus on specialized contexts like the Blender/Unity node graphs for shaders or National Instruments LabVIEW for data acquisition and signal processing. Creating one that is general purpose tends to explode in complexity, necessitate abstraction, and end up being a flowchart of a fairly traditional text-token programming language in the end.
    Should be fun. I'll be watching.

    • @Kronark
      @Kronark  Месяц назад

      Guess we'll have to find out how this attempt goes! :)

  • @eternaldoorman5228
    @eternaldoorman5228 25 дней назад

    And you took some time out to do some really great sound design too!

    • @Kronark
      @Kronark  24 дня назад

      Glad you think so! :)

  • @MadDog7XL
    @MadDog7XL Месяц назад +2

    Somehow looking for information about ScratchJr has led me here. Cool project, understood none of it

    • @Kronark
      @Kronark  Месяц назад

      Yeah, I've had multiple comments about scratch already... RUclips took this concept and thought "this looks like scratch to me" ^^

  • @Eevee8858
    @Eevee8858 Месяц назад

    Damn bro i didn't even notice this was from a channel which barely had 1k subs
    The quality is phenomenal 👍🏻
    Yt is weird the brain rot is on rise and then there's this peak hidden beneath shit 😅

    • @Kronark
      @Kronark  Месяц назад

      Bro, I have no idea how I got here… I wanted to start slow…
      Thank you!

  • @Zeus-hb3yn
    @Zeus-hb3yn Месяц назад +1

    Bruv, you might as well be coding in assembly 💀
    Ur incredible man, please keep this series up

    • @Kronark
      @Kronark  Месяц назад

      Thanks! Jep, the pressure to continue is getting pretty real right now ^^

  • @veeloth
    @veeloth Месяц назад +7

    My man I think you're getting famous soon

    • @veeloth
      @veeloth Месяц назад

      This is the kind of fundamental understanding of systems and reinvention of technologies I love, best of luck!

    • @Kronark
      @Kronark  Месяц назад +1

      I really don't want to be famous though hahahaha
      But thanks man! Hope this all goes as planned this year :)

  • @_xX_me_Xx_
    @_xX_me_Xx_ Месяц назад +2

    A true 100x developer

  • @Aplysia
    @Aplysia Месяц назад +3

    Call me a wimp, but this seems like a lot of work to do in one year, let alone 4 months. Maybe getting hello world to print to a serial terminal would be more achievable. Either way, you've hooked me.

    • @Kronark
      @Kronark  Месяц назад +1

      Eh, it's doable once I'm done with instruction encoding and registers - those are the two topics that are a bit heavy complexity wise. once those are done it's really just building new instructions and then programming as usual. :)
      To be fair, I don't have to be capable of full on light simulation in 4 months using this compiler - that's just when the thesis officially starts. so I still have some time to get vulkan and shaders etc working in january and febuary.
      But I'm just as curious as you are! Not super sure if this will work out either :D

  • @PS3PCDJ
    @PS3PCDJ 28 дней назад

    What most non-technical people and non-programmers fail to realize is that, programming is not about the language you use, but about your ability to turn something abstract like "automate this task" to actual working code.

  • @shashwatpatil4831
    @shashwatpatil4831 Месяц назад +1

    I also want to learn all this cool shit, hope you succeed in this 😊

    • @Kronark
      @Kronark  Месяц назад +1

      Hope i‘ll be able to teach you some of it with the next videos! :)

    • @shashwatpatil4831
      @shashwatpatil4831 Месяц назад +1

      @@Kronark looking forward to it

  • @sofianealloui
    @sofianealloui Месяц назад

    GOD!! I'm having goosebumps rn, bro please please please read my comment, Just yesterday I was thinking about this stuff that for sure it could be a way to write serious programming software with something like Scratch, because in machine learning there's many tools just focus in building the architecture of the models with no need to complexe programming and coding, So the problem is not here the problem is that everytime i think of something i just find it next in social media or youtube or even just while navigating the websites with no attention of looking for it, it happened with me many times i really start hating it, it happened for things have no meaning and was just personal inner experience and ideas for me, that day i was working for a design thing and idk how i just accidentally mistaken an 'r' and an 'n' with 'm' because i was zooming out, and that was just like something i didn't really think about for not than 5 seconds, then after exactly 1 day , a meme post on instagram appeared suddenly talking about the same thing exactly the same thing (for sure it was in a different context, but it was talking exactly about the same thing). It happend a lot, i start believing that the world isn't what we think it is, im thinking now that ideas are floating and traveling alway and for real shapes our world some how even in things we think they are independent like the internet and technology, I really start hating it, and no one is talking about it, it really needs to get talked about. bro please please read my comment

    • @Kronark
      @Kronark  Месяц назад

      This idea isn't new :)

  • @TristanRega
    @TristanRega Месяц назад +1

    I’m all in

    • @Kronark
      @Kronark  Месяц назад

      Welcome aboard!

  • @fizipcfx
    @fizipcfx Месяц назад +3

    Lets see how this youtuber turns out

    • @Kronark
      @Kronark  Месяц назад +3

      I‘ll try to not disappoint ^^

    • @ewerybody
      @ewerybody 15 дней назад +1

      Why do you have a Drakensang avatar image?!?! :D

    • @fizipcfx
      @fizipcfx 15 дней назад

      @@ewerybodyhurray another one noticed :)
      because of memories, the good old 40 level days

  • @S0ft_b4b3
    @S0ft_b4b3 18 дней назад

    dammnn, badass programmers r back, im in lov with this

  • @ozgureren91
    @ozgureren91 13 дней назад

    WOW. huge if possible.

  • @medhanzo
    @medhanzo Месяц назад +9

    girl.. good luck

    • @Kronark
      @Kronark  Месяц назад +6

      Thanks, i‘ll need it :D

  • @villagerjj
    @villagerjj 28 дней назад

    I am excited about this, imagine being able to adapt it to any other instruction set

  • @AaronLance
    @AaronLance 26 дней назад

    I've often thought that the future of software development would follow a similar node-based interface. Especially when dealing with hardware I/O... I've tried a few, but have always been disappointed with the implementations. I'm curious to see what you come up with!

  • @supreme-helix
    @supreme-helix Месяц назад +1

    I wanted to build a node graph editor for something that can run at the kernel level for a raspberry pi for embedded applications. It would make the raspberry pi a lot more powerful making it easier to develop real time applications like a flight controller on a drone or a rocket

    • @Kronark
      @Kronark  Месяц назад +2

      Sounds sick!
      My plan for now is to keep this prototype private, but I'll eventually reimplement the node compiler properly using the prototype itself and then release that software for free - maybe build a little node-network sharing platform on my website. I definitely want to get into embedded software some time after uni, so maybe we'll work together then :D
      But that's all still very much in the future for now, want to take a break from compiler design once I get it 100% bug-free, do some more artistic stuff (like simulations and video games) for a bit.

  • @BCannTV
    @BCannTV Месяц назад +1

    Would love to watch a livestream of you building this project.

    • @Kronark
      @Kronark  Месяц назад +2

      I had a similar thought yesterday, it could definitely make a relaxing little dev stream. But that'll have to wait until the prototype is 100% stable and we're doing some more interesting stuff - something like graphics programming where you see some visual feedback intermittently

    • @Kronark
      @Kronark  Месяц назад +1

      cheers! :)

  • @thegoldenatlas753
    @thegoldenatlas753 Месяц назад +1

    So you are making a visual programming lang from some of the lowest level langs available?
    Imo visual programming langs are superior to text based but lack tooling/refinment and are often specialized to an application space (like shaders) it will be interesting to watch.
    From a language architectural perspective, functional programming will be the ideal paradim to aim for, i recomend Rust for a low level example or haskell for an even more functional programing lang

    • @Kronark
      @Kronark  Месяц назад

      Already somewhat aiming for that, but those decisions aren‘t super relevant yet, since we gotta get the basic instructions working first - we‘ll design that once we get to functions :)

    • @thegoldenatlas753
      @thegoldenatlas753 Месяц назад

      @@Kronark what I would like to see imho is a tool that can take in a lang and convert all its node graph stuff to that lang, or at the very least support a lang in its entirity including crates/packages.

  • @razvanrusan9319
    @razvanrusan9319 Месяц назад +1

    An exciting and inpsiring proposition for a project! What I think you failed to justify is why you wish to write a node-based language compiler. What's wrong with using an existing programming language or writing your own? What is it about the visuals of node-based stuff that makes you prefer it?

    • @Kronark
      @Kronark  Месяц назад +1

      I left that entire section out on purpose, actually. No matter how I spun it, it always felt a bit arrogant to talk about why I want to move away from existing approaches. It didn't really add much to the introduction and may have caused some controversy - so I just cut it out.
      But my main gripe with the current state of the art is lack of control over my output. It's related to the current state of compilers, build tools and bundlers (in the case of web development) - I've dealt with so many CLIs for processing my source code in various different languages and every single one of them wastes so much of my time, I just decided to build my own and start from absolute zero. I've literally found myself screaming at my laptop while trying to bundle a website with webpack...
      Programming with text files in general has its downsides - in my opinion it's way to easy to make mistakes that take hours to debug + the compilation speeds for large projects are abyssmal to be honest (not the fault of the compiler developers, just the nature of text based source code processing).
      The main benefit I really appreciate about my compiler is, besides the decent compilation times, that I control every level of abstraction. If I want to optimise something on a machine code / assembly level, I can do that without needing some fancy compiler macros or some special syntax. And on top of that, I'll be able to use the same "syntax" (the nodes) for multiple targets - I could build an application natively for my x86 windows device, and then output the same functionality in optimised javascript with the flip of a switch. And if a certain target hasn't been implemented, I can then do so retroactively without waiting on a third party - since all compilation targets are completely in user control by design.
      But there's still a lot to explore for now, so we'll have to see where it all goes I suppose :)

  • @DerSolinski
    @DerSolinski 11 дней назад +1

    So... you say millisecond compile times, but are they?
    Compile time optimization need to consider large sections of a program to give the best results is this still true for your approach?
    If you compartmentalize to much with your node approach you might loose some of those optimization options.

    • @Kronark
      @Kronark  10 дней назад

      Yes, that‘s still possible with this approach. No matter how large a chunk of code is that needs to be considered for an optimisation, a node graph can be built that performs that optimisation.
      Compile time should stay in the millisecond range. There is no way for me to have tested that for sure yet though, since we‘re only building things from the ground up right now - so there just isn‘t enough complexity to see any significant compile time increase. But it‘s holding up pretty nicely so far!