www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - What you use D for?

reply Arne <user domain.invalid> writes:
Hi all,

I'm a developer specialised in making eclipse based IDEs. We consider to create
a comercial quality IDE for D but are unsure if it will pay of (and so we are
able to throw full time developers at the project).

We need to know if there will be enough customers. Do you use D for commercial
projects? Does your company make money with it? And is able to pay for an IDE
(if it fullfill your needs and speed up your development, of course)?

It would be helpfull if you can describe in a few words what you do with D and
perhaps could provide a link.

Thanks!

Arne
May 14 2008
next sibling parent Frank Benoit <keinfarbton googlemail.com> writes:
Arne schrieb:
 Hi all,
 
 I'm a developer specialised in making eclipse based IDEs. We consider to
create a comercial quality IDE for D but are unsure if it will pay of (and so
we are able to throw full time developers at the project).
 
 We need to know if there will be enough customers. Do you use D for commercial
projects? Does your company make money with it? And is able to pay for an IDE
(if it fullfill your needs and speed up your development, of course)?
 
 It would be helpfull if you can describe in a few words what you do with D and
perhaps could provide a link.
 
 Thanks!
 
 Arne

A system for software test in the automotive industry. www.tionex.de
May 14 2008
prev sibling next sibling parent Trevor Parscal <trevorparscal hotmail.com> writes:
Arne Wrote:

 Hi all,
 
 I'm a developer specialised in making eclipse based IDEs. We consider to
create a comercial quality IDE for D but are unsure if it will pay of (and so
we are able to throw full time developers at the project).
 
 We need to know if there will be enough customers. Do you use D for commercial
projects? Does your company make money with it? And is able to pay for an IDE
(if it fullfill your needs and speed up your development, of course)?
 
 It would be helpfull if you can describe in a few words what you do with D and
perhaps could provide a link.
 
 Thanks!
 
 Arne

