www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Qt Creator and D

reply Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
Hello all,

Several of us have been talking about Qt Creator and D in various subthreads of 
the current IDE-related discussions going on right now, so I thought it might
be 
worth raising as a matter of general interest.

My general impression is that this is a fast, light cross-platform IDE which is 
(as its name indicates) state-of-the-art for C++ and Qt development.

Currently it has fairly good D/Ddoc syntax highlighting (it literally copies
the 
latest d.xml syntax definition file from KDE's text editor Kate).  However, I 
wasn't able to get things like auto-indent working, and haven't yet put any 
serious effort into investigating build/compiler or debugging support.

It also has a FakeVim mode that enables vim-like editing and should be able to 
operate from the local .vimrc settings, but my brief experiments weren't so far 
able to get it to reproduce my current vim behaviour.

The last related discussion that I'm aware of is from about 3 years back, when 
several D users discussed implementing Qt Creator support:
http://www.digitalmars.com/d/archives/digitalmars/D/ide/Qt_Creator_with_D_707.html

... but I'm not aware of any follow-up since then.

I'm just wondering how many people would be interested in seeing better D 
support in this IDE, and how many people have more experience or can offer 
insight into how to proceed.

Best wishes,

     -- Joe
Sep 18 2013
next sibling parent "Craig Dillabaugh" <cdillaba cg.scs.carleton.ca> writes:
On Wednesday, 18 September 2013 at 14:49:27 UTC, Joseph Rushton
Wakeling wrote:
 Hello all,

 Several of us have been talking about Qt Creator and D in 
 various subthreads of the current IDE-related discussions going 
 on right now, so I thought it might be worth raising as a 
 matter of general interest.

 My general impression is that this is a fast, light 
 cross-platform IDE which is (as its name indicates) 
 state-of-the-art for C++ and Qt development.

 Currently it has fairly good D/Ddoc syntax highlighting (it 
 literally copies the latest d.xml syntax definition file from 
 KDE's text editor Kate).  However, I wasn't able to get things 
 like auto-indent working, and haven't yet put any serious 
 effort into investigating build/compiler or debugging support.

 It also has a FakeVim mode that enables vim-like editing and 
 should be able to operate from the local .vimrc settings, but 
 my brief experiments weren't so far able to get it to reproduce 
 my current vim behaviour.

 The last related discussion that I'm aware of is from about 3 
 years back, when several D users discussed implementing Qt 
 Creator support:
 http://www.digitalmars.com/d/archives/digitalmars/D/ide/Qt_Creator_with_D_707.html

 ... but I'm not aware of any follow-up since then.

 I'm just wondering how many people would be interested in 
 seeing better D support in this IDE, and how many people have 
 more experience or can offer insight into how to proceed.

 Best wishes,

     -- Joe
I would be interested in this. I usually use Kate for small/non-Qt C++/D projects, but have used QtCreator for Qt-projects on Linux and for C++ development on Windows. Craig
Sep 18 2013
prev sibling next sibling parent reply "Henning Pohl" <henning still-hidden.de> writes:
On Wednesday, 18 September 2013 at 14:49:27 UTC, Joseph Rushton 
Wakeling wrote:
 Hello all,

 Several of us have been talking about Qt Creator and D in 
 various subthreads of the current IDE-related discussions going 
 on right now, so I thought it might be worth raising as a 
 matter of general interest.

 My general impression is that this is a fast, light 
 cross-platform IDE which is (as its name indicates) 
 state-of-the-art for C++ and Qt development.

 Currently it has fairly good D/Ddoc syntax highlighting (it 
 literally copies the latest d.xml syntax definition file from 
 KDE's text editor Kate).  However, I wasn't able to get things 
 like auto-indent working, and haven't yet put any serious 
 effort into investigating build/compiler or debugging support.

 It also has a FakeVim mode that enables vim-like editing and 
 should be able to operate from the local .vimrc settings, but 
 my brief experiments weren't so far able to get it to reproduce 
 my current vim behaviour.

 The last related discussion that I'm aware of is from about 3 
 years back, when several D users discussed implementing Qt 
 Creator support:
 http://www.digitalmars.com/d/archives/digitalmars/D/ide/Qt_Creator_with_D_707.html

 ... but I'm not aware of any follow-up since then.

 I'm just wondering how many people would be interested in 
 seeing better D support in this IDE, and how many people have 
 more experience or can offer insight into how to proceed.

 Best wishes,

     -- Joe
It's the best IDE for C++ development I have encountered so far. And it's the only drawback of DMD making the change to D: I cannot use it to fix bugs anymore.
Sep 18 2013
parent Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On 18/09/13 17:21, Henning Pohl wrote:
 It's the best IDE for C++ development I have encountered so far. And it's the
 only drawback of DMD making the change to D: I cannot use it to fix bugs
anymore.
All the more reason for us to make sure that it works with D too, I'd say :-)
Sep 18 2013
prev sibling next sibling parent reply "Mike Farnsworth" <mike.farnsworth gmail.com> writes:
I'm also interested in this.  I use Qt Creator all the time for 
my usual projects and my job, and having D support would be 
fantastic and would really help motivate me to spend more time 
with D.  At some point I'd like to look into how to add new 
language support in there, if I can find some spare time.

On Wednesday, 18 September 2013 at 14:49:27 UTC, Joseph Rushton 
Wakeling wrote:
 Hello all,

 Several of us have been talking about Qt Creator and D in 
 various subthreads of the current IDE-related discussions going 
 on right now, so I thought it might be worth raising as a 
 matter of general interest.

 My general impression is that this is a fast, light 
 cross-platform IDE which is (as its name indicates) 
 state-of-the-art for C++ and Qt development.

 Currently it has fairly good D/Ddoc syntax highlighting (it 
 literally copies the latest d.xml syntax definition file from 
 KDE's text editor Kate).  However, I wasn't able to get things 
 like auto-indent working, and haven't yet put any serious 
 effort into investigating build/compiler or debugging support.

 It also has a FakeVim mode that enables vim-like editing and 
 should be able to operate from the local .vimrc settings, but 
 my brief experiments weren't so far able to get it to reproduce 
 my current vim behaviour.

 The last related discussion that I'm aware of is from about 3 
 years back, when several D users discussed implementing Qt 
 Creator support:
 http://www.digitalmars.com/d/archives/digitalmars/D/ide/Qt_Creator_with_D_707.html

 ... but I'm not aware of any follow-up since then.

 I'm just wondering how many people would be interested in 
 seeing better D support in this IDE, and how many people have 
 more experience or can offer insight into how to proceed.

 Best wishes,

     -- Joe
Sep 18 2013
next sibling parent reply Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On 18/09/13 18:02, Mike Farnsworth wrote:
 I'm also interested in this.  I use Qt Creator all the time for my usual
 projects and my job, and having D support would be fantastic and would really
 help motivate me to spend more time with D.  At some point I'd like to look
into
 how to add new language support in there, if I can find some spare time.
It would be great if you could follow up on this. I have been reading around where I can and also asked for advice on the Qt Forums, but so far no responses. I'll continue to research what needs to be done, but you may get better mileage than me as you obviously know Qt Creator better than I do!
Sep 18 2013
parent reply Paulo Pinto <pjmlp progtools.org> writes:
Am 18.09.2013 18:46, schrieb Joseph Rushton Wakeling:
 On 18/09/13 18:02, Mike Farnsworth wrote:
 I'm also interested in this.  I use Qt Creator all the time for my usual
 projects and my job, and having D support would be fantastic and would
 really
 help motivate me to spend more time with D.  At some point I'd like to
 look into
 how to add new language support in there, if I can find some spare time.
It would be great if you could follow up on this. I have been reading around where I can and also asked for advice on the Qt Forums, but so far no responses. I'll continue to research what needs to be done, but you may get better mileage than me as you obviously know Qt Creator better than I do!
For starters, Qt creator can make use of Kate configuration files. So we could at very least have D syntax highlighting available. -- Paulo
Sep 18 2013
parent reply Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On 18/09/13 19:10, Paulo Pinto wrote:
 For starters, Qt creator can make use of Kate configuration files.

 So we could at very least have D syntax highlighting available.
It is available -- current Qt Creator has the same d.xml as the most recent Kate. It dates from 2011 and supports both D and Ddoc syntax highlighting. I wasn't able to get auto-indentation working with D source files, though.
Sep 18 2013
parent reply "growler" <growlercab gmail.com> writes:
On Wednesday, 18 September 2013 at 17:38:57 UTC, Joseph Rushton 
Wakeling wrote:
 On 18/09/13 19:10, Paulo Pinto wrote:
 For starters, Qt creator can make use of Kate configuration 
 files.

 So we could at very least have D syntax highlighting available.
It is available -- current Qt Creator has the same d.xml as the most recent Kate. It dates from 2011 and supports both D and Ddoc syntax highlighting. I wasn't able to get auto-indentation working with D source files, though.
+1 I use Qt Creator for debugging D when I get a hangover from too much GDB. It works fine with breakpoints, watch list and the rest. As long as I compile with -gc though. What would be nice is a plugin that provides some tools like jump to definition for variables, find usages etc. I'd be willing to help out with that, testing, coding, documenting etc.
Sep 18 2013
parent reply "growler" <growlercab gmail.com> writes:
On Wednesday, 18 September 2013 at 23:25:56 UTC, growler wrote:
 On Wednesday, 18 September 2013 at 17:38:57 UTC, Joseph Rushton 
 Wakeling wrote:
 On 18/09/13 19:10, Paulo Pinto wrote:
 For starters, Qt creator can make use of Kate configuration 
 files.

 So we could at very least have D syntax highlighting 
 available.
It is available -- current Qt Creator has the same d.xml as the most recent Kate. It dates from 2011 and supports both D and Ddoc syntax highlighting. I wasn't able to get auto-indentation working with D source files, though.
+1 I use Qt Creator for debugging D when I get a hangover from too much GDB. It works fine with breakpoints, watch list and the rest. As long as I compile with -gc though. What would be nice is a plugin that provides some tools like jump to definition for variables, find usages etc. I'd be willing to help out with that, testing, coding, documenting etc.
I should point out that the debugging is all from "Start and Debug External Application" so of course there is no real "project" support in the IDE. But it automatically steps into all my code, third-party code (gtkd, orange etc.) and Phobos without any major problems.
Sep 18 2013
parent reply "michaelc37" <michaelc37 msn.com> writes:
On Wednesday, 18 September 2013 at 23:31:47 UTC, growler wrote:
 On Wednesday, 18 September 2013 at 23:25:56 UTC, growler wrote:
 On Wednesday, 18 September 2013 at 17:38:57 UTC, Joseph 
 Rushton Wakeling wrote:
 On 18/09/13 19:10, Paulo Pinto wrote:
 For starters, Qt creator can make use of Kate configuration 
 files.

 So we could at very least have D syntax highlighting 
 available.
It is available -- current Qt Creator has the same d.xml as the most recent Kate. It dates from 2011 and supports both D and Ddoc syntax highlighting. I wasn't able to get auto-indentation working with D source files, though.
+1 I use Qt Creator for debugging D when I get a hangover from too much GDB. It works fine with breakpoints, watch list and the rest. As long as I compile with -gc though. What would be nice is a plugin that provides some tools like jump to definition for variables, find usages etc. I'd be willing to help out with that, testing, coding, documenting etc.
I should point out that the debugging is all from "Start and Debug External Application" so of course there is no real "project" support in the IDE. But it automatically steps into all my code, third-party code (gtkd, orange etc.) and Phobos without any major problems.
I'm not sure if this has been posted elsewhere, but it appears someone has done significant work make a QtCreator D plugin. https://github.com/GoldMax/QtCreatorD I like what i'm seeing so far.
Jun 22 2014
parent reply "chmike" <christophe meessen.net> writes:
On Sunday, 22 June 2014 at 20:11:38 UTC, michaelc37 wrote:
...
 I'm not sure if this has been posted elsewhere, but it appears 
 someone has done significant work make a QtCreator D plugin.

 https://github.com/GoldMax/QtCreatorD

 I like what i'm seeing so far.
I'ld like to give it a try. What do I have to do to install and use it ?
Jul 01 2014
parent reply "michaelc37" <michaelc37 msn.com> writes:
On Tuesday, 1 July 2014 at 12:35:17 UTC, chmike wrote:
 On Sunday, 22 June 2014 at 20:11:38 UTC, michaelc37 wrote:
 ...
 I'm not sure if this has been posted elsewhere, but it appears 
 someone has done significant work make a QtCreator D plugin.

 https://github.com/GoldMax/QtCreatorD

 I like what i'm seeing so far.
I'ld like to give it a try. What do I have to do to install and use it ?
I had to compile it, IIRC here is what i did. 1) Download qtcreator sources +dependencies (ubuntu: "apt-get source qtcreator", "apt-get build-dep qtcreator") 2) Clone QtCreatorD project, and copy the deditor & dprojectmanager folders into the plugins folder of the qtcreator src 3) modify the dprojectmanager.pro, deditor.pro files so that qmake/make can find qtcreator sources (see other plugins for example). 4) edit src/plugins/plugins.pro so that qmake/make knows about deditor, dproject manager folders. 5) run qmake, followed by make from src folder.
Jul 02 2014
parent reply "chmike" <christophe meessen.net> writes:
Thank you very much. I was able to compile the plugins.
But I failed compiling QtCreator because the qbscore library was 
not found.

