Connection point poll

Moderator: Benj

User avatar
Steve
Matrix Staff
Posts: 3111
Joined: Tue Jan 03, 2006 3:59 pm
Has thanked: 89 times
Been thanked: 397 times
Contact:

Connection point poll

Postby Steve » Tue Jun 27, 2017 10:59 am

Hi all,

We will be running a set of polls through the Welcome page in Flowcode v7 over the summer so we can gauge opinion on how Flowcode and its features are being used. The first of these will go live shortly and will ask about connection points as we are contemplating their removal from Flowcode v8. To supplement the poll and to allow our users to discuss it, we have added this topic.

So if you have a strong opinion about Flowcode's connection points and want to join in the debate, please feel free to post a comment below.

Regards,
Steve.
These users thanked the author Steve for the post (total 3):
petesmart (Tue Jun 27, 2017 12:08 pm) • kersing (Wed Jun 28, 2017 7:06 am) • EtsDriver (Sat Jul 08, 2017 11:10 am)
Rating: 15%
 

User avatar
petesmart
Valued Contributor
Valued Contributor
Posts: 395
Joined: Thu May 06, 2010 11:42 am
Location: Sydney, Australia
Has thanked: 190 times
Been thanked: 140 times
Contact:

Re: Connection point poll

Postby petesmart » Tue Jun 27, 2017 12:08 pm

Hi Steve,

Please don't remove this feature... I use the all the time, especially with case statements to jump out of the loop - it's great for MIAC and menus...

Having said that are you proposing an alternative?

Best

Pete
These users thanked the author petesmart for the post (total 2):
EtsDriver (Tue Jun 27, 2017 7:22 pm) • jgu1 (Mon Oct 23, 2017 7:03 pm)
Rating: 10%
 
sorry about that Chief!

Docara
Posts: 306
Joined: Sun Jun 23, 2013 1:29 pm
Has thanked: 28 times
Been thanked: 60 times
Contact:

Re: Connection point poll

Postby Docara » Tue Jun 27, 2017 12:50 pm

Hi Steve,

Why would you want to remove connection points? they are incredibly useful in certain scenarios.

If you are contemplating change why don't you make the 3d simulation an optional extra and concentrate on expanding the component simulation or making sure the user is able to fully access the microcontrollers inbuilt hardware on a hardware level eg i2c Lin etc

Additional, would it not be a good idea to fully document what is available in FC7 now which would free up Matrix staff (notably poor old Ben) who seems to get bombarded with basic questions from the forum which, frankly, ought to be covered in a good help file.

Sorry but my biggest bug bear with FC is the lack of a good help file within the program, which explains every function of the software which one could peruse at ones leisure.

Rant over!!
Regards
Matt

leoo
Flowcode V4 User
Posts: 48
Joined: Mon Jan 19, 2009 11:43 am
Has thanked: 38 times
Been thanked: 9 times
Contact:

Re: Connection point poll

Postby leoo » Tue Jun 27, 2017 1:09 pm

Hi All,

I concur with Pete and Matt with regards to not removing the connection points feature.

Regards
Leo

User avatar
Steve
Matrix Staff
Posts: 3111
Joined: Tue Jan 03, 2006 3:59 pm
Has thanked: 89 times
Been thanked: 397 times
Contact:

Re: Connection point poll

Postby Steve » Tue Jun 27, 2017 2:16 pm

The rationale is that Connection Points equate to a "goto" statement which is widely considered bad practice in most programming languages. A quick search of the internet will show a lot of bad feeling towards using "goto"...

As an alternative, we would make commands "break" (to jump out of the end of a loop) and "continue" (to restart the next iteration of a loop) as alternatives. These are common in many languages such as C, C++, Java, Javascript and Python, and promote better structure to programs.

I do understand it will require a fundamental change in approach if you usually use connection points, and our proposed solution would not break existing pre-v8 flowcharts.

User avatar
Steve
Matrix Staff
Posts: 3111
Joined: Tue Jan 03, 2006 3:59 pm
Has thanked: 89 times
Been thanked: 397 times
Contact:

Re: Connection point poll

Postby Steve » Tue Jun 27, 2017 2:21 pm

Docara wrote:Sorry but my biggest bug bear with FC is the lack of a good help file within the program, which explains every function of the software which one could peruse at ones leisure.


Hi Matt,

Our hope is that the Flowcode Wiki is comprehensive enough and contains the information our users need to use Flowcode. There is a beginners' course and lots of examples too - all available here:http://www.matrixtsl.com/flowcode/support.

We can't of course cover every scenario, which is why we rely on this forum. But if you have suggestions for content that is missing from the Wiki then please let us know.

Thanks,
Steve.

Docara
Posts: 306
Joined: Sun Jun 23, 2013 1:29 pm
Has thanked: 28 times
Been thanked: 60 times
Contact:

Re: Connection point poll

Postby Docara » Tue Jun 27, 2017 3:33 pm

Hi Steve,

Unfortunately, your logic is sound about Goto I have read this before and I agree in part - BUT we don't HAVE to use the Connections SO why remove it? - It's already there and it does come in handy if, for no other reason, than for troubleshooting our code. Please take the attitude -YES its bad practice to use it in 'proper' code but it can serve purposes which are useful leading to us producing proper code.

****************

The problem is your product is too/so good!!! :D therefore, I admit, it is easy to find flaws.

Now, if FC was free I would have no justification to moan but it is not. As I mentioned elsewhere here I could be working away sitting in a hotel room with a laptop perhaps with no WiFi and you (Matrix) expect me to use Wiki for help if I have a problem or post in the forum and get the answer some time in the future. Both scenarios would involve tethering which incurs charges and wasted time.

I should be able to click on any part of FC and easily find help on each and every function, icon, dropdown toolbar or whatever is clickable and gain information on how to use it and the syntax. Perhaps looking towards Wiki for a real world examples or code snippets etc. I'm old enough to remember when a proper book was supplied with a computer and it listed every BASIC command available with syntax and a quick example - I learned so much by just reading through the book, it gave me ideas how to program more efficiently using a more appropriate command set we need to be able to do that with FC.

If you have access to AutoCAD (I have 2007 so it might have changed in later versions) look how there help system works (superb) compared to the bloody awful Adobe system.

Steve wrote:
We can't of course cover every scenario, which is why we rely on this forum. But if you have suggestions for content that is missing from the Wiki then please let us know.

Thanks,
Steve.


Why Not? You have written the software! don't your developer keep notes on what they produce? In my opinion the forum should not necessarily be used for, say, "how does the delay icon work" daft silly example but you get my point.

V8 will no doubt come out with great new features but with us (the userbase) not knowing how to use them properly (again) a bit like component creation in V6&V7

http://www.matrixtsl.com/mmforums/viewtopic.php?f=26&t=9960&p=78430#p78430

Matt

User avatar
Steve
Matrix Staff
Posts: 3111
Joined: Tue Jan 03, 2006 3:59 pm
Has thanked: 89 times
Been thanked: 397 times
Contact:

Re: Connection point poll

Postby Steve » Tue Jun 27, 2017 5:11 pm

Hi Matt,

The debate about connection points has reared its head because a lot of our customers are educational establishments and they want to promote good programming practice. But I totally understand why some users will want to keep it. If it was a clear decision, we wouldn't be running a poll about it!

For the help system, the Wiki can be used offline (see here: https://www.matrixtsl.com/mmforums/viewtopic.php?f=63&t=18423&p=78982). I think you're correct in that the help documentation we offer can be improved and I'll see what we can do to address that.

Cheers,
Steve.

EtsDriver
Valued Contributor
Valued Contributor
Posts: 431
Joined: Tue Apr 15, 2014 4:19 pm
Location: Kajaani, Finland
Has thanked: 345 times
Been thanked: 224 times
Contact:

Re: Connection point poll

Postby EtsDriver » Tue Jun 27, 2017 7:16 pm

At some points, there have been many reasons where the connection point makes life easier, like to get systems to debug mode and for checking cards etc... The easiness makes life great. Personally i would keep the connection points as availabe because the im BASIC coder and love to use it at some points, and know when its not recommended to be used...
Maybe give users option to select either the continue, break things or "goto" connection points. On some occasions, i think the "label" type connection point makes understanding the code flow easier. A-> goes to A, B-->goes to B etc.

Some BASIC IDE's let user choose commenting between ' for comment or // for comment, so why not provide both and let user choose?

The connection point is for many statement list programmers (FESTO/BECKHOFF PLC) a friend, and i've heard that moving to Flowcode was for some of them pretty easy because of that.

From my ex-student point a view at Flowcode (we were some of the first classes who were tought Flowcode in our school, using V4), i would not care about what some educators say about goto, its sometimes a friend, sometimes a foe:
The knowledge for using it in the right way should come from the educator, and if they fail to make students to understand it, they should think about why their students overuse it or why their teaching did not go to their heads. Our teachers were some old C/C++ coders, some knew Industry hardened PLC programming like their pockets and they made sure we would understand the right usage for while loop and goto and when its appropriate.

When looking at my codes, i would say that i rarely use the connection points, but when i do, it's much more valuable than anything in the world would ever had been. For rapid protyping, i think its a great tool to be able to just jump over the stuff easily, because putting stuff to "if debug=x" is at some point very nervecracking when you cant fit all those things to your screen and have to take care to not change the interrepting order of the code.

From my industry point view, without goto, half of our products would not exist... (They were coded on basic when i was a small kid, and some on Flowcode by me.)

IF the connection points would be removed, i demand that the while loops and if/switch then have to become collapseable to hide some clutter and for the sake of usability.

With python, sometimes it has got me angered that the goto was missing, and i moved back to basic at that point and coded the thing there... :lol:

UGH, i have spoken.

Fun fact: Im born in 1995. And my first touch to coding was on 2003, with Visual Basic macro, that was found on Microsoft Word 2002.
Ill just keep the good work up!

jgu1
Posts: 1138
Joined: Tue Oct 06, 2009 9:39 am
Has thanked: 1052 times
Been thanked: 280 times
Contact:

Re: Connection point poll

Postby jgu1 » Wed Jun 28, 2017 5:52 am

Hi Steve!

No please do not remove. I also use them, good feature for dummies like me.. :lol: Dont remove anything, FC7 is really a good software for me.
You should better add some more component or fix these Which not work. ( Kindly) :wink: :lol:

Br Jorgen

User avatar
Steve
Matrix Staff
Posts: 3111
Joined: Tue Jan 03, 2006 3:59 pm
Has thanked: 89 times
Been thanked: 397 times
Contact:

Re: Connection point poll

Postby Steve » Wed Jun 28, 2017 2:44 pm

Great responses so far!

I realised there would be some opposition for removing them, but I also expected some argument the other way. This has surprised me.

If other users have a strong opinion either way, please make a comment to have your voice heard...

User avatar
Steve001
Valued Contributor
Valued Contributor
Posts: 1106
Joined: Wed Dec 31, 2008 3:37 pm
Has thanked: 454 times
Been thanked: 507 times
Contact:

Re: Connection point poll

Postby Steve001 » Wed Jun 28, 2017 8:08 pm

if i could post my 10 pence worth

i do use the connection points mainly because things do not work at first so i use them to jump parts of my flowcharts rightly or wrongly whilst testing / getting things to work

If educational establishments are pushing for this to be removed to teach good programming practices why don't you remove or grey out the option on educational licences ?

Steve
Success always occurs in private and failure in full view.

User avatar
JohnCrow
Valued Contributor
Valued Contributor
Posts: 1367
Joined: Wed Sep 19, 2007 1:21 pm
Location: Lincolnshire
Has thanked: 381 times
Been thanked: 716 times
Contact:

Re: Connection point poll

Postby JohnCrow » Wed Jun 28, 2017 8:38 pm

Hi

Ive have always been taught when learning to program in both Basic and C to avoid the dreaded GoTo statement. This I agree with and generally think is a good idea.

However I have used the connection points in flowcode on occasions.

But if students are taught good programming they can learn to generally avoid them, but they do have a place used in certain circumstances. i.e. for error trapping.

So yes keep them.

Or how about they can be downloaded as an add-on (or removed by the user if not wanted i.e. in the case of a college)
1 in 10 people understand binary, the other one doesn't !

johnsondav
Posts: 186
Joined: Thu Jun 28, 2012 7:29 pm
Location: Durham
Has thanked: 92 times
Been thanked: 181 times
Contact:

Re: Connection point poll

Postby johnsondav » Thu Jun 29, 2017 11:56 am

Hi Steve and fellow Flowcode users

If I may give my view on this topic. I first need to question your reasoning. Your intention with regards to the design of - Flowcode, as indicated within your literature states:-

A 2D and 3D graphical development interface allows students to construct a complete electronic system on-screen, develop a program based on standard flowcharts,


However you also state and I quote:-

Flowcode is an advanced integrated development environment (IDE)


So, my point is this. If you are playing to an audience, who may not be conversant in a computer programing language, (i.e. someone who knows engineering systems but may/does not have any computer programming skills), then flowcode is 'Perfect'. You will know how to use flowcharts or at least be able to read and understand them. Flowcharts use connectors to show when control of a system is transferred from one path to another path. The question is this, Q. how do you go about achieving this transfer of control within a flowchart. The natural progression from flowcharts is to use connectors, but purists in computer programming will want something like - IF THEN ELSE - statements. Which of course do not appear in standard flowcharts. If they do, where? Your track record to date on providing good training through 'Help' files is not brilliant. This is evident with the many simple questions asked by newbie's on your forum.

SO - change is not good if it breaks something which is working and is widely accepted by the target group. Introduce something new as an addition to what is already there, then vote later to have the old removed.

Dave

Kenrix2
Flowcode v5 User
Posts: 211
Joined: Tue Feb 19, 2013 9:51 pm
Has thanked: 72 times
Been thanked: 177 times
Contact:

Re: Connection point poll

Postby Kenrix2 » Fri Jun 30, 2017 1:26 am

I am having trouble understanding the issue with connection points. I wrote a program filled with as many connection points that I could fit on the device. I set the compiler optimizers to none.

It works the same on the device as it does in simulation.

Am I doing something wrong in my program?

Connection_Points.fcfx
(549 KiB) Downloaded 126 times

User avatar
medelec35
Valued Contributor
Valued Contributor
Posts: 8601
Joined: Sat May 05, 2007 2:27 pm
Location: Northamptonshire, UK
Has thanked: 2474 times
Been thanked: 3558 times
Contact:

Re: Connection point poll

Postby medelec35 » Fri Jun 30, 2017 8:45 am

I Believe connection points should be left in place.
Not only users use them for error trapping, but what about loading existing flowchart that already have connection points?
Its better to have and not use just in case, then need but not got!

Martin
Martin

If you read a post that is useful, please show appreciation by clicking on thumbs up Icon.

User avatar
JohnCrow
Valued Contributor
Valued Contributor
Posts: 1367
Joined: Wed Sep 19, 2007 1:21 pm
Location: Lincolnshire
Has thanked: 381 times
Been thanked: 716 times
Contact:

Re: Connection point poll

Postby JohnCrow » Fri Jun 30, 2017 11:29 am

medelec35 wrote:I Believe connection points should be left in place.
Not only users use them for error trapping, but what about loading existing flowchart that already have connection points?
Its better to have and not use just in case, then need but not got!

Martin


good point Martin, Anyone wanting to change existing flowcharts would have a major re-write to undertake.
These users thanked the author JohnCrow for the post (total 3):
medelec35 (Fri Jun 30, 2017 12:07 pm) • petesmart (Fri Jun 30, 2017 1:00 pm) • Steve001 (Fri Jun 30, 2017 1:08 pm)
Rating: 15%
 
1 in 10 people understand binary, the other one doesn't !

User avatar
Steve001
Valued Contributor
Valued Contributor
Posts: 1106
Joined: Wed Dec 31, 2008 3:37 pm
Has thanked: 454 times
Been thanked: 507 times
Contact:

Re: Connection point poll

Postby Steve001 » Fri Jun 30, 2017 1:10 pm

I agree with john and martin

Better to look at it than look for it, and also having to re write any programs that use them would be a nightmare and brass people off

steve
Success always occurs in private and failure in full view.

User avatar
Steve
Matrix Staff
Posts: 3111
Joined: Tue Jan 03, 2006 3:59 pm
Has thanked: 89 times
Been thanked: 397 times
Contact:

Re: Connection point poll

Postby Steve » Fri Jun 30, 2017 1:39 pm

A big thanks to all who have contributed. The poll will continue to run for a few months and we'll be adding more questions next week. The response so far is largely in line with the comments here, although there are few answering to remove connection points.
These users thanked the author Steve for the post:
EtsDriver (Sun Jul 02, 2017 10:22 am)
Rating: 5%
 

Docara
Posts: 306
Joined: Sun Jun 23, 2013 1:29 pm
Has thanked: 28 times
Been thanked: 60 times
Contact:

Re: Connection point poll

Postby Docara » Fri Jun 30, 2017 2:15 pm

Hi Steve,

Reading through the posts again I think three points make an overwhelming argument


1) Importing old FC code
2) Maintain flexibility (debugging etc)
3) Learning establishments promoting good programming practice.

My view is keep them for the reasons above mentioned above, but with No3 in mind why don't you hide then as standard on new installs but just have an option in Settings to turn them on if a user wants them. Surely in places of learning you have some sort of base install which the lecturer sets the programme conditions etcto stop students can't buggering up the programme 'looking around'

Interesting article http://www.drdobbs.com/jvm/programming-with-reason-why-is-goto-bad/228200966?pgno=2

Matt