Thanks Richard and Jacque for the enthusiastic support of my opening observation:

"it's quite possible to save data in stack file(s) if you do it
properly"

Yes, that holds true. :)

But as a responsible advisor to people in the community at large, I must discourage stack files as first choice to save data from installed apps. People who follow that route often have trouble.

Not talking about any particular dry academic "best practices" that someone wrote, someone else read, a third parroted. Nor tradition. Simply real LC cases right here in our community - I find a good correlation between people with problems and people who save to stacks. Few do it properly. It's a problem here.

When people have bad habits, I actually get more business. So maybe I should be encouraging people to use stacks first and foremost for data storage, among other things! Ha ha. But there's no way I'd ever do that; I care about people and I want them to have fewer problems in their code.

Using stacks to save data, "It's very tempting to try and save data to the distribution folder, or to mix data and user interface together!" The medium does have some effect on the transaction and the people involved, also depending on what experience people are coming from.

Since stacks normally hold UI and LC code, it's a very small step to mix data and UI together. And that's exactly what people tend to do. From there, they tend to save directly to the app folder, another tiny step that often involves just one word of code. Not to mention a few other gotchas of stacks compared to other files if used wrongly. It's a quick route to trouble, and I've been called to rescue many a ship that was following that siren call....

I provided a quick fix for those in that situation. And it's also possible to use stack files the "right" way for saving data. For that matter stacks can hold almost any type of data, and almost any type of data file can hold stacks and UI. Anything is possible.

But most people will be better served keeping these things separated for easy understanding and building solid habits. Stacks (or properly designated flat files) for UI and code, another type of file or a database for data. App in Program Files or Applications, data in the proper place per OS and purpose. A standard installer, or else even more care (not less) in app awareness and data handling. Sign your app if needed, or provide some installation FAQ for users, and be cautious about accessing files to minimize AV issues and system issues.

These tend to steer people in the right direction, and mixing things together often leads people astray. I'm sorry that's the case, it doesn't have to be, but often it is. Real people, real stacks; reality talking. Of course, stack-data aficionados that know their stuff can do their thing; I'm probably not reaching a ghostly hand out of your email Inbox to stop you. (Just make sure that it works as well as you think! I've seen some notable exceptions.)

So that's my PSA on data files. It's pretty much win-win-win because either the tip helps people and they avoid problems, or if they take another road and have trouble I'll likely have the chance to help them out later, while those who really know the ropes can feel even more empowered using stacks for data and piling on greater support for my opening observation. Take care and good night! :D

Best wishes,

Curry Kenworthy

Custom Software Development
"Better Methods, Better Results"
LiveCode Training and Consulting
http://livecodeconsulting.com/

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to