473,657 Members | 2,612 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Need advice on selecting a development environment

My goal is to study (in the RMS sense) and familiarize myself with
some OSS code, until I reach the point at which I can make non-trivial
modifications to it. The class of applications I have in mind are
almost always written in C and run on Unixes. Historically, I have
used a terminal emulator, vi, and gcc/gdb for this type of project,
but would like to become more productive and take advantage of the
facilities provided by an IDE.

Here's the catch: I would like my front end environment (IDE) to run
on Windows, while the target code, debugger, etc. run on Unix. I
simply won't carry a Linux laptop around, although that day is
approaching by becoming feasible. I will not use remote X Windows,
either.

What I would like to do is take a directory filled with source code,
copy it to my Windows PC and use some IDE to manipulate the code.
These are my candidate IDEs:

- Visual C/C++
- Eclipse with the C++ development plugin
- NetBeans with the C++ development plugin

Notice that I DO NOT care about actually compiling/linking anything! I
will be satisfied with going back to the ancient mode and compiling,
debugging in the remote system vis ssh (after I am familiar with the
code, that is). What I really want out of the GUI IDEs is the ability
to double-click on a variable name and inquire about its definition/
declaration, find all references to it, perform complex searches and
things of that nature.

I hate long postings, so...

To be continued...

-Ramon

Dec 24 '07 #1
22 1986
On Dec 24, 3:01 am, Ramon F Herrera <ra...@conexus. netwrote:
My goal is to study (in the RMS sense) and familiarize myself with
some OSS code, until I reach the point at which I can make non-trivial
modifications to it. The class of applications I have in mind are
almost always written in C and run on Unixes. Historically, I have
used a terminal emulator, vi, and gcc/gdb for this type of project,
but would like to become more productive and take advantage of the
facilities provided by an IDE.

Here's the catch: I would like my front end environment (IDE) to run
on Windows, while the target code, debugger, etc. run on Unix. I
simply won't carry a Linux laptop around, although that day is
approaching by becoming feasible. I will not use remote X Windows,
either.

What I would like to do is take a directory filled with source code,
copy it to my Windows PC and use some IDE to manipulate the code.
These are my candidate IDEs:

- Visual C/C++
- Eclipse with the C++ development plugin
- NetBeans with the C++ development plugin

Notice that I DO NOT care about actually compiling/linking anything! I
will be satisfied with going back to the ancient mode and compiling,
debugging in the remote system vis ssh (after I am familiar with the
code, that is). What I really want out of the GUI IDEs is the ability
to double-click on a variable name and inquire about its definition/
declaration, find all references to it, perform complex searches and
things of that nature.

I hate long postings, so...

To be continued...

-Ramon

As promised, let's continue. The topic is superimposing an IDE on some
existent code that was developed on a foreign, possibly non-IDE. The
one issue that prompted this posting was the very critical detail of
hierarchically stored source code. We obviously don't want to move the
source files across directories, as things can get real messy (not to
mention the code maintainers' refusal to accept my humble code). I
began experimenting by copying the full source code of Asterisk to my
PC. It is certainly a non-trivial package, with 402 C files spread
across several subdirectories. "Let's try with Visual C++ first", I
said.

The problem is that VC++ doesn't seem to be prepared to handle
hierarchical code in its own terms, does it? (this question will come
back, but about Eclipse and NB). I can create a "filter" where all
the .h, .c and even other files are nicely kept, but this is not the
same thing as the structure afforded by a filesystem. The pervasive
name collision problem is always ready to bite you. A lot of the
source code has includes like this:

#include "asterisk/logger.h"

Those can be several levels deep. Once again, the hierarchy have to be
kept intact.

I guess I don't have a specific question so far, but would love to
hear comments from such experienced and insightful folks. :-)

-Ramon

Dec 24 '07 #2
On Dec 24, 3:01 am, Ramon F Herrera <ra...@conexus. netwrote:
What I really want out of the GUI IDEs is the ability
to double-click on a variable name and inquire about its definition/
declaration, find all references to it, perform complex searches and
things of that nature.