I then copied the compiled plugin into my precompiled Qt-5.2.1 
directory and I was able to create a D project and edit a D file.

Unfortunately I wasn't able to compile and run the hello world 
program because the build command used by default is

make -debug -g -m64 -ofbin/debug/testQtCreatorD -odobj/debug 
testQtCreatorD.d

So I'm not sure I properly installed everything.
The project file has the qcd extension but is not visible in the 
project.
I'm a little bit stuck.

I have the latest dmd installed and functional.
Jul 04 2014
parent "michaelc37" <michaelc37 msn.com> writes:
On Friday, 4 July 2014 at 08:21:05 UTC, chmike wrote:
 Unfortunately I wasn't able to compile and run the hello world 
 program because the build command used by default is

 make -debug -g -m64 -ofbin/debug/testQtCreatorD -odobj/debug 
 testQtCreatorD.d

 So I'm not sure I properly installed everything.
 The project file has the qcd extension but is not visible in 
 the project.
 I'm a little bit stuck.

 I have the latest dmd installed and functional.
I had that problem too, i think ended up creating a new build kit for dmd, and switched the project to use it. You can alternatively modify the dmakestep.cpp at QString DMakeStep::makeCommand to always return "dmd" string.
Jul 04 2014
prev sibling parent "Dicebot" <public dicebot.lv> writes:
On Wednesday, 18 September 2013 at 16:02:04 UTC, Mike Farnsworth 
wrote:
 I'm also interested in this.  I use Qt Creator all the time for 
 my usual projects and my job, and having D support would be 
 fantastic and would really help motivate me to spend more time 
 with D.  At some point I'd like to look into how to add new 
 language support in there, if I can find some spare time.
May be an interesting use case to check DCD applicability for full-blown IDE.
Sep 18 2013
prev sibling next sibling parent reply "F i L" <witte2008 gmail.com> writes:
Somewhat related. I use Kate (for D & web development) and 
occasionally KDevelop (for C/C++ stuff). I only started using 
these when I switched from Gnome to KDE 6 months ago, but I was 
very impressed and now they're my favorite editors (KDevelop can 
even challenge Visual Studios for C/C++ dev in many ways).

I would love to see more support for both these editors with D. 
DCD looks cool, but it's a bit complicate to get working, so I've 
held off from trying it.
Sep 18 2013
next sibling parent reply "Dicebot" <public dicebot.lv> writes:
On Wednesday, 18 September 2013 at 17:29:54 UTC, F i L wrote:
 Somewhat related. I use Kate (for D & web development) and 
 occasionally KDevelop (for C/C++ stuff). I only started using 
 these when I switched from Gnome to KDE 6 months ago, but I was 
 very impressed and now they're my favorite editors (KDevelop 
 can even challenge Visual Studios for C/C++ dev in many ways).

 I would love to see more support for both these editors with D. 
 DCD looks cool, but it's a bit complicate to get working, so 
 I've held off from trying it.
AFAIK Kate already has DCD-based plugin for D
Sep 18 2013
parent "Brian Schott" <briancschott gmail.com> writes:
On Wednesday, 18 September 2013 at 17:31:56 UTC, Dicebot wrote:
 AFAIK Kate already has DCD-based plugin for D
https://github.com/Dav1dde/lumen The README says that it should be able to work with anything that uses KTextEditor. (I've only tried it with Kate though)
Sep 18 2013
prev sibling parent reply Manu <turkeyman gmail.com> writes:
On 19 September 2013 03:29, F i L <witte2008 gmail.com> wrote:

 Somewhat related. I use Kate (for D & web development) and occasionally
 KDevelop (for C/C++ stuff). I only started using these when I switched from
 Gnome to KDE 6 months ago, but I was very impressed and now they're my
 favorite editors (KDevelop can even challenge Visual Studios for C/C++ dev
 in many ways).
I was fairly impressed with kdevelop upon recent impressions last weekend. Does it support incremental linking and edit-and-continue? (or is there ANY other compiler+IDE out there that does?) If it does, I'll look at it very very seriously.
Sep 18 2013
next sibling parent "Dicebot" <public dicebot.lv> writes:
On Thursday, 19 September 2013 at 01:18:42 UTC, Manu wrote:
 Does it support incremental linking and edit-and-continue? (or 
 is there ANY
 other compiler+IDE out there that does?)
 If it does, I'll look at it very very seriously.
