[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: [amibroker] Re: Run time debugging for includes



PureBytes Links

Trading Reference Links

Title: Re[2]: [amibroker] Re: Run time debugging for includes

Actually related a related suggestion was http://www.amibroker.com/feedback/view_bug.php?bug_id=1622


best regards,

herman



Wednesday, February 11, 2009, 11:08:24 AM, you wrote:


> Y,


> It is an interesting perspective.


> I actually prefer dynamic assignment of variables the way AFL does  

> it.  I especially like the fact that I can detect that a variable has

> not been assigned a value at runtime and initialize it to a default or

> modify the code execution in other ways.  I make extensive use of this

> feature to make life easier on the user options in my code.  I have  

> few errors of the type you describe, and I find them the easiest to  

> debug.  I am sorry to say that your proposed solution would not be  

> useful to me, though it may be useful to those who program an  

> interpretive language like it was a compiled language.


> The things that are hardest to debug are not the types that the  

> compiler catches, but logic errors in the program that do not give the

> desired results (or actual bugs in the underlying platform).


> Syntax errors are actually the most common type resulting from typos.

> However, the compiler's error checking can get confused if for  

> instance you leave off a "}" someplace.  Then the error and location  

> of the error reported usually has little to do with the actual typo.

> Prettify the code can sometimes help find this type of error, but it  

> usually requires careful reading of the code looking for the typo.  It

> is just a limitation of the C++ like syntax.


> I have been programming problem solving tools for myself (not as a  

> professional programmer) for 40 years -- hey a new milestone!  I have

> enjoyed working with interpretive type languages the most.  They are  

> the easiest to use for writing and debugging small to medium size  

> programs.  I have found that the easiest way to debug is to make a  

> simple program, or add to a complex program while it is running!  Make

> sure there is temporary visual feedback for the new stuff (great on a

> charting program).  By adding and testing one change at a time, any  

> errors that are flagged are not so hard to find since the area  

> concerned is small.  My debugging time in AFL, which used to consume  

> 80% of my time has been reduced to 20% of my time.


> Included files are a great way to organize a complex program and make

> it modular for swapping out various options.  I am just starting to  

> use this feature (out of necessity) in my AFL programming.  My concern

> and reason behind my post was to make debugging with this program  

> organization as easy as it has become with the single file AFL programs.


> My feeling is that I should not have to pay a price in ease of  

> debugging in order to gain the advantages of better program  

> organization.  My suggested ideas for solutions are simply to bring  

> parity to debugging with includes in keeping with the original flavor

> of the tools provided by Tomasz.


> However, as can be seen from the replies, different people have  

> different approaches to organizing and debugging AFL programs -- and  

> different ideas about what would make it easier for them.


> Best regards,

> Dennis



> On Feb 11, 2009, at 9:26 AM, jtoth100 wrote:


>> Hi all,


>> debugging includes is not easy and handy in any script language. So

>> instead of making the GUI to reduce clicks my suggestion would be to

>> reduce possible error cases.


>> Most errors come from undefined/uninitialized variables. If AFL

>> language would have an "OPTION" to require definition of all

>> variables then most common errors could be vanished.

>> Visual Basic 6.0 never was my favorite language and environment. It

>> was for average Joe to do basic level programming. It did not require

>> declaring variable just like AFL or any script language. But I had to

>> use it years ago. At that time all serious developer started each

>> module in VB with "Option Explicit On". This caused an error at

>> parse/compile time if a variable was not defined explicitly but was

>> referenced anywhere in the code.


>> How would it help?

>> Most probles come from just creating variables by assigning a value

>> to an "identifier". However if you misstype an "identifier" or code

>> execute in a code path where variable does not get

>> defined/initialized you get an error. The worst thing is that these

>> errors are hidden until the rearly executed code path is executed

>> (typical runtime error). If definition of variables are required even

>> these code paths are checked for proper variable usage.


>> This should be an option for advanced users which is turned on on

>> purpose. So all code out there could run with no change.


>> Variable assignment and definition could be merged to one statement

>> like in any modern language (e.g.: var x = 0.5;) This way declaration

>> is required and initialization can be done as well.


>> I know it does not guaranty that all runtime error are gone. But with

>> disciplined coding most can be avoided and the need for debugging is

>> vastly reduced.


>> So I would not go for GUI change request but to improve AFL as a

>> script language.


>> Regards,


>> Y




>> ------------------------------------


>> **** IMPORTANT ****

>> This group is for the discussion between users only.

>> This is *NOT* technical support channel.


>> *********************

>> TO GET TECHNICAL SUPPORT from AmiBroker please send an e-mail  

>> directly to

>> SUPPORT {at} amibroker.com

>> *********************


>> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:

>> http://www.amibroker.com/devlog/


>> For other support material please check also:

>> http://www.amibroker.com/support.html


>> *********************************

>> Yahoo! Groups Links







> ------------------------------------


> **** IMPORTANT ****

> This group is for the discussion between users only.

> This is *NOT* technical support channel.


> *********************

> TO GET TECHNICAL SUPPORT from AmiBroker please send an e-mail directly to

> SUPPORT {at} amibroker.com

> *********************


> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:

> http://www.amibroker.com/devlog/


> For other support material please check also:

> http://www.amibroker.com/support.html


> *********************************

> Yahoo! Groups Links


> <*> To visit your group on the web, go to:

>     http://groups.yahoo.com/group/amibroker/


> <*> Your email settings:

>     Individual Email | Traditional


> <*> To change settings online go to:

>     http://groups.yahoo.com/group/amibroker/join

>     (Yahoo! ID required)


> <*> To change settings via email:

>     mailto:amibroker-digest@xxxxxxxxxxxxxxx 

>     mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx


> <*> To unsubscribe from this group, send an email to:

>     amibroker-unsubscribe@xxxxxxxxxxxxxxx


> <*> Your use of Yahoo! Groups is subject to:

>     http://docs.yahoo.com/info/terms/





__._,_.___


**** IMPORTANT ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

*********************
TO GET TECHNICAL SUPPORT from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
*********************

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html

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




Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___