Since C and C++ lack Java's inheritance I won't be able to follow or
track it with the IDE, but I should still be able to use some forms
(?) of refactoring, maybe only the simplest which is renaming, I
suppose.

-Ramon

Dec 24 '07 #3
On Sun, 23 Dec 2007 23:01:37 -0800, Ramon F Herrera wrote:
My goal is to study (in the RMS sense) and familiarize myself with some
OSS code, until I reach the point at which I can make non-trivial
modifications to it. The class of applications I have in mind are almost
always written in C and run on Unixes. Historically, I have used a
terminal emulator, vi, and gcc/gdb for this type of project, but would
like to become more productive and take advantage of the facilities
provided by an IDE.

Here's the catch: I would like my front end environment (IDE) to run on
Windows, while the target code, debugger, etc. run on Unix. I simply
won't carry a Linux laptop around, although that day is approaching by
becoming feasible. I will not use remote X Windows, either.
I understand not wanting to mess with remote xserver, but the Linux
laptop situation seems pretty good to me. I have an Ubuntu thinkpad as
my main machine. It suspends and hibernates, sometimes faster than
Windows, uses wireless and nearly any type of authentication with ease,
and is simply a rock solid easy to use system.
>
What I would like to do is take a directory filled with source code,
copy it to my Windows PC and use some IDE to manipulate the code. These
are my candidate IDEs:

- Visual C/C++
Still clearly the best in my opinion. The big downside here is that
there is no Linux version, and likely there never will be.
- Eclipse with the C++ development plugin
Eclipse has a lot of nice functionality, even though configuration and
plugin management can get somewhat complicated at times. My big gripe
about Eclipse used to be an overall slugishness; but the latest version,
Europa, runs nice and smooth with snappy response.
- NetBeans with the C++
development plugin
The C++ plugin for NetBeans is still too new for me to entirely trust to
any of my projects, but the IDE itself seems well thought out. The
drawbrack with NetBeans is the smaller pool of available plugins, and
it's not nearly as configurable as Eclipse

At the end of the day, I prefer Eclipse.
Dec 24 '07 #4
On Sun, 23 Dec 2007 23:35:50 -0800, Ramon F Herrera wrote:
On Dec 24, 3:01 am, Ramon F Herrera <ra...@conexus. netwrote:
Since C and C++ lack Java's inheritance I won't be able to follow or
track it with the IDE, but I should still be able to use some forms (?)
of refactoring, maybe only the simplest which is renaming, I suppose.

-Ramon
You're right about C not supporting inheritance, but C++ most definitely
does. The example below is inheritance in C++:

class Mustang {
public:
Car;
}

Here Mustang is a subclass of Car. You can inherit from multiple classes
by putting a space between each class name, even though multiple
inheritance generally isn't recommended (I can explain further on that
point if you wish).
Dec 24 '07 #5
On Sun, 23 Dec 2007 23:32:24 -0800, Ramon F Herrera wrote:
The problem is that VC++ doesn't seem to be prepared to handle
hierarchical code in its own terms, does it? (this question will come
back, but about Eclipse and NB). I can create a "filter" where all the
.h, .c and even other files are nicely kept, but this is not the same
thing as the structure afforded by a filesystem. The pervasive name
collision problem is always ready to bite you. A lot of the source code
has includes like this:

#include "asterisk/logger.h"

Those can be several levels deep. Once again, the hierarchy have to be
kept intact.
I've never hear of Visual Studio messing with package structure before.
It should be able to handle it just fine.

Dec 24 '07 #6
On Dec 24, 7:01 am, Ramon F Herrera <ra...@conexus. netwrote:
What I really want out of the GUI IDEs is the ability
to double-click on a variable name and inquire about its definition/
declaration, find all references to it, perform complex searches and
things of that nature.
1) This is totally OT in all of the groups you've
posted to.

2) man ctags

The point I'm making in number 2 is that elsethread you dismiss the
standard tools as "ancient", but you seem to be totally
unaware of the fact that they can easily perform
the tasks you request.

