Monkey as a Systems Language

About Monkey 2 Forums Monkey 2 Development Monkey as a Systems Language

This topic contains 4 replies, has 3 voices, and was last updated by  cocon 1 year, 1 month ago.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #13696

    scurty
    Participant

    Okay so I know Monkey is targeted towards games mostly, but after being on the forum awhile it almost seems like a lot of people want or use Monkey as if it were a Systems programming language like C/++ or Rust etc… I’m not too sure about this myself; extended from C(You could right some C with ASM in it for an OS/OS Level App – but implemented in Monkey but you’d likely lose the multiplatform feature in this purpose.), it has a GC(Might be a bit restrictive to some memory memory specific applications), and it’s compiled which is a big PLUS. It could be like a Systems language indeed, I guess this begs the question WHAT IS A SYSTEMS PROGRAMMING LANGUAGE in a list of requirements and would Monkey fit any or all of those? Possible but not the target as of now. Thoughts?

    #13697

    abakobo
    Participant

    IMHO a system language is a language that let you do everything possible with the hardware+os you have with absolutely no restrictions.
    So for bootloaders and cpu initialization you must have assembler (or machine language), even C is not fully featured for that kind of programming.
    For Oses you must have some cpu specific features like multi-thread. Those things would have to be implemented for monkey2 and it would be a lot of work. For this reason I don’t think mx2 is suitable for sys programming. Mx2 is a high level, “easy to manage” language, focused on productivity. Setting up all your externals all the time can be a waste of time, you’ll be better with the native stuff in the end.

    But well you can do a lot of things with mx2 externals, those externals are actually not mx2 language and they are your interface with the OS, using various available API’s. And all the stuff is finally compiled/linked like a native c++ code. mx2 should just make your life easier there.

    https://wiki.osdev.org/

    #13699

    scurty
    Participant

    C is considered a Systems Language even though it has to interface with Assembler to make operating systems or bootloaders. Which is where the ambiguity comes for me. A Turing complete language is more of a requirement in that respect. Other than that I agree.

    #13715

    abakobo
    Participant

    As long as it’s compiled and can have some inline assembly it works… You could write a new target for hardware drivers! But who would do that? ;P
    Yes of course C and C++ are the main sys languages nowadays.

    #13717

    cocon
    Participant

    What can’t really happen, is to remove C completely and place Monkey there. By removing C you immediately remove and the operating system as well, because all of the operating system is based in C code.

    However you could have Monkey as a system programming language, starting from a project that turns Monkey code to Microcode in order to be sent to EEPROMS. And then going on and on… 🙂

Viewing 5 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic.