The 2008 Delphi Survey
Thank you for taking the time to take the 2008 Delphi user survey. Your valuable feedback will help guide the future of Delphi. This survey should take approximately 20 minutes to complete. We know your time is valuable and so we greatly appreciate your participation in this annual survey.
Please note that this survey is directed at Delphi developers and thus contains very little C++Builder-oriented content. If you are a C++Builder developer as well as a Delphi developer, please take this survey from the perspective of your "Delphi side". We expect to follow up this survey with another one aimed specifically at C++Builder developers.
Note: If you select "Other" for any answer, please fill in the associated edit box.
Sincerely,
The Delphi Team
General Information
1.1.
Many of the questions in this survey will be in regards to the version of Delphi that you've most recently purchased or acquired. Please identify the version of Delphi have you most recently purchased or acquired.
CodeGear RAD Studio 2007
Delphi 2007 for Win32
Delphi 2006 / BDS 2006
Turbo Delphi 2006
Turbo Delphi for .NET 2006
Delphi 2005
Delphi 8
Delphi 7
Delphi 6
Delphi 5
Delphi 4
Delphi 3
Delphi 2
Delphi 1
1.2.
Which edition have you most recently purchased or acquired?
Architect
Enterprise or Client/Server
Professional
Turbo Professional
Turbo Explorer
Standard or Personal
1.3.
Which version of Delphi do you currently use as your primary "day to day" Delphi IDE?
CodeGear RAD Studio 2007
Delphi 2007 for Win32
Delphi 2006/BDS 2006
Turbo Delphi for .NET 2006
Turbo Delphi 2006
Delphi 2005
Delphi 8
Delphi 7
Delphi 6
Delphi 5
Delphi 4
Delphi 3
Delphi 2
Delphi 1
None
1.4.
Please rate your most recent Delphi purchase in the following areas:
Excellent
Good
Satisfactory
Fair
Poor
Technology
Feature Set
Platform Support (OS, Database, etc.)
Quality
Documentation
Install/Registration
Performance
Value
1.5.
Please rate your satisfaction with your most recent Delphi purchase when compared with your previous Delphi purchase
Significantly Higher
Somewhat Higher
Same
Somewhat Lower
Significantly Lower
Technology
Feature Set
Platform Support (OS, database, etc.)
Quality
Documentation
Install/Registration
Performance
Value
1.6.
What languages do you currently develop in? (Check all that apply...)
Delphi/Object Pascal for Win32
Delphi/Object Pascal for .Net
C
C++
C#
Visual Basic for Win32
VB.NET
Java
PHP
Ruby
Python
JavaScript/JScript
Perl
Other
1.7.
Which statement most closely matches your use of Delphi?
I use only Delphi for all my software development needs
I use Delphi as well as other IDEs/tools
I use Delphi to maintain existing applications and use other IDEs/tools for all new development projects
I only use Delphi occasionally
I no longer use Delphi at all
Platforms
2.1.
For new Delphi applications or those that you are still maintaining, which Windows operating systems will you be deploying applications to over the next 24 months? (Choose all that apply ...)
Windows Server 2008
Windows Vista
Windows Server 2003
Windows XP
Windows 2000
Windows NT 4.0
Windows 98
Windows ME
Windows 95
Windows CE Mobile Edition
Other
2.2.
Enhancements for which Windows development platform more greatly influences your upgrade decisions?
Native Windows
.NET
Both Equally
2.3.
For your development projects, in which order should CodeGear develop the following features to best meet your needs?
1
Compact Framework Development
Win32 Native Development
Managed Windows Development
Native Win64 Development
Cross-platform/Cross-compilation solutions
2
Compact Framework Development
Win32 Native Development
Managed Windows Development
Native Win64 Development
Cross-platform/Cross-compilation solutions
3
Compact Framework Development
Win32 Native Development
Managed Windows Development
Native Win64 Development
Cross-platform/Cross-compilation solutions
4
Compact Framework Development
Win32 Native Development
Managed Windows Development
Native Win64 Development
Cross-platform/Cross-compilation solutions
5
Compact Framework Development
Win32 Native Development
Managed Windows Development
Native Win64 Development
Cross-platform/Cross-compilation solutions
2.4.
Regarding cross-platform/cross-compilation support, do you require application deployment support for:
None, I only require support for Windows
Linux
Mac/OSX
Mobile Windows (on the ARM Chip)
Other
Features
3.1.
How would you rate your use of the following IDE features?
Don't have or Don't know about it
Don't Care/Don't Use
Use it some of the time
Use it all the time
Block Completion
Class Completion
Code Completion
Current Line Highlighting
Parentheses Matching
Dockable Windows
Code Folding
Structure View
Welcome Page
VCL Designer Guidelines
TODO List functionality
Unit Testing Wizard
UML/Class Modeling
Soap/WSDL Import
Audits and Metrics
History Tab
Data Explorer
Delphi/XML Binding Wizard
Live Templates
Error Insight
Refactorings
Help Insight
Other
3.2.
Which Form Designer layout do you prefer?
Embedded/Docked
Floating/Undocked
3.3.
Please rate your use of the following third-party products:
Frequent use in my projects
Occasional Use
Evaluated, decided not to use
Never looked at it
Internet Direct (Indy)
QuickReports
IntraWeb
Rave Reports
InstallAware Express
TChart
Wise Owl Demeanor
3.4.
Delphi Language Enhancements: For your development needs, please rank the following language features in order of desirability for Delphi/Object Pascal:
1
Iterators
Closures / Anonymous Methods
Aspects
Design by Contract
Multicast Delegates
Language support for multi-threading/multi-core
Win32 Attributes
Garbage Collection for Win32
Partial Classes / Class Fragments
2
Iterators
Closures / Anonymous Methods
Aspects
Design by Contract
Multicast Delegates
Language support for multi-threading/multi-core
Win32 Attributes
Garbage Collection for Win32
Partial Classes / Class Fragments
3
Iterators
Closures / Anonymous Methods
Aspects
Design by Contract
Multicast Delegates
Language support for multi-threading/multi-core
Win32 Attributes
Garbage Collection for Win32
Partial Classes / Class Fragments
4
Iterators
Closures / Anonymous Methods
Aspects
Design by Contract
Multicast Delegates
Language support for multi-threading/multi-core
Win32 Attributes
Garbage Collection for Win32
Partial Classes / Class Fragments
5
Iterators
Closures / Anonymous Methods
Aspects
Design by Contract
Multicast Delegates
Language support for multi-threading/multi-core
Win32 Attributes
Garbage Collection for Win32
Partial Classes / Class Fragments
6
Iterators
Closures / Anonymous Methods
Aspects
Design by Contract
Multicast Delegates
Language support for multi-threading/multi-core
Win32 Attributes
Garbage Collection for Win32
Partial Classes / Class Fragments
7
Iterators
Closures / Anonymous Methods
Aspects
Design by Contract
Multicast Delegates
Language support for multi-threading/multi-core
Win32 Attributes
Garbage Collection for Win32
Partial Classes / Class Fragments
8
Iterators
Closures / Anonymous Methods
Aspects
Design by Contract
Multicast Delegates
Language support for multi-threading/multi-core
Win32 Attributes
Garbage Collection for Win32
Partial Classes / Class Fragments
9
Iterators
Closures / Anonymous Methods
Aspects
Design by Contract
Multicast Delegates
Language support for multi-threading/multi-core
Win32 Attributes
Garbage Collection for Win32
Partial Classes / Class Fragments
3.5.
RAD Studio Personalities: According to your development requirements, please allocate 100 points across the following RAD Studio personalities to indicate the relative amount of support and features you would like to see CodeGear focus on for your particular needs. Assign any amount to each personality from 0 to 100, so that the total of all entries is 100.
Delphi for Win32 Personality
Delphi for .Net Personality
C++Builder Personality
C#/VB.Net Personality
3.6.
VCL Enhancements: According to your development needs, please allocate 100 points across the following potential VCL framework enhancements to indicate the relative amount of support and features you would like to see CodeGear focus on for your particular needs. Assign any amounts to each feature from 0 to 100, so that the total of all the entries is 100.
Ribbon Controls
Updating Grid Controls
OpenGL/DirectX Support
Automatic Form State Persistence
New Databinding Model
Skinning
Accessibility Support
Improved graphics support (better high color image support, vector images, png, etc.)
Vista-specific API and Control support
3.7.
Please indicate one other VCL feature that you would like to see added or enhanced.
3.8.
IDE Enhancements: According to your development needs, please allocate 100 points across the following potential IDE enhancements to indicate the relative amount of support and features you would like to see CodeGear focus on for your particular needs. Assign any amounts to each feature from 0 to 100, so that the total of all the entries is 100.
Further MSBuild integration
RES file management in the Project Manager
Code Formatter
Class Explorer
More refactorings
Source Control Integration into the IDE
Open Tools API
Keymapping Editor
3.9.
Please indicate one other IDE feature that you would like to see added or enhanced.
3.10.
For the next release of Delphi, CodeGear is upgrading the string type to be a Unicode string. While largely transparent, this may have an effect on character and string manipulations. In your code, how frequently do you use the following coding techniques:
I don't do it at all
I do some of this
I do a lot of this
Use the string type as a data buffer
Explicitly use the constant value "1" rather than "SizeOf(Char)"
Perform pointer arithmetic on strings or PChars
Use the Read/ReadBuffer or Write/WriteBuffer methods of TStream on strings
Perform operations that assume the Length of a string is the same as the number of bytes in the string
Direct memory manipulation of strings and string data (e.g. Move, Copy, etc.)
3.11.
The next version of Delphi is planned to be fully Unicode-enabled. As a result, the default string type will change to a Unicode string type. This will be largely transparent, however it may require some simple changes to some of your existing project code in relation to string and char manipulation. CodeGear will provide complete documentation on transitioning to Unicode. Therefore, which of the following statements best describes your expected migration plans?
I will not migrate existing applications forward if doing so requires any changes to my code
I will migrate existing applications forward if doing so requires sparse to minimal changes to my code
I will migrate existing applications forward even if it requires significant changes to my code
3.12.
CodeGear has made an significant and ongoing effort to maintain a high degree of language compatibility between the Delphi for .Net and Native Delphi to facilitate cross-platform development and porting. What are your on going requirements for compatibility between .NET and Native Delphi?
Very High source code compatibility between .NET and Native - i.e. for on going cross-platform deployment
Moderately High - i.e. for one time porting purposes from Native to .NET
Medium - i.e. we use .NET for newer projects only, minimal code reuse
Low - i.e. We do not use .NET or require source code compatibility between Native and .NET
.Net Usage
4.1.
Indicate below what best describes your usage of Delphi for .Net:
I don't own a product with the Delphi for .Net personality.
I use Delphi only for Delphi for .NET
I typically develop native Windows applications, but consider the Delphi for .Net personality an important component
I'm glad Delphi has a .NET personality, but I don't really use it or have a need for it.
I develop mostly Delphi for .NET applications, but also use Delphi for Win32
I do my .Net Development in Visual Studio, but wish I could do it in the Delphi IDE.
I do all my .Net development in Visual Studio, so I'm not interested in Delphi for .NET
I do not have any need for .NET development
4.2.
Over the next twelve months, approximately what percentage of your Delphi development will be Native vs. .Net?
100% Native Delphi and 0% Delphi for .Net
75% Native Delphi and 25% Delphi for .Net
50% Native Delphi and 50% Delphi for .Net
25% Native Delphi and 75% Delphi for .Net
0% Native Delphi and 100% Delphi for .Net
4.3.
Which of the following Delphi for .Net technologies do you use?
VCL.NET
ASP.NET
ECO
WinForms
4.4.
Which statement most closely describes your usage of VCL.NET?
It's a key part of current projects
Waiting for increased third-party support
Planning to or may use for future projects
No plans
4.5.
Would you buy or use Delphi for .NET in the following IDE configurations?
Definitely No
Possibly
Definitely Yes
Delphi for .Net in the RAD Studio IDE (Galileo)
Delphi for .Net in the Visual Studio IDE
Delphi for .Net in Eclipse
Development Types
5.1.
What types of applications will you be maintaining with Delphi in the next 12 months?
Rich Client Desktop Application or Utility (no database)
Rich Client Desktop Applications with Local/Embedded Database
Client/Server Database Applications - Two-tier
Client/Server Database Applications - Three/n-tier
ECO model-powered applications
Mobile Client Applications with database connectivity
Mobile Client Applications without database connectivity
AJAX/HTML-client web-based server application
Framework-based Web Application (ASP.NET, VCL for the Web, etc)
VCL Custom Controls
Web Services
ActiveX/COM controls or objects
Class Libraries
Games
Other
5.2.
What types of new applications will you be starting/creating with Delphi in the next 12 months?
Rich Client Desktop Application or Utility (no database)
Rich Client Desktop Applications with Local Database
Two-tiered database applications (Client/Server)
Three/n-tier Database Applications
Mobile Client Applications without database connectivity
ECO model-powered applications
AJAX/HTML web-based client application
Framework-based Web Application (ASP.NET, VCL for the Web, etc)
VCL Custom Controls
Web Services
ActiveX/COM controls or objects
Class Libraries
Games
Other
5.3.
What is your primary technology used to develop web applications with Delphi?
ASP.NET
VCL for the Web
WebSnap/WebBroker
Delphi for PHP
Other third-party solution
None -- I don't develop web applications
5.4.
If you develop web applications with a tool or framework other than Delphi, what tool or framework do you use? (Check all that apply....)
Delphi for PHP
PHP with tool other than Delphi for PHP
ASP.NET with C#
ASP.NET with VB.NET
Java/JSP
AJAX
Ruby on Rails
Apache DSO
Perl
Classic ASP
Dreamweaver
Adobe Flex
Flash
Cold Fusion
Other
5.5.
Do you develop your own custom components?
Yes
No
Database
6.1.
Which databases do you require Delphi connectivity with? (Choose all that apply ...)
InterBase
Blackfish/JDatastore
PostgreSQL
MySQL
DB2
FoxPro
ODBC
Sybase
dBase
MS SQL Server
Informix
Firebird
Advantage
Paradox
Oracle
SQLite
SQLAnywhere
Access
I don't require database connectivity
Other
6.2.
Which Delphi database technologies do you use? (Choose all that apply ...)
BDE
dbExpress
InterBase Express (IBX)
dbGo for ADO (formerly ADOExpress)
DataSnap (formerly MIDAS)
Other or 3rd Party
6.3.
If you use dbExpress to access your data, do you:
Use the CodeGear drivers
Use a third-party driver
I don't use dbExpress
6.4.
What is the largest database that your applications interact with?
I don't build database applications
Less than 5MB
5MB - 100MB
101MB - 500MB
501MB - 1 GB
Between 1GB and 20GB
21GB - 100GB
Greater than 100GB
6.5.
With respect to you largest database-related application, how many end user connections does this application require?
I don't build database applications
1-5
6-20
21-50
51-100
Greater than 100
6.6.
If you use a third-party driver with dbExpress, what are your specific reasons for doing so?
6.7.
Have you tried Enterprise Core Objects (ECO)?
Yes, I'm currently developing applications with ECO
Yes, I've evaluated ECO and plan to start new projects with ECO in the future
Yes, I have evaluated ECO and do not plan to use it.
No, I haven't tried ECO yet, but I plan to
No, I haven't tried ECO and do not plan to
6.8.
If you are using ECO, what are the reasons that you do? (Choose all that apply ...)
I don't use ECO
UML Modeling
Model Driven Architecture
Faster Development Times
Object Persistence
Object/Relational Mapping
Abstraction of Database
Don't have to deal with SQL
6.9.
If you are using ECO, what types of applications are you building with it? (Choose all that apply ...)
ASP.NET Web Applications
WinForms Desktop Applications
VCL.NET Desktop Applications
Multi-tier Applications
None -- I don't use ECO
6.10.
If you are not using ECO, which of the following best describes why not:
I haven't found a suitable application yet
Seems to difficult to learn
I've never heard of ECO
I don't have the technology in my Delphi version
Insufficient documentation
I chose another framework:
The framework seems too "heavyweight"
Other reason:
6.11.
If you are currently developing ECO applications, what language do you use?
I am not using ECO
C#
Delphi for .NET
Both C# and Delphi for .NET
6.12.
If you are currently developing ECO applications, what framework are you using with it?
VCL.NET
ASP.NET
WinForms
Development Environment
7.1.
What kind of processor does your primary development machine have?
Pentium III level or below
Single Core Pentium IV level processor (Intel, AMD, etc.)
Multi-core Pentium IV level processor (Intel, AMD, etc.)
AMD64-based 64-bit processor
Itanium 64-bit processor
Other
7.2.
Which operating system do you use to run Delphi on your primary development machine?
Windows 2000
Windows XP
Windows Vista
Windows 2003
Other
7.3.
How much memory does your primary development machine have?
Under 512MB
512MB - 1GB
Greater than 1GB up to 2GB
Greater than 2GB
7.4.
Please choose the answer below that best describes your use of Virtual Machines with respect to developing with Delphi:
I don't use Virtual Machines for development
I'm experimenting with the use of Virtual Machines for development
I use Virtual Machines for ad hoc testing and isolating installations only
I use Virtual Machines for some of my development
I do all of my Delphi development in a virtual machine
Localization/Internationalization
8.1.
Which localized language version of Delphi IDE do you use in your day-to-day work?
English
French
German
Japanese
8.2.
Which language beyond the above would you like to see the Delphi translated into?
Chinese
Russian
Portuguese
Spanish
Korean
Other
8.3.
Do you localize your applications into any other languages other than your native language?
Yes
No
8.4.
If you answered "Yes" to the previous question, what are the main issues that you run into when localizing your applications?
Difficulty displaying non-ANSI characters in my applications
Finding good tools to help with internationalization
Finding translation services
Lack of Unicode support
Other
Documentation
9.1.
How would you rate the following areas of the documentation?
Poor
Fair
Good
Very Good
Excellent
F1 Reference Help
Examples
Procedural/HowTos
Conceptual Overviews
IDE Dialog Help Button Content
Framework/API References
9.2.
Please place the following types of documentation in order of importance.
1
F1 Reference Help
Examples
Procedural/HowTos
Conceptual Overviews
IDE Dialog Help Button Content
Framework/API References
2
F1 Reference Help
Examples
Procedural/HowTos
Conceptual Overviews
IDE Dialog Help Button Content
Framework/API References
3
F1 Reference Help
Examples
Procedural/HowTos
Conceptual Overviews
IDE Dialog Help Button Content
Framework/API References
4
F1 Reference Help
Examples
Procedural/HowTos
Conceptual Overviews
IDE Dialog Help Button Content
Framework/API References
5
F1 Reference Help
Examples
Procedural/HowTos
Conceptual Overviews
IDE Dialog Help Button Content
Framework/API References
6
F1 Reference Help
Examples
Procedural/HowTos
Conceptual Overviews
IDE Dialog Help Button Content
Framework/API References
9.3.
Would you be willing to participate in or contribute to an online documentation wiki to help improve the Delphi documentation?
Yes
No
Training and Online Materials
10.1.
What method do you use to read the CodeGear Developer Network?
Directly Online via the Web
RSS Feeds in an RSS Reader
Via the Welcome Page
I don't read CDN
10.2.
Do you report bugs and make feature requests via Quality Central?
Yes
No
10.3.
Do you use CodeCentral to upload or download source code or other files?
Yes
No
10.4.
If your organization requires training, please rate your views on the different types of training shown below:
No Need
Strongly Dislike
Dislike
Neutral
Prefer
Strongly Prefer
Classroom training at your company site
Classroom training in a "public enrollment" class
Instructor-led training via the Internet (web-conference)
Self-paced training with a mentor via the Internet
Self-paced automated training via the Internet
Private Mentoring
Self-study via books, magazines or Web-sites
Registration/Activation/Installation/Licensing
11.1.
What would be an acceptable maximum installation time, in minutes, for Delphi?
11.2.
What would be an acceptable maximum uninstall time, in minutes, for Delphi?
11.3.
What is your view of the Auto-Update feature in Delphi 2007/RAD Studio 2007 ?
My product doesn't have this feature.
I use it and am glad it is there
I prefer to download updates and install them manually
11.4.
Do you use Electronic Licensing today?
No
Yes, via a home grown system
Yes, via Macrovision
Yes, via Safenet
Yes, via another system:
11.5.
Would you use a component-based license service from CodeGear for your applications?
No
Yes -- for approximately 100 licenses per year
Yes -- for approximately 1000 licenses per year
Yes -- for approximately 5000 licenses per year
Yes -- for approximately 10,000+ licenses per year
P