GUI/Windowing/Graphics/etc library (http://www.dsource.org/projects/unid) which I look forward to developing a commercial multimedia production suite on top of. I would gladly pay for a stable and feature rich eclipse plugin or comparable IDE, but I would need to work on Linux, OSX, and Windows. - Trevor
May 15 2008
prev sibling next sibling parent "Christof Schardt" <csnews christof-schardt.de> writes:
"Arne" <user domain.invalid> schrieb im Newsbeitrag 
news:g0gm1q$2ar1$1 digitalmars.com...
 Hi all,

 I'm a developer specialised in making eclipse based IDEs. We consider to 
 create a comercial quality IDE for D but are unsure if it will pay of (and 
 so we are able to throw full time developers at the project).

 We need to know if there will be enough customers. Do you use D for 
 commercial projects? Does your company make money with it? And is able to 
 pay for an IDE (if it fullfill your needs and speed up your development, 
 of course)?

 It would be helpfull if you can describe in a few words what you do with D 
 and perhaps could provide a link.

I would gladly pay for a tool, which brings the productivity and comfort of VisualStudio plus VisualAssist. This combination is a benchmark for other tools. If you once have had VAssist at your fingertips and enjoyed, how it intelligently types the names for you, you never can go back behind this. Christof
May 15 2008
prev sibling next sibling parent reply BCS <ao pathlink.com> writes:
Reply to Arne,

 Hi all,
 
 I'm a developer specialised in making eclipse based IDEs. We consider
 to create a comercial quality IDE for D but are unsure if it will pay
 of (and so we are able to throw full time developers at the project).
 
 We need to know if there will be enough customers. Do you use D for
 commercial projects? Does your company make money with it? And is able
 to pay for an IDE (if it fullfill your needs and speed up your
 development, of course)?
 
 It would be helpfull if you can describe in a few words what you do
 with D and perhaps could provide a link.
 
 Thanks!
 
 Arne
 

I currently have one project (a job) that is done in VB6 and I'm trying to talk the guy into letting me redo it in D. I have another project (different job) that the bosses want to do in D but would need to see a better tool set: IDE+Debugger+etc. I'd pay something ($30, maybe a bit more) for such a product. I suspect my bosses would be willing to pay a bit more than that.
May 15 2008
parent reply BCS <ao pathlink.com> writes:
Reply to Benjamin,

 I'd pay something ($30, maybe a bit more) for such a product. I
 suspect my bosses would be willing to pay a bit more than that.
 

BTW: I'm a broke collage student ;-). Talking to my boss, he'd be willing to pay more like 200-250 for a good IDE, if it has good debugger support.
May 15 2008
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"BCS" wrote
 Reply to Benjamin,

 I'd pay something ($30, maybe a bit more) for such a product. I
 suspect my bosses would be willing to pay a bit more than that.

BTW: I'm a broke collage student ;-).

What kind of collages are you learning to make? Sorry, couldn't help myself ;) -Steve
May 15 2008
parent BCS <ao pathlink.com> writes:
Reply to Steven,

 "BCS" wrote
 
 BTW: I'm a broke collage student ;-).
 

Sorry, couldn't help myself ;) -Steve

What can I say, I'm a child of the spell check generation!
May 15 2008
prev sibling next sibling parent Georg Wrede <georg nospam.org> writes:
Arne wrote:
 Hi all,
 
 I'm a developer specialised in making eclipse based IDEs. We consider
 to create a comercial quality IDE for D but are unsure if it will pay
 of (and so we are able to throw full time developers at the project).

I assume this would not be an eclipse plugin. I'm also expecting it to be programmed using D or some other fast, native compiling language. And I expect it to work on both Linux and Windows.
 We need to know if there will be enough customers. Do you use D for
 commercial projects? Does your company make money with it? And is
 able to pay for an IDE (if it fullfill your needs and speed up your
 development, of course)?

If you look at the publicity D has been acquiring at an ever expanding rate, D's position on the Tiobe language index, and finally, industry insiders' opinions on D, it should be obvious there is enough potential with D. Further, if you look at the scarcity of good IDEs that really function well with D and support D's specific features (templates, mixins, unit tests, documentation comments), you'd immediately see that a commercial quality IDE for D is an excellent choice compared to writing an IDE for any other language right now. Now, as to financial returns: superior quality will bring you the money back. This superior quality here means, of course, being bug free, but most of all, it means the needed features are all there, no superfluos bells or whistles -- and it has to have superior support for the above mentioned language features. For example, support for documentation comments means the editor shows them "as on a web site", i.e. interpreted, and when the programmer wants to edit them the IDE shows fill-in boxes for the various values and free text. Or in some other (possibly yet uninvented) manner helps in editing and viewing them, as well as helping them stay congruent with the actual code. I'd pay $50 any day for such an IDE. But a bit of a warning is in order here. Before I'd pay the $50, I'd have to become convinced that it's not a waste of time from my part. That means, I'd have to have read positive reviews on quality sites, seen people in this NG talk favorably of it, and, then of course tried it on both Linux and Windows myself, before buying. You'd probably have to start with a free version that you gradually improve on until it meets and beats the competition, and only then start charging for it. This will take years of development, a team that really can beat the other teams in finding and realizing superior solutions to the programming tasks, and you simply will need to garner the support and help of the user community. And the transition from free to non-free is both a managerial and a marketing challenge one should not belittle.
 It would be helpfull if you can describe in a few words what you do
 with D and perhaps could provide a link.

I've written a process monitoring and controlling application for the plastics industry in D, some 2 years ago. It is still in use, but I don't have a web page for it, since it was programmed for a customer.
May 15 2008
prev sibling next sibling parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Arne wrote:
 Hi all,
 
 I'm a developer specialised in making eclipse based IDEs. We consider to
create a comercial quality IDE for D but are unsure if it will pay of (and so
we are able to throw full time developers at the project).

Since no one has mentioned it yet, there is an eclipse-based IDE for D already. There are two of them, actually. Descent and Mrnmnhrmn. Just thought I'd mention it, in case you weren't aware of your competition. I haven't really used either. I toyed around with Descent for about an hour recently, but generally I use emacs for everything. However the Descent guys do seem to be doing a pretty good job with their plugin.
 We need to know if there will be enough customers. Do you use D for commercial
projects? Does your company make money with it? And is able to pay for an IDE
(if it fullfill your needs and speed up your development, of course)?

My biggest woes with D development usually come from the debugger (Jascha Wetzel's ddbg) not giving useful stack traces rather than from anything an IDE would help with. --bb
May 15 2008
prev sibling next sibling parent reply Jason House <jason.james.house gmail.com> writes:
I develop a multithreaded game-playing engine http://housebot.sourceforge.net
Of critical importance to me is debugger integration, multithreaded support,
data visualization, full Tango compatibility, support for all gdc platforms,
and integrated profiling and unit test coverage analysis. I could see spending
$50 on something like that, but only if I know it will remain useful.

An IDE stops being useful if I have to buy a new version with each D release,
or is close in functionality to free alternatives.

Arne Wrote:

 Hi all,
 
 I'm a developer specialised in making eclipse based IDEs. We consider to
create a comercial quality IDE for D but are unsure if it will pay of (and so
we are able to throw full time developers at the project).
 
 We need to know if there will be enough customers. Do you use D for commercial
projects? Does your company make money with it? And is able to pay for an IDE
(if it fullfill your needs and speed up your development, of course)?
 
 It would be helpfull if you can describe in a few words what you do with D and
perhaps could provide a link.
 
 Thanks!
 
 Arne

May 15 2008
next sibling parent reply "Dave" <Dave_member pathlink.com> writes:
"Jason House" <jason.james.house gmail.com> wrote in message 
news:g0i5gi$sr2$1 digitalmars.com...
I develop a multithreaded game-playing engine 
http://housebot.sourceforge.net
 Of critical importance to me is debugger integration, multithreaded 
 support, data visualization, full Tango compatibility, support for all gdc 
 platforms, and integrated profiling and unit test coverage analysis. I 
 could see spending $50 on something like that, but only if I know it will 
 remain useful.

 An IDE stops being useful if I have to buy a new version with each D 
 release, or is close in functionality to free alternatives.

$50 for all that and a virtual life-time maintenance contract -- Wow, big spender! Just because you give your software away doesn't mean the rest of us should <g> This is a perfect example of how the open-source mentality stifles innovation - small development organizations can't make a buck off of software anymore, so why take the time to do it right ;)
 Arne Wrote:

 Hi all,

 I'm a developer specialised in making eclipse based IDEs. We consider to 
 create a comercial quality IDE for D but are unsure if it will pay of 
 (and so we are able to throw full time developers at the project).

 We need to know if there will be enough customers. Do you use D for 
 commercial projects? Does your company make money with it? And is able to 
 pay for an IDE (if it fullfill your needs and speed up your development, 
 of course)?

 It would be helpfull if you can describe in a few words what you do with 
 D and perhaps could provide a link.

 Thanks!

 Arne


May 15 2008
next sibling parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Dave wrote:
 
 "Jason House" <jason.james.house gmail.com> wrote in message 
 news:g0i5gi$sr2$1 digitalmars.com...
 I develop a multithreaded game-playing engine 
 http://housebot.sourceforge.net
 Of critical importance to me is debugger integration, multithreaded 
 support, data visualization, full Tango compatibility, support for all 
 gdc platforms, and integrated profiling and unit test coverage 
 analysis. I could see spending $50 on something like that, but only if 
 I know it will remain useful.

 An IDE stops being useful if I have to buy a new version with each D 
 release, or is close in functionality to free alternatives.

$50 for all that and a virtual life-time maintenance contract -- Wow, big spender!

That's not an outrageous request for a C++ or Java IDE. There are so many devs out there for those languages that a company probably could survive with that pricing. D isn't quite there yet, though, in terms of number of devs and penetration into corporate markets where employers can easily fork out the $$ for an IDE.
 Just because you give your software away doesn't mean the rest of us 
 should <g>
 
 This is a perfect example of how the open-source mentality stifles 
 innovation - small development organizations can't make a buck off of 
 software anymore, so why take the time to do it right ;)

