Monkey programming language round 2...
- Joakim Christiansen
- Addict
- Posts: 2452
- Joined: Wed Dec 22, 2004 4:12 pm
- Location: Norway
- Contact:
Re: Monkey programming language round 2...
A great read on LLVM:
http://www.aosabook.org/en/llvm.html
Making a programming language has never been easier if you just convert it to their IR language.
I am thinking about making a language my self, but I almost feel that using LLVM IR is like cheating since I then doesn't really learn how to write a compiler. But it will probably do a greater job at being an optimizer and compiler than anything I could write. Maybe I for the fun of it would make a version using LLVM and another one using my own compiler.
http://www.aosabook.org/en/llvm.html
Making a programming language has never been easier if you just convert it to their IR language.
I am thinking about making a language my self, but I almost feel that using LLVM IR is like cheating since I then doesn't really learn how to write a compiler. But it will probably do a greater job at being an optimizer and compiler than anything I could write. Maybe I for the fun of it would make a version using LLVM and another one using my own compiler.
I like logic, hence I dislike humans but love computers.
Re: Monkey programming language round 2...
On the other hand, it will greatly increase your chance of (any kind of) success. You can always build your own back-end later, if you want. If you want to learn to write a toy compiler (much more manageable) then read Crenshaw's Let's Build a Compiler. Trond (on here) even wrote a comparable (yet slightly less detailed) article using PB:Joakim Christiansen wrote:...I am thinking about making a language my self, but I almost feel that using LLVM IR is like cheating since I then doesn't really learn how to write a compiler. But it will probably do a greater job at being an optimizer and compiler than anything I could write. Maybe I for the fun of it would make a version using LLVM and another one using my own compiler.
http://pbtut.blogspot.com/2009/08/base.html
Re: Monkey programming language round 2...
See also:Joakim Christiansen wrote:A great read on LLVM:
http://www.aosabook.org/en/llvm.html
Making a programming language has never been easier if you just convert it to their IR language.
"Getting Started with LLVM Core Libraries" [Packt] [Amazon]
and the upcoming LLVM Cookbook.
- LLVM Related Publications
- LLVM Documentation - Overview
- Projects built with LLVM
Re: Monkey programming language round 2...
Another blog post, Mojo2 is coming: http://marksibly.blogspot.co.uk/Krix wrote:Interesting read from Mark Sibly who decided to work on the next version of the Monkey programming language.
http://marksibly.blogspot.co.uk/

Re: Monkey programming language round 2...
edited by fred: talking about another programming language is one thing, askign for funding it here is not the right place, thank you.
Re: Monkey programming language round 2...
Indeed, should be kept in context with PB.
Last edited by HanPBF on Sun Dec 13, 2015 3:19 pm, edited 1 time in total.
Re: Monkey programming language round 2...
Mark is a good coder.
But in real life I personally need a real thing for quick development,
so I switched to GameMaker Studio and done a few contracts faster.
As to application programming, PureBasic is always the first thing I use,
for example, for making a basic game level editor, in PB it usually takes a week,
but in BlitzMax it takes much longer to do it correctly, doesn't mean BMax is not good,
but it's way too cryptic and the docs is second to none if you actually try to use it.
I think I can't actually utilize Monkey (1 or 2) very well yet.
But in real life I personally need a real thing for quick development,
so I switched to GameMaker Studio and done a few contracts faster.
As to application programming, PureBasic is always the first thing I use,
for example, for making a basic game level editor, in PB it usually takes a week,
but in BlitzMax it takes much longer to do it correctly, doesn't mean BMax is not good,
but it's way too cryptic and the docs is second to none if you actually try to use it.
I think I can't actually utilize Monkey (1 or 2) very well yet.
This field was left intentionally as signature.
Re: Monkey programming language round 2...
I never understood why Monkey isn't mega-popular. A single-source platform for pretty much every platform and a very clean syntax and IDE.. Everyone goes to PhoneGap or those .NET solutions from what I've seen as a freelancer.
Re: Monkey programming language round 2...
Because it isn't mega-popular; and partly because of the developer's poor support record.tj1010 wrote:I never understood why Monkey isn't mega-popular.

Texas Instruments TI-99/4A Home Computer: the first home computer with a 16bit processor, crammed into an 8bit architecture. Great hardware - Poor design - Wonderful BASIC engine. And it could talk too! Please visit my YouTube Channel 