Those are features of linker / debugger, not IDE. Simply trying different IDE's won't change a thing here. (I am unaware of any Linux development tool that does it)
Sep 18 2013
prev sibling parent reply "F i L" <witte2008 gmail.com> writes:
Manu wrote:
 I was fairly impressed with kdevelop upon recent impressions 
 last weekend.

 Does it support incremental linking and edit-and-continue? (or 
 is there ANY
 other compiler+IDE out there that does?)
 If it does, I'll look at it very very seriously.
I'm not sure what you mean by "edit-and-continue". I don't know if it does incremental linking, but I thought that sort of thing was more of a compiler/build-system feature, and IDK enough about GCC/Clang or CMake (what KDev is designed around) to know about it's features there. The only language I know for a fact has that built-in is Nimrod. I only work on one C++ project, so I am in no way an expert on the language or it's tools. I'm also fairly new to KDevelop, so I'm not the person to question here. By "comparable to VS in many ways", I was referring to KDevelop's debugging, intellisense, code refactoring, syntax highlighting, general interface, and project/session management. All of which I've found to be roughly on-par with Visual Studios in my experience (granted I've barely used VS 2012 & 2013 is out soon).
Sep 19 2013
parent reply Manu <turkeyman gmail.com> writes:
On 20 September 2013 08:09, F i L <witte2008 gmail.com> wrote:

 Manu wrote:

 I was fairly impressed with kdevelop upon recent impressions last weekend.

 Does it support incremental linking and edit-and-continue? (or is there
 ANY
 other compiler+IDE out there that does?)
 If it does, I'll look at it very very seriously.
I'm not sure what you mean by "edit-and-continue".
Edit-and-continue is what MS calls the obvious extension from incremental linking where you can re-link your exe while it's running and paused in a debugger, and then continue debugging the current process with the new exe after it links your code changes. it's one of visual studio's most valuable tools. I don't know if it does incremental linking, but I thought that sort of
 thing was more of a compiler/build-system feature, and IDK enough about
 GCC/Clang or CMake (what KDev is designed around) to know about it's
 features there. The only language I know for a fact has that built-in is
 Nimrod.
It requires support from various stages in the pipeline and gui, but it's been available for a decade from MS. Surely someone else has bothered to copy it? (assuming it was invented by MS?) I only work on one C++ project, so I am in no way an expert on the language
 or it's tools. I'm also fairly new to KDevelop, so I'm not the person to
 question here. By "comparable to VS in many ways", I was referring to
 KDevelop's debugging, intellisense, code refactoring, syntax highlighting,
 general interface, and project/session management. All of which I've found
 to be roughly on-par with Visual Studios in my experience (granted I've
 barely used VS 2012 & 2013 is out soon).
Debugging is the most important feature an IDE offers by far, and it's only half-implemented if it doesn't support edit-and-continue. Everything else looked good to me in kdevelop. I'll definitely give it a bit more time. Sadly there seems to be no push for D in kdevelop though :(
Sep 19 2013
next sibling parent reply "F i L" <witte2008 gmail.com> writes:
Manu wrote:
 Edit-and-continue is what MS calls the obvious extension from 
 incremental
 linking where you can re-link your exe while it's running and 
 paused in a
 debugger, and then continue debugging the current process with 
 the new exe
 after it links your code changes.
 it's one of visual studio's most valuable tools.
I see, I didn't know VS was capable of that, but it doesn't sound very useful for large projects which take a lot of time to compile (which I'm sure is important to you folks at Remedy). I figured it was something along those lines though, so I tested editing a file while stopped on a breakpoint, and then running it and it didn't work. It's possible there's some switch i needed to hit, or that it would work with Clang/LLDB, but I doubt it (don't quote me on that though, you should ask the KDE folks).
 It requires support from various stages in the pipeline and 
 gui, but it's
 been available for a decade from MS. Surely someone else has 
 bothered to
 copy it? (assuming it was invented by MS?)
I wouldn't know. You'll probably get a lot more information on what's available from asking the GCC, LLVM, and KDevelop IRCs.
 Debugging is the most important feature an IDE offers by far, 
 and it's only
 half-implemented if it doesn't support edit-and-continue. 
 Everything else
 looked good to me in kdevelop. I'll definitely give it a bit 
 more time.
 Sadly there seems to be no push for D in kdevelop though :(
Make sure to ask someone more informed than me before you write it off, but I'm guessing this is an area Linux dev tools are lacking in compared to Windows. In Gabe Newell's recent talk at LinuxCon, he mentioned Valve is interested in make Linux a more friendly environment for game developers. To that end, they're working on two different C/C++ debuggers (one for LLVM, I forget the other) and I'm guessing they wouldn't feel the need to do that unless they where unhappy with the current situation compared to what developers expect from Windows. Hopefully their efforts are fruitful in the near future. I've been using Linux and FOSS tools for nearly two years now, and I'm surprised I'd never heard about KDevelope until only a few months ago. It's a great IDE with a lot of nice features (even has Sublime-style text overview) and I hope D gets more attention from the KDev/Kate teams in the future.
Sep 19 2013
next sibling parent "F i L" <witte2008 gmail.com> writes:
On Friday, 20 September 2013 at 04:53:18 UTC, F i L wrote:
 but it doesn't sound very useful for large projects ...
but it **does** sound very useful..
Sep 19 2013
prev sibling next sibling parent reply Manu <turkeyman gmail.com> writes:
On 20 September 2013 14:53, F i L <witte2008 gmail.com> wrote:

 Manu wrote:

 Edit-and-continue is what MS calls the obvious extension from incremental
 linking where you can re-link your exe while it's running and paused in a
 debugger, and then continue debugging the current process with the new exe
 after it links your code changes.
 it's one of visual studio's most valuable tools.
I see, I didn't know VS was capable of that, but it doesn't sound very useful for large projects which take a lot of time to compile (which I'm sure is important to you folks at Remedy).
Actually, it's about a zillion times MORE useful for large projects. If the project is big, takes time to reboot/restart, and particularly in games where you might need to run to a particular part of a level and perform some bunch of actions to test the thing you're trying to debug in the first place. Remember, non make-based build systems typically perform reliable dependency checking, so if you tweak code in one file, it only compiles that one file... it's very fast. Also, incremental linking is precisely that, incremental, so if you only change one function, it only needs to append one function on the end of the exe. It's also very fast. Visual Studio is very fast, this is the main reason why it's awesome, and the industry standard :) In a tech company, there's nothing more valuable than your programmers time. I figured it was something along those lines though, so I tested editing a
 file while stopped on a breakpoint, and then running it and it didn't work.
 It's possible there's some switch i needed to hit, or that it would work
 with Clang/LLDB, but I doubt it (don't quote me on that though, you should
 ask the KDE folks).
It needs a reasonable amount of support from the compiler and presumably cooperation from the debugger too. If people have never heard of it, chances are, it doesn't exist :( It requires support from various stages in the pipeline and gui, but it's
 been available for a decade from MS. Surely someone else has bothered to
 copy it? (assuming it was invented by MS?)
I wouldn't know. You'll probably get a lot more information on what's available from asking the GCC, LLVM, and KDevelop IRCs.
Fair enough, but it's weird I should have to. Basic productivity tools like that should surely be known by users of the tools... I'll just go and continue to assume that Visual Studio is still the only viable option on any platform :P Debugging is the most important feature an IDE offers by far, and it's only
 half-implemented if it doesn't support edit-and-continue. Everything else
 looked good to me in kdevelop. I'll definitely give it a bit more time.
 Sadly there seems to be no push for D in kdevelop though :(
Make sure to ask someone more informed than me before you write it off, but I'm guessing this is an area Linux dev tools are lacking in compared to Windows.
Mmmm, a concept that I've always found completely amazing actually. How is it that Linux - truly an OS for developers (certainly not for end-users) - can consistently be plagued by the worst dev tools out there? Surely someone in the past 30-40 years get's frustrated at some stage, looks at what MS have been doing for over a decade, and think "shit, that's awesome, I'd like that too!". I'm actually amazed that MS managed to invent it in the first place. You'd think that Linux should have gotten to it first... In Gabe Newell's recent talk at LinuxCon, he mentioned Valve is interested
 in make Linux a more friendly environment for game developers. To that end,
 they're working on two different C/C++ debuggers (one for LLVM, I forget
 the other) and I'm guessing they wouldn't feel the need to do that unless
 they where unhappy with the current situation compared to what developers
 expect from Windows. Hopefully their efforts are fruitful in the near
 future.
I agree, I'm really looking forward to what they bring to the table. I expect it's a lot of work though... they have over a decade of catching up to do. I've been using Linux and FOSS tools for nearly two years now, and I'm
 surprised I'd never heard about KDevelope until only a few months ago. It's
 a great IDE with a lot of nice features (even has Sublime-style text
 overview) and I hope D gets more attention from the KDev/Kate teams in the
 future.
Mmmm, I stumbled across it years ago, the first time I ever tried KDE; it must have been around feisty, hardy, or intrepid (they're the names that come to mind). I thought it looked promising, but it certainly 'wasn't there' at the time.
Sep 20 2013
next sibling parent reply "PauloPinto" <pjmlp progtools.org> writes:
On Friday, 20 September 2013 at 07:16:09 UTC, Manu wrote:
 On 20 September 2013 14:53, F i L <witte2008 gmail.com> wrote:

 ...
It requires support from various stages in the pipeline and gui, but it's
 been available for a decade from MS. Surely someone else has 
 bothered to
 copy it? (assuming it was invented by MS?)
This type of workflow already existed in non C languages before. Microsoft just brought them into C land.
 ...

 Mmmm, a concept that I've always found completely amazing 
 actually. How is
 it that Linux - truly an OS for developers (certainly not for 
 end-users) -
 can consistently be plagued by the worst dev tools out there?
 Surely someone in the past 30-40 years get's frustrated at some 
 stage,
 looks at what MS have been doing for over a decade, and think 
 "shit, that's
 awesome, I'd like that too!".
 I'm actually amazed that MS managed to invent it in the first 
 place. You'd
 think that Linux should have gotten to it first...
Because many still use the system as we were back in the 70's and UNIX System V was the latest version. Even though we have nice GUIs since the mid-80's.
 In Gabe Newell's recent talk at LinuxCon, he mentioned Valve is 
 interested
 in make Linux a more friendly environment for game developers. 
 To that end,
 they're working on two different C/C++ debuggers (one for 
 LLVM, I forget
 the other) and I'm guessing they wouldn't feel the need to do 
 that unless
 they where unhappy with the current situation compared to what 
 developers
 expect from Windows. Hopefully their efforts are fruitful in 
 the near
 future.
I agree, I'm really looking forward to what they bring to the table. I expect it's a lot of work though... they have over a decade of catching up to do.
There are nice debuggers, like TotalView for example. But proprietary software is evil. :)
 I've been using Linux and FOSS tools for nearly two years now, 
 and I'm
 surprised I'd never heard about KDevelope until only a few 
 months ago. It's
 a great IDE with a lot of nice features (even has 
 Sublime-style text
 overview) and I hope D gets more attention from the KDev/Kate 
 teams in the
 future.
KDevelop and KDE always suffered a big push back from Linux and BSD developers, because of their C++ roots. Back when I did a few contributions to GTKmm, the GNOME community used to ostracize the project because it was being done in C++. There used to exist a few big C vs C++ flamewars back then KDevelop was always seen as an IDE for KDE developers, nothing else. I always got the feeling C++ was better received by developers targeting commercial UNIX systems, than the ones living in BSD/Linux land. -- Paulo
Sep 20 2013
parent Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On 20/09/13 10:47, PauloPinto wrote:
 KDevelop and KDE always suffered a big push back from Linux and BSD developers,
 because of their C++ roots.

 Back when I did a few contributions to GTKmm, the GNOME community used to
 ostracize the project because it was being done in C++. There used to exist a
 few big C vs C++ flamewars back then
As I recall there was a bit of an ideological aspect around this. The GNU guidelines, written quite a long while ago, advocated using C rather than C++ where possible because it was more portable, and for some people this seems to have turned into a religious dogma rather than a practical consideration (much like kosher or halal, to be honest...).
 KDevelop was always seen as an IDE for KDE developers, nothing else.
Well, whatever the intent, if you want to install it you have to pull in a ton of KDE dependencies, which is always annoying if you're on a different desktop environment and don't use any other KDE applications. I used it a fair bit -- albeit as a superpowered text editor rather than a true IDE -- up until the switch to KDE 4, when the new release became very unstable and prone to crashing (if I recall right it was the symbol parsing that would fall over). I'm sure it's a great IDE (the KDE devs have always been good at building really functional software), but it doesn't seem an ideal target for cross-platform use.
Sep 20 2013
prev sibling next sibling parent "Dicebot" <public dicebot.lv> writes:
On Friday, 20 September 2013 at 07:16:09 UTC, Manu wrote:
 Mmmm, a concept that I've always found completely amazing 
 actually. How is
 it that Linux - truly an OS for developers (certainly not for 
 end-users) -
 can consistently be plagued by the worst dev tools out there?
 Surely someone in the past 30-40 years get's frustrated at some 
 stage,
 looks at what MS have been doing for over a decade, and think 
 "shit, that's
 awesome, I'd like that too!".
 I'm actually amazed that MS managed to invent it in the first 
 place. You'd
 think that Linux should have gotten to it first...
I guess there are 2 main reasons: 1) culture - many of programmers who could have addressed that stick to rather old-school development process and don't feel demand for such stuff. For example, when I have tried VS and found that feature I thought "wow, neat". But I am only using debugger if something crashes, relying on logging facilities otherwise -> forgot about it next day until you have mentioned it in this thread :) 2) lack of large projects (relatively to Windows). In smaller you can always just recompile module in question so the benefit is not that huge (and there are always other things to spend time on). Also it needs to be a collaboration between compiler, linker and IDE and stuff like that is always tricky in uncontrolled development environment ;)
Sep 20 2013
prev sibling next sibling parent reply "Wyatt" <wyatt.epp gmail.com> writes:
On Friday, 20 September 2013 at 07:16:09 UTC, Manu wrote:
 [...]
 It needs a reasonable amount of support from the compiler and 
 presumably cooperation from the debugger too. If people have
 never heard of it, chances are, it doesn't exist :(
Google has been hitting close to this: http://www.youtube.com/watch?v=U98rhV6wONo (slides: http://llvm.org/devmtg/2012-04-12/Slides/Manuel_Klimek.pdf) Lot of potential here, even for a die-hard Vim user like myself.
 Mmmm, a concept that I've always found completely amazing 
 actually. How is it that Linux - truly an OS for developers
 (certainly not for end-users) - can consistently be plagued by
 the worst dev tools out there? Surely someone in the past 30-40
 years get's frustrated at some stage, looks at what MS have
 been doing for over a decade, and think "shit, that's awesome,
 I'd like that too!". I'm actually amazed that MS managed to
 invent it in the first place. You'd think that Linux should have
 gotten to it first...
Part of this would seem to be the simple fact that the GNU toolchain is the de facto standard for working in Linux and other Unixen. If you've ever encountered a GNU project's general attitude toward patches and ideas from "outsiders", the concerns presented in this SO answer might offer some clarity as to why it's taken so long: http://stackoverflow.com/a/4440794/432364 In short: getting all the people involved to agree on answers to all these questions is sort of a hard problem. (Though it looks like "Fix-and-continue" was added to the GDB roadmap about a year ago: http://gcc.gnu.org/wiki/cauldron2012?action=AttachFile&do=get&target=jkratoch.pdf)
 I agree, I'm really looking forward to what they bring to the 
 table. I expect it's a lot of work though... they have over a
 decade of catching up to do.
Per the links above, they might be closer than it initially appears. Of course, it's also a matter of integration and coordination across multiple projects. There are, occasionally, advantages to monolithic vertically-integrated dictatorships. -Wyatt
Sep 20 2013
parent Manu <turkeyman gmail.com> writes:
On 20 September 2013 23:22, Wyatt <wyatt.epp gmail.com> wrote:

 On Friday, 20 September 2013 at 07:16:09 UTC, Manu wrote:

 [...]

 It needs a reasonable amount of support from the compiler and presumably
 cooperation from the debugger too. If people have
 never heard of it, chances are, it doesn't exist :(

  Google has been hitting close to this:
http://www.youtube.com/watch?**v=U98rhV6wONo<http://www.youtube.com/watch?v=U98rhV6wONo>(slides: http://llvm.org/devmtg/2012-**04-12/Slides/Manuel_Klimek.pdf<http://llvm.org/devmtg/2012-04-12/Slides/Manuel_Klimek.pdf> **) Lot of potential here, even for a die-hard Vim user like myself.
... I didn't see him mention it at all. However he did mention lots of useful things. It looks like finally there are some people interested in closing the gap between VS. Clang is a super exciting piece of C/C++ technology. Why is it that they are so innovative when GCC is basically stagnant for ages? Mmmm, a concept that I've always found completely amazing actually. How is
 it that Linux - truly an OS for developers
 (certainly not for end-users) - can consistently be plagued by
 the worst dev tools out there? Surely someone in the past 30-40
 years get's frustrated at some stage, looks at what MS have
 been doing for over a decade, and think "shit, that's awesome,
 I'd like that too!". I'm actually amazed that MS managed to
 invent it in the first place. You'd think that Linux should have
 gotten to it first...

  Part of this would seem to be the simple fact that the GNU
toolchain is the de facto standard for working in Linux and other Unixen. If you've ever encountered a GNU project's general attitude toward patches and ideas from "outsiders", the concerns presented in this SO answer might offer some clarity as to why it's taken so long: http://stackoverflow.com/a/**4440794/432364<http://stackoverflow.com/a/4440794/432364>
Sadly, I don't think that guy who responded actually knew much about it. He was making it sound harder than it is, and most of the questions/problems he raised are known and/or solved already by MS. The point is, there's a perfectly good working example, and it's well understood how it works. (but apparently he didn't read up on it at all) In short: getting all the people involved to agree on answers to
 all these questions is sort of a hard problem.
 (Though it looks like "Fix-and-continue" was added to the GDB
 roadmap about a year ago:
 http://gcc.gnu.org/wiki/**cauldron2012?action=**AttachFile&do=get&target=*
 *jkratoch.pdf<http://gcc.gnu.org/wiki/cauldron2012?action=AttachFile&do=get&target=jkratoch.pdf>
 )
Huzzah! Better late than never I guess... I'm actually wondering if the recent movement of ex-windows dev's towards things like android/iphone/web/etc, is fueling a whole bunch of new voices behind the rubbish *nix tooling. A massive industry of users who have for the longest time been perfectly happy with VS, are now having to find new tools for prevailing non-MS platforms, and becoming frustrated in the process. (I can refer to rant's and complaints from countless (ex-)colleagues, perhaps numbering well into the hundreds) I agree, I'm really looking forward to what they bring to the table. I
 expect it's a lot of work though... they have over a
 decade of catching up to do.

  Per the links above, they might be closer than it initially
appears. Of course, it's also a matter of integration and coordination across multiple projects. There are, occasionally, advantages to monolithic vertically-integrated dictatorships.
LLVM would seem to have the best shot at it. Given the current trajectory, I'm optimistic I can abandon VS in maybe 2-3 years... Don't get me wrong, there's loads of things wrong with VS. I'm not married to it, it's actually crap in lots of ways, but it just has so many productivity features that I consider absolutely non-negotiable. I prefer Clang/GCC the compilers right now. But VS is so much more than a compiler.
Sep 20 2013
prev sibling parent reply "F i L" <witte2008 gmail.com> writes:
Manu wrote:
 I see, I didn't know VS was capable of that, but it doesn't 
 sound very
 useful for large projects which take a lot of time to compile 
 (which I'm
 sure is important to you folks at Remedy).
Actually, it's about a zillion times MORE useful for large projects. If the project is big, takes time to reboot/restart, and particularly in games where you might need to run to a particular part of a level and perform some bunch of actions to test the thing you're trying to debug in the first place.
Yes, I understand and agree. I made a typo. I meant to say: "..but it **does** sound very useful for large projects.."
 Fair enough, but it's weird I should have to. Basic 
 productivity tools like
 that should surely be known by users of the tools...
 I'll just go and continue to assume that Visual Studio is still 
 the only viable option on any platform :P
Well, again, this isn't my area of experience. Professionally, I spend most my time in Kate/Inkscape/Gimp/Krita/Blender working on front-end web development & graphics art. I have a long history of personal Direct3D/OpenGL projects and game logic, but in It's been months since I've really had time to spend on anything there. That said, based on other's responses so far, my bet is that no Linux has these features you need, yet. So your assumptions about VS are probably correct.
 Mmmm, a concept that I've always found completely amazing 
 actually. How is
 it that Linux - truly an OS for developers (certainly not for 
 end-users) -
This I actually disagree with that on a couple of levels. First, "edit and continue" is really only a absolute necessity for the AAA game industry (and some others).. since the ability to make changes without having to re-navigate the game to the area being effected is a crucial time saver. Linux hasn't really been a consumer platform before Android, and Android most games (especially in the earlier days) a simple enough that doesn't matter as much. Not to mention you can develop Android apps on non-Linux platforms just fine. So Linux hasn't really *needed* the ability to edit-and-continue until just now, when Android-based systems are becoming more powerful, and Valve is planning it's migration to Linux. Any company assessing the development cost of implementing the features into the tool-chains probably came to the conclusion it wasn't worth the effort. Second, Linux is quickly becoming a platform that's fully fit for end-users. I've installed Gnome & Unity systems on my friends and family's computers, and for the most part they where very comfortable with the overall experience - going so far as to praise it as an "upgrade" in the cases where XP SP3 ate all their outdated computer's ram, and Linux did not. New distro's like Elementary OS present a very balanced and user-friendly desktop environment as well. Linux can also be very pretty and feature-rich, and, as a geek, I like the available choice in DEs Linux offers rather than being stuck with the sometimes unsavory "advancements" Windows makes in their design (i'm looking at you, Windows 8). Here is a screenshot of my computer: http://reign-studios.com/screenshots/arch-linux-screenshot.png I would have a hard time taking you seriously if you claim that isn't a rather pretty environment ;-) And for features, I have a multi-monitor/multi-resolution AMD Catalyst setup with a HD 7850 (a worse-case scenario for X11 drivers), and what's funny is that the art tools I use (Blender, Krita, MyPaint, Inkscape) actually run much faster on Linux than Windows (mostly because it's their target platform). KDE works great with AMD Tear-free desktop, so no vsync or lags. So I am very happy with Linux as a platform in general. There are still horror stories to be sure, but I think the biggest hurdle Linux faces today is simply the fact that it doesn't run Windows software or come pre-installed on laptops at Walmart.. (the corner cases exist because there aren't enough consumers worth supporting).. It will take a massive amount of advertising to sell Linux as a consumer alternative to Mac and Windows (and it will require being sold like Mac, where the OS is sold with sleek hardware that's drivers functions well with it). So far, only Google has been able to accomplish this, but hopefully Valve inadvertently helps Linux Desktop adoption as well by encouraging it as a gaming platform.
Sep 20 2013
parent reply Manu <turkeyman gmail.com> writes:
On 21 September 2013 07:06, F i L <witte2008 gmail.com> wrote:

 Manu wrote:

 I see, I didn't know VS was capable of that, but it doesn't sound very
 useful for large projects which take a lot of time to compile (which I'm
 sure is important to you folks at Remedy).
Actually, it's about a zillion times MORE useful for large projects. If the project is big, takes time to reboot/restart, and particularly in games where you might need to run to a particular part of a level and perform some bunch of actions to test the thing you're trying to debug in the first place.
Yes, I understand and agree. I made a typo. I meant to say: "..but it **does** sound very useful for large projects.." Fair enough, but it's weird I should have to. Basic productivity tools
 like
 that should surely be known by users of the tools...
 I'll just go and continue to assume that Visual Studio is still the only
 viable option on any platform :P
Well, again, this isn't my area of experience. Professionally, I spend most my time in Kate/Inkscape/Gimp/Krita/**Blender working on front-end web development & graphics art. I have a long history of personal Direct3D/OpenGL projects and game logic, but in recent years that has been time to spend on anything there. That said, based on other's responses so far, my bet is that no Linux has these features you need, yet. So your assumptions about VS are probably correct. Mmmm, a concept that I've always found completely amazing actually. How is
 it that Linux - truly an OS for developers (certainly not for end-users) -
This I actually disagree with that on a couple of levels. First, "edit and continue" is really only a absolute necessity for the AAA game industry (and some others).. since the ability to make changes without having to re-navigate the game to the area being effected is a crucial time saver. Linux hasn't really been a consumer platform before Android, and Android most games (especially in the earlier days) a simple enough that doesn't matter as much. Not to mention you can develop Android apps on non-Linux platforms just fine.
It's certainly missed in my professional environment, but even outside that, it's still super handy and saves a lot of time. Particularly if you are in the habit of using it. Do you remember when you first got a mouse with a mouse wheel? You thought it was kinda cool, but I'll bet you didn't use it that much... you weren't in the habit of it. Have you tried to use a mouse without a mouse wheel recently? ... it's like that. So Linux hasn't really *needed* the ability to edit-and-continue until just
 now, when Android-based systems are becoming more powerful, and Valve is
 planning it's migration to Linux. Any company assessing the development
 cost of implementing the features into the tool-chains probably came to the
 conclusion it wasn't worth the effort.
No one *needs* to save their time and energy. It's just nice, and once you're in the habit of not wasting time, wasting time seems like an annoying waste of time ;) Second, Linux is quickly becoming a platform that's fully fit for
 end-users. I've installed Gnome & Unity systems on my friends and family's
 computers, and for the most part they where very comfortable with the
 overall experience - going so far as to praise it as an "upgrade" in the
 cases where XP SP3 ate all their outdated computer's ram, and Linux did
 not. New distro's like Elementary OS present a very balanced and
 user-friendly desktop environment as well.
I agree... if they work (refer to my auto-update fail the other day). Linux UI still feels largely like a facade to me. If ANYTHING goes wrong, you are back at square 1, if you're not an expert, you probably can't fix it. But it's definitely getting there. Linux can also be very pretty and feature-rich, and, as a geek, I like the
 available choice in DEs Linux offers rather than being stuck with the
 sometimes unsavory "advancements" Windows makes in their design (i'm
 looking at you, Windows 8).
Yeah, maybe. I personally couldn't care less. I almost always use the default on any system. Here is a screenshot of my computer:
 http://reign-studios.com/**screenshots/arch-linux-**screenshot.png<http://reign-studios.com/screenshots/arch-linux-screenshot.png>

 I would have a hard time taking you seriously if you claim that isn't a
 rather pretty environment ;-)