Thanks to open source, we already have an Eclipse-based IDE, which I've heard is pretty decent. (err... no pun intended there). Without open source we'd all still be sitting around waiting for the D community to get large enough for a commercial developer like Arne to take notice. Furthermore, Arne was proposing to make an Eclipse-based IDE. Eclipse is open source. So without open source Arne would have no business model at all here. Still, you do have a point that free-as-in-beer software has given people an expectation that they can get something for nothing. Still I think it's better than the alternative we used to have, which was being forced to pay something to get software that all too often turned out be basically worth nothing. --bb
 Arne Wrote:

 Hi all,

 I'm a developer specialised in making eclipse based IDEs. We consider 
 to create a comercial quality IDE for D but are unsure if it will pay 
 of (and so we are able to throw full time developers at the project).

 We need to know if there will be enough customers. Do you use D for 
 commercial projects? Does your company make money with it? And is 
 able to pay for an IDE (if it fullfill your needs and speed up your 
 development, of course)?

 It would be helpfull if you can describe in a few words what you do 
 with D and perhaps could provide a link.



May 15 2008
prev sibling next sibling parent Robert Fraser <fraserofthenight gmail.com> writes:
Brad Roberts wrote:
 That said, a paid eclipse based ide isn't likely to see a lot of 
 adoption as long as there's two others being actively developed that are 
 both free.

Only one. Mmrnmhrm (I have to copy-paste that every time ;-P) is "on hold", and AFAIK, DDT, EclipseD and Elephant (I think that was the other one...?) are all no longer active.
May 15 2008
prev sibling next sibling parent reply Robert Fraser <fraserofthenight gmail.com> writes:
Dave wrote:
 This is a perfect example of how the open-source mentality stifles 
 innovation - small development organizations can't make a buck off of 
 software anymore, so why take the time to do it right

I'm not sure if I'm understanding you point. Are you saying?: - Open source developers make products that are good enough such that small development houses can't compete? How does that "stifle innovation"? - Open source developers are not innovative or are "doing it wrong", but because their products are often made available for free, people and companies aren't willing to look into commercial options? - Something else...?
May 15 2008
parent BCS <ao pathlink.com> writes:
Reply to Robert,

 Dave wrote:
 
 This is a perfect example of how the open-source mentality stifles
 innovation - small development organizations can't make a buck off of
 software anymore, so why take the time to do it right
 

- Open source developers make products that are good enough such that small development houses can't compete? How does that "stifle innovation"? - Open source developers are not innovative or are "doing it wrong", but because their products are often made available for free, people and companies aren't willing to look into commercial options? - Something else...?

one possible issue is if there is a better way to do something that is not practical to do without a pile of money. Open source won't do it near as fast as for-profit will and open source makes it hard for smaller shops to break into a market. That said, I can't think of anything that fits the bill.
May 16 2008
prev sibling parent Jason House <jason.james.house gmail.com> writes:
Dave Wrote:

 
 "Jason House" <jason.james.house gmail.com> wrote in message 
 news:g0i5gi$sr2$1 digitalmars.com...
I develop a multithreaded game-playing engine 
http://housebot.sourceforge.net
 Of critical importance to me is debugger integration, multithreaded 
 support, data visualization, full Tango compatibility, support for all gdc 
 platforms, and integrated profiling and unit test coverage analysis. I 
 could see spending $50 on something like that, but only if I know it will 
 remain useful.

 An IDE stops being useful if I have to buy a new version with each D 
 release, or is close in functionality to free alternatives.

$50 for all that and a virtual life-time maintenance contract -- Wow, big spender!

I don't expect life-time maintenance for free, but I also don't want to pay for an upgrade every time the DMD compiler changes. That can happen on a weekly basis! Visual studio runs $100-$200 and seems to release new versions every 2-3 years. I don't think a D IDE can wait that long between new releases.
 Just because you give your software away doesn't mean the rest of us should 
 <g>

It more means that my D-based cash flow is limited ($0). That then puts IDE's into the category of recreational spending. I don't pay more than ~$50 for video games. I'm sure the hobbyist's perspective is far different from that of copanies which'll pay top dollar to enhance the efficiency of their employees.
 This is a perfect example of how the open-source mentality stifles 
 innovation - small development organizations can't make a buck off of 
 software anymore, so why take the time to do it right ;)

You may be joking, but it's probably worth saying that open source raises the expected quality of commercial applications. Right now, I can already get most functionality I want/need for free: IDE: emacs+d-mode or Eclipse+Descent Debugger: GDB (with demangling patch) Compiler: GDC or DMD Build System: make or dsss (There are some other windows-only options too) Do I mind having all of those pieces separate? Not really. Would I like having better integration between the tools? Yes. If those open source projects didn't exist, my need for an all-in-one IDE would be much higher. This makes it tougher for a commercial company because their price is not measured against their feature set but rather the incremental features beyond what is available for free. I also expect modern commercial applications to leverage existing open source products. I think the original post talked about a commercial PLUGIN to eclipse.
May 16 2008
prev sibling parent reply Brad Roberts <braddr puremagic.com> writes:
On Thu, 15 May 2008, Dave wrote:

 "Jason House" <jason.james.house gmail.com> wrote in message
 news:g0i5gi$sr2$1 digitalmars.com...
 I develop a multithreaded game-playing engine
 http://housebot.sourceforge.net
 Of critical importance to me is debugger integration, multithreaded support,
 data visualization, full Tango compatibility, support for all gdc platforms,
 and integrated profiling and unit test coverage analysis. I could see
 spending $50 on something like that, but only if I know it will remain
 useful.
 
 An IDE stops being useful if I have to buy a new version with each D
 release, or is close in functionality to free alternatives.
 

$50 for all that and a virtual life-time maintenance contract -- Wow, big spender! Just because you give your software away doesn't mean the rest of us should <g> This is a perfect example of how the open-source mentality stifles innovation - small development organizations can't make a buck off of software anymore, so why take the time to do it right ;)

The thread was seeking opinions, and Jason's is a perfectly valid one. He'd rather have a less superior IDE that's both free and kept current than one that costs more and isn't kept current or costs more to follow the evolution of the language. Considering how fast the language evolves, that's a very real consideration. Personally, I can't see a commercial IDE succeeding for D yet. I'd certainly never dream of telling someone not to give it a whirl, of course. That said, a paid eclipse based ide isn't likely to see a lot of adoption as long as there's two others being actively developed that are both free. My two cents, Brad
May 15 2008
parent BCS <ao pathlink.com> writes:
Reply to Brad,

 That said, a paid eclipse based ide isn't likely to see a lot of
 adoption as long as there's two others being actively developed that
 are both free.
 

