Jump to content

Recommended Posts

On 11/10/2021 at 2:52 PM, Kaj de Vos said:

Some of your objections are common objections to REBOL. A long time ago it occurred to me that a number of those are objections to REBOL's free form, as you say. It provides me a great feeling of freedom, but many others seem to be scared by it. 

Not sure why do you attribute lack of appreciation for free form syntax to being scary. It's not, it's just terrible for readability. While REBOL users and authors seems to be proud how you can put everything into one line (well, you can do the same even for C program), it leads to cases like in one of REBOL examples:

view w: layout [
  i: image 320x240  text-list 320x200 data b [forever [
    set-face i load value wait 1 if not viewed? w [unview break]
  ]]      

What the heck? How can you say where parameters of one function end and where the other one starts? Other one from examples:

send to-email u/text read to-url h/text alert "Sent"

Who can tell from just reading this line what is happening? is it this?

send(to-email, u/text)
read(to-url, h/text)
alert("Sent")

or this?

send( to-email(u/text), read(to-url, h/text), alert, "Sent")

The language seems to be designed to break a good programming practice of Single Line Responsibility principle, focusing more on simplicity of the language and its expressiveness than readability and code maintenance. 

On the features list you have "Human-friendly syntax. Closer to English than most computer languages." the problem with human language is that it's ambiguous.

 

Also in why section you wrote "It is known that the number of lines of program text a software developer can write per unit of time is largely independent of the programming language." - any source for this, because I'd say it's quite opposite (e.g. ASM vs C vs Python vs C#)? 

 

"Therefore, a language that can express more concepts in the same space will make you more productive." - are you sure in this paragraph I removed in it all the interpunction for sure it increased my productivity but did it improve readability should we therefore write always already minified code ;-)  

 

Some additional (serious this time) questions:

 

1. How are you going to handle numerical expressions, like in REBOL? For example what will be the result of following line (65?) and do you consider it intuitive for language users:
print 1 + 2 * 3 + 4 * 5

2. Will you support in Meta local variables, or everything will be global? I think it was the case of REBOL.

3. Will collections/series have internal state (position) like in REBOL? At least for me it's really bizarre approach - while nice for simple uses, I'm not sure about implication of this on different algorithms that may require use of multiple "pointers" to the same data ("at" is using the same indexing as pick)

4. I assume that with compiled and not interpreted language you will not have a feature of REBOL that code = data and can be transferred. Is that correct?

5. Which data types/literals do you plan to have in the language?

6. What about multi-dimensional arrays?

7. Do you plan to support closures which I think do not exist in Rebol?

8. Do you plan to add any modern "language safety" mechanisms that exist e.g. in Rust or Zig - related esp. to memory safety and ownership?

9. Do you plan to have some other compile-time safety features (like const/immutable/final) or in/out for arguments?

10. Do you plan to have built-in support for parallel processing/concurrency (like Red)?

 

Edited by ilmenit
  • Like 2

Share this post


Link to post
Share on other sites
12 hours ago, ilmenit said:

On the features list you have "Human-friendly syntax. Closer to English than most computer languages."

This also assumes that English syntax is human-friendly ;)

Edited by drac030
  • Haha 2

Share this post


Link to post
Share on other sites

Right, it wouldn't be for you, and it wasn't for me, originally. 😀 Although the SDX documentation is excellent, and when I returned to the Atari scene, it struck me that the Poles' command of English is much improved.

 

This is what happens when you keep practising a language: you will keep improving all your life.

 

There is a controversial alias function in REBOL that allows to replace the English words with Polish ones. The argument against it is similar to the general argument against having freedom in REBOL, but I was always in favour of it. I want to replace the English words with Frisian ones. 😎

Share this post


Link to post
Share on other sites

@ilmenit What a mash of valid questions, grave misconceptions, and rants against REBOL. I will answer them later, and start writing a FAQ, because I don't have time to keep repeating the answers. Before I untangle this Gordian knot, I first have to help @zbyti and others get started.

 

But even more importantly, this weekend I first have to watch the speed skating in Tomaszów.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Yknow, Kaj, taking criticism as "grave misconception" is not helpful to your argument. These guys know their stuff. If one disagrees with you, well...fine, that happens a lot. If two do, then hmmm ok but still. If nearly everyone is saying the same thing - you're probably wrong.

