Archive for the ‘C’ Tag
WideStudio IDE
Today it happened to be to find out about WideStudio IDE primarily developed in Japan. It’s an open source GUI based application development environment providing support for Windows, Linux, FreeBSD and Solaris. It has been developed in C++. The following features really attract the cross platform developers.
- Multi platform application development. For example, if the application is developed in Windows, can also run in Linux
- Multi Encoding support for Unicode (UTF8), EUCJP and SJIS. It handles encoding independently of the encoding of the underlying platform.
- Freely available for personal and business use. No need to publish the source
- Application development is possible for Desktop, large server and even for embedded devices
- Supports C, C++, Java, Perl, Ruby, Python, OCaml
- Multi Widget Toolkit support
There are many good open source IDEs are available for applicatin development presently. God bless open source.
When is a switch statement better than multiple if statements?
I read this question in some website today. A lot of people have tried to give the following answers
- if more than two condition expression for the same variable
- code readability
- complexity of code increases if there are more conditions used
- systematic and easy code to understand
- straight forward condition (no less than or greater than condition)
I was a bit satisfied with those answers. After some thoughts, I realized that I have used the following code in some cases which can facilitate the answer convincingly
There are some situations where we have many conditions based on the same variable and some require special processing and the rest as the same as of others. For example..
switch(variable)
{
case val1:
do something for val1;
break;
case val2:
do something for val2;
case val3:
do something for val3;
break;
default: break;
}
Here we require to ‘do something for val2′ and we can reuse the ‘do something of val3′ code. We intentionally falling through the next switch because we feel that we can reuse that code. By doing so we can remove the redundant code.
I found one more interesting thing about how switch and if statements are converted to the assembly language.
switch statement performs all condition check in the beginning and jumps to the corresponding point and execute the bunch of processing statements.
if statement performs the check; on condition satisfied, execute the related processing statements. and go to the next statement after all if-else. If the condition is not satisfied, it jumps to the next condition check.
After analyzing the above disassembly code, it is better to use switch as it reduces the jump and redundant code.
Leave a Comment
Leave a Comment
Leave a Comment