I'd be willing to pay /somthing/ for support for what we have. me: "Hay ___ dosn't work!" them: "you paid up?" me: "Yup" them: "ok, how about now." me: "thanks!" :b
May 15 2008
prev sibling next sibling parent reply Tower Ty <towerty msn.com.au> writes:
In other words they want everything they can possibly get ,right now and for
nothing .

There are not the numbers here to justify your time and prior competition
anyway.
You would be better advised to move on .
May 15 2008
next sibling parent BCS <ao pathlink.com> writes:
Reply to Tower,

 In other words they want everything they can possibly get ,right now
 and for nothing .
 
 There are not the numbers here to justify your time and prior
 competition anyway.

I think the same thing applies here as with job adds. People ask for a lot more than they expect to get. (That was told to me by someone who writes them) As to cost: Don't plan on selling it to people (me and us), plan on selling it to people's employers. They will spend a bit more. As for me, the only way I'm going to buy it with my /own/ money would be something like an academic license. While Ty may be not to far off on the market size for now, the proposed product just might be able to change that. And a little competition never hurt anyone.
May 15 2008
prev sibling parent "Chris R. Miller" <lordSaurontheGreat gmail.com> writes:
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Tower Ty wrote:
 In other words they want everything they can possibly get ,right now an=

=20
 There are not the numbers here to justify your time and prior competiti=

 You would be better advised to move on .

I have to agree. Descent is already shaping up to be something of an=20 end-all IDE for D. If Descent doesn't beat you to the punch, then quite = certainly Entice Designer will. I would imagine that it's very=20 difficult to write a GUI builder, and especially so to write one that=20 works with *both* DWT and DFL.
May 15 2008
prev sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Arne" <user domain.invalid> wrote in message 
news:g0gm1q$2ar1$1 digitalmars.com...
 Hi all,

 I'm a developer specialised in making eclipse based IDEs. We consider to 
 create a comercial quality IDE for D but are unsure if it will pay of (and 
 so we are able to throw full time developers at the project).

 We need to know if there will be enough customers. Do you use D for 
 commercial projects? Does your company make money with it? And is able to 
 pay for an IDE (if it fullfill your needs and speed up your development, 
 of course)?

 It would be helpfull if you can describe in a few words what you do with D 
 and perhaps could provide a link.

I use D whenever my hands aren't tied in regard to which language to use. Regarding tools: right now, I'm using the open-source stuff (CodeBlocks currently), but out of all such things I've tried, I've have had a number of complaints with each. Even with CodeBlocks, I have a good handful of bug/feature tickets in their system, and being open-source, I'm not expecting those tickets to get resolved soon. And, unfortunately, I just don't have time to help out on them myself. I've been meaning to give another try to things like Zeus and Programmer's Notepad, but haven't gotten around to it. So basically, I'd be willing to pay a price comparable to Visual Studio Professional for an IDE that's comparable to Visual Studio Professional (I'm specifically thinking about Visual Studio's support for C#: it's been years since I've used it for C/C++). Although, preferably with better performance in terms of speed and memory usage - I really like responsiveness of the lighter-weight solutions like CodeBlocks. Oh, and there better not be any invisible text (or other UI elements) when I run it on a system with a light-on-dark system color scheme, because that's just incredibly unprofessional and places it squarely in the category of "things I'd only use for free". You'd be surprised how many people, both commercial and open-source, don't follow the guideline of "Foreground and background colors: Never change one away from system-default without also changing the other." Hell, I've even seen built-in Windows screens that ignored that, and you think that *MS'S WINDOWS TEAM*, of all people, would be well aware that Windows *SUPPORTS CUSTOM COLOR SCHEMES*, and has supported them since at least as far back as Win3.1. Umm, sorry for the rant ;) But back to the original issue, anything based on Eclipse would definitely NOT fit the bill for me. I've tried to use Eclipse a few times before and find it hopelessly bloated (even a little moreso than Visual Studio), and whatever the heck it uses instead of the nice clean "project file and workspace file" mechanism of IDE's like Visual Studio and CodeBlocks just doesn't seem to make any sense at all.
May 16 2008
parent reply Robert Fraser <fraserofthenight gmail.com> writes:
Nick Sabalausky wrote:
 whatever the heck it uses instead of the nice clean "project file and 
 workspace file" mechanism of IDE's like Visual Studio and CodeBlocks just 
 doesn't seem to make any sense at all. 

... Hidden folder in the workspace and 2 project files?
May 16 2008
parent reply "Nick Sabalausky" <a a.a> writes:
"Robert Fraser" <fraserofthenight gmail.com> wrote in message 
news:g0kv7d$2gvg$1 digitalmars.com...
 Nick Sabalausky wrote:
 whatever the heck it uses instead of the nice clean "project file and 
 workspace file" mechanism of IDE's like Visual Studio and CodeBlocks just 
 doesn't seem to make any sense at all.

... Hidden folder in the workspace and 2 project files?

