digitalmars.D - Which tools do you miss in D?
- Oten (14/14) Jan 26 2014 Which tools do you miss in the D language? it can be from any
- Namespace (2/16) Jan 26 2014 Detection of unused imports and variables!
- Chris (7/8) Jan 28 2014 Yes, that would be nice. They just creep in after a while. Common
- deadalnix (7/21) Jan 26 2014 Code formatter
- ponce (4/18) Jan 26 2014 I'm not missing any tool.
- Alessandro Stamatto (9/9) Jan 26 2014 A D backend for iPython would be cool. But first D needs a
- Jakob Ovrum (5/10) Jan 26 2014 There are standard collections in std.container, but indeed the
- ed (8/22) Jan 26 2014 A quality GUI api with a decent GUI builder, something like the
- Russel Winder (17/23) Jan 27 2014 I find GtkD + Glade rather good actually. The problem is that this is
- ed (10/15) Jan 28 2014 I'm probably still a bit new to GTK, but when I started on Qt I
- Marco Leise (11/33) Jan 28 2014 The Borland tools are great! That's the definition of an IDE.
- Paulo Pinto (6/37) Jan 30 2014 Yep, that is one reason why I never liked C, having learned Turbo Pascal...
- Knud Soerensen (29/43) Jan 26 2014 I miss check_expect from racket.
- Gary Willoughby (24/66) Jan 27 2014 import std.stdio;
- Andrei Alexandrescu (4/22) Jan 27 2014 I do the same. There's a enhancement request in bugzilla for having
- Jonathan M Davis (16/46) Jan 31 2014 assertPred took care of this - e.g. assertPred!"=="(lhs, rhs, expected) ...
- Atila Neves (3/45) Jan 27 2014 That can be (and is) solved by D unit testing libraries.
- Manu (6/6) Jan 27 2014 In order:
- deadalnix (2/8) Jan 27 2014 Holly crap, I forgot the goto definition. That is really needed.
- Jacob Carlborg (6/12) Jan 27 2014 How well do these work for you in Visual Studio for C++? I'm finding
- Manu (16/30) Jan 27 2014 The VC debugger is perfect for C/C++. I can't imagine how it would be
- Jakob Ovrum (7/10) Jan 27 2014 No, it's much, much harder because of templates and string mixins.
- Manu (4/13) Jan 27 2014 Yeah, good point. I've heard murmurings of kitting DMD frontend out as a
- Jacob Carlborg (5/8) Jan 28 2014 We're just waiting for Daniel Murphy to finish the D port of the DMD
- Manu (2/9) Jan 28 2014 How's that coming along? The guys basically started that at the last dco...
- Johannes Pfau (4/12) Jan 28 2014 I guess you didn't see this post?
- Manu (2/14) Jan 28 2014 Indeed I missed that. Awesome! :)
- Daniel Murphy (25/29) Jan 28 2014 I have successfully produced working D compilers on win32, linux32, and
- Jacob Carlborg (4/8) Jan 29 2014 This looks awesome, keep up the good work.
- Brian Schott (8/19) Jan 27 2014 Agreed. D is a language that almost seems like it was designed to
- Jacob Carlborg (14/37) Jan 28 2014 Cool. I was mostly thinking of go-to definition and autocomplete. The
- terchestor (2/8) Jan 27 2014 +1 for items 1, 4 and 5.
- Steve Teale (3/9) Jan 27 2014 It amazed me that your post was the first that mentioned a
- Manu (18/24) Jan 27 2014 I might add, the frequency to which I pine for these things is in the or...
- Rikki Cattermole (18/56) Jan 27 2014 I'm personally of the opinion that if you're resorting to a
- mongrel (19/74) Jan 27 2014 I disagree. Your claim it might be true when:
- Rikki Cattermole (5/5) Jan 27 2014 I can understand why you think about how I work, the way you do.
- mongrel (8/14) Jan 28 2014 Well, I guess if the sock fits wear it :D
- Rikki Cattermole (10/16) Jan 28 2014 Haha yea and GDB is getting better slowly.
- Manu (16/67) Jan 27 2014 That's one key point of a good debugger; when you don't understand the c...
- Rikki Cattermole (7/20) Jan 27 2014 I had a look at it and wow. If I had seen this a year ago I would
- Atila Neves (6/19) Jan 27 2014 That's cool, and I might make use of this when mixing D and
- Sean Kelly (13/16) Jan 31 2014 Having a debugger to make sense of core files is pretty handy.
- =?UTF-8?B?U8O2bmtlIEx1ZHdpZw==?= (9/25) Jan 27 2014 So true for me, too... to the point that I'm sometimes mentally blocked
- bearophile (13/17) Jan 28 2014 This is a recurring event in the Python world: Java/C++
- Max Samukha (3/9) Jan 30 2014 Similar experience here. D has ruined my enjoyment of writing
- Nick Sabalausky (13/28) Jan 31 2014 I had a similar experience a little over ten years back with C/C++ vs
- Atila Neves (14/28) Jan 27 2014 . Static analysis
- Graham Fawcett (8/12) Jan 27 2014 Here's what I do for flymake. I'm not suggesting it's great, but
- Dicebot (6/6) Jan 27 2014 Pretty much only thing I really miss compared to C++ is full
- Timon Gehr (2/3) Jan 27 2014 A fully working compiler for the most recent language version.
- Maxim Fomin (2/5) Jan 27 2014 Indeed, and robust documentation for it too.
- Asman01 (3/6) Jan 30 2014 So is dmd compiler not eable to compile the most recent language
- Timon Gehr (3/10) Jan 31 2014 It is meant to and it often works.
- bearophile (5/6) Jan 28 2014 A REPL, a static code analyzer, a code beautifier as indent, a
- "Casper =?UTF-8?B?RsOmcmdlbWFuZCI=?= <shorttail hotmail.com> (10/11) Jan 31 2014 That. I really miss the Eclipse shortcut that makes all Java code
- Andrej Mitrovic (9/12) Jan 31 2014 Uncrustify[1] (and a GUI front-end like UniversalIndentGUI[2]) works
- Jonathan M Davis (12/26) Jan 31 2014 About the only thing that I can think of would be a proper debugger that...
- Sean Kelly (5/12) Feb 01 2014 GDB works on Linux. On OSX, I can't get more than a stack trace
- Jacob Carlborg (6/9) Feb 02 2014 With LLDB I get stack trace with line numbers, breakpoints and it
- woh (5/5) Feb 02 2014 My list is the same as Manu.
- Kapps (9/9) Feb 03 2014 A debugger integrated into an IDE is the most important feature
- eles (3/4) Feb 03 2014 Eclipse DDT is coming.
- Asman01 (1/1) Feb 03 2014 Just out curiosity, who does the use of UNIX's tools like cflow?
- Liu (1/1) May 29 2020 Do any of the those tools mentioned here exist today?
- welkam (2/3) May 29 2020 you need to be more specific if you want to get an answer
- Bastiaan Veelo (2/3) May 31 2020 Yes.
- user (4/7) Jun 05 2020 Reading some posts in the original thread reminded me of this:
Which tools do you miss in the D language? it can be from any language not from C or C++ only but from any language that you have used and liked (might not liked but increased productivity anyway) A very common argument from peoples which do choose other language than D is lack of your tools for D, even if they want to get D they say can't switch. The most common tools which they miss is debuggers/static analyzer/lint and so on. I think that by sharing this list with community instead of just say it like a criticizes is good because next time that some people say that such a x tools isn't available you can say "No, there's a D version for that". Also, totally new ideas are very welcome. If you have had a idea that for any reason you wouldn't implement yourself, tell us too. (sorry for english, not my native language)
Jan 26 2014
On Sunday, 26 January 2014 at 20:29:30 UTC, Oten wrote:Which tools do you miss in the D language? it can be from any language not from C or C++ only but from any language that you have used and liked (might not liked but increased productivity anyway) A very common argument from peoples which do choose other language than D is lack of your tools for D, even if they want to get D they say can't switch. The most common tools which they miss is debuggers/static analyzer/lint and so on. I think that by sharing this list with community instead of just say it like a criticizes is good because next time that some people say that such a x tools isn't available you can say "No, there's a D version for that". Also, totally new ideas are very welcome. If you have had a idea that for any reason you wouldn't implement yourself, tell us too. (sorry for english, not my native language)Detection of unused imports and variables!
Jan 26 2014
On Sunday, 26 January 2014 at 21:14:59 UTC, Namespace wrote:Detection of unused imports and variables!Yes, that would be nice. They just creep in after a while. Common auto-completion (as in Textadept) is not perfect for things like MyStruct!string("hello"); // It stops after MyStruct However, given the lack of tools for D (in comparison to other languages) it is amazing how far you get in D with only a text editor and a Terminal application.
Jan 28 2014
On Sunday, 26 January 2014 at 20:29:30 UTC, Oten wrote:Which tools do you miss in the D language? it can be from any language not from C or C++ only but from any language that you have used and liked (might not liked but increased productivity anyway) A very common argument from peoples which do choose other language than D is lack of your tools for D, even if they want to get D they say can't switch. The most common tools which they miss is debuggers/static analyzer/lint and so on. I think that by sharing this list with community instead of just say it like a criticizes is good because next time that some people say that such a x tools isn't available you can say "No, there's a D version for that". Also, totally new ideas are very welcome. If you have had a idea that for any reason you wouldn't implement yourself, tell us too. (sorry for english, not my native language)Code formatter import management tool (able to detect unused imports, duplicated, etc . . .) Refactoring tool (change the name of something, signature, etc . . .) REPL, so I can do some quick experiments.
Jan 26 2014
On Sunday, 26 January 2014 at 20:29:30 UTC, Oten wrote:Which tools do you miss in the D language? it can be from any language not from C or C++ only but from any language that you have used and liked (might not liked but increased productivity anyway) A very common argument from peoples which do choose other language than D is lack of your tools for D, even if they want to get D they say can't switch. The most common tools which they miss is debuggers/static analyzer/lint and so on. I think that by sharing this list with community instead of just say it like a criticizes is good because next time that some people say that such a x tools isn't available you can say "No, there's a D version for that". Also, totally new ideas are very welcome. If you have had a idea that for any reason you wouldn't implement yourself, tell us too. (sorry for english, not my native language)I'm not missing any tool. For me the lack of std.logger and std.allocator very annoying though. This makes each library resemble to an island.
Jan 26 2014
A D backend for iPython would be cool. But first D needs a "pseudo-repl" using rdmd. It might be feasible with the ØMQD just announced (communication to the iPython frontend is done through ØMQ). On libraries I really miss the Collections library, since sometimes I like to participate on programming competitions and a direct standard containers library would be great for that. But Allocators are - theoretically - blocking a Collections library ; - ;.
Jan 26 2014
On Sunday, 26 January 2014 at 22:35:20 UTC, Alessandro Stamatto wrote:On libraries I really miss the Collections library, since sometimes I like to participate on programming competitions and a direct standard containers library would be great for that. But Allocators are - theoretically - blocking a Collections library ; - ;.There are standard collections in std.container, but indeed the impending allocator design has been holding back further development of the module.
Jan 26 2014
On Sunday, 26 January 2014 at 20:29:30 UTC, Oten wrote:Which tools do you miss in the D language? it can be from any language not from C or C++ only but from any language that you have used and liked (might not liked but increased productivity anyway) A very common argument from peoples which do choose other language than D is lack of your tools for D, even if they want to get D they say can't switch. The most common tools which they miss is debuggers/static analyzer/lint and so on. I think that by sharing this list with community instead of just say it like a criticizes is good because next time that some people say that such a x tools isn't available you can say "No, there's a D version for that". Also, totally new ideas are very welcome. If you have had a idea that for any reason you wouldn't implement yourself, tell us too. (sorry for english, not my native language)A quality GUI api with a decent GUI builder, something like the tools that come with Qt or that Window Builder for Java. I find GTKD bindings are great but the GTK api itself, IMO, is less intuitive than Qt and GTK+Glade is a lot more work compared to other RAD tools in C++ or Java. Cheers, Ed
Jan 26 2014
On Sun, 2014-01-26 at 23:30 +0000, ed wrote: […]A quality GUI api with a decent GUI builder, something like the tools that come with Qt or that Window Builder for Java. I find GTKD bindings are great but the GTK api itself, IMO, is less intuitive than Qt and GTK+Glade is a lot more work compared to other RAD tools in C++ or Java.I find GtkD + Glade rather good actually. The problem is that this is not really a good direction for cross platform working since Gtk isn't a widely supported framework. Qt5 on the other hand is making great strides (now that it isn't a Nokia/Microsoft technology). Go now has QML support and I am finding this a nice combination. Having QML support in D would be a good thing. I haven't had time to work on the various QtD repositories to see if Qt5 and QML are or can easily be supported. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 27 2014
On Monday, 27 January 2014 at 11:03:45 UTC, Russel Winder wrote: [...]I find GtkD + Glade rather good actually. The problem is that this is not really a good direction for cross platform working since Gtk isn't a widely supported framework.I'm probably still a bit new to GTK, but when I started on Qt I found it easier to pick up. Ever since I used C++ Builder 4 and VCL I've been searching for a RAD GUI tool to match it; I haven't found one yet in C++ or Java. Some may shudder :D but I really liked the Borland tools and APIs back then. Cheers, ed
Jan 28 2014
Am Tue, 28 Jan 2014 10:28:03 +0000 schrieb "ed" <growlercab gmail.com>:On Monday, 27 January 2014 at 11:03:45 UTC, Russel Winder wrote: [...]The Borland tools are great! That's the definition of an IDE. One program hosts the GUI builder, compiler, linker, debugger, editor with refactoring support, help system and package manager. And everything is actually integrated. A double-click on a button implements a click-handler, publishing a property of a component class and installing it as part of a package makes the property available in the GUI builder. -- MarcoI find GtkD + Glade rather good actually. The problem is that this is not really a good direction for cross platform working since Gtk isn't a widely supported framework.I'm probably still a bit new to GTK, but when I started on Qt I found it easier to pick up. Ever since I used C++ Builder 4 and VCL I've been searching for a RAD GUI tool to match it; I haven't found one yet in C++ or Java. Some may shudder :D but I really liked the Borland tools and APIs back then. Cheers, ed
Jan 28 2014
Am 29.01.2014 00:26, schrieb Marco Leise:Am Tue, 28 Jan 2014 10:28:03 +0000 schrieb "ed" <growlercab gmail.com>:Yep, that is one reason why I never liked C, having learned Turbo Pascal before. Even on MS-DOS, Borland tooling was already great. -- PauloOn Monday, 27 January 2014 at 11:03:45 UTC, Russel Winder wrote: [...]The Borland tools are great! That's the definition of an IDE. One program hosts the GUI builder, compiler, linker, debugger, editor with refactoring support, help system and package manager. And everything is actually integrated. A double-click on a button implements a click-handler, publishing a property of a component class and installing it as part of a package makes the property available in the GUI builder.I find GtkD + Glade rather good actually. The problem is that this is not really a good direction for cross platform working since Gtk isn't a widely supported framework.I'm probably still a bit new to GTK, but when I started on Qt I found it easier to pick up. Ever since I used C++ Builder 4 and VCL I've been searching for a RAD GUI tool to match it; I haven't found one yet in C++ or Java. Some may shudder :D but I really liked the Borland tools and APIs back then. Cheers, ed
Jan 30 2014
I miss check_expect from racket. It is used for unit testing check_expect(expression, result) Will test if expression equals result if it is not it print "Got expression but expected result" with file and line information. In D making unit tests is more tedious. When I develop in D I typical start with. writeln(expression) writeln(result) then when the code is working I replace it with assert(expression==result) Then if I do some refactoring which don't work I change again writeln(expression) writeln(result) When it is working again assert(expression==result) This back and forth process in D is very tedious compared to Racket. I think the should be a buildin function called test or something for-filing the same role as check_expect in racket. Knud On 2014-01-26 21:29, Oten wrote:Which tools do you miss in the D language? it can be from any language not from C or C++ only but from any language that you have used and liked (might not liked but increased productivity anyway) A very common argument from peoples which do choose other language than D is lack of your tools for D, even if they want to get D they say can't switch. The most common tools which they miss is debuggers/static analyzer/lint and so on. I think that by sharing this list with community instead of just say it like a criticizes is good because next time that some people say that such a x tools isn't available you can say "No, there's a D version for that". Also, totally new ideas are very welcome. If you have had a idea that for any reason you wouldn't implement yourself, tell us too. (sorry for english, not my native language)-- Join me on Skype knudhs Facebook http://www.facebook.com/profile.php?id=1198821880 Linkedin http://www.linkedin.com/pub/0/117/a54 Twitter http://twitter.com/knudsoerensen bitcoin donations: 13ofyUKqFL43uRJHZtNozyMVP4qxKPsAR2
Jan 26 2014
On Monday, 27 January 2014 at 07:16:26 UTC, Knud Soerensen wrote:I miss check_expect from racket. It is used for unit testing check_expect(expression, result) Will test if expression equals result if it is not it print "Got expression but expected result" with file and line information. In D making unit tests is more tedious. When I develop in D I typical start with. writeln(expression) writeln(result) then when the code is working I replace it with assert(expression==result) Then if I do some refactoring which don't work I change again writeln(expression) writeln(result) When it is working again assert(expression==result) This back and forth process in D is very tedious compared to Racket. I think the should be a buildin function called test or something for-filing the same role as check_expect in racket. Knud On 2014-01-26 21:29, Oten wrote:import std.stdio; void check_expect(A, B)(lazy A expression, B result, string file = __FILE__, size_t line = __LINE__) { try { if (expression != result) { throw new Exception("Got expression but expected result", file, line); } } catch (Exception ex) { writefln("%s, file: %s, line: %s", ex.msg, ex.file, ex.line); } } unittest { check_expect(1 + 2, 4); } You can find more usesful functions for unit testing here: https://github.com/nomad-software/dunitWhich tools do you miss in the D language? it can be from any language not from C or C++ only but from any language that you have used and liked (might not liked but increased productivity anyway) A very common argument from peoples which do choose other language than D is lack of your tools for D, even if they want to get D they say can't switch. The most common tools which they miss is debuggers/static analyzer/lint and so on. I think that by sharing this list with community instead of just say it like a criticizes is good because next time that some people say that such a x tools isn't available you can say "No, there's a D version for that". Also, totally new ideas are very welcome. If you have had a idea that for any reason you wouldn't implement yourself, tell us too. (sorry for english, not my native language)
Jan 27 2014
On 1/26/14 11:16 PM, Knud Soerensen wrote:I miss check_expect from racket. It is used for unit testing check_expect(expression, result) Will test if expression equals result if it is not it print "Got expression but expected result" with file and line information. In D making unit tests is more tedious. When I develop in D I typical start with. writeln(expression) writeln(result) then when the code is working I replace it with assert(expression==result) Then if I do some refactoring which don't work I change again writeln(expression) writeln(result) When it is working again assert(expression==result) This back and forth process in D is very tedious compared to Racket.I do the same. There's a enhancement request in bugzilla for having assert detect these patterns itself. Andrei
Jan 27 2014
On Monday, January 27, 2014 08:01:30 Andrei Alexandrescu wrote:On 1/26/14 11:16 PM, Knud Soerensen wrote:assertPred took care of this - e.g. assertPred!"=="(lhs, rhs, expected) or assertPred!"<"(lhs, rhs, expected) - but it failed the review process with the consensus that assert should be changed to do this for you. However, as I understand it, it was ultimately decided by those who looked at implementing it that that wasn't going to work. std.datetime still uses a stripped-down version of it internally as _assertPred, but I'm fairly certain that it's introduced too much template bloat as a result and that it's the main cause for the large amount of memory that std.datetime requires when compiling its unit tests. So, while I like the idea of a templated function which prints out what the expected result and actual result on a test failure rather than just that the test failed, at this point, I'm not at all certain that it's worth the overhead. And if assert can't reasonably be made to take of it itself, a templated function like assertPred would pretty much be the way that you'd have to go. - Jonathan M DavisI miss check_expect from racket. It is used for unit testing check_expect(expression, result) Will test if expression equals result if it is not it print "Got expression but expected result" with file and line information. In D making unit tests is more tedious. When I develop in D I typical start with. writeln(expression) writeln(result) then when the code is working I replace it with assert(expression==result) Then if I do some refactoring which don't work I change again writeln(expression) writeln(result) When it is working again assert(expression==result) This back and forth process in D is very tedious compared to Racket.I do the same. There's a enhancement request in bugzilla for having assert detect these patterns itself.
Jan 31 2014
That can be (and is) solved by D unit testing libraries. Atila On Monday, 27 January 2014 at 07:16:26 UTC, Knud Soerensen wrote:I miss check_expect from racket. It is used for unit testing check_expect(expression, result) Will test if expression equals result if it is not it print "Got expression but expected result" with file and line information. In D making unit tests is more tedious. When I develop in D I typical start with. writeln(expression) writeln(result) then when the code is working I replace it with assert(expression==result) Then if I do some refactoring which don't work I change again writeln(expression) writeln(result) When it is working again assert(expression==result) This back and forth process in D is very tedious compared to Racket. I think the should be a buildin function called test or something for-filing the same role as check_expect in racket. Knud On 2014-01-26 21:29, Oten wrote:Which tools do you miss in the D language? it can be from any language not from C or C++ only but from any language that you have used and liked (might not liked but increased productivity anyway) A very common argument from peoples which do choose other language than D is lack of your tools for D, even if they want to get D they say can't switch. The most common tools which they miss is debuggers/static analyzer/lint and so on. I think that by sharing this list with community instead of just say it like a criticizes is good because next time that some people say that such a x tools isn't available you can say "No, there's a D version for that". Also, totally new ideas are very welcome. If you have had a idea that for any reason you wouldn't implement yourself, tell us too. (sorry for english, not my native language)
Jan 27 2014
In order: 1. A debugger (that works properly) 2. Go-to definition (that always works) 3. Auto-complete (that always works) 4. Import management (missing/duplicate/unused imports) 5. Typical suite of modern refactoring tools
Jan 27 2014
On Monday, 27 January 2014 at 08:12:14 UTC, Manu wrote:In order: 1. A debugger (that works properly) 2. Go-to definition (that always works) 3. Auto-complete (that always works) 4. Import management (missing/duplicate/unused imports) 5. Typical suite of modern refactoring toolsHolly crap, I forgot the goto definition. That is really needed.
Jan 27 2014
On 2014-01-27 09:11, Manu wrote:In order: 1. A debugger (that works properly) 2. Go-to definition (that always works) 3. Auto-complete (that always works)How well do these work for you in Visual Studio for C++? I'm finding cases in Xcode where it doesn't always work, especially in DMD.4. Import management (missing/duplicate/unused imports) 5. Typical suite of modern refactoring toolsI agree on all the above. -- /Jacob Carlborg
Jan 27 2014
On 27 January 2014 22:14, Jacob Carlborg <doob me.com> wrote:On 2014-01-27 09:11, Manu wrote:The VC debugger is perfect for C/C++. I can't imagine how it would be improved. You can even edit your code and rebuild+relink while it's running to make minor runtime tweaks, and continue execution using the modified code. Go-to definition is not perfect, but it works 95% of the time. Auto-complete is very good in C/C++ but there are a few rough edges for quality here. D doesn't have a preprocessor or a horrible network of text include, it I say 'that always works' above, implying that it sometimes works... which is true, but it's in the realm of 30% for me, which is unreliable enough to be very annoying. Any time 'class' appears in D, it all goes south under VisualD. 4. Import management (missing/duplicate/unused imports)In order: 1. A debugger (that works properly) 2. Go-to definition (that always works) 3. Auto-complete (that always works)How well do these work for you in Visual Studio for C++? I'm finding cases in Xcode where it doesn't always work, especially in DMD.5. Typical suite of modern refactoring toolsI agree on all the above. -- /Jacob Carlborg
Jan 27 2014
On Monday, 27 January 2014 at 13:12:56 UTC, Manu wrote:D doesn't have a preprocessor or a horrible network of text include, itNo, it's much, much harder because of templates and string mixins. The only way to get a solid auto-complete experience for D is to use a compiler-as-library, which is why I think the approach that VisualD and Mono-D (and DScanner to some extent, IIRC) takes is a colossal waste of time, as "good enough" will in fact never be good enough.
Jan 27 2014
On 28 January 2014 13:43, Jakob Ovrum <jakobovrum gmail.com> wrote:On Monday, 27 January 2014 at 13:12:56 UTC, Manu wrote:Yeah, good point. I've heard murmurings of kitting DMD frontend out as a lib for tooling being thrown around as long as I've been trolling here. It must be really hard... or really really uninteresting :)D doesn't have a preprocessor or a horrible network of text include, itNo, it's much, much harder because of templates and string mixins. The only way to get a solid auto-complete experience for D is to use a compiler-as-library, which is why I think the approach that VisualD and Mono-D (and DScanner to some extent, IIRC) takes is a colossal waste of time, as "good enough" will in fact never be good enough.
Jan 27 2014
On 2014-01-28 04:59, Manu wrote:Yeah, good point. I've heard murmurings of kitting DMD frontend out as a lib for tooling being thrown around as long as I've been trolling here. It must be really hard... or really really uninteresting :)We're just waiting for Daniel Murphy to finish the D port of the DMD frontend. -- /Jacob Carlborg
Jan 28 2014
On 28 January 2014 21:46, Jacob Carlborg <doob me.com> wrote:On 2014-01-28 04:59, Manu wrote: Yeah, good point. I've heard murmurings of kitting DMD frontend out as aHow's that coming along? The guys basically started that at the last dconf.lib for tooling being thrown around as long as I've been trolling here. It must be really hard... or really really uninteresting :)We're just waiting for Daniel Murphy to finish the D port of the DMD frontend.
Jan 28 2014
Am Wed, 29 Jan 2014 01:41:55 +1100 schrieb Manu <turkeyman gmail.com>:I guess you didn't see this post? http://forum.dlang.org/thread/52E59C8F.9010100 yahoo.com#post-azarhavcmyzjflsktoke:40forum.dlang.orgWe're just waiting for Daniel Murphy to finish the D port of the DMD frontend.How's that coming along? The guys basically started that at the last dconf.
Jan 28 2014
On 29 January 2014 01:54, Johannes Pfau <nospam example.com> wrote:Am Wed, 29 Jan 2014 01:41:55 +1100 schrieb Manu <turkeyman gmail.com>:Indeed I missed that. Awesome! :)I guess you didn't see this post? http://forum.dlang.org/thread/52E59C8F.9010100 yahoo.com#post-azarhavcmyzjflsktoke:40forum.dlang.orgWe're just waiting for Daniel Murphy to finish the D port of the DMD frontend.How's that coming along? The guys basically started that at the last dconf.
Jan 28 2014
"Manu" <turkeyman gmail.com> wrote in message news:mailman.121.1390920126.13884.digitalmars-d puremagic.com...I have successfully produced working D compilers on win32, linux32, and linux64. The generated d code preserves comments and is split up into multiple source files. Of the original hundred-and-something patches in https://github.com/D-Programming-Language/dmd/pull/1980 only 4 remain. - Mangling of long/ulong (https://github.com/D-Programming-Language/dmd/pull/3158) - Mangling of templated structs (https://github.com/D-Programming-Language/dmd/pull/3160) - Clean up comments so the converter can do something sane with them (https://github.com/D-Programming-Language/dmd/pull/3123) - Prevent g++ from emitting a vtable (will not be needed after the visitor refactoring) On top of this, we need to refactor a bunch of virtual function hierarchies into visitor classes, unless we want cast.c/optimize.c/interpret.c to disappear and expression.d to become enormous (~25000 lines). https://github.com/D-Programming-Language/dmd/pull/3164 https://github.com/D-Programming-Language/dmd/pull/3118 https://github.com/D-Programming-Language/dmd/pull/3111 Having a working compiler with no outstanding patches on all supported platforms within the next month is quite possible, but it will depend on the rate at which the pulls get reviewed and merged.We're just waiting for Daniel Murphy to finish the D port of the DMD frontend.How's that coming along? The guys basically started that at the last dconf.
Jan 28 2014
On 2014-01-28 17:41, Daniel Murphy wrote:I have successfully produced working D compilers on win32, linux32, and linux64. The generated d code preserves comments and is split up into multiple source files.This looks awesome, keep up the good work. -- /Jacob Carlborg
Jan 29 2014
On Tuesday, 28 January 2014 at 03:43:11 UTC, Jakob Ovrum wrote:On Monday, 27 January 2014 at 13:12:56 UTC, Manu wrote:Agreed. D is a language that almost seems like it was designed to maximize the difficulty of creating a complete autocomplete engine. As soon as you hit a line that looks like mixin (someRandomTemplate!(a, b, c)(d, e, f)); you need a full compiler front-end to provide complete autocomplete.D doesn't have a preprocessor or a horrible network of text include, itNo, it's much, much harder because of templates and string mixins.The only way to get a solid auto-complete experience for D is to use a compiler-as-library, which is why I think the approach that VisualD and Mono-D (and DScanner to some extent, IIRC) takes is a colossal waste of time, as "good enough" will in fact never be good enough.If they were a waste of time nobody would use them.
Jan 27 2014
Support of MSVC COFF is really needed for me. And x64 codegen without any dependencies like msvc's link.exe linker.
Jan 27 2014
Better tooling is one of the things that makes me write less D Code. Basically I want Semantic Analysis, code completion, refactoring tools as good as what I get with KDevelop on Linux and Debugging support that is better than that. I really like rdmd but I still get occasional bugs with it. On Tue, Jan 28, 2014 at 4:05 PM, Temtaime <temtaime gmail.com> wrote:Support of MSVC COFF is really needed for me. And x64 codegen without any dependencies like msvc's link.exe linker.
Jan 28 2014
On 28 January 2014 16:05, Temtaime <temtaime gmail.com> wrote:Support of MSVC COFF is really needed for me.Works fine...? (for x64 >_<)And x64 codegen without any dependencies like msvc's link.exe linker.Ummm, your prior sentence just insisted for MSVC COFF... but it's a problem when that's you get that? Confused... Personally, I'd say it's perfect how it is! (just needs x86 support)
Jan 28 2014
On 2014-01-27 14:12, Manu wrote:On 27 January 2014 22:14, Jacob Carlborg <doob me.com <mailto:doob me.com>> wrote: On 2014-01-27 09:11, Manu wrote: In order: 1. A debugger (that works properly) 2. Go-to definition (that always works) 3. Auto-complete (that always works) How well do these work for you in Visual Studio for C++? I'm finding cases in Xcode where it doesn't always work, especially in DMD. The VC debugger is perfect for C/C++. I can't imagine how it would be improved. You can even edit your code and rebuild+relink while it's running to make minor runtime tweaks, and continue execution using the modified code.Cool. I was mostly thinking of go-to definition and autocomplete. The debugger in Xcode has a couple of nice features as well. It support a bunch of value formatters, which are also customizable. Like if a value is an image (I assume NSImage) it will actually render the image.Go-to definition is not perfect, but it works 95% of the time. Auto-complete is very good in C/C++ but there are a few rough edges (possibly from complex preprocessor mess?),Xcode has some problems with the DMD source code. It seems quite random, when go-to definition fails or resolves to the wrong symbol. But most of the time it works. I would assume it works even better for Objective-C.Yeah, I remember Java in Eclipse. It's basically flawless.D doesn't have a preprocessor or a horrible network of text include, itIt does some other horrible things (from a source code analysis perspective, like template and string mixins.I say 'that always works' above, implying that it sometimes works... which is true, but it's in the realm of 30% for me, which is unreliable enough to be very annoying. Any time 'class' appears in D, it all goes south under VisualD.I see. -- /Jacob Carlborg
Jan 28 2014
On Monday, 27 January 2014 at 08:12:14 UTC, Manu wrote:In order: 1. A debugger (that works properly) 2. Go-to definition (that always works) 3. Auto-complete (that always works) 4. Import management (missing/duplicate/unused imports) 5. Typical suite of modern refactoring tools+1 for items 1, 4 and 5.
Jan 27 2014
On Monday, 27 January 2014 at 08:12:14 UTC, Manu wrote:In order: 1. A debugger (that works properly) 2. Go-to definition (that always works) 3. Auto-complete (that always works) 4. Import management (missing/duplicate/unused imports) 5. Typical suite of modern refactoring toolsIt amazed me that your post was the first that mentioned a working debugger!
Jan 27 2014
On 27 January 2014 18:11, Manu <turkeyman gmail.com> wrote:In order: 1. A debugger (that works properly) 2. Go-to definition (that always works) 3. Auto-complete (that always works) 4. Import management (missing/duplicate/unused imports) 5. Typical suite of modern refactoring toolsI might add, the frequency to which I pine for these things is in the order of minutes, perhaps even 10s of seconds >_< I made an interesting observation recently... D has kind of ruined my career ;) Before I started using D a lot, I found C/C++ quite okay as a language. But after extended time using D, I find C/C++ borderline intolerable, and don't enjoy writing it at all. But the tooling built around C/C++ is pretty good, and as such, I find the tooling while working in D borderline intolerable. So, before, I generally enjoyed my work, and felt generally productive. Now days, whenever I do any work in either language, I find one aspect or the other borderline intolerable, and I have trouble enjoying spending my time programming for long periods before getting frustrated and going and doing something else... I'm quite serious, this is a true realisation of an unconscious behaviour. D ruined C/C++ for me, but my expectations of C/C++'s tooling still remains a barrier to my enjoyment of writing D code all time time... I'm fucked!
Jan 27 2014
On Monday, 27 January 2014 at 08:24:07 UTC, Manu wrote:On 27 January 2014 18:11, Manu <turkeyman gmail.com> wrote:I'm personally of the opinion that if you're resorting to a debugger, that you really don't understand the code you're writing and how to debug it. Note my first language was vb.net 7 odd years ago. And I was have only used one once or twice for e.g. assembly which I don't truly understand. Its strange for me to see people use it so much. Because its such a different approach. So for me auto completion and refactoring is most important. Mono-D is quite close for auto completion but it needs to get a lot more stable before I'll be happy. I would also like to point out that for a long time we didn't really have a standard build manager. I was designing my own based upon Maven when dub came along. So I'm happy with the way the ecosystem is going for this.In order: 1. A debugger (that works properly) 2. Go-to definition (that always works) 3. Auto-complete (that always works) 4. Import management (missing/duplicate/unused imports) 5. Typical suite of modern refactoring toolsI might add, the frequency to which I pine for these things is in the order of minutes, perhaps even 10s of seconds >_< I made an interesting observation recently... D has kind of ruined my career ;) Before I started using D a lot, I found C/C++ quite okay as a language. But after extended time using D, I find C/C++ borderline intolerable, and don't enjoy writing it at all. But the tooling built around C/C++ is pretty good, and as such, I find the tooling while working in D borderline intolerable. So, before, I generally enjoyed my work, and felt generally productive. Now days, whenever I do any work in either language, I find one aspect or the other borderline intolerable, and I have trouble enjoying spending my time programming for long periods before getting frustrated and going and doing something else... I'm quite serious, this is a true realisation of an unconscious behaviour. D ruined C/C++ for me, but my expectations of C/C++'s tooling still remains a barrier to my enjoyment of writing D code all time time... I'm fucked!
Jan 27 2014
On Monday, 27 January 2014 at 09:29:44 UTC, Rikki Cattermole wrote:On Monday, 27 January 2014 at 08:24:07 UTC, Manu wrote:I disagree. Your claim it might be true when: 1. *you* recently wrote the code (last 18 months) 2. your the code base is small < 50 000 LOC 3. You're single threaded. 4. You have no third-party dependencies/libraries. But that has never been the case for me at work, only for personal stuff. It is so much more efficient to track down problems with a good debugger. Good GDB support would be great ... I know it is being worked on so I'm happy :DOn 27 January 2014 18:11, Manu <turkeyman gmail.com> wrote:I'm personally of the opinion that if you're resorting to a debugger, that you really don't understand the code you're writing and how to debug it. vb.net. Note my first language was vb.net 7 odd years ago. And degree. I have only used one once or twice for e.g. assembly which I don't truly understand.In order: 1. A debugger (that works properly) 2. Go-to definition (that always works) 3. Auto-complete (that always works) 4. Import management (missing/duplicate/unused imports) 5. Typical suite of modern refactoring toolsI might add, the frequency to which I pine for these things is in the order of minutes, perhaps even 10s of seconds >_< I made an interesting observation recently... D has kind of ruined my career ;) Before I started using D a lot, I found C/C++ quite okay as a language. But after extended time using D, I find C/C++ borderline intolerable, and don't enjoy writing it at all. But the tooling built around C/C++ is pretty good, and as such, I find the tooling while working in D borderline intolerable. So, before, I generally enjoyed my work, and felt generally productive. Now days, whenever I do any work in either language, I find one aspect or the other borderline intolerable, and I have trouble enjoying spending my time programming for long periods before getting frustrated and going and doing something else... I'm quite serious, this is a true realisation of an unconscious behaviour. D ruined C/C++ for me, but my expectations of C/C++'s tooling still remains a barrier to my enjoyment of writing D code all time time... I'm fucked!So for me auto completion and refactoring is most important. Mono-D is quite close for auto completion but it needs to get a lot more stable before I'll be happy.I don't understand the reliance on IDEs around here. Is there something lacking in computer science education at uni nowadays? Package managers are nice, dub rocks!. I'd much prefer to see D devs working on improving ARM support and improving the GC. Again this is happening already so I cannot way to see where it goes. Cheers.
Jan 27 2014
I can understand why you think about how I work, the way you do. Its like the difference between an introvert and an extravert. Its just so different way of working and thinking. Its unbelievable. I have honestly never meet somebody who works even similar to me.
Jan 27 2014
On Monday, 27 January 2014 at 10:28:29 UTC, Rikki Cattermole wrote:I can understand why you think about how I work, the way you do. Its like the difference between an introvert and an extravert. Its just so different way of working and thinking. Its unbelievable. I have honestly never meet somebody who works even similar to me.Well, I guess if the sock fits wear it :D I just know I'd be lost without my step-through code in larger projects with many people working on them. The current situation in D is actually adequate for us. GDB gets it wrong sometimes but never so badly that we cannot immediately see through it to the truth in the code.
Jan 28 2014
On Tuesday, 28 January 2014 at 09:28:04 UTC, mongrel wrote:Well, I guess if the sock fits wear it :D I just know I'd be lost without my step-through code in larger projects with many people working on them. The current situation in D is actually adequate for us. GDB gets it wrong sometimes but never so badly that we cannot immediately see through it to the truth in the code.Haha yea and GDB is getting better slowly. Although I just hit a time when I needed one. Wowzers trying to debug string mixins galore and having values escape gah. Been porting dvorm to 2.065 beta 2 and adding struct support. A few surprises there! Although I some how doubt any debugger is up for this just yet. Now if only I had a code beautifier.. damn. Now thats a reasonable tool that could be made easily. Oh well no point being lazy.
Jan 28 2014
On 27 January 2014 19:29, Rikki Cattermole <alphaglosined gmail.com> wrote:On Monday, 27 January 2014 at 08:24:07 UTC, Manu wrote:That's one key point of a good debugger; when you don't understand the code you're debugging at all, but you need to fix it, like, 3 hours ago.On 27 January 2014 18:11, Manu <turkeyman gmail.com> wrote: In order:I'm personally of the opinion that if you're resorting to a debugger, that you really don't understand the code you're writing and how to debug it.1. A debugger (that works properly) 2. Go-to definition (that always works) 3. Auto-complete (that always works) 4. Import management (missing/duplicate/unused imports) 5. Typical suite of modern refactoring toolsI might add, the frequency to which I pine for these things is in the order of minutes, perhaps even 10s of seconds >_< I made an interesting observation recently... D has kind of ruined my career ;) Before I started using D a lot, I found C/C++ quite okay as a language. But after extended time using D, I find C/C++ borderline intolerable, and don't enjoy writing it at all. But the tooling built around C/C++ is pretty good, and as such, I find the tooling while working in D borderline intolerable. So, before, I generally enjoyed my work, and felt generally productive. Now days, whenever I do any work in either language, I find one aspect or the other borderline intolerable, and I have trouble enjoying spending my time programming for long periods before getting frustrated and going and doing something else... I'm quite serious, this is a true realisation of an unconscious behaviour. D ruined C/C++ for me, but my expectations of C/C++'s tooling still remains a barrier to my enjoyment of writing D code all time time... I'm fucked!couple months ago in a course for my degree. I have only used one once or twice for e.g. assembly which I don't truly understand. Its strange for me to see people use it so much. Because its such a different approach.I obviously use many other techniques when a debugger isn't available, but I don't know any in which I feel similarly as productive as with good runtime debug and analysis tools. So for me auto completion and refactoring is most important. Mono-D isquite close for auto completion but it needs to get a lot more stable before I'll be happy. I would also like to point out that for a long time we didn't really have a standard build manager. I was designing my own based upon Maven when dub came along. So I'm happy with the way the ecosystem is going for this.dub doesn't address my needs at all, but I've put crap loads of time/energy into the D extension for premake, which works well ( https://bitbucket.org/premakeext), although for some reason has never really gotten any attention from the D community :( It generates cross-language build scripts (ie, C/C++ and D code all together in the same project) for make and many popular IDE's. I use it for large scale projects that involve C/C++ engine library, D front end code, and other ancillary libraries bolted on the side.
Jan 27 2014
On Monday, 27 January 2014 at 11:32:04 UTC, Manu wrote: [:snip:]dub doesn't address my needs at all, but I've put crap loads of time/energy into the D extension for premake, which works well ( https://bitbucket.org/premakeext), although for some reason has never really gotten any attention from the D community :( It generates cross-language build scripts (ie, C/C++ and D code all together in the same project) for make and many popular IDE's. I use it for large scale projects that involve C/C++ engine library, D front end code, and other ancillary libraries bolted on the side.I had a look at it and wow. If I had seen this a year ago I would have helped! Here is my spec for my build system that I was designing back then[0]. [0] http://pastebin.com/agChTmPM
Jan 27 2014
dub doesn't address my needs at all, but I've put crap loads of time/energy into the D extension for premake, which works well ( https://bitbucket.org/premakeext), although for some reason has never really gotten any attention from the D community :(Never heard of the extension until now.It generates cross-language build scripts (ie, C/C++ and D code all together in the same project) for make and many popular IDE's. I use it for large scale projects that involve C/C++ engine library, D front end code, and other ancillary libraries bolted on the side.That's cool, and I might make use of this when mixing D and C/C++. What dub does do really well is just making any source package available. I wish I had that plus the full features of a build system like CMake all under one roof. Atila
Jan 27 2014
On 28 January 2014 01:47, Atila Neves <atila.neves gmail.com> wrote:dub doesn't address my needs at all, but I've put crap loads ofpremake does everything cmake does (that I care about), and also ticks some boxes (that I make heavy use of) that cmake lacks; like supporting games consoles and stuff like that. I've never been happy with cmake, but premake is fairly nice, and it's fully scriptable if it's idea of something is just not quite right. Only problem is, there's been heaps of development on premake, homing in on premake5, mainly in terms of extensibility. But it's not yet available as binary packages. My extensions for D and other IDE's and toolchains all work against the trunk premake5 code.time/energy into the D extension for premake, which works well ( https://bitbucket.org/premakeext), although for some reason has never really gotten any attention from the D community :(Never heard of the extension until now.It generates cross-language build scripts (ie, C/C++ and D code all together in the same project) for make and many popular IDE's. I use it for large scale projects that involve C/C++ engine library, D front end code, and other ancillary libraries bolted on the side.That's cool, and I might make use of this when mixing D and C/C++. What dub does do really well is just making any source package available. I wish I had that plus the full features of a build system like CMake all under one roof.
Jan 27 2014
On 28 January 2014 11:16, Manu <turkeyman gmail.com> wrote:On 28 January 2014 01:47, Atila Neves <atila.neves gmail.com> wrote:I should add, onthe plus side, premake is a single self-contained exe with no runtime dependencies. I typically build a binary, and just commit it to my project's bin/ folder, and it just works, so others that want to build my projects don't have to stuff around trying to build it.dub doesn't address my needs at all, but I've put crap loads ofpremake does everything cmake does (that I care about), and also ticks some boxes (that I make heavy use of) that cmake lacks; like supporting games consoles and stuff like that. I've never been happy with cmake, but premake is fairly nice, and it's fully scriptable if it's idea of something is just not quite right. Only problem is, there's been heaps of development on premake, homing in on premake5, mainly in terms of extensibility. But it's not yet available as binary packages. My extensions for D and other IDE's and toolchains all work against the trunk premake5 code.time/energy into the D extension for premake, which works well ( https://bitbucket.org/premakeext), although for some reason has never really gotten any attention from the D community :(Never heard of the extension until now.It generates cross-language build scripts (ie, C/C++ and D code all together in the same project) for make and many popular IDE's. I use it for large scale projects that involve C/C++ engine library, D front end code, and other ancillary libraries bolted on the side.That's cool, and I might make use of this when mixing D and C/C++. What dub does do really well is just making any source package available. I wish I had that plus the full features of a build system like CMake all under one roof.
Jan 27 2014
On Monday, 27 January 2014 at 09:29:44 UTC, Rikki Cattermole wrote:I'm personally of the opinion that if you're resorting to a debugger, that you really don't understand the code you're writing and how to debug it.Having a debugger to make sense of core files is pretty handy. Also, have you ever tried to sell a language to a team with the caveat that it doesn't have a working debugger of any sort? Finally, it's often not possible to re-run an app with additional logging to figure out a problem. And if you didn't think to log something that turns out to be important for diagnosing some bug, being able to attach to a running process with a debugger is pretty handy. Or dtrace or something. I've been doing printf debugging of low-level issues in D for... gosh, ten years now? I can handle it. Really. But isn't it time we moved into the current century?
Jan 31 2014
Am 27.01.2014 09:23, schrieb Manu:I made an interesting observation recently... D has kind of ruined my career ;) Before I started using D a lot, I found C/C++ quite okay as a language. But after extended time using D, I find C/C++ borderline intolerable, and don't enjoy writing it at all. But the tooling built around C/C++ is pretty good, and as such, I find the tooling while working in D borderline intolerable. So, before, I generally enjoyed my work, and felt generally productive. Now days, whenever I do any work in either language, I find one aspect or the other borderline intolerable, and I have trouble enjoying spending my time programming for long periods before getting frustrated and going and doing something else... I'm quite serious, this is a true realisation of an unconscious behaviour. D ruined C/C++ for me, but my expectations of C/C++'s tooling still remains a barrier to my enjoyment of writing D code all time time... I'm fucked!So true for me, too... to the point that I'm sometimes mentally blocked from performing some simple kind of refactoring or implementing a little feature in C++ because my brain simply refuses to do that in such a sub-optimal way :( With declining frequency of programming in C++ this got much worse (I was using D for some hobby projects besides my mostly C++ day job for some years until I finally also used it for a project at work before I quit and now use D almost exclusively).
Jan 27 2014
Manu:D ruined C/C++ for me, but my expectations of C/C++'s tooling still remains a barrier to my enjoyment of writing D code all time time... I'm fucked!This is a recurring event in the Python world: Java/C++ programmers that try Python, find it much more productive and nice, and fall in love with it, and then can't use it because at work they are forced to use Java/C++ (or sometimes because Python is too much slow for their purposes). Sometimes the end result is that they are less happy than before in doing their daily work. So sometimes they end not suggesting Python to their colleagues to avoid them the same sad realization. I remember hearing something similar in Haskell community too, that is spoils you too much. Bye, bearophile
Jan 28 2014
On Monday, 27 January 2014 at 08:24:07 UTC, Manu wrote:I'm quite serious, this is a true realisation of an unconscious behaviour. D ruined C/C++ for me, but my expectations of C/C++'s tooling still remains a barrier to my enjoyment of writing D code all time time... I'm fucked!Similar experience here. D has ruined my enjoyment of writing code in any language including D :).
Jan 30 2014
On 1/27/2014 3:23 AM, Manu wrote:I made an interesting observation recently... D has kind of ruined my career ;) Before I started using D a lot, I found C/C++ quite okay as a language. But after extended time using D, I find C/C++ borderline intolerable, and don't enjoy writing it at all. But the tooling built around C/C++ is pretty good, and as such, I find the tooling while working in D borderline intolerable. So, before, I generally enjoyed my work, and felt generally productive. Now days, whenever I do any work in either language, I find one aspect or the other borderline intolerable, and I have trouble enjoying spending my time programming for long periods before getting frustrated and going and doing something else... I'm quite serious, this is a true realisation of an unconscious behaviour. D ruined C/C++ for me, but my expectations of C/C++'s tooling still remains a barrier to my enjoyment of writing D code all time time... I'm fucked!I had a similar experience a little over ten years back with C/C++ vs Java. I'd been a [relatively] happy C/C++ user, until I tried Java which destroyed my ability to tolerate C++'s import system and OOP. But Java (this was back around v1.2) came with plenty of its own pains, so I became extremely frustrated with programming in general. some other things.) The debugger issues don't really bug [heh] me much because I've been in many situations in the past where I didn't have a debugger available, that I've become very comfortable with printf-style debugging, and usually even prefer it. (Not that a good debugger isn't a fantastic thing to have. It certainly is.)
Jan 31 2014
. Static analysis . Automated refactoring plugins for different editors . Go to definition plugins for different editors . Unused import warnings . Some way of figuring out which import a function is from Right now I'm glad that flycheck highlights compilation errors for me in emacs, but unfortunately there is no way currently to pass it -I flags for different projects so any non-Phobos non-currentdir imports fail. I was also surprised to find an unused variable in my code a day or two ago that the compiler never warned me about. I wasn't happy. Atila On Sunday, 26 January 2014 at 20:29:30 UTC, Oten wrote:Which tools do you miss in the D language? it can be from any language not from C or C++ only but from any language that you have used and liked (might not liked but increased productivity anyway) A very common argument from peoples which do choose other language than D is lack of your tools for D, even if they want to get D they say can't switch. The most common tools which they miss is debuggers/static analyzer/lint and so on. I think that by sharing this list with community instead of just say it like a criticizes is good because next time that some people say that such a x tools isn't available you can say "No, there's a D version for that". Also, totally new ideas are very welcome. If you have had a idea that for any reason you wouldn't implement yourself, tell us too. (sorry for english, not my native language)
Jan 27 2014
On Monday, 27 January 2014 at 08:27:57 UTC, Atila Neves wrote:Right now I'm glad that flycheck highlights compilation errors for me in emacs, but unfortunately there is no way currently to pass it -I flags for different projects so any non-Phobos non-currentdir imports fail.Here's what I do for flymake. I'm not suggesting it's great, but it works for me: https://gist.github.com/gmfawcett/8656475 You can specify compiler options in a project-local file, d.flymake.opts, which gets included to the compiler call using the ' ' directive. Graham
Jan 27 2014
Pretty much only thing I really miss compared to C++ is full valgrind support (including callgrind and helgrind). There are a lot of things in tooling that could have been improved, but those are not a deal breakers are my typical development env is very minimalistic and does not rely on anything fancy.
Jan 27 2014
On 01/26/2014 09:29 PM, Oten wrote:Which tools do you miss in the D language? ...A fully working compiler for the most recent language version.
Jan 27 2014
On Monday, 27 January 2014 at 17:57:02 UTC, Timon Gehr wrote:On 01/26/2014 09:29 PM, Oten wrote:Indeed, and robust documentation for it too.Which tools do you miss in the D language? ...A fully working compiler for the most recent language version.
Jan 27 2014
On Monday, 27 January 2014 at 17:57:02 UTC, Timon Gehr wrote:On 01/26/2014 09:29 PM, Oten wrote:So is dmd compiler not eable to compile the most recent language version?Which tools do you miss in the D language? ...A fully working compiler for the most recent language version.
Jan 30 2014
On 01/31/2014 12:00 AM, Asman01 wrote:On Monday, 27 January 2014 at 17:57:02 UTC, Timon Gehr wrote:It is meant to and it often works. https://d.puremagic.com/issues/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=&content=On 01/26/2014 09:29 PM, Oten wrote:So is dmd compiler not eable to compile the most recent language version?Which tools do you miss in the D language? ...A fully working compiler for the most recent language version.
Jan 31 2014
Oten:Which tools do you miss in the D language?A REPL, a static code analyzer, a code beautifier as indent, a profiler for LDC2, a memory profiler, a parallelism profiler. Bye, bearophile
Jan 28 2014
On Wednesday, 29 January 2014 at 02:08:19 UTC, bearophile wrote:a code beautifier as indentThat. I really miss the Eclipse shortcut that makes all Java code indent the same way, swapping spaces for tabs or tabs for spaces, conforming to some max line length. It requires more than a tool though, someone needs to sit down and decide what things should look like by default. Even if you don't like Sun's style guide, it's still infinitely better than no guide and it can be modified quite easily. I'm glad that at least D has a naming convention. I often wish for more though.
Jan 31 2014
On 1/31/14, "Casper Færgemand\" <shorttail hotmail.com>" puremagic.com <"Casper Færgemand\" <shorttail hotmail.com>" puremagic.com> wrote:On Wednesday, 29 January 2014 at 02:08:19 UTC, bearophile wrote:Uncrustify[1] (and a GUI front-end like UniversalIndentGUI[2]) works great with D code, I use it all the time. Note that UniversalIndentGUI typically comes with an outdated version of Uncrustify, so you could simply swap its version of the uncrustify binary with a new version to support the latest C++/D syntax. [1] : http://uncrustify.sourceforge.net/ [2] : http://universalindent.sourceforge.net/a code beautifier as indentThat.
Jan 31 2014
On Sunday, January 26, 2014 20:29:28 Oten wrote:Which tools do you miss in the D language? it can be from any language not from C or C++ only but from any language that you have used and liked (might not liked but increased productivity anyway) A very common argument from peoples which do choose other language than D is lack of your tools for D, even if they want to get D they say can't switch. The most common tools which they miss is debuggers/static analyzer/lint and so on. I think that by sharing this list with community instead of just say it like a criticizes is good because next time that some people say that such a x tools isn't available you can say "No, there's a D version for that". Also, totally new ideas are very welcome. If you have had a idea that for any reason you wouldn't implement yourself, tell us too. (sorry for english, not my native language)About the only thing that I can think of would be a proper debugger that actually understood D. gdb kind of works but not all that well. Of course, gdb doesn't even properly understand C++, so in that respect, I'm not sure that we're all that much worse of than C++ is. But a proper debugger that actually understood D arrays and strings and whatnot would be fantastic. Most of the other features that folks like to list (like autocompletion, jump to definition, or many IDE-specific tools) are exactly the sort of thing that I don't even have or bother with in C++ (often because vim can't do them well), so while they might be nice to have, I generally don't even think about them much. - Jonathan M Davis
Jan 31 2014
On Saturday, 1 February 2014 at 01:34:32 UTC, Jonathan M Davis wrote:About the only thing that I can think of would be a proper debugger that actually understood D. gdb kind of works but not all that well. Of course, gdb doesn't even properly understand C++, so in that respect, I'm not sure that we're all that much worse of than C++ is.GDB works on Linux. On OSX, I can't get more than a stack trace out of GDB / LLDB. Or disassembly I suppose. But all variable inspection is broken.
Feb 01 2014
On Saturday, 1 February 2014 at 17:21:32 UTC, Sean Kelly wrote:GDB works on Linux. On OSX, I can't get more than a stack trace out of GDB / LLDB. Or disassembly I suppose. But all variable inspection is broken.With LLDB I get stack trace with line numbers, breakpoints and it shows parts of the source code at breakpoints. Although using the mangled name is required for setting a breakpoint at a symbol. -- /Jacob Carlborg
Feb 02 2014
My list is the same as Manu. For me tools are an intrinsic part of the language, D tools are so bad that I prefer to write CPP to avoid the anger D IDE's instill in me
Feb 02 2014
A debugger integrated into an IDE is the most important feature see all the code I'm in, see all the variables, all graphically, is extremely useful. In D I have to resort to printf except for using gdb/lldb to look at the stack-trace in a segfault. Mono-D works nicely for coding, but I have not had any luck getting debugging working in it in OSX (but I use OSX Mavericks which replaces things like gcc with aliases to clang and includes only lldb by default).
Feb 03 2014
On Monday, 3 February 2014 at 15:19:36 UTC, Kapps wrote:A debugger integrated into an IDE is the most important featureEclipse DDT is coming. https://github.com/bruno-medeiros/DDT/
Feb 03 2014
Just out curiosity, who does the use of UNIX's tools like cflow?
Feb 03 2014
On Friday, 29 May 2020 at 19:43:19 UTC, Liu wrote:Do any of the those tools mentioned here exist today?you need to be more specific if you want to get an answer
May 29 2020
On Friday, 29 May 2020 at 19:43:19 UTC, Liu wrote:Do any of the those tools mentioned here exist today?Yes.
May 31 2020
On Sunday, 31 May 2020 at 08:22:12 UTC, Bastiaan Veelo wrote:On Friday, 29 May 2020 at 19:43:19 UTC, Liu wrote:Reading some posts in the original thread reminded me of this: https://www.hillelwayne.com/post/learning-a-language/ -sbDo any of the those tools mentioned here exist today?Yes.
Jun 05 2020