You like REBOL, I get it. To me, it's a bizarre language that as far as I can tell never got much traction, but OK, maybe be I'm wrong. Do your thing, I appreciate the effort and skill it takes. But don't expect people to actually use it for much, this is entirely the wrong target market.

Edited by danwinslow
  • Sad 1

Share this post


Link to post
Share on other sites

I'm not wrong, there are grave misconceptions in there. Please have patience until I have time to answer them.

 

I think it's quite presumptuous of you to equate everyone here with your own preferences and preconceptions. Anyway, if you are not the target market, what are you doing in this thread? I'm not forcing anything upon you.

  • Like 1

Share this post


Link to post
Share on other sites
6 hours ago, Kaj de Vos said:

But even more importantly, this weekend I first have to watch the speed skating in Tomaszów.

:thumbsup: And two cyclocrosses (one in Leuven, one in Tabor). And formula one. No programming for you ;)

  • Like 1

Share this post


Link to post
Share on other sites
On 11/12/2021 at 11:19 AM, Kaj de Vos said:

@ilmenit What a mash of valid questions, grave misconceptions, and rants against REBOL. I will answer them later, and start writing a FAQ, because I don't have time to keep repeating the answers. 

Take my comments about REBOL with a grain of salt and a lot of winks 🙂 

The thing is, the first impression of the language is that it's trying too much to be smart. Where it's trying to be innovative it leads to issues - dialects lead to lack of common understanding of the language (learning new language for each domain), thinking that dialects will solve problem of "easy programming" in each domain (sorry but no, the ones who aren't programmers require GUI tools and the ones who do programming want to use what they know), lack of readability with mostly syntax-free approach (examples given previously), safety issues (esp. that code = data and can be freely exchanged over Internet between REBOL programs - similar to binary serialization that got deprecated in many languages because of remote code execution issues), too close mixing code and data (GUI examples of REBOL) leading to tight coupling, focus on linear processing with lack of built-in performant collections (at least Dictionary/Associative Array, as both HashMap and Self-Balancing Tree, Unique Set, Tree), general performance issues (that you might mitigate in Meta with static compilation), lack of clear vision which domain the language is aiming to conquer and which language it will replace (and the answer than "all of them" sounds a bit naive).

 

While I may have grave misconceptions, they kind of fit the theme, because you are trying to revive the language back from grave ;-) ... which is a good thing! We all here look at the retro concepts, software, hardware and even programming languages and try to keep them alive! 

 

The questions I ask are coming from my actual curiosity about programming languages and I really hope I'm wrong with my complains and you can explain me why I'm wrong. On the other hand, if there is some truth in my "rants", then I hope they may help in making the language better than REBOL (or LISP, because both have similar issues).

Edited by ilmenit
  • Like 1

Share this post


Link to post
Share on other sites

I'm waiting patiently for the continuation of this discussion and more examples.

 

For example: I thought FORTH was very strange until I listened & read the interview with FORTH author and what its all about it.

  • Like 1

Share this post


Link to post
Share on other sites

Kaj, may I ask you what is the reason why you are working on this meta language?

Is it for some academic purpose like diploma project?

Because in my opinion that would be the only pseudo-valid excuse to waste your potential. It looks like you are very intelligent person if you can do something like this, I'm just afraid that no one will adopt your language.

Today 98% of Atari "stuff" is coded in assembly, there are very few exceptions when game is written in some higher level language and Ilmenit is I think the only person who was/is able to create really good and high quality games using cc65. The reason for not writing them in pure assembly (what I can imagine) is that the games always use some higher logic or ai decision making which is much easier handled in language like C.

Look at how games written in Mad Pascal look like, there is nothing special there even the fact that everyone can write Pascal code since it is taught in kindergarten.

Today there are around 15 people who are able and willing to spend their free time to code games for A8, believe me, none will use meta even in their wildest dream. 

So eventually if someone takes the painful path to code a game in meta then it might be some pong or snake... and it will not be written in meta because it is a good language, but to hard proof that it is possible.

 

I don't want to offend you, it just looks like you need to meet the reality.