It looks basically identical to my default mint15 install... ? Dunno, doesn't really affect me. And for features, I have a multi-monitor/multi-resolution AMD Catalyst
 setup with a HD 7850 (a worse-case scenario for X11 drivers), and what's
 funny is that the art tools I use (Blender, Krita, MyPaint, Inkscape)
 actually run much faster on Linux than Windows (mostly because it's their
 target platform). KDE works great with AMD Tear-free desktop, so no vsync
 or lags. So I am very happy with Linux as a platform in general.

 There are still horror stories to be sure, but I think the biggest hurdle
 Linux faces today is simply the fact that it doesn't run Windows software
 or come pre-installed on laptops at Walmart.. (the corner cases exist
 because there aren't enough consumers worth supporting).. It will take a
 massive amount of advertising to sell Linux as a consumer alternative to
 Mac and Windows (and it will require being sold like Mac, where the OS is
 sold with sleek hardware that's drivers functions well with it). So far,
 only Google has been able to accomplish this, but hopefully Valve
 inadvertently helps Linux Desktop adoption as well by encouraging it as a
 gaming platform.
I still think the biggest problem by far is that only an expert can fix it when anything goes wrong. And things *always* go wrong. It might seem trivial if you love computer OS's at the command line and text file level, but I think to most users it just appears to be unstable and tedious. It's getting better. I want it to succeed... I really do.
Sep 20 2013
next sibling parent reply "F i L" <witte2008 gmail.com> writes:
Manu wrote:
 It's certainly missed in my professional environment, but even 
 outside
 that, it's still super handy and saves a lot of time. 
 Particularly if you
 are in the habit of using it.
 Do you remember when you first got a mouse with a mouse wheel? 
 You thought
 it was kinda cool, but I'll bet you didn't use it that much... 
 you weren't
 in the habit of it.
 Have you tried to use a mouse without a mouse wheel recently? 
 ... it's like
 that.
Yes, I agree. My point wasn't that it isn't a convenience, only that linux tech companies with the ability to implement it probably haven't seen it as a worth-while effort (financially speaking) in the past, due to it not effecting their development practices as much as it may effects other industries (like major game creators). I hope, as I'm sure you do, that, due to Valve's interest in Linux, better debugging features will be seen as more of a priority. It will be a brighter day for Linux when engine designers of AAA game companies don't have anything to complain about when it comes to developing on Linux ;)
 Linux UI still feels largely like a facade to me. If ANYTHING 
 goes wrong,
 you are back at square 1, if you're not an expert, you probably 
 can't fix it.
I recommend trying Elementary OS sometime (also, keep an eye on Manjaro). There are surely more automatic self-correcting feature on Windows, but Linux is getting better here I think. There has simply been more man-hours put into consumer-level features on Windows.
 I still think the biggest problem by far is that only an expert 
 can fix it
 when anything goes wrong. And things *always* go wrong.
I think you may be exaggerating a bit. I've never had any outstanding issues with distro's like Unbuntu on my machine, but then, it's subject a lot to the quality of your drivers, which sometimes get neglected a bit due to linux's lack of popularity in the desktop consumer space. I've had good success installing on Intel laptops, for instance, and bad experience installing on AMD laptops. But I think you'd find the same was probably true (or worse) with Mac. Which is why I mentioned the only way to sell Linux would be to put it in a fancy box and paint it's face with some expensive advertising (just like Mac and Sony do with BSD, only someone needs to do it more openly). I do agree, there are some areas Linux needs more time to bake, the Display Server is a good example (and PulseAudio), also things like more user-friendly Software Centers. But projects like Wayland, Gnome, Ubuntu, and Elementary are doing good work, and there are some good improvements on the way in the next year or two I think.
Sep 20 2013
parent Paulo Pinto <pjmlp progtools.org> writes:
Am 21.09.2013 07:10, schrieb F i L:
 Manu wrote:
 It's certainly missed in my professional environment, but even outside
 that, it's still super handy and saves a lot of time. Particularly if you
 are in the habit of using it.
 Do you remember when you first got a mouse with a mouse wheel? You
 thought
 it was kinda cool, but I'll bet you didn't use it that much... you
 weren't
 in the habit of it.
 Have you tried to use a mouse without a mouse wheel recently? ... it's
 like
 that.
Yes, I agree. My point wasn't that it isn't a convenience, only that linux tech companies with the ability to implement it probably haven't seen it as a worth-while effort (financially speaking) in the past, due to it not effecting their development practices as much as it may effects other industries (like major game creators). I hope, as I'm sure you do, that, due to Valve's interest in Linux, better debugging features will be seen as more of a priority. It will be a brighter day for Linux when engine designers of AAA game companies don't have anything to complain about when it comes to developing on Linux ;)
 Linux UI still feels largely like a facade to me. If ANYTHING goes wrong,
 you are back at square 1, if you're not an expert, you probably can't
 fix it.