Dec 24 '07 #7
Ramon F Herrera <ra***@conexus. netwrites:
On Dec 24, 3:01 am, Ramon F Herrera <ra...@conexus. netwrote:
>My goal is to study (in the RMS sense) and familiarize myself with
some OSS code, until I reach the point at which I can make non-trivial
modification s to it. The class of applications I have in mind are
almost always written in C and run on Unixes. Historically, I have
used a terminal emulator, vi, and gcc/gdb for this type of project,
but would like to become more productive and take advantage of the
facilities provided by an IDE.

Here's the catch: I would like my front end environment (IDE) to run
on Windows, while the target code, debugger, etc. run on Unix. I
simply won't carry a Linux laptop around, although that day is
approaching by becoming feasible. I will not use remote X Windows,
either.

What I would like to do is take a directory filled with source code,
copy it to my Windows PC and use some IDE to manipulate the code.
These are my candidate IDEs:

- Visual C/C++
- Eclipse with the C++ development plugin
- NetBeans with the C++ development plugin

Notice that I DO NOT care about actually compiling/linking anything! I
will be satisfied with going back to the ancient mode and compiling,
debugging in the remote system vis ssh (after I am familiar with the
code, that is). What I really want out of the GUI IDEs is the ability
to double-click on a variable name and inquire about its definition/
declaration, find all references to it, perform complex searches and
things of that nature.

I hate long postings, so...

To be continued...

-Ramon


As promised, let's continue. The topic is superimposing an IDE on some
existent code that was developed on a foreign, possibly non-IDE. The
one issue that prompted this posting was the very critical detail of
hierarchically stored source code. We obviously don't want to move the
source files across directories, as things can get real messy (not to
mention the code maintainers' refusal to accept my humble code). I
began experimenting by copying the full source code of Asterisk to my
PC. It is certainly a non-trivial package, with 402 C files spread
across several subdirectories. "Let's try with Visual C++ first", I
said.

The problem is that VC++ doesn't seem to be prepared to handle
hierarchical code in its own terms, does it? (this question will come
back, but about Eclipse and NB). I can create a "filter" where all
the .h, .c and even other files are nicely kept, but this is not the
same thing as the structure afforded by a filesystem. The pervasive
name collision problem is always ready to bite you. A lot of the
source code has includes like this:

#include "asterisk/logger.h"

Those can be several levels deep. Once again, the hierarchy have to be
kept intact.

I guess I don't have a specific question so far, but would love to
hear comments from such experienced and insightful folks. :-)

-Ramon
You don't want to compile? This is silly for a start. Did you think
about simply running VMWare and running the Windows IDE you are familiar
with? Are you familiar with any? Why not just use vi and tags if you are
only browsing the code? You dont need to compile and debug you say
(although this is silly IMO)?

Try dual boot on your laptop maybe? That or VMWare under Windows to run
a Linux system as a virtual machine.

Having said that your aim is to study OSS code. You do realise that a
lot of OSS code can be compiled and run on Windows too?

Dec 24 '07 #8
Ramon F Herrera <ra***@conexus. netwrites:
On Dec 24, 3:01 am, Ramon F Herrera <ra...@conexus. netwrote:
>What I really want out of the GUI IDEs is the ability
to double-click on a variable name and inquire about its definition/
declaration, find all references to it, perform complex searches and
things of that nature.


Since C and C++ lack Java's inheritance I won't be able to follow or
track it with the IDE, but I should still be able to use some forms
(?) of refactoring, maybe only the simplest which is renaming, I
suppose.
What do you mean by Java's inheritance here? If you think C++ doesn't
have this then I suspect that a lot of your decision making will be
wrong since you don't actually understand or need C++.

Dec 24 '07 #9
On Sun, 23 Dec 2007 23:01:37 -0800 (PST), Ramon F Herrera
<ra***@conexus. netwrote, quoted or indirectly quoted someone who
said :
- Visual C/C++
- Eclipse with the C++ development plugin
- NetBeans with the C++ development plugin
one other you might want to throw in the mix see
http://mindprod.com/jgloss/intellij.html

