Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] Re: [cdt-debug-dev] My annual rant about whyrefactoring and C/C++ indexing sucks

Another perspective...

- We generate a build system (a BSP and a sample application from a chosen template) for most of our customers (except for those who already have their own) and so (either way) have no need for managed make.

- A significant fraction of our customers (perhaps the majority) just want a replacement for Insight: they want a GUI debugger than they can launch without having to create an Eclipse project and launch configuration.  I may be able to contribute resources towards this--but would this be best implemented as a modification to the CDT debugger or as a "prototype" debugger as part of the DSDP DD project?

- Our customers haven't expressed any interest in refactoring (yet).

> - Eclipse is intimidating we have done a lot of work automating
> various parts of Eclipse/CDT for the user...

Ditto.

--
Daryl Spitzer
Manager, Embedded Processor Tools
Altera Corporation - Santa Cruz Technology Center
dspitzer@xxxxxxxxxx


-----Original Message-----
From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Adam Finucane
Sent: Thursday, March 23, 2006 14:59
To: CDT General developers list.
Subject: Re: [cdt-dev] Re: [cdt-debug-dev] My annual rant about whyrefactoring and C/C++ indexing sucks

Just to give another perspective on the requirements of embedded developments.

- We find that developers do not have existing build systems and would rather 
have the IDE manage the building for them.
- Simple refactoring is handy, change function arguments, renaming files, but 
we haven't had much feedback about.
- Being able to easily modify keyword highlighting in the C editor would be 
good. Many embedded compilers support keywords that are not ANSI or GNU.
- Eclipse is intimidating we have done a lot of work automating various parts 
of Eclipse/CDT for the user, installer (installs Java), creation of a default  
debug launch on project creation, custom debug perspective where disassembler 
and memory views a are opened by default, etc.

Adam Finucane
HI-TECH Software

