On Oct 11, 2018, at 9:37 AM, Peter Jakobsson wrote: > I think I might happily pay the price of recreating the variable table for > every process (since I never noticed any adverse effect of that) and use > naming conventions to avoid conflicts to get those features ! ;) > > The original selling point of 4D was that it was stateful and that > statefullness is what gave us massive productivity gains. Lower level > languages like the Microsoft developer platforms, Delphi and even > Javascript/Python type environments had the versatility but you had to pay > the price in coding according to the classic, stateless styles. 4D is now > allowing us to do stuff you could do in these languages but there’s a great > big banana skin potentially associated with that transition which is > productivity. For example when I started building widgets in 4D, they could > be “very nice” but my productivity absolutely plummeted since you need to > spend most of the time on designing plumbing systems, event models and custom > data structures instead of solving business problems which have traditionally > been the 4D developer’s domain. > > Just a thought. > > Sometimes it’s difficult to tell novelty value and practical value apart. > (Well it is for me at least :-) )
I agree with Peter that sometimes it just makes sense and is much less of a hassle to use a process variable, or an interprocess variable. I know exactly how they work and their limitations. And I know the benefits of using them and when it could cause “issues” in what I’m building. Taking all those considerations into account I make the decision to use them or not. No regrets. Do the work and move on. I know some developers will say “yeah, but them damn process variables use memory, precious memory”. Or they might say “it takes time, precious micro seconds of time, to instantiate the process variable table for each new process”. OK. So you are in an environment where you have to worry about a few megabytes of extra memory being used? You sure about that? Every machine any of my 4D databases currently run on has at least 8,000MB of memory to use. I really don’t care if I were to “waste” even 20MB. So I disregard the wasting memory argument in most situations. And as for wasting time, we don’t even need to go there with the massive power current hardware has. If you want to talk about wasting time and memory, consider the “hard core” developer that believes in “functionalizing” their code and keeping methods very small and with limited scope. So they literally have 10,000+ methods to work with. And the call stack to perform an operation may be 10+ levels deep. That’s 10 stack frames of memory and 10 method calls to build up and tear down and memory movement to pass parameters, etc. These developers think this is a good waste of memory and time. Maybe it is, maybe it isn’t. The point I’m making is nobody is noticing that this is faster or slower with today’s hardware. We ain’t running on 25Mhz 68040 processors with 4MB of RAM any longer. (Thank God!) So let’s just focus on getting the work done as efficiently as we can and be as productive as we can. Use the tools 4D provides and the ones that make you the most productive. That’s my approach. Get the work done, bill the customer a very reasonable amount, and move on. For me that has resulted in many years of happy clients and repeat business. My philosophy on new 4D features is that it is just another tool for my toolbox. That is all. The new features are not necessarily “better” than doing it the “old way”. I can remember back in the 4D v2 days when there was only one way to do many things in 4D. No choices. I’m so happy that now we have so many choices and ways to do things. Tim ***************************************** Tim Nevels Innovative Solutions 785-749-3444 timnev...@mac.com ***************************************** ********************************************************************** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **********************************************************************