-
- Enthusiast
- Posts: 334
- Joined: Mon Feb 04, 2013 5:28 pm
Re: Monkey programming language round 2...
While I admire the scope of the project, all the possible targets, the modern features of the language, etc. I dislike the fact it's not 'really' a compiler but just generates code for n different compilers on the various platforms.
I understand this makes all a lot easier for him and at the same time takes advantage of years of work already spent on the respective compilers, translates to a higher quality of code generated and help enormously in importing source code available in other languages.
But I can't picture myself using something which has to go through all these intermediate steps, with all these dependencies.
Maybe it looks more productive, but it's not for me as a hobbyist. It's just a philosophical thing maybe, but it goes against my idea of lean and mean programming.
If it were a true compiler I would at least try it out.
I understand this makes all a lot easier for him and at the same time takes advantage of years of work already spent on the respective compilers, translates to a higher quality of code generated and help enormously in importing source code available in other languages.
But I can't picture myself using something which has to go through all these intermediate steps, with all these dependencies.
Maybe it looks more productive, but it's not for me as a hobbyist. It's just a philosophical thing maybe, but it goes against my idea of lean and mean programming.
If it were a true compiler I would at least try it out.
-
- User
- Posts: 62
- Joined: Tue Mar 18, 2014 4:25 pm
- Location: Bogotá, Colombia
Re: Monkey programming language round 2...
DontTalkToMe wrote:While I admire the scope of the project, all the possible targets, the modern features of the language, etc. I dislike the fact it's not 'really' a compiler but just generates code for n different compilers on the various platforms.
I understand this makes all a lot easier for him and at the same time takes advantage of years of work already spent on the respective compilers, translates to a higher quality of code generated and help enormously in importing source code available in other languages.
But I can't picture myself using something which has to go through all these intermediate steps, with all these dependencies.
Maybe it looks more productive, but it's not for me as a hobbyist. It's just a philosophical thing maybe, but it goes against my idea of lean and mean programming.
If it were a true compiler I would at least try it out.
Then you should pretty much stop programming at all. The majority of compilers "compile" to some other kind of "language". The most popular being Java and C#, both of which compile using their standard tools to some intermediate language (Java bytecode and .Net Msil). Which is the same for Scala, F#, Boo, VB.net Groovy. Even C/C++ calls in Assembler in the Compilation process, and I assume that PB does that too.
-
- Enthusiast
- Posts: 334
- Joined: Mon Feb 04, 2013 5:28 pm
Re: Monkey programming language round 2...
Thanks for quoting my complete message just one post above
I like to use something working at most one step above ASM, let's say it that way. And not too fat (current MS products are so off-limits to me). Else it's not fun, for me. Just stress and house keeping to maintain some behemoth in a working state instead of programming.

I can do that. Or continue as I'm doing now (see below).juankprada wrote: Then you should pretty much stop programming at all.
I know it does it, that's ok. I'm not extremist up to that point. Generating binary code directly or using an ASM + linker are both acceptable. Invoking a C++ compiler it's my breaking point, it's not exactly small or fast to work with like an assembler, especially if it's the backend of what it's called a compiler.juankprada wrote: I assume that PB does that too.
I like to use something working at most one step above ASM, let's say it that way. And not too fat (current MS products are so off-limits to me). Else it's not fun, for me. Just stress and house keeping to maintain some behemoth in a working state instead of programming.
Re: Monkey programming language round 2...
TI-994A wrote:Because it isn't mega-popular; and partly because of the developer's poor support record.tj1010 wrote:I never understood why Monkey isn't mega-popular.
Compared to what? How many native single source cross-compilers are there? AGK and others make the support of Monkey X look great.. Monkey X also has the cleanest IDE and syntax of anything I've seen.
I cringe at the thought of having to use the JS and .NET app tools and using Android Studio and Xcode directly just isn't realistic unless you have a team or are doing a small project.
Re: Monkey programming language round 2...
If, by great support, you mean consistently abandoning their products every few years, then, absolutely.tj1010 wrote:AGK and others make the support of Monkey X look great..
Being an active user of Visual Studio, Android Studio, and XCode, I honestly can't relate to your cringe factor. Granted, the languages need some getting used to, but their respective IDEs, with their drag-&-drop UI designers, make it so easy; even for substantial projects. Moreover, these power-packed behemoths are absolutely free!tj1010 wrote:I cringe at the thought of having to use the JS and .NET app tools and using Android Studio and Xcode directly just isn't realistic unless you have a team or are doing a small project.
Perfectly suited for solo, kitchen-table developers; no teams required.

Texas Instruments TI-99/4A Home Computer: the first home computer with a 16bit processor, crammed into an 8bit architecture. Great hardware - Poor design - Wonderful BASIC engine. And it could talk too! Please visit my YouTube Channel 

Re: Monkey programming language round 2...
How many apps do you currently have on the market? I wan't to see what you've made by writing two times on different machines on your own.TI-994A wrote:If, by great support, you mean consistently abandoning their products every few years, then, absolutely.tj1010 wrote:AGK and others make the support of Monkey X look great..
Being an active user of Visual Studio, Android Studio, and XCode, I honestly can't relate to your cringe factor. Granted, the languages need some getting used to, but their respective IDEs, with their drag-&-drop UI designers, make it so easy; even for substantial projects. Moreover, these power-packed behemoths are absolutely free!tj1010 wrote:I cringe at the thought of having to use the JS and .NET app tools and using Android Studio and Xcode directly just isn't realistic unless you have a team or are doing a small project.
Perfectly suited for solo, kitchen-table developers; no teams required.
Learning the languages isn't the problem. It's time. I've used most of the dev tools as a freelancer and for my own products.The whole problem and reason for demand is shorter time.