I would wish your language to be absolute awesome and used by everyone, but that is a pure nonsense.

 

To lighten the post, I have found some definitions of rebol and matlab at urban dictionary: [now removed]

 

Which reminded me one that I found many years ago at University:

 

 

Edited by matosimi
removed jokes
  • Haha 1
  • Sad 1

Share this post


Link to post
Share on other sites
18 minutes ago, matosimi said:

Look at how games written in Mad Pascal look like, there is nothing special there even the fact that everyone can write Pascal code since it is taught in kindergarten.

You broke my heart :D Maybe FloB don't heave fancy effects but it's really, really good game ;)

  • Like 3

Share this post


Link to post
Share on other sites
49 minutes ago, zbyti said:

You broke my heart :D Maybe FloB don't heave fancy effects but it's really, really good game ;)

Also the Pac Mad

  • Like 3

Share this post


Link to post
Share on other sites
4 hours ago, zbyti said:

You broke my heart :D Maybe FloB don't heave fancy effects but it's really, really good game ;)

 

3 hours ago, ilmenit said:

Also the Pac Mad

Ok,ok... I did not know about these 2 being written in Mad Pascal, but if you check the AA thread "games written in Mad Pascal" you see lot of very "basic" stuff.

These two are exception to the rule.

Edited by matosimi

Share this post


Link to post
Share on other sites
25 minutes ago, matosimi said:

Ok,ok... I did not know about these 2 being written in Mad Pascal, but if you check the AA thread "games written in Mad Pascal" you see lot of very "basic" stuff.

These two are exception to the rule.

Shame on you @Gury :D

 

Then there is no such rule for CC65 :D Besides @ilmenit games I don't seen even simple games.

 

@matosimi I think your (great game!) Ridiculous Reality is doable in Mad Pascal ;)

Edited by zbyti

Share this post


Link to post
Share on other sites
5 hours ago, matosimi said:

Because in my opinion that would be the only pseudo-valid excuse to waste your potential. It looks like you are very intelligent person if you can do something like this, I'm just afraid that no one will adopt your language.

[...]

Today there are around 15 people who are able and willing to spend their free time to code games for A8, believe me, none will use meta even in their wildest dream. 

Well, I think many 8bit programmers would welcome an alternative to assembler, that will allow higher level of development however without sacrificing performance. There are some pretty good solutions for it already that have overhead over ASM on level 20% to 100%, which is already great for everything that does not require top performance, and not everything requires. Writing in ASM is time consuming in comparison to higher level languages and lack of time is one of the reasons why we have so many unfinished hobby projects. Yes, on 8bit and with skilled programmer ASM will always be faster and allows to push the machine to the limits... but again, it's not always needed.

For the ones who like to save their time there are compilers for well known languages like CC65, KickC or Mad Pascal (which is actually very good, but... but has Pascal syntax that for many is "meh"). There are new languages of high potential like MillFork. There was great Atalan that got, unfortunately, discontinued. There are some high-level macro assemblers like NESHLA, K65 or even MADS, ACME or CA65.

The thing is, all these languages and compilers primarily aim to be the best solutions for very specific area: 8bit development. All of them try to solve issues mentioned in great article by David A. Wheeler. They focus on providing tools for the most common problems in such development: no dynamic allocation, control of memory alignment, features for handling memory banks, small but useful runtime library, use of specific 8bit features like zero page on 6502, easy linking with binary data or code compiled by other assemblers, inline assembly, ability to generate executables in different formats including cartridges.

Looking at what @Kaj de Vos is trying to achieve with Meta, it is very ambitious, when he wants to address needs of both 8bit platform and "big" platforms and it will be hard and time consuming. Only to properly support 8bit systems and only one platform, to a level that people will actually use the compiler, it can be too much for 1 person. From my (still limited) understanding of how REBOL works - with focus on 8bit development only, the compiler could have a dialect of "rule based translation" similar to Atalan's processor files, however Kaj decided to use C as backend. This will lead to quite poor performance (if CC65 is going to be used, but may be improved in the future with LLVM MOS progress) on 8bit, but at least will be portable cross-platforms. 

