Diese Seite mit anderen teilen ...

Informationen zum Thema:
WinDev Forum
Beiträge im Thema:
Erster Beitrag:
vor 9 Monaten, 3 Wochen
Letzter Beitrag:
vor 9 Monaten, 3 Wochen
Beteiligte Autoren:
Peter Holemans, GuenterP, DerekT

[WD21] Don't use multi-syntax methods as it may break your projects

Startbeitrag von Peter Holemans am 01.06.2017 12:54


As a warning: Don't use multi syntax methods in classes as it may break your project(s).

Today I added two new syntaxes to a method (that was already multi-syntaxed) by copy/pasting the first two syntaxes into the class again.
All of a sudden:

  • the IDE started to propose to rename a multitude of variables (which have nothing to do with the syntax additions to the method).
  • next nothing compiled anymore and the IDE simply crashed
  • deleted the cpl directory, the .env file, etc...
  • opened the project again and reverted to the previous version of the class from the scm with only the original two syntaxes for the method which always worked until now in the eight projects amongst which it is shared
  • no compile errors anymore indicating everything is fine...
  • test project in debug run to make sure everything is still OK...
  • surprise, surprise: the existing previously running and deployed code goes into exception now during execution: no matching syntax found (WTF???###!!!)
  • reclosing, redeleting cpl, .env, etc, etc, etc, ...
  • NOT A SINGLE METHOD signature that previously ran excellently worked. All go into exception upon their call during execution with teh message: no matching syntax found
  • This class (integrating with custom written .Net C# Assemblies as I am moving piece by piece functionality away from WX) was shared among 8 projects and broke thus 8 projects.
  • Rewriting the multi syntax of that method in the class into differently named methods with identical code next ran fine. It is clear that their multi-syntax feature (introduced in WX18 or so) is still not up to production level. The immensely annoying issue of this piece of junk IDE is now that I need to review the other 7 projects where the class is shared to cover for these changes removing the multi syntax method calls into the separately named methods.

What a piece of JUNK IDE... :mad: :sneg:
If they can't implement it right, then they should simply leave it out instead of people having to waste so much time...

Loosing my religion already for quite some time in this piece of junk...
(But better is around the corner (VS))

Just FYI



This is all becoming pretty tiresome.
I appreciate your frustrations but all your posts now seem to be critical, even abusive, regarding Wx products.
However to many of us who require less sophisticated multi platform software than you are involved in Wx has and still does provide a feature full and productive IDE for us to work with.
I know its not perfect, quirky even in places, but it still has a place.

Your answers, solutions and comments in the past have always been a useful source of information to this community.
I would like to see that continue - just maybe with a bit less venom.


von DerekT - am 01.06.2017 16:32
Hi Peter,

the IDE of WINDEV / WINDEV Mobile is not "a piece of junk" - it's you who is (ab)using the WLanguage to its very limits. In a former life, I've been an IBM mainframe software/hardware engineer in different positions for quite a few years. And I still do listen whenever IBM says they're doing this and that because ...

Long time ago it's been a wake-up call for me when IBM terminated OS/2 development and the cooperation with Microsoft and went to make AIX their preferred OS. The eye-opener was the official reason for this step. They said that modular operating systems like OS/2 are untestable and that the usual IBM-quality could not be maintained while supporting such a system. They did not mention security problems which at that time were no problem at all while they are a main problem of the Windows OSs today.

What does "modular" mean? In general, it means OOP and C++ and all the nearly unmaintainable stuff programmers cranked out in all of the past 20 years. "nearly unmaintainable stuff" means that the usual coming and going of IT-personnel mostly leaves big junks of software which are faulty, widely undocumented and cannot be understood by their successors. Masses of sometimes huge projects (and huge sums of money) are abandoned each year because of this circumstance.

The only protection in OOP against such catastrophic events like a programmer who's dropping out are teams using one out of a few different methodologies. As Frederick Brooks (ok, an IBMer again) shows in his book "The mythical man month" https://en.wikipedia.org/wiki/The_Mythical_Man-Month a team is most efficient if it consists of as few as possible members, ideally a single "super-wo/man", a project manager and a secretary for keeping things organized. OOP by itself makes such a slim approach impossible. Means: programs made on the basis of OOP have to be more expensive than procedural ones, no way out. Btw, OOP is not the natural way computers work - by no means! All OOP has to be compiled or interpreted into, yes, a procedural mega spaghetti code before it can be executed on any computer.

So, if you're representing a small software shop of 1 - 10 people as most of us are, it is advisable to stay with procedural coding. Over all it's using less time and less cost to finish a program. A single programmer, a secretary and a project manager (both for a few projects) are enough to do the job. Plus, you have a satisfied programmer who has done a full project from start to end. Most programmers I'm interviewing never in their professional life had done a full project from start to end!

von GuenterP - am 02.06.2017 06:33
Hi Derek, Günter,

Point taken... I'll stop my WX rant.

Fact is I lost half a day on fixing stuff that was broken by the IDE. And it's not the first time that happened and I'm sure I'm not the only one on this forum that had this happened to him. I just hope you both understand my frustration with this. If they can't implement this feature fully baked, they simply shouldn't...

Another fact is that while working a lot of my time in VS over the last two years or so I didn't encounter a single crash, let alone that stuff was broken because the IDE wanted to be smarter and tried to fix stuff for me while actually breaking it...

I'm not gonna comment in depth on the procedural or object oriented paradigms or start a holy war over it. Both have their merits and shortcomings. Me too, I read the Mythical Man Month and many more like that 15 years ago or so... Me too, I am an old school procedural programmer starting in the 90's (Pascal, VB, Progress, C, ...) that gradually converted to object orientation. My take on it: it makes program architectures indeed more complex but the maintenance is a breeze on the other hand as it is like working with Lego bricks. The main benefit of encapsulation, you know? Most of my work BTW is in the line of yours: end-to-end full cycle solutions development from analysis, re-engineering over to design, development, implementation and evolution. Moving over to OO over the last decade or so provided me the possibility to create many of these dedicated task reusable Lego bricks that I start with on every project and that give me easily a 10 to 20 day headstart. Something that can be done in procedural to a certain extent as well but that would be a lot harder to be as generic and reusable as with OO.

I'll stop being tiresome though :-)
As a matter of fact, I'll do my uttermost best and stop posting anything unuseful to this forum or post critical thoughts about the vendor of what once has been one of my favourite dev tools as well... Just one last one: Let's all move to its censored fora ;-)

All the best,

Peter Holemans

von Peter Holemans - am 02.06.2017 07:30
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.