Borland-specific:
That you have to press CTRL-K-S (instead of CTRL-S) to save...
Printable View
Borland-specific:
That you have to press CTRL-K-S (instead of CTRL-S) to save...
Seriously, one thing I really hate is how, half the time, reading every error is worthless - fixing the first one "fixes" the others, that weren't really problems to begin with.
Example:
Error something (I'm not feeling creative on a Monday morning)
Error: missing ';' on line "printf("Hello");
This is more compiler specific than language specific, but I'd like more strict syntactic and semantic error checking as well as more informative errors and warnings.
Other language specific dreams:
1. Removing the break from switch statements. Good designs fall through only about 3% of the time anyway so why make us code more to get around a feature that is so rarely used. Some compilers and especially lint issue a warning if you don't comment that you've fallen through...something is wrong with that.
Also, what if you break from a loop inside a switch case? Well, you break from the case as well. That's most annoying.
2. Several of the keywords should be renamed to something more informative, such as const being read_only.
3. Change precedence rules so that they are more logical and intuitive. It's hard for new programmers to get used to them and they tend to forget parens when they need them.
-Prelude
> int main (void) should be compulsary, compilers should throw an error if they encounter void main () or any other alias of it
Partially, yes... it should throw an error if main's declared anything other that int, but it shouldn't force you to declare it as int main(void), in case cmd line arguments are being passed.
> compilers should throw a warning if it encounters a system call
(Pipe Dream) Maybe they could go as far as suggesting better solutions for basic things, like in a PAUSE or cls call...
What I hate most is that things that are bool by nature can be syntactically satisfied with any number or pointer.
Example: if
if( i ) DoIt();
WTF ?
if should take a boolean value and ONLY a boolean value. I hate those C compliant stuff that leaves me with code that is hard to understand and even harder to grasp by people not coming from a pure C background. There is no reason a NULL pointer should represent the same as FALSE or false or any other BOOL/bool value.
>>I finished qBASIC programming before this and it was sooooo >>simple to do simple graphics).
he he, thats because QBasic isnt a real language!
would you like keywords in caps too ?:D
Not sure if I understand you well enough, nvoigt. But I do "if( i ) DoIt();" a lot. Maybe I'm just too lazy to type "== 1" or "== TRUE", but most likely I just like it better. You know how everyone adopts a style...
[quote]Also, what if you break from a loop inside a switch case? Well, you break from the case as well. That's most annoying.[quote]Could you clarify this?
>Could you clarify this?
Sorry, I meant to write test instead of loop. I'm not sure if a loop would do the same thing but what I meant was this:
-PreludeCode:switch( SOMETHING ) {
case ONE:
foo();
break;
case TWO:
if( x == STUFF ) {
bar();
if( y == OTHER_STUFF )
break;
baz();
} /* Meant to break to here */
init_something_important();
break;
default:
error_message();
} /* Doh! Actually broke to here */
use_something_important();
/* Something important was uninitialized, nasty bug... */
link errors out of nowhere