On Friday 24 March 2006 02:32, Mikhail Khodjaiants wrote:
> Oyvind,
>
> I am packaging both messages together and forwarding it to the CDT
> developers list:
>
>
> In my experience CDT fails miserably to be adopted as an IDE when
> compared to
> Eclipse JDT.
>
> I've seen that CDT is quite successful in getting adopdated as GDB GUI.
>
> First some observations(from embedded developers point of view) and then
> some
> speculation about what's going on:
>
> - Focus is a lot of the time on hardware issues: voltage supplies,
>   phase lock loops, high-frequency signalling issues, power consumption,
>   part cost, etc. Some time is left over for software issues: choice of
>   embedded operating system(if any), writing or selecting drivers for
> hardware
>   parts, etc. The application itself is oftentimes not very big. How
>   much can you fit into 10-100k's of RAM anyway? :-) Java is probably
>   nowhere on their radar before encountering Eclipse CDT.
> - Users get angry and frustrated about Eclipse CDT "freezing up"
>   and being "really slow". Some manage to make the connection that they
>   are being hosed by CDT C/C++ indexing that is slowing down the
> machine.
>   The first reaction is "how do I turn it off?". When using CDT as a
> debugger
>   there is no need to enable C/C++ indexing. Also regressing to
>   Insight is common. Insight *really* sucks, so this forces them kicking
>   and screaming to reconsider CDT as a GDB GUI.
> - Refactoring is a MASSIVE undertaking in C/C++. Even more so than in
> Java.
>   It's the only human artifact visible with the naked eye from space :-)
>   Java developers who also do C++ are all hot and bothered about this,
> but
>   embedded developers who *barely* do C++(they are used to CPU's which
> use
>   10-100kBytes of RAM), refactoring is just lightyears away from what
>   interests them.
> - Programs are built using existing build systems. Eclipse CDT will not
>   influence the decisions on how programs are built. CDT managed build
> is
>   not on the radar in any form or shape. Developers *might* be
> interested
>   if CDT has some simple way of allowing existing build systems to be
>   invoked from CDT. E.g. running make, eCos build programs,
> automake(Linux),
>   etc.
> - Eclipse itself is very intimidating. This ranges from navigating the
>   Eclipse web-pages to understanding which plugins that need to be
> installed,
>   installing Java in the first place, understanding perspectives,
> possibly
>   first exposure version control/CVS, etc.
>
> Some open questions:
>
> - Is it a goal of CDT to get embedded developers to adopt CDT?
>
> - Does  CDT care whether or not C/C++ indexing is used as long
>   as CDT otherwise gets adopted?
>
> - Does CDT care whether or not CDT is involved in the build
>   process as long as CDT is otherwise used?
>
> - Does CDT care whether or not CDT is being used for editing,
>   refactoring, etc. as long as CDT is otherwise used?
>
> Some (my) conclusions:
>
> Assuming it is a goal to get as many embedded developers on board
> as possible, I think the following would be effective:
>
>
> - Package CDT as Insight killer. This will be the minimum threshold,
>   first encounter to CDT. Ultimately this requires CDT packaged as
>   a GDB GUI frontend without C/C++ indexing, CDT project build
> capabilities,
>   etc. with a standard Windows installer. Probably it would be a good
>   idea to include the Java JRE in the Windows installer package.
>   Package Eclipse CDT as an RCP app. This problem is being attacked
>   from several fronts(at least a dozen PR's are open and several of
>   them are being actively worked on).
> - Stop trying to convince developers to use CDT to build their
>   applications. This is a dead end. Instead treat developers existing
>   build procedures as first class citizens. Abandon the CDT project
>   concept and add a capability to invoke existing build scripts and
>   capture output(to pick up errors) + capability to terminate build.
>   CDT can most humbly be told basically three things:
>
> 1. Where to find the source for the purpose of editing it and looking
>    up relative paths
>
> 2. How to invoke the build procedure(oftentimes as simple as executing
>    "make" with pwd in a particular place)
>
> 3. Where to find the output(oftentimes the .elf files).
>
> Øyvind
>
> ----- Original Message -----
> From: <oyvind.harboe@xxxxxxxxx>
> To: <cdt-debug-dev@xxxxxxxxxxx>
> Sent: Thursday, March 23, 2006 3:06 AM
> Subject: [cdt-debug-dev] My annual rant about why refactoring and C/C++
> indexing sucks
>
> > In my experience CDT fails miserably to be adopted as an IDE when
> > compared to
> > Eclipse JDT.
> >
> > I've seen that CDT is quite successful in getting adopdated as GDB GUI.
> >
> > First some observations(from embedded developers point of view) and then
> > some
> > speculation about what's going on:
> >
> > - Focus is a lot of the time on hardware issues: voltage supplies,
> >  phase lock loops, high-frequency signalling issues, power consumption,
> >  part cost, etc. Some time is left over for software issues: choice of
> >  embedded operating system(if any), writing or selecting drivers for
> > hardware
> >  parts, etc. The application itself is oftentimes not very big. How
> >  much can you fit into 10-100k's of RAM anyway? :-) Java is probably
> >  nowhere on their radar before encountering Eclipse CDT.
> > - Users get angry and frustrated about Eclipse CDT "freezing up"
> >  and being "really slow". Some manage to make the connection that they
> >  are being hosed by CDT C/C++ indexing that is slowing down the
> > machine.
> >  The first reaction is "how do I turn it off?". When using CDT as a
> > debugger
> >  there is no need to enable C/C++ indexing. Also regressing to
> >  Insight is common. Insight *really* sucks, so this forces them kicking
> >  and screaming to reconsider CDT as a GDB GUI.
> > - Refactoring is a MASSIVE undertaking in C/C++. Even more so than in
> > Java.
> >  It's the only human artifact visible with the naked eye from space :-)
> >  Java developers who also do C++ are all hot and bothered about this,
> > but
> >  embedded developers who *barely* do C++(they are used to CPU's which
> > use
> >  10-100kBytes of RAM), refactoring is just lightyears away from what
> >  interests them.
> > - Programs are built using existing build systems. Eclipse CDT will not
> >  influence the decisions on how programs are built. CDT managed build
> > is
> >  not on the radar in any form or shape. Developers *might* be
> > interested
> >  if CDT has some simple way of allowing existing build systems to be
> >  invoked from CDT. E.g. running make, eCos build programs,
> > automake(Linux),
> >  etc.
> > - Eclipse itself is very intimidating. This ranges from navigating the
> >  Eclipse web-pages to understanding which plugins that need to be
> > installed,
> >  installing Java in the first place, understanding perspectives,
> > possibly
> >  first exposure version control/CVS, etc.
> >
> > Some open questions:
> >
> > - Is it a goal of CDT to get embedded developers to adopt CDT?
> >
> > - Does  CDT care whether or not C/C++ indexing is used as long
> >  as CDT otherwise gets adopted?
> >
> > - Does CDT care whether or not CDT is involved in the build
> >  process as long as CDT is otherwise used?
> >
> > - Does CDT care whether or not CDT is being used for editing,
> >  refactoring, etc. as long as CDT is otherwise used?
> >
> > Some (my) conclusions:
> >
> > Assuming it is a goal to get as many embedded developers on board
> > as possible, I think the following would be effective:
> >
> >
> > - Package CDT as Insight killer. This will be the minimum threshold,
> >  first encounter to CDT. Ultimately this requires CDT packaged as
> >  a GDB GUI frontend without C/C++ indexing, CDT project build
> > capabilities,
> >  etc. with a standard Windows installer. Probably it would be a good
> >  idea to include the Java JRE in the Windows installer package.
> >  Package Eclipse CDT as an RCP app. This problem is being attacked
> >  from several fronts(at least a dozen PR's are open and several of
> >  them are being actively worked on).
> > - Stop trying to convince developers to use CDT to build their
> >  applications. This is a dead end. Instead treat developers existing
> >  build procedures as first class citizens. Abandon the CDT project
> >  concept and add a capability to invoke existing build scripts and
> >  capture output(to pick up errors) + capability to terminate build.
> >  CDT can most humbly be told basically three things:
> >
> > _______________________________________________
> > cdt-debug-dev mailing list
> > cdt-debug-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev
>
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev 

_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev




Back to the top