Have a look at the refactorings. Check out the rearranger plugin.
Check out how finely you can control format.

The nice thing is you can take an extended test drive of all three
for free. Every IDE has is strengths and weaknesses. You have to try
each one to see if it gives you lowest overall frustration quotient.

I found IntelliJ quite intuitive, but that may because I did all my
ground breaking in Eclipse.
--
Roedy Green Canadian Mind Products
The Java Glossary
http://mindprod.com
Dec 24 '07 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

10
2640
by: Beach Potato | last post by:
Dear Y'all: I'm about to start porting a big old project written in anscient version of Delphi to something more stable, robust, supportable and maybe even portable. Since I haven't seriously touched C for large implementations, I'm seeking advice on what to use for development. My ultimate goal is to spend as less time on it as possible. I'll be writing it in Windows 32-bit environment, probably Win2000 or Win98. Planning to use a...
2
1319
by: bweaver4usenet | last post by:
Please help me choose a compiler and environment for commercial software development in C++... Either a compiler I currently own, can upgrade to, or something else entirely. I'm primarily interested in standards adherance, debugging support, and fast code, plus I'm somewhat price-conscious. I'd be developing for Windows, but would like to be able to build apps for Mac and possibly Linux without too much rework. Either I'm googling wrong,...
28
2464
by: Jed | last post by:
Hello to all! I have a couple of projects I intend starting on, and was wondering if someone here could make a suggestion for a good compiler and development environment. My goals are as follows: 1. Develop the project code on XP.
22
2589
by: Rafia Tapia | last post by:
Hi all This is what I have in mind and I will appreciate any suggestions. I am trying to create a xml help system for my application. The schema of the xml file will be <helpsystem> <help id="unique id"> <text>text data</text> <link href="optional tag which will hold a reference to a uri"
2
1814
by: Lauren Wilson | last post by:
Hi Folks, I have a widely distributed Access 200 Application. I must retain my ability to support users who are still on Access 2000 and Access 2000 Runtime. However I also need to upgrade my development environment to Office 2003 Professional. My question is: Where can I find a comprehensive description of the known issues that will affect my ability to do all of the above after I upgrade my own development environment to Office...
6
1500
by: Mike L. | last post by:
Hi, Pls, beware that I'm new to this :) I've developed several web appl, either with ASP or ASP.NET. All using SQL server as the back end. In my development environment, I have a single server running Win2K, which serves as Web Server and SQL server as well. And, since my hosting (production server) using the same config; ie: using a single server to serve both web server and SQL server; it's always been easy
4
2845
by: Web_PDE_Eric | last post by:
I don't know where to go, or what to buy, so plz re-direct me if I'm in the wrong place. I want to do high performance integration of partial differential eqns in n dimensions (n=0,1,2,3..etc) I want to do (fast) graphic output of the results. I used to use C. I want to upgrade my computer. Do I get dual core? Does C# support dual-core? Is C# as fast as the old C? Is there a new C? (or is C# the new version of C?) Is Visual Studio...
4
1497
by: C.Howard18 | last post by:
I work for ValoreBooks.com, which is an internet company based out of Buffalo, NY. I am looking to hire a computer programmer with the job description listed below. Can anybody tell me where would be the best place is to post this job. I can't decide between monster/ careerbuilder/dice.com. I was just wondering if anybody even looks at these sites while searching for a programming job or if anyone has any other recomendations to post...
22
278
by: Ramon F Herrera | last post by:
My goal is to study (in the RMS sense) and familiarize myself with some OSS code, until I reach the point at which I can make non-trivial modifications to it. The class of applications I have in mind are almost always written in C and run on Unixes. Historically, I have used a terminal emulator, vi, and gcc/gdb for this type of project, but would like to become more productive and take advantage of the facilities provided by an IDE. ...
0
8305
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8823
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8730
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8605
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7321
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
4151
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
2726
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1950
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
2
1607
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.