I recommend trying Elementary OS sometime (also, keep an eye on Manjaro). There are surely more automatic self-correcting feature on Windows, but Linux is getting better here I think. There has simply been more man-hours put into consumer-level features on Windows.
 I still think the biggest problem by far is that only an expert can
 fix it
 when anything goes wrong. And things *always* go wrong.
I think you may be exaggerating a bit. I've never had any outstanding issues with distro's like Unbuntu on my machine, but then, it's subject a lot to the quality of your drivers, which sometimes get neglected a bit due to linux's lack of popularity in the desktop consumer space. I've had good success installing on Intel laptops, for instance, and bad experience installing on AMD laptops. But I think you'd find the same was probably true (or worse) with Mac. Which is why I mentioned the only way to sell Linux would be to put it in a fancy box and paint it's face with some expensive advertising (just like Mac and Sony do with BSD, only someone needs to do it more openly). I do agree, there are some areas Linux needs more time to bake, the Display Server is a good example (and PulseAudio), also things like more user-friendly Software Centers. But projects like Wayland, Gnome, Ubuntu, and Elementary are doing good work, and there are some good improvements on the way in the next year or two I think.
The sad thing is that although Linux distributions have progressed quite a lot, I would have said something like what you are saying back in 1994-2005 time frame. Nowadays I just use Windows on my main laptop with a Linux VM on it. I do have a small netbook with Linux on it for travelling, but I was lucky Asus sells laptops with Linux distributions in Germany. And even then, as I described a few times, the drivers got borked due to FOSS religious decisions. This to say I stopped caring about dual boot and playing around with configuration files. Either it works out of the box, or I have better things to do with my time. -- Paulo
Sep 20 2013
prev sibling parent Arjan <arjan ask.me> writes:
 This I actually disagree with that on a couple of levels.

 First, "edit and continue" is really only a absolute necessity for the  
 AAA
 game industry (and some others).. since the ability to make changes  
 without
 having to re-navigate the game to the area being effected is a crucial  
 time
 saver.