The whole concept of projects and workspaces in Eclipse just strikes me as a bit...clumsy. With Notepad, you start it up, create whatever you need to create, and then save it as a single file, named whatever you want, placed wherever you want (Or, of course, you can save first just to create the file, and then add whatever to the blank file). Simple, easy, flexible, and IMO the way it should be. Visual Studio extends this simple, flexible mechanism to the concept of both projects and workspaces (with .NET-era Visual Studio using the term "solution" instead of "workspace"). I start up Visual Studio, create whatever I want to create (or save first), and then save the project to one single file named whatever I want, placed wherever I want. The workspace is also saved to one single file named whatever I want, placed wherever I want. If I add another project to the workspace, same thing, one nice neat file per project and one per workspace. Each file references whatever files it needs, and if you move/rename something, you can always update the references either in the IDE or in the actual files themselves. Granted, Visual Studio does automatically generate one extra "user settings" file per project (or is it per workspace? whatever, either way...), but I've never found that to be a problem. It's just data that wouldn't make sense to put under source control anyway, and nothing important enough that recreating the data is anything you'd even give a conscious thought to anyway (IIRC, frame layout settings, etc). But with Eclipse: First, you can't even be in the main UI at all without the session already being attached to an already named-and-saved workspace (Hence, the "choose a workspace" startup dialog.) That's a bit of a clumsy and arbitrary restriction and doesn't appear to provide any real benefit (imagine if Notepad worked that way). Secondly, being from the Java world, Eclipse follows the (misguided, IMO) Java philosophy of marrying its self with the filesystem. "A workspace contains projects and projects contain sources, therefore workspaces and projects should be folders, not files." Yea, well, the problem is that's forcefully imposing an arbitrary choice. If I want to follow a convention of projects and workspaces being folders, I can already do that with VS-style projects and workspaces. I make a folder for the workspace, stick a workspace file named ".workspace" in there, make subfolders for the projects, stick project files named ".project" in those, etc. True, in that case, projects and workspaces aren't *really* folders, they're each a folder *and* a file, but Eclipse already has to do that anyway. You can *kinda* work around this in Eclipse with "Create Project From Existing Source", but there are still limitations (a project and workspace can't occupy the same directory - which breaks my usual style of sticking the project and workspace files next to each other in the top-level of a "MyProgram" directory). Plus, switching workspaces makes the entire Eclipse program reload (slow, and why, for instance, should the help window close when I load a different workspace?) Also, Eclipse seems to marry the ideas of "user settings" together with that of "workspace". For instance, there are some settings, like syntax coloring settings and "Open Associated Perspective: Remember my decision", that are associated with a workspace, but should be treated as global user settings (or at least, global within the scope of a user account). Now if Eclipse had a notion of "Targets" (like CodeWarrior, IIRC) that were children of projects, and contained the source files, then that would solve most of my problems with Eclipse's workspaces, because then I could treat a "Workspace" as container for user settings, and treat "A project with target(s)" as alternate terminology for VS.NET's "A solution with project(s)". But as far as I can tell, Eclipse doesn't seem to have this.
May 17 2008
parent reply Robert Fraser <fraserofthenight gmail.com> writes:
Nick Sabalausky wrote:
 "Robert Fraser" <fraserofthenight gmail.com> wrote in message 
 news:g0kv7d$2gvg$1 digitalmars.com...
 Nick Sabalausky wrote:
 whatever the heck it uses instead of the nice clean "project file and 
 workspace file" mechanism of IDE's like Visual Studio and CodeBlocks just 
 doesn't seem to make any sense at all.


The whole concept of projects and workspaces in Eclipse just strikes me as a bit...clumsy. With Notepad, you start it up, create whatever you need to create, and then save it as a single file, named whatever you want, placed wherever you want (Or, of course, you can save first just to create the file, and then add whatever to the blank file). Simple, easy, flexible, and IMO the way it should be. Visual Studio extends this simple, flexible mechanism to the concept of both projects and workspaces (with .NET-era Visual Studio using the term "solution" instead of "workspace"). I start up Visual Studio, create whatever I want to create (or save first), and then save the project to one single file named whatever I want, placed wherever I want. The workspace is also saved to one single file named whatever I want, placed wherever I want. If I add another project to the workspace, same thing, one nice neat file per project and one per workspace. Each file references whatever files it needs, and if you move/rename something, you can always update the references either in the IDE or in the actual files themselves.

I think Eclipse has a lot of the same things, but gives special names to the enclosing folder. For example, in Visual Studio you have a workspace file, while in Eclipse, you have a .metadata folder in the workspace. The .metadata folder can be thought of as the "workspace file" since any folder that encloses this is a workspace. Similarly, in the project root directory, there's a ".project" and ".classpath" file. These files can be thought of as the "project files", and whatever folder they are in Eclipse will treat as the project.
 Granted, Visual Studio does automatically generate one extra "user settings" 
 file per project (or is it per workspace? whatever, either way...), but I've 
 never found that to be a problem. It's just data that wouldn't make sense to 
 put under source control anyway, and nothing important enough that 
 recreating the data is anything you'd even give a conscious thought to 
 anyway (IIRC, frame layout settings, etc).
 
 But with Eclipse: First, you can't even be in the main UI at all without the 
 session already being attached to an already named-and-saved workspace 
 (Hence, the "choose a workspace" startup dialog.) That's a bit of a clumsy 
 and arbitrary restriction and doesn't appear to provide any real benefit 
 (imagine if Notepad worked that way).

The user settings in Eclipse are associated with the workspace and not the user (I guess this is what you're complaining about).
 Secondly, being from the Java world, Eclipse follows the (misguided, IMO) 
 Java philosophy of marrying its self with the filesystem. "A workspace 
 contains projects and projects contain sources, therefore workspaces and 
 projects should be folders, not files." Yea, well, the problem is that's 
 forcefully imposing an arbitrary choice.
 
 If I want to follow a convention of projects and workspaces being folders, I 
 can already do that with VS-style projects and workspaces. I make a folder 
 for the workspace, stick a workspace file named ".workspace" in there, make 
 subfolders for the projects, stick project files named ".project" in those, 
 etc. True, in that case, projects and workspaces aren't *really* folders, 
 they're each a folder *and* a file, but Eclipse already has to do that 
 anyway.
 
 You can *kinda* work around this in Eclipse with "Create Project From 
 Existing Source", but there are still limitations (a project and workspace 
 can't occupy the same directory - which breaks my usual style of sticking 
 the project and workspace files next to each other in the top-level of a 
 "MyProgram" directory).

If that's the case then you're probably misunderstanding the point of workspaces and making thm too small in scope. For example, I use a single workspace for all my projects (well, two; I always use Descent as an Eclipse runtime).
 Plus, switching workspaces makes the entire Eclipse program reload (slow, 
 and why, for instance, should the help window close when I load a different 
 workspace?)
 
 Also, Eclipse seems to marry the ideas of "user settings" together with that 
 of "workspace". For instance, there are some settings, like syntax coloring 
 settings and "Open Associated Perspective: Remember my decision", that are 
 associated with a workspace, but should be treated as global user settings 
 (or at least, global within the scope of a user account).
 
 Now if Eclipse had a notion of "Targets" (like CodeWarrior, IIRC) that were 
 children of projects, and contained the source files, then that would solve 
 most of my problems with Eclipse's workspaces, because then I could treat a 
 "Workspace" as container for user settings, and treat "A project with 
 target(s)" as alternate terminology for VS.NET's "A solution with 
 project(s)". But as far as I can tell, Eclipse doesn't seem to have this.

I think you're tying the "workspace" to the "project" too closely. Visual Studio tends to associate those two concepts. In Eclipse, "workspace" and "user" are tied together, as there rarely seems to be any need to have multiple workspaces per user.
May 18 2008
next sibling parent reply Jussi Jumppanen <jussij zeusedit.com> writes:
Robert Fraser Wrote:

 as there rarely seems to be any need to have multiple 
 workspaces per user.

MSVC used the term "workspace" to represent what was being created and in this context is probably a bad choice of word. In more recent versions of MSVC this wording has been improved since the name workspace has been replaced by solution and the word project replaced by item. So for example any solution (ie the complete package being built) can be made up on many items (exes, dll's, database, help files, image files, installers etc). In this context there is definitely a need for multiple workspaces/solutions per user.
May 18 2008
parent Robert Fraser <fraserofthenight gmail.com> writes:
Jussi Jumppanen wrote:
 Robert Fraser Wrote:
 
 as there rarely seems to be any need to have multiple 
 workspaces per user.

MSVC used the term "workspace" to represent what was being created and in this context is probably a bad choice of word. In more recent versions of MSVC this wording has been improved since the name workspace has been replaced by solution and the word project replaced by item. So for example any solution (ie the complete package being built) can be made up on many items (exes, dll's, database, help files, image files, installers etc). In this context there is definitely a need for multiple workspaces/solutions per user.

Ah, I see what you mean. Eclipse is very Java-focused, and a few times I've run into difficulties with the framework being built mainly around JDT. In Java, there really isn't much of a need for this, since in Java your targets are basically just a bunch of class files and you use your run configuration to decide which one to activate. D, C(++) and other native languages have a lot more use for manging a solution with many projects (or a project with many targets, or whatever terminology you want to use). Still, adding such functionality would be possible for a plugin to do, and maybe someday Descent will need to have something like that, but it's certainly a difficult problem to solve, both in design and implementation.
May 18 2008
prev sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Robert Fraser" <fraserofthenight gmail.com> wrote in message 
news:g0qhir$v5v$1 digitalmars.com...
 Nick Sabalausky wrote:
 Secondly, being from the Java world, Eclipse follows the (misguided, IMO) 
 Java philosophy of marrying its self with the filesystem. "A workspace 
 contains projects and projects contain sources, therefore workspaces and 
 projects should be folders, not files." Yea, well, the problem is that's 
 forcefully imposing an arbitrary choice.

 If I want to follow a convention of projects and workspaces being 
 folders, I can already do that with VS-style projects and workspaces. I 
 make a folder for the workspace, stick a workspace file named 
 ".workspace" in there, make subfolders for the projects, stick project 
 files named ".project" in those, etc. True, in that case, projects and 
 workspaces aren't *really* folders, they're each a folder *and* a file, 
 but Eclipse already has to do that anyway.

 You can *kinda* work around this in Eclipse with "Create Project From 
 Existing Source", but there are still limitations (a project and 
 workspace can't occupy the same directory - which breaks my usual style 
 of sticking the project and workspace files next to each other in the 
 top-level of a "MyProgram" directory).

If that's the case then you're probably misunderstanding the point of workspaces and making thm too small in scope. For example, I use a single workspace for all my projects (well, two; I always use Descent as an Eclipse runtime).
 Plus, switching workspaces makes the entire Eclipse program reload (slow, 
 and why, for instance, should the help window close when I load a 
 different workspace?)

 Also, Eclipse seems to marry the ideas of "user settings" together with 
 that of "workspace". For instance, there are some settings, like syntax 
 coloring settings and "Open Associated Perspective: Remember my 
 decision", that are associated with a workspace, but should be treated as 
 global user settings (or at least, global within the scope of a user 
 account).

 Now if Eclipse had a notion of "Targets" (like CodeWarrior, IIRC) that 
 were children of projects, and contained the source files, then that 
 would solve most of my problems with Eclipse's workspaces, because then I 
 could treat a "Workspace" as container for user settings, and treat "A 
 project with target(s)" as alternate terminology for VS.NET's "A solution 
 with project(s)". But as far as I can tell, Eclipse doesn't seem to have 
 this.

I think you're tying the "workspace" to the "project" too closely. Visual Studio tends to associate those two concepts. In Eclipse, "workspace" and "user" are tied together, as there rarely seems to be any need to have multiple workspaces per user.

If that's the case then I'd argue Eclipse's concept of a "project" is too limited/narrow (Unless it allows nested projects?). Many times, I'll be working on some development project (that is, a "project" in the everyday english sense of the word, not an IDE concept of "project") that consists of more than one separate but related targets. Each target will have its own set of sources. For example, there might be: - "My Application" - A tool/utility or two that are specific to "My Application" - A library of functionality shared between the main app and the app-specific tools/utils - A sample plugin to test/demonstrate "My Application"'s plugin mechanism And there may be some other totally unrelated "My Other Application" that has similar complexity. So, that means there are a few requirements (all somewhat interrelated): ------------ 1. There needs to be a three-level hierarchy that, regardless of terminology, boils down to: "Group of targets"->"Target"->"Sources/Assets" 2. If I'm working on "My Application", I don't want the workspace to distract me with all of the targets associated with "My Other Application" as well as every other little program I write using the IDE. 3. The "My Application" and "My Other Application" might be very different. For instance (all hypothetical), one might be a GameBoy Advance game I'm writing in plain old C, and the other an opensource Win32 email client written in Java and Lua on which I merely contribute, and maybe a third program/set-of-programs that's some big enterprisey thing for work using every damn language imaginable. 3A: While some settings should be associated with me as a user (ex: the highlighting settings for a given language, or text-editing keyboard shortcuts)... 3B: ...other settings should be specific to either "My Application" or "My Other Application" (ex: auto-formatting settings, certain panels opened/closed, certain panels resized differently). Eclipse's "Perspectives" sound like a potential semi-solution to this, but from my limited understanding of them, it sounds like they're not project-specific, and don't cover all the types of settings I'm talking about here. ------------ If Eclipse's Workspace is treated as a system-wide "user" concept, then you have a mere two-level hierarchy of "Project"->"Sources". So you're lacking the "Group of targets"/"Solution" level that ties together "My Application" with its associated utils/libs/etc, while assigning appropriate "Group Settings" to that entire group and nothing more than that group. This breaks requirements #1 and #3B. You could try to counteract this by treating "Workspace" as an ad-hoc "Group of targets"/"Solution" concept, but then not only do you get the awkwardness I mentioned in my previous post, but requirements #2 and #3A are broken. This could all be solved with, for example, a concept of "nested classes", or "a project consists of targets which have sources". But, I'm not aware of anything like this in Eclipse.
May 19 2008
next sibling parent "Nick Sabalausky" <a a.a> writes:
"Nick Sabalausky" <a a.a> wrote in message 
news:g0rdo5$2qga$1 digitalmars.com...
 If Eclipse's Workspace is treated as a system-wide "user" concept, then 
 you have a mere two-level hierarchy of "Project"->"Sources". So you're 
 lacking the "Group of targets"/"Solution" level that ties together "My 
 Application" with its associated utils/libs/etc, while assigning 
 appropriate "Group Settings" to that entire group and nothing more than 
 that group. This breaks requirements #1 and #3B.

 You could try to counteract this by treating "Workspace" as an ad-hoc 
 "Group of targets"/"Solution" concept, but then not only do you get the 
 awkwardness I mentioned in my previous post, but requirements #2 and #3A 
 are broken.

Ermm, make that "#1, #2, and #3B" for the first paragraph, and "#3A" for the second paragraph. (It's late and my head hurts. ;) )
May 19 2008
prev sibling parent reply David Gileadi <foo bar.com> writes:
Nick Sabalausky wrote:
 "Robert Fraser" <fraserofthenight gmail.com> wrote in message 
 news:g0qhir$v5v$1 digitalmars.com...
 Nick Sabalausky wrote:
 Secondly, being from the Java world, Eclipse follows the (misguided, IMO) 
 Java philosophy of marrying its self with the filesystem. "A workspace 
 contains projects and projects contain sources, therefore workspaces and 
 projects should be folders, not files." Yea, well, the problem is that's 
 forcefully imposing an arbitrary choice.

 If I want to follow a convention of projects and workspaces being 
 folders, I can already do that with VS-style projects and workspaces. I 
 make a folder for the workspace, stick a workspace file named 
 ".workspace" in there, make subfolders for the projects, stick project 
 files named ".project" in those, etc. True, in that case, projects and 
 workspaces aren't *really* folders, they're each a folder *and* a file, 
 but Eclipse already has to do that anyway.

 You can *kinda* work around this in Eclipse with "Create Project From 
 Existing Source", but there are still limitations (a project and 
 workspace can't occupy the same directory - which breaks my usual style 
 of sticking the project and workspace files next to each other in the 
 top-level of a "MyProgram" directory).

workspaces and making thm too small in scope. For example, I use a single workspace for all my projects (well, two; I always use Descent as an Eclipse runtime).
 Plus, switching workspaces makes the entire Eclipse program reload (slow, 
 and why, for instance, should the help window close when I load a 
 different workspace?)

 Also, Eclipse seems to marry the ideas of "user settings" together with 
 that of "workspace". For instance, there are some settings, like syntax 
 coloring settings and "Open Associated Perspective: Remember my 
 decision", that are associated with a workspace, but should be treated as 
 global user settings (or at least, global within the scope of a user 
 account).

 Now if Eclipse had a notion of "Targets" (like CodeWarrior, IIRC) that 
 were children of projects, and contained the source files, then that 
 would solve most of my problems with Eclipse's workspaces, because then I 
 could treat a "Workspace" as container for user settings, and treat "A 
 project with target(s)" as alternate terminology for VS.NET's "A solution 
 with project(s)". But as far as I can tell, Eclipse doesn't seem to have 
 this.

Studio tends to associate those two concepts. In Eclipse, "workspace" and "user" are tied together, as there rarely seems to be any need to have multiple workspaces per user.

If that's the case then I'd argue Eclipse's concept of a "project" is too limited/narrow (Unless it allows nested projects?). Many times, I'll be working on some development project (that is, a "project" in the everyday english sense of the word, not an IDE concept of "project") that consists of more than one separate but related targets. Each target will have its own set of sources. For example, there might be: - "My Application" - A tool/utility or two that are specific to "My Application" - A library of functionality shared between the main app and the app-specific tools/utils - A sample plugin to test/demonstrate "My Application"'s plugin mechanism And there may be some other totally unrelated "My Other Application" that has similar complexity. So, that means there are a few requirements (all somewhat interrelated): ------------ 1. There needs to be a three-level hierarchy that, regardless of terminology, boils down to: "Group of targets"->"Target"->"Sources/Assets" 2. If I'm working on "My Application", I don't want the workspace to distract me with all of the targets associated with "My Other Application" as well as every other little program I write using the IDE. 3. The "My Application" and "My Other Application" might be very different. For instance (all hypothetical), one might be a GameBoy Advance game I'm writing in plain old C, and the other an opensource Win32 email client written in Java and Lua on which I merely contribute, and maybe a third program/set-of-programs that's some big enterprisey thing for work using every damn language imaginable. 3A: While some settings should be associated with me as a user (ex: the highlighting settings for a given language, or text-editing keyboard shortcuts)... 3B: ...other settings should be specific to either "My Application" or "My Other Application" (ex: auto-formatting settings, certain panels opened/closed, certain panels resized differently). Eclipse's "Perspectives" sound like a potential semi-solution to this, but from my limited understanding of them, it sounds like they're not project-specific, and don't cover all the types of settings I'm talking about here. ------------ If Eclipse's Workspace is treated as a system-wide "user" concept, then you have a mere two-level hierarchy of "Project"->"Sources". So you're lacking the "Group of targets"/"Solution" level that ties together "My Application" with its associated utils/libs/etc, while assigning appropriate "Group Settings" to that entire group and nothing more than that group. This breaks requirements #1 and #3B. You could try to counteract this by treating "Workspace" as an ad-hoc "Group of targets"/"Solution" concept, but then not only do you get the awkwardness I mentioned in my previous post, but requirements #2 and #3A are broken. This could all be solved with, for example, a concept of "nested classes", or "a project consists of targets which have sources". But, I'm not aware of anything like this in Eclipse.

I think you may be looking for the concept of Working Sets. Basically, it lets you pick the projects that are currently visible at the time. Here's one dev's explanation (found via Google): http://wbeaton.blogspot.com/2005/11/leanin-on-working-sets.html I always customize my perspective to add the Window Working Set item to my toolbar (right-click on the toolbar and choose Customize Perspective..., then select it under the Commands tab). This lets me pick my active working set(s) by just checking items in a dropdown menu.
May 19 2008
parent reply "Nick Sabalausky" <a a.a> writes:
"David Gileadi" <foo bar.com> wrote in message 
news:g0s8li$27jq$1 digitalmars.com...
 Nick Sabalausky wrote:
 So, that means there are a few requirements (all somewhat interrelated):

 ------------
 1.

 There needs to be a three-level hierarchy that, regardless of 
 terminology, boils down to:

 "Group of targets"->"Target"->"Sources/Assets"

 2.

 If I'm working on "My Application", I don't want the workspace to 
 distract me with all of the targets associated with "My Other 
 Application" as well as every other little program I write using the IDE.

 3.

 The "My Application" and "My Other Application" might be very different. 
 For instance (all hypothetical), one might be a GameBoy Advance game I'm 
 writing in plain old C, and the other an opensource Win32 email client 
 written in Java and Lua on which I merely contribute, and maybe a third 
 program/set-of-programs that's some big enterprisey thing for work using 
 every damn language imaginable.

 3A: While some settings should be associated with me as a user (ex: the 
 highlighting settings for a given language, or text-editing keyboard 
 shortcuts)...

 3B: ...other settings should be specific to either "My Application" or 
 "My Other Application" (ex: auto-formatting settings, certain panels 
 opened/closed, certain panels resized differently).

 Eclipse's "Perspectives" sound like a potential semi-solution to this, 
 but from my limited understanding of them, it sounds like they're not 
 project-specific, and don't cover all the types of settings I'm talking 
 about here.
 ------------

 If Eclipse's Workspace is treated as a system-wide "user" concept, then 
 you have a mere two-level hierarchy of "Project"->"Sources". So you're 
 lacking the "Group of targets"/"Solution" level that ties together "My 
 Application" with its associated utils/libs/etc, while assigning 
 appropriate "Group Settings" to that entire group and nothing more than 
 that group. This breaks requirements #1 and #3B.

 You could try to counteract this by treating "Workspace" as an ad-hoc 
 "Group of targets"/"Solution" concept, but then not only do you get the 
 awkwardness I mentioned in my previous post, but requirements #2 and #3A 
 are broken.

 This could all be solved with, for example, a concept of "nested 
 classes", or "a project consists of targets which have sources". But, I'm 
 not aware of anything like this in Eclipse.

I think you may be looking for the concept of Working Sets. Basically, it lets you pick the projects that are currently visible at the time. Here's one dev's explanation (found via Google): http://wbeaton.blogspot.com/2005/11/leanin-on-working-sets.html I always customize my perspective to add the Window Working Set item to my toolbar (right-click on the toolbar and choose Customize Perspective..., then select it under the Commands tab). This lets me pick my active working set(s) by just checking items in a dropdown menu.

Do Working Sets allow you to have certain settings set up differently between one working set and another working set (ie, #3B), or do you still have to do multiple workspaces for that? If Working Sets will do that, then that might very well reduce my problems with eclipse down to just responsiveness/bloat (I was just messing around with both Eclipse v3.3.2 and Visual C# 2008 Express yesterday, and Visual C# was noticably faster and more responsive).
May 19 2008
parent David Gileadi <foo bar.com> writes:
Nick Sabalausky wrote:
 "David Gileadi" <foo bar.com> wrote in message 
 news:g0s8li$27jq$1 digitalmars.com...
 Nick Sabalausky wrote:
 So, that means there are a few requirements (all somewhat interrelated):

 ------------
 1.

 There needs to be a three-level hierarchy that, regardless of 
 terminology, boils down to:

 "Group of targets"->"Target"->"Sources/Assets"

 2.

 If I'm working on "My Application", I don't want the workspace to 
 distract me with all of the targets associated with "My Other 
 Application" as well as every other little program I write using the IDE.

 3.

 The "My Application" and "My Other Application" might be very different. 
 For instance (all hypothetical), one might be a GameBoy Advance game I'm 
 writing in plain old C, and the other an opensource Win32 email client 
 written in Java and Lua on which I merely contribute, and maybe a third 
 program/set-of-programs that's some big enterprisey thing for work using 
 every damn language imaginable.

 3A: While some settings should be associated with me as a user (ex: the 
 highlighting settings for a given language, or text-editing keyboard 
 shortcuts)...

 3B: ...other settings should be specific to either "My Application" or 
 "My Other Application" (ex: auto-formatting settings, certain panels 
 opened/closed, certain panels resized differently).

 Eclipse's "Perspectives" sound like a potential semi-solution to this, 
 but from my limited understanding of them, it sounds like they're not 
 project-specific, and don't cover all the types of settings I'm talking 
 about here.
 ------------

 If Eclipse's Workspace is treated as a system-wide "user" concept, then 
 you have a mere two-level hierarchy of "Project"->"Sources". So you're 
 lacking the "Group of targets"/"Solution" level that ties together "My 
 Application" with its associated utils/libs/etc, while assigning 
 appropriate "Group Settings" to that entire group and nothing more than 
 that group. This breaks requirements #1 and #3B.

 You could try to counteract this by treating "Workspace" as an ad-hoc 
 "Group of targets"/"Solution" concept, but then not only do you get the 
 awkwardness I mentioned in my previous post, but requirements #2 and #3A 
 are broken.

 This could all be solved with, for example, a concept of "nested 
 classes", or "a project consists of targets which have sources". But, I'm 
 not aware of anything like this in Eclipse.

lets you pick the projects that are currently visible at the time. Here's one dev's explanation (found via Google): http://wbeaton.blogspot.com/2005/11/leanin-on-working-sets.html I always customize my perspective to add the Window Working Set item to my toolbar (right-click on the toolbar and choose Customize Perspective..., then select it under the Commands tab). This lets me pick my active working set(s) by just checking items in a dropdown menu.

Do Working Sets allow you to have certain settings set up differently between one working set and another working set (ie, #3B), or do you still have to do multiple workspaces for that? If Working Sets will do that, then that might very well reduce my problems with eclipse down to just responsiveness/bloat (I was just messing around with both Eclipse v3.3.2 and Visual C# 2008 Express yesterday, and Visual C# was noticably faster and more responsive).

No, I don't believe they do. Maybe Working Sets aren't what you're looking for after all.
May 19 2008