I agree with @matosimi about limited number of developers. On A8 there is probably like he estimated, maybe 15 people. Probably more on C64, Spectrum or NES. Then out of them remove the ones wanting to use only ASM (and that's probably 80% of people), then remove people who already use some alternatives mentioned above. If you are lucky you may have at the and 1 or 2 people who will like to use Meta for something 8bit related.

  • Like 2

Share this post


Link to post
Share on other sites

Now that we've established that it's a waste of time (which I can agree with) let him do whatever he wants with his time.

 

He was warned:]

  • Like 1
  • Thanks 1
  • Sad 1

Share this post


Link to post
Share on other sites
3 hours ago, zbyti said:

Shame on you @Gury :D

 

Then there is no such rule for CC65 :D Besides @ilmenit games I don't seen even simple games.

 

@matosimi I think your (great game!) Ridiculous Reality is doable in Mad Pascal ;)

Damn, got me! 😄

 

3 hours ago, matosimi said:

 

Ok,ok... I did not know about these 2 being written in Mad Pascal, but if you check the AA thread "games written in Mad Pascal" you see lot of very "basic" stuff.

These two are exception to the rule.

Just for info... The games in that thread were made just for fun, to prove the concept of converting Sinclair Basic games from specific old book to Atari in its easiest and simplest form. I would make them much better for the look and playgame if I wanted to, but I didn't.

Mentioned games, Pac Mad and FloB are fantastic, they show what Mad Pascal is capable of. I think it is the best high level language for little Atari.

  • Like 2

Share this post


Link to post
Share on other sites

For me, Pascal is the closest thing I would use for major project like some more complex arcade game. No CC65 for me, it's syntax does not attract me, too ugly and cumbersome.

Edited by Gury

Share this post


Link to post
Share on other sites
23 hours ago, matosimi said:

Today there are around 15 people who are able and willing to spend their free time to code games for A8, believe me, none will use meta even in their wildest dream. 

 

17 hours ago, ilmenit said:

I agree with @matosimi about limited number of developers. On A8 there is probably like he estimated, maybe 15 people. Probably more on C64, Spectrum or NES. 

Guys, generally I agree with those fragments, I just want to point out that only in Poland there is at least 15 active A8 game developers.

 

 

And regarding Mad Pascal games - there's more decent games written in MP, for example Vox Regis, Zilch, Pop'n'Drop, Mr Hoppe (all by Bocianu), and also Angry Betty, Betty's Issues by Michał Jaskuła, Star Vagrant by MADRAFi.

 

Edited by +Adam+
one more example, clarification
  • Like 3

Share this post


Link to post
Share on other sites
11 minutes ago, Kaj de Vos said:

@matosimi has vandalised this thread, so I am forced to start a new one:

 

I'm sincerely sorry that the thread got completely offtopic (madpascal). I will not reply in this or in your new thread anymore. good luck with your projects (no sarcasm).

Share this post


Link to post
Share on other sites

@Kaj de Vos, do not get oversensitive. Isn't "vandalizing" too strong word and making a new thread a bit overreacting? Just like Matosimi, beside asking some questions, I also made some jokes here (maybe not funny). Discussions, while should be on topic, do not need to be only serious. If you see that the discussion is going too much to some direction, you can ask the others to stay on topic - on all the threads there are digresses.

Do not get to situation like recently author of vlang that started to "moderate" all the negative comments about the language, because it will lead to bad smell around the language. My advice - whenever you publish stuff, get ready for criticism... but also think if there isn't a bit of truth in highlighted points, when they are reappearing.

Share this post


Link to post
Share on other sites

It's not about being off-topic, that brought up some interesting information. It's about your post of images with insults and misinformation about REBOL. Every service, including this forum, that creates thumbnails includes that picture in a link to this thread now. Obviously, I can't use this thread anymore to represent Meta.

Share this post


Link to post
Share on other sites
1 hour ago, ilmenit said:

do not get oversensitive. Isn't "vandalizing" too strong word and making a new thread a bit overreacting?

I agree with OP here, the thread has been derailed, additionally in a very embarrassing way (unfortunately, I am not able to express Polish "żenujący" any better). So closing this one and starting anew - without involving himself into pointless discussions about asm, cc65 or MadPascal - seems quite a rational decision.

Edited by drac030
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...