Surely not only for games and some others, I is really a very useful feature of MSVC debugging, which will save lots of precious time once one starts using it. I can attest to that. Another useful feature is the ease in which one might adjust the instruction pointer. I'm using those two quite often in concert, which is really a time(and ass)saver. For D to gain more traction (at least on the windows platforms) it has to have these kind of features. So I'm really happy to see what is happening twith visual-D!
 It's certainly missed in my professional environment, but even outside
 that, it's still super handy and saves a lot of time. Particularly if you
 are in the habit of using it.
+100
 Linux can also be very pretty and feature-rich, and, as a geek, I like  
 the
 available choice in DEs Linux offers rather than being stuck with the
 sometimes unsavory "advancements" Windows makes in their design (i'm
 looking at you, Windows 8).
Well you could give this a try: http://windows.kde.org/
 I still think the biggest problem by far is that only an expert can fix  
 it
 when anything goes wrong. And things *always* go wrong. It might seem
 trivial if you love computer OS's at the command line and text file  
 level,
 but I think to most users it just appears to be unstable and tedious.
 It's getting better. I want it to succeed... I really do.
Although I'm a long time FreeBSD/Linux and KDE user (my primairy OS's) I have to agree. There is a reason for the rise of Apple products. Most heard non techies comment: "It just works".
Sep 21 2013
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-09-20 06:53, F i L wrote:

 I figured it was something along those lines though, so I tested editing
 a file while stopped on a breakpoint, and then running it and it didn't
 work. It's possible there's some switch i needed to hit, or that it
 would work with Clang/LLDB, but I doubt it (don't quote me on that
 though, you should ask the KDE folks).
I've seen a couple of talks about LLDB and I'm pretty sure they would have mentioned this feature if it existed. Unless it's so common feature that everybody expects it to exist. -- /Jacob Carlborg
Sep 20 2013
prev sibling parent reply Michel Fortin <michel.fortin michelf.ca> writes:
On 2013-09-20 02:10:30 +0000, Manu <turkeyman gmail.com> said:

 It requires support from various stages in the pipeline and gui, but it's
 been available for a decade from MS. Surely someone else has bothered to
 copy it? (assuming it was invented by MS?)
