Oh come on with the vilifying far-right conservative hyperbole...
Every developer in charge of implementing a language is conservative in the changes he will make to the language. it's the nature of the beast. If I was to tell you, for example, your code needs a rewrite, even if it would take you a day to do so, you would ***tch for 3 weeks before even trying. and that is true for most programmers. by nature you want to be conservative in making changes because you dont want to piss off your user base.
Nobody is suggesting radical changes to GML like turning it syntax or paradigm upside down.
I am suggesting that the community start by being more investigative with alternative architectures and techniques not covered in usual tutorial fare, or patterns found in other languages with applicability in GM. And from that, I hope that some of them will prove to have long-term merit for GM development, and YoYo can then devote efforts in facilitating those architectures/techniques with improved GML syntax.
We all agree that there needs to be some sort of stability in the language for there to be a point. If GML changes so often that it no longer brings consensus between the developer and the compiler, it ceases to be useful.
But compared to shifting around too quickly, the kind of fixation that is today's GML really isn't much better.
as for that only one feature we ever rejected, the triggers. it was just a silly substitute for a if condition in the step event. of course not many used it.. and if I remember why it was not part of gms1.4 is that they forgot about it converting gm8 to gms1.4 while 8.1 was a different branch... There was a "Ooops we forgot triggers, do you guy really want it" post and many said they did not use it. so yoyo did other more pressing things instead like yyc...
If you put that hat on trigger events from day one, of course you're going to miss out on the benefits it can confer. And because so many people did the same, YoYo lost a valuable opportunity to improve on a fledgling code organization feature.
The reason was not that YoYo forgot about it in GMS 1.x's development --- it was actually part of GM up until GMHTML5, where it still existed and was working. Ever since triggers were introduced, its "like a condition in the step event" aspect was the only one most people ever thought of (except me), so it was quickly discarded by popular opinion without any critical evaluation. On several occasions, I showed that with small variations in the trigger condition, addition of active code and alternative architectures, it is possible to reorganize various cross-cutting concerns with it instead of repeating step code. It proved to be too unorthodox compared to community practices to catch on.
Pressure on paring down features mounted when the page on GMS 1.x was turned, and one day the admins held a referendum on trigger events. I remember the wording was along the lines of "OK, we think trigger events are useless, what do you think". Popular opinion rushed in concurring that it was useless because most people preferred hogging code in the step event. Then triggers were dropped on GMS 1.0.
Yes, even I admit that trigger events had a flawed implementation, for example the inability to set up initialization code for implementors and object-local triggers. But for expansions like that to have happened, the user community can't be so conservative as to refuse to evaluate new organization techniques and challenge current community "best practices" --- in this case, the everything-in-the-step-event fashion that is still popular today. Note the quotes on "best practices", some of them are undoubtedly questionable for anyone with professional experience in programming.
I would actually welcome a forum to discuss changes we really want to the language. but if it would turn into an outright political left vs right insanity politics we see on social media, I'm out. What's next, language don't change because trump? c'mon guys...
I am not using the term "right-wing" in the hyperpartisan sense. I am using it as the original definition of the term (i.e. conservative and traditional), in the context of how developers look at their craft and the languages they use.
My opinion is that there isn't enough appreciation nor growth of reformist and investigative voices (i.e. left-wing voices) in GM user circles. The same old techniques and organization patterns are being used to produce the same old kinds of products, and some of those traditional results actually do suck:
- Poor code maintainability and readability due to large contiguous code chunks, especially in Step events
- High prevalence of repeated code
- High coupling between components
- Overuse of graphical representations as a data model
- Overrepresentation of pixel art and action games in GM products
In order to cater to this community orthodoxy, YoYo is maintaining GML in a direction that favours these suboptimal, sometimes outdated practices. That is making GML go backwards and stay backwards, while YoYo's competitors continue to evolve.
I suggest that you watch some of GMWolf's code architecture videos as an example of left-wing voices that GM desperately needs. He knows inside-out about the flaws of existing models, and many of those videos propose solutions to them. If alternative techniques like his would get wider consideration and acceptance, YoYo would be more motivated to promote and grow new features facilitating more effective use cases.
I too would welcome a forum to discuss new architectures and language/IDE changes that could facilitate them, but not if it would just be written off as weird for looking nothing like usual tutorial fare. And given that the "written off" part has happened before, I worry about it repeating today because of orthodoxy favouring current practices (many of which are neither optimal nor modern). Nothing good can come out of GML stagnating this way.