Thursday, July 24, 2008

Tiburón Sneak Peek: Project Options

The Delphi and C++Builder project options dialog has changed a little bit. Take a look for yourself:







Yeah, we can resize the project options now:



27 comments:

Anonymous said...

More important than the GUI change is the word "Base" shown in the combobox -- which implies we can have settings that apply to both Debug and Release builds.

It was really annoying to have to modify the same project settings for Debug and Release rather than Base.

Much better to have Debug and Release settings start from Base and have highlighted properties to show changes specific to those builds.

msohn said...

Looking good, but why is "Directories and Conditionals" *below* Resource compiler? Shouldn't that be a top-level item or maybe below Delphi compiler?

Anonymous said...

It would be nice to have the build configuration selectable from the main IDE toolbar also.

Currently, it's very flaky if you try to add it in Delphi 2007.

Ritsaert Hornstra said...

I see code inlining control..

Does the compiler honor the tab settings when creating new pieces of code like new methods / component declarations etc?

Anonymous said...

As some else mentioned, please display the build configuration in the main IDE toolbar.

I cannot count the number of times I thought I was building Release when I was building Debug (or vice versa)

Jolyon Smith said...

FAIL

Talk about tossing out the baby with the bathwater.

Just look at all those boolean/switch options whose settings were very quickly and easily reviewed by the state of a check-box.

Now we have to read the word "False/True" (yes, there is a qualitative difference) and visually align each word with the horizontally separated setting it relates to, as well as filtering out the True/False word from among the other non-boolean settings around some of them.

And just to make it a little bit harder still, some of those True/False settings aren't "True/False" but "On/Off".


But WOW - you can now resize the dialog!!

Hint: Previously, you didn't HAVE to!

Whiner said...

Now you have so much space how about adding an option to autosave every x minutes. It would certainly make that one awful bug in D2007 (QC#46710) more palatable.

Anonymous said...

Jolyon, you spend so much time whining and complaining you must be an absolute joy to work with. (Others: There's a reason they're called "whinging poms" in the Antipodes.)

Why don't you SHOW us how it's done? Ask Chris for all the new options and catgeories and put together the definitive Project Options dialog. That'll show those CodeGear amateurs how it's done!

Post a link here when you're done--we'd love to see it. And don't forget to explain why your solution is so much better!

Someone putting his 2c worth in said...

Unless i'm missing something, Anonymous, Jolyon is a whinging kiwi, not a pom. Check your dictionary.

Anonymous said...

Someone putting his 2c worth in said:

"Jolyon is a whinging kiwi, not a pom."

I was under the impression he lives in New Zealand but hails from the United Kingdom. Perhaps the Man Himself can resolve this important point for us? I will gladly apologise to all New Zealanders if proven wrong.

Anonymous said...

Oops, correction: I guess I should be apologising to all the Brits if Jolyon turns out to be a native Kiwi.

Someone putting his 2c worth in said...

You better or they won't stop whinging about it tell Coro comes on.

Jolyon Smith said...

When I see something I like, I say so. If I see something I don't like - I say so.


As for showing how it should be done - that's already been demonstrated. The OLD PROJECT OPTIONS settings were much clearer. The NEW project options do not add any new capability - they only make the existing options less clear AND harder to get at.

Notice that the proclaimed NEW capability is in fact a REMEDIAL FACILITY required to compensate for a basic FLAW, newly introduced.

THAT is all that I was pointing out.


And to clear up the apparently oh so important point that seems to be troubling so many people....

I am UK born, NZ resident - I emigrated here almost 3 years ago.

The people here are much nicer than those in the UK.

For one thing, here opinions are welcomed and criticism is taken as constructive - people don't have to apologise for having an opinion and being willing to offer it.

Kiwi's are far less likely to take criticism personally and get all defensive about something, even when they know they've got something wrong. They are far MORE likely to take comments on board and use them to improve themselves and their lot.

An attitude far more in line with my own personal philosophy.

I LIKE to hear when people think I'm wrong (and can - and will - tell me how) because then I can do something about it.


I could have just flung some personal abuse at Chris for daring to offer any sort of opinion in his original blog, but that's REALLY not constructive criticism, no matter HOW you try and pretty it up.


And please note, "Anonymous", unlike some people I at least am prepared to put my name to my opinions - right or wrong.

m. Th. said...

1. The 'inspector' component which is used for the project options will be available on the Component Pallete?

2. 'Directories & Conditionals' is redesigned also? You know, it's a pain to have a bunch of directories in a TEdit. A TMemo for each group of directories would be much more appropriate. Also, if you want, you can add there tiling by embedding the TMemo instances in a TGridPanel.

Just my 2c and HTH,

m. Th.

Anonymous said...

I must say that I agree Jolyon. We were used to checkboxes and you could see very quickly what is checked and what not.

However this type of listing makes adding new properties easier and it is easier for maintainance.

M.

LDS said...

This is another VS apeing, the trend is going on. It is far less readable and requires more click to change options and you end up to have to scroll too.
There are IDE enhancements that shows icon in Object Inspector values - why don't CodeGear add them too? A checkmark is better than having to read "True".
Hope the "Apply to..." button allows to change options for more than one project at once, I've filed a QC for it, and that version informations have build configurations too, at least for some of the flags (i.e. Debug build....)

Hallvard Vassbotn said...

But there *is* new functionality - new options like the much missed "Use imported data references" (though it should probably be moved to code generation) - see http://hallvards.blogspot.com/2006/09/hack13-access-globals-faster.html for details.

Other new settings include:
Code inlining control
Emit runtime type information
String format checking
Additional swithces to pass to compiler (yay!;)
Look for 8.3 filesnames also
Output unit dependency information

Chris Bensen said...

Okay everyone, play nice or I'll start moderating the posts. And I really don't want to start moderating the posts.

Kryvich said...

I like the new outline much more. But I agree with Jolyon - using checkboxes instead of True/False would be more clear for perception.

Hallvard Vassbotn -
new compiler settings really intrigue. Can't wait when I'll download the demo. Or may be open beta testing program? CodeGear! You're not under the SOX act now!

Lars Fosdal said...

Maybe it is possible to come up with something visually more palatable than "True/False" or On/Off text

Maybe some variant of this?
http://public.fosdal.com/TiburonPrjOptions.png

On the non-base settings, there also should to be a switch that show/enable the override of the base settings?

Kryvich said...

Lars Fosdal - a switch that show/enable the override of the base settings

It can be implemented using three-state checkboxes, with additional "grey" state.

Anonymous said...

Will you guys implement a filtering option in Code explorer too?

Please give this option in Tiburon!

Lars Fosdal said...

Kryvich, the problem with tri-state CB's is that we need to show 4 states. On Inherited, Off Inherited, On Override, Off Override.

There is no lack of space, so why not use it for clarity?

LDS said...

I wish I could see a "target CPU" option also. Is the Delphi compiler generating 80386 compatible code still? Or is taking advantage of newer processor instructions and optimize code accordingly?
If it generates obsolete code still, it's losing some of the advantages of native compiled code, especially when JITs may generate more optimized code.

Kryvich said...

Lars Fosdal: Inherited and Override are mutually exclusive, isn't it?

Lars Fosdal said...

Yes, but how do you know if the setting you is looking at is the one you inherited, or then one that you have set up as override?

Tommy Andersen said...

LDS has a point, one of the biggest weaknesses with the Borland/Codegear development utilities Delphi and C++ Builder as I see it, is the lack of optimization options.

Although the Microsoft Visual c++ compiler is no wonder in this category; you do have the advantage of being able to use the Intel compiler - which is the best around for optimzations.

It's soon been 13 years since Intel introduced the Pentium Pro processor, and yet it is still the most advanced processor C++ Builder optimizes for. In my work I often find that paralellization is often a very giving optimization. (And using the OpenMP just isn't RAD).

While being able to use the Intel compiler with the Codegear environment, thereby benefiting from RAD capabilities of the C++ Builder and the strong optimizations of the Intel compiler, would definetly be a wishful scenario, I doubt very much it will happen. Mostly due to the language features introduced to support VCL, and the difference in the fastcall calling convention.

However RAD Rapid Application Development, is nice, but it would be a lot nicer if it also worked for the compiled application, so that rapidly developed applications, were not the opposite of: developing rapid applications.

Just for a quick note on the new settings window, I like the fact that it can be resized. But I do agree with Jolyon in that the old settings window were better; in the sence. That it was easier to understand. And that the checkboxes were more easily read than the text option.

Lars Fosdal's idea is good, but also it - has some problems, why use two radio buttons, for something that really only required one checkbox? It would be nice if a checkbox were added to these options, this way people could choose whether they wanted to use the checkbox or the combobox.

Having said that I still think the new options window can be defended. It makes (as it is already mentioned) the options more flexible, not more readable, but easier to extend and maintain.

Looking forward to seeing what's more to come, and then I'm still waiting for the IDE that introduces 64 bit. :)

Post a Comment