Apple had Fix-and-continue when Xcode 1.0 replaced Project Builder ten years ago. It was abandoned in Xcode 4. I'm not sure how reliable it was, but I remember having played with it when it was new but not bothering much later. I guess the feature not being completely reliable, moving the toolchain from gcc to clang, and code signatures being required when running iOS apps all contributed to make the feature go away. Perhaps they'll revive that feature now that their toolchain is more stable. File enhancement requests on Apple's bug tracker if you want to put some pressure on them to resurrect the feature. -- Michel Fortin michel.fortin michelf.ca http://michelf.ca
Sep 20 2013
parent reply Manu <turkeyman gmail.com> writes:
On 20 September 2013 21:20, Michel Fortin <michel.fortin michelf.ca> wrote:

 On 2013-09-20 02:10:30 +0000, Manu <turkeyman gmail.com> said:

  It requires support from various stages in the pipeline and gui, but it's
 been available for a decade from MS. Surely someone else has bothered to
 copy it? (assuming it was invented by MS?)
Apple had Fix-and-continue when Xcode 1.0 replaced Project Builder ten years ago. It was abandoned in Xcode 4. I'm not sure how reliable it was, but I remember having played with it when it was new but not bothering much later. I guess the feature not being completely reliable, moving the toolchain from gcc to clang, and code signatures being required when running iOS apps all contributed to make the feature go away. Perhaps they'll revive that feature now that their toolchain is more stable. File enhancement requests on Apple's bug tracker if you want to put some pressure on them to resurrect the feature.
Good to know it has been done elsewhere. Can you recall any ways in which it was unreliable? How did you use it in XCode? In VS, you break/pause somewhere, make some code changes, and then when you press F10 (step), or F5 (continue), it takes a few seconds (building), and then it just continues with the new code. Pretty much seamless.
Sep 20 2013
next sibling parent reply dennis luehring <dl.soluz gmx.net> writes:
Am 20.09.2013 13:46, schrieb Manu:
 Good to know it has been done elsewhere.
 Can you recall any ways in which it was unreliable? How did you use it in
 XCode?
 In VS, you break/pause somewhere, make some code changes, and then when you
 press F10 (step), or F5 (continue), it takes a few seconds (building), and
 then it just continues with the new code. Pretty much seamless.
but that works only good if your design is very very interface oriented - i've never touched a project where it worked properbly
Sep 20 2013
parent Manu <turkeyman gmail.com> writes:
On 20 September 2013 21:53, dennis luehring <dl.soluz gmx.net> wrote:

 Am 20.09.2013 13:46, schrieb Manu:

  Good to know it has been done elsewhere.
 Can you recall any ways in which it was unreliable? How did you use it in
 XCode?
 In VS, you break/pause somewhere, make some code changes, and then when
 you
 press F10 (step), or F5 (continue), it takes a few seconds (building), and
 then it just continues with the new code. Pretty much seamless.
but that works only good if your design is very very interface oriented - i've never touched a project where it worked properbly
Can you elaborate what you mean? I would say I avoid 'interfaces' like the plague... depending what you mean. It's always worked great for me.
Sep 20 2013
prev sibling next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-09-20 13:46, Manu wrote:

 Good to know it has been done elsewhere.
 Can you recall any ways in which it was unreliable? How did you use it
 in XCode?
 In VS, you break/pause somewhere, make some code changes, and then when
 you press F10 (step), or F5 (continue), it takes a few seconds
 (building), and then it just continues with the new code. Pretty much
 seamless.
I just found this: http://injectionforxcode.com/ -- /Jacob Carlborg
Sep 20 2013
parent Michel Fortin <michel.fortin michelf.ca> writes:
On 2013-09-20 13:30:15 +0000, Jacob Carlborg <doob me.com> said:

 On 2013-09-20 13:46, Manu wrote:
 
 Good to know it has been done elsewhere.
 Can you recall any ways in which it was unreliable? How did you use it
 in XCode?
 In VS, you break/pause somewhere, make some code changes, and then when
 you press F10 (step), or F5 (continue), it takes a few seconds
 (building), and then it just continues with the new code. Pretty much
 seamless.
I just found this: http://injectionforxcode.com/
Yes. They're doing it using the Objective-C runtime ability to change at runtime the pointer to methods while the older Fix-and-continue stuff was doing pretty the same thing using a special linker (ZeroLink) that actually links things lazily at runtime. http://zathras.de/angelweb/blog-the-dangers-of-zerolink.htm -- Michel Fortin michel.fortin michelf.ca http://michelf.ca
Sep 20 2013
prev sibling parent reply Michel Fortin <michel.fortin michelf.ca> writes:
On 2013-09-20 11:46:34 +0000, Manu <turkeyman gmail.com> said:

 Good to know it has been done elsewhere.
 Can you recall any ways in which it was unreliable? How did you use it in
 XCode?
I think it sometime failed to patch the executable, thus forcing a full rebuild and a relaunch. Perhaps just a little too often to be useful? I wasn't working on anything where avoiding a full rebuild was really useful, so I never really used it.
 In VS, you break/pause somewhere, make some code changes, and then when you
 press F10 (step), or F5 (continue), it takes a few seconds (building), and
 then it just continues with the new code. Pretty much seamless.
Same thing. Press Fix-and-continue instead of Continue, it rebuilds and then it continues running with the new code. -- Michel Fortin michel.fortin michelf.ca http://michelf.ca
Sep 20 2013
next sibling parent Michel Fortin <michel.fortin michelf.ca> writes:
On 2013-09-20 13:36:45 +0000, Michel Fortin <michel.fortin michelf.ca> said:

 On 2013-09-20 11:46:34 +0000, Manu <turkeyman gmail.com> said:
 
 Good to know it has been done elsewhere.
 Can you recall any ways in which it was unreliable? How did you use it in
 XCode?
I think it sometime failed to patch the executable, thus forcing a full rebuild and a relaunch. Perhaps just a little too often to be useful? I wasn't working on anything where avoiding a full rebuild was really useful, so I never really used it.
Ok, actually if you search for ZeroLink (the underlying linker behind that feature), you'll get a ton of results showing issues with it, like unexplained crashes. -- Michel Fortin michel.fortin michelf.ca http://michelf.ca
Sep 20 2013
prev sibling parent Manu <turkeyman gmail.com> writes:
On 20 September 2013 23:36, Michel Fortin <michel.fortin michelf.ca> wrote:

 On 2013-09-20 11:46:34 +0000, Manu <turkeyman gmail.com> said:

  Good to know it has been done elsewhere.
 Can you recall any ways in which it was unreliable? How did you use it in
 XCode?
I think it sometime failed to patch the executable, thus forcing a full rebuild and a relaunch. Perhaps just a little too often to be useful? I wasn't working on anything where avoiding a full rebuild was really useful, so I never really used it.
In MSC/VS, this only really happens when you change a public struct. You can't really change the structure of heap-allocated memory. Basically anything else is fine though. If you're tweaking code, you rarely want to re-structure your data. And it's easy to understand what you've done, and why it says "a rebuild is required" for certain changes. In VS, you break/pause somewhere, make some code changes, and then when you
 press F10 (step), or F5 (continue), it takes a few seconds (building), and
 then it just continues with the new code. Pretty much seamless.
Same thing. Press Fix-and-continue instead of Continue, it rebuilds and then it continues running with the new code. -- Michel Fortin michel.fortin michelf.ca http://michelf.ca
Sep 20 2013
prev sibling parent reply "Max Klimov" <klimroot gmail.com> writes:
On Wednesday, 18 September 2013 at 14:49:27 UTC, Joseph Rushton
Wakeling wrote:
 Hello all,

 Several of us have been talking about Qt Creator and D in 
 various subthreads of the current IDE-related discussions going 
 ...
Recently I started the development of plugins for QtCreator in order to add basic support of D. I did not notice the existing project https://github.com/GoldMax/QtCreatorD, it could have been very useful for me. Currently I have 2 plugins: the first one is for DUB (http://code.dlang.org/) support, the second one is for direct D language support directly. The repositories are here: https://github.com/Groterik/qtcreator-dubmanager https://github.com/Groterik/qtcreator-dlangeditor DUB-plugin provides project management features, building, running, etc. The dlangeditor-plugin itself provides indention, code completion, etc. It uses DCD (https://github.com/Hackerpilot/DCD) binaries for completion. This plugin is not as stable as I expected (sometimes completion can disappear until the next QtCreator's start) but I am looking forward to the community’s help in searching/fixing bugs and new features development/suggestion.
Aug 05 2014
next sibling parent reply Manu via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 6 August 2014 00:12, Max Klimov via Digitalmars-d <
digitalmars-d puremagic.com> wrote:

 On Wednesday, 18 September 2013 at 14:49:27 UTC, Joseph Rushton
 Wakeling wrote:

 Hello all,

 Several of us have been talking about Qt Creator and D in various
 subthreads of the current IDE-related discussions going ...
Recently I started the development of plugins for QtCreator in order to add basic support of D. I did not notice the existing project https://github.com/GoldMax/QtCreatorD, it could have been very useful for me. Currently I have 2 plugins: the first one is for DUB (http://code.dlang.org/) support, the second one is for direct D language support directly. The repositories are here: https://github.com/Groterik/qtcreator-dubmanager https://github.com/Groterik/qtcreator-dlangeditor DUB-plugin provides project management features, building, running, etc. The dlangeditor-plugin itself provides indention, code completion, etc. It uses DCD (https://github.com/Hackerpilot/DCD) binaries for completion. This plugin is not as stable as I expected (sometimes completion can disappear until the next QtCreator's start) but I am looking forward to the community=E2=80=99s help in searching/fixing bugs and new features development/suggestion.
Out of curiosity, how do you find DCD? In my experience, the Mono-D completion engine has been the best for a long time, and VisualD switched to use the Mono-D completion engine some time back. Does DCD also share the Mono-D completion lib, or are their 'competing' libs again? Can users expect the same experience from DCD integrated editors as from Mono-D? Anyone worked in both environments extensively?
Aug 05 2014
next sibling parent reply "Brian Schott" <briancschott gmail.com> writes:
On Wednesday, 6 August 2014 at 04:34:25 UTC, Manu via 
Digitalmars-d wrote:
 Does DCD also share the Mono-D completion lib, or are their 
 'competing'
 libs again?
They are separate autocompletion engines. Mono-D's easier to integrate with Monodevelop that way. Mono-D is two years older than DCD. DCD is implemented in D. Its lexer/parser/ast code is located in the libdparse project. https://github.com/Hackerpilot/libdparse/
Aug 05 2014
next sibling parent "Suliman" <evermind live.ru> writes:
 DCD is implemented in D. Its lexer/parser/ast code is located 
 in the libdparse project. 
 https://github.com/Hackerpilot/libdparse/
Am I right understand that project like SDC maybe very helpfull to get not only for auto completation, but also real time code checking like it do Visual Studio?
Aug 05 2014
prev sibling parent reply Manu via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 6 August 2014 15:14, Brian Schott via Digitalmars-d <
digitalmars-d puremagic.com> wrote:

 On Wednesday, 6 August 2014 at 04:34:25 UTC, Manu via Digitalmars-d wrote:

 Does DCD also share the Mono-D completion lib, or are their 'competing'
 libs again?
They are separate autocompletion engines. Mono-D's lexer/parser/ast are Monodevelop that way. Mono-D is two years older than DCD. DCD is implemented in D. Its lexer/parser/ast code is located in the libdparse project. https://github.com/Hackerpilot/libdparse/
Is there a significant distinction in terms of features, stability, maturity? I'll try it out some time.
Aug 06 2014
parent "Brian Schott" <briancschott gmail.com> writes:
On Wednesday, 6 August 2014 at 13:58:20 UTC, Manu via 
Digitalmars-d wrote:
 Is there a significant distinction in terms of features, 
 stability,
 maturity?
 I'll try it out some time.
DCD is not an IDE or IDE plugin. It's a pair of programs (client and server) that were inspired by GoCode[1]. The primary use case for DCD is providing autocomplete to people who like text editors more than IDEs. (Though nothing prevents an IDE from using DCD for autocomplete) DCD is pretty stable. If it does crash, it's a completely separate process from your text editor so you won't lose any unsaved work. Mono-D is more mature. [1] https://github.com/nsf/gocode
Aug 06 2014
prev sibling parent "Max Klimov" <klimroot gmail.com> writes:
On Wednesday, 6 August 2014 at 04:34:25 UTC, Manu via
Digitalmars-d wrote:
 Out of curiosity, how do you find DCD?
As for me, it is pretty good. I use it for completion, calltips and finding declarations. It works in most cases. And it is easy-to-use (although DCD as a library may be more comfortable).
Aug 06 2014
prev sibling parent reply "Andr" <Spam spam.to> writes:
On Tuesday, 5 August 2014 at 14:12:44 UTC, Max Klimov wrote:
 On Wednesday, 18 September 2013 at 14:49:27 UTC, Joseph Rushton
 Wakeling wrote:
 Hello all,

 Several of us have been talking about Qt Creator and D in 
 various subthreads of the current IDE-related discussions 
 going ...
Recently I started the development of plugins for QtCreator in order to add basic support of D. I did not notice the existing project https://github.com/GoldMax/QtCreatorD, it could have been very useful for me. Currently I have 2 plugins: the first one is for DUB (http://code.dlang.org/) support, the second one is for direct D language support directly. The repositories are here: https://github.com/Groterik/qtcreator-dubmanager https://github.com/Groterik/qtcreator-dlangeditor DUB-plugin provides project management features, building, running, etc. The dlangeditor-plugin itself provides indention, code completion, etc. It uses DCD (https://github.com/Hackerpilot/DCD) binaries for completion. This plugin is not as stable as I expected (sometimes completion can disappear until the next QtCreator's start) but I am looking forward to the community’s help in searching/fixing bugs and new features development/suggestion.
Max, just looking at the source your plugins look very nice but unfortunately I'm not able to compile them for QtC master. Which is the latest Qt Creator version you successfully built the plugins for? Thanks & regards André
Aug 06 2014
next sibling parent reply "Max Klimov" <klimroot gmail.com> writes:
On Wednesday, 6 August 2014 at 20:17:53 UTC, Andr wrote:
 Which is the latest Qt Creator version you successfully built 
 the
 plugins for?

 Thanks & regards
 André
I built the plugins for QtCreator 3.1.1 and 3.1.2 (Qt >= 5.0.1). Yep, for QtCreator's master (3.2.81) compilation failed and I fixed it. I think the plugins can be successfully built now. I am not able to test it right now, but I will try plugins with master in the nearest future.
Aug 07 2014
parent "Andre" <guest guest.com> writes:
 Which is the latest Qt Creator version you successfully built 
 the
 plugins for?

 Thanks & regards
 André
I built the plugins for QtCreator 3.1.1 and 3.1.2 (Qt >= 5.0.1). Yep, for QtCreator's master (3.2.81) compilation failed and I fixed it. I think the plugins can be successfully built now. I am not able to test it right now, but I will try plugins with master in the nearest future.
Before I saw that you already fixed the build I tested your plugins with QtCreator 3.1.1. Nice work so far! I really like that the project manager plugin is based on DUB because it seems to have become the de-facto standard for D. I already have some features on my wish-list ;-) - Enable Locator/Ctrl+K support for quick symbol access - Outline/class view for project and current document - Tooltip with symbol information when hovering in text editor Hopefully I will have some time in the near future to be able to create some pull requests. Currently you have two separate plugins for project manager and editor; what do you think about only one, integrated plugin? It might be easier for users to have one plugin which contains everything. Especially if more parts might be integrated (Locator etc.). Anyway keep up the good work! Regards André
Aug 07 2014
prev sibling parent reply "David" <dato0011 hotmail.com> writes:
On Wednesday, 6 August 2014 at 20:17:53 UTC, Andr wrote:
 On Tuesday, 5 August 2014 at 14:12:44 UTC, Max Klimov wrote:
 On Wednesday, 18 September 2013 at 14:49:27 UTC, Joseph Rushton
 Wakeling wrote:
 Hello all,

 Several of us have been talking about Qt Creator and D in 
 various subthreads of the current IDE-related discussions 
 going ...
Recently I started the development of plugins for QtCreator in order to add basic support of D. I did not notice the existing project https://github.com/GoldMax/QtCreatorD, it could have been very useful for me. Currently I have 2 plugins: the first one is for DUB (http://code.dlang.org/) support, the second one is for direct D language support directly. The repositories are here: https://github.com/Groterik/qtcreator-dubmanager https://github.com/Groterik/qtcreator-dlangeditor DUB-plugin provides project management features, building, running, etc. The dlangeditor-plugin itself provides indention, code completion, etc. It uses DCD (https://github.com/Hackerpilot/DCD) binaries for completion. This plugin is not as stable as I expected (sometimes completion can disappear until the next QtCreator's start) but I am looking forward to the community’s help in searching/fixing bugs and new features development/suggestion.
Max, just looking at the source your plugins look very nice but unfortunately I'm not able to compile them for QtC master. Which is the latest Qt Creator version you successfully built the plugins for? Thanks & regards André
Hi. Is this project abondoned?
May 05 2015
parent "Max Klimov" <klimroot mail.ru> writes:
On Tuesday, 5 May 2015 at 10:48:41 UTC, David wrote:
 Hi. Is this project abondoned?
Not really, it works with recent QtCreator. I'm going to continue implementing new features. Any suggestions or questions are appreciated. Max
Jul 11 2015