www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Coding Assistance Tooling, why so many scattered projects?

reply Martin B <martin.brzenska googlemail.com> writes:
Hi everyone,

Recently, I wanted to improve my experience with dlang in sublime 
text and tried several solutions. The ones with the most 
potential and which are (imo) futureproof are the LSP based 
solutions "dls" and "serve-d". Unfortunately both are somehow 
incomplete, dls has features that are missing in serve-d and vice 
versa.

I am not here to complain, these are super cool and important 
projects. I would like to speak my mind and learn by feedback: I 
think that code editing assistance is a important key feature 
when it comes to adoption. Maybe it would make sense to move it 
closer to the "dlang core tooling" and handle it in a more 
monolithic aproach. As i understand, right now there are several 
github repos/dub packages, each solving one specific problem 
which are depending on each other and maintained by different 
people... maybe this sounds like KISS and single responsibility 
principle and yada yada yada - but IMO, it seems to me to be 
wastefull on ressources in this case.

I am a webdeveloper, so chances are good that i do not understand 
important keyfacts here, since i am not coding on this level in 
everyday life - but for example: Why are things like libdparse 
even a dub package?

Looking forward to learn :)
Apr 22 2022
next sibling parent reply Paul Backus <snarwin gmail.com> writes:
On Friday, 22 April 2022 at 17:41:01 UTC, Martin B wrote:
 I am not here to complain, these are super cool and important 
 projects. I would like to speak my mind and learn by feedback: 
 I think that code editing assistance is a important key feature 
 when it comes to adoption. Maybe it would make sense to move it 
 closer to the "dlang core tooling" and handle it in a more 
 monolithic aproach. As i understand, right now there are 
 several github repos/dub packages, each solving one specific 
 problem which are depending on each other and maintained by 
 different people... maybe this sounds like KISS and single 
 responsibility principle and yada yada yada - but IMO, it seems 
 to me to be wastefull on ressources in this case.
The reason it's like this is that all of these tools are created and maintained entirely by volunteers in the D community. There's no centralized management. It's possible in the future that the D Language Foundation will take a more active role in sponsoring and guiding the development of projects like these, but we're not there yet.
Apr 22 2022
parent reply Martin B <martin.brzenska googlemail.com> writes:
On Friday, 22 April 2022 at 19:49:04 UTC, Paul Backus wrote:
 On Friday, 22 April 2022 at 17:41:01 UTC, Martin B wrote:
 I am not here to complain, these are super cool and important 
 projects. I would like to speak my mind and learn by feedback: 
 I think that code editing assistance is a important key 
 feature when it comes to adoption. Maybe it would make sense 
 to move it closer to the "dlang core tooling" and handle it in 
 a more monolithic aproach. As i understand, right now there 
 are several github repos/dub packages, each solving one 
 specific problem which are depending on each other and 
 maintained by different people... maybe this sounds like KISS 
 and single responsibility principle and yada yada yada - but 
 IMO, it seems to me to be wastefull on ressources in this case.
The reason it's like this is that all of these tools are created and maintained entirely by volunteers in the D community. There's no centralized management. It's possible in the future that the D Language Foundation will take a more active role in sponsoring and guiding the development of projects like these, but we're not there yet.
I guess "enthusiasts, who love to turn ideas into software" would be more fitting, since volunteers usually are under management and execute assigned tasks. Management could help - but tbh, who wants to be management in his happy place :) And after all, good software project managers are actually good devs who get payed very good to them away from what they actually want to do: to code. So, project management in free software projects is not realistic IMHO (exceptions prove the rule :) ). Maybe it would help to improve community tooling to improve communication in the community and be able to organize and plan efforts as enthusiasts - Is there some other place then this Forum to exchange thoughts and ideas?
Apr 22 2022
parent Mike Parker <aldacron gmail.com> writes:
On Friday, 22 April 2022 at 20:48:11 UTC, Martin B wrote:

 and plan efforts as enthusiasts - Is there some other place 
 then this Forum to exchange thoughts and ideas?
The D community Discord server: https://discord.gg/bMZk9Q4
Apr 22 2022
prev sibling next sibling parent reply Mike Parker <aldacron gmail.com> writes:
On Friday, 22 April 2022 at 17:41:01 UTC, Martin B wrote:

 sublime text and tried several solutions. The ones with the 
 most potential and which are (imo) futureproof are the LSP 
 based solutions "dls" and "serve-d". Unfortunately both are 
 somehow incomplete, dls has features that are missing in 
 serve-d and vice versa.
dls is no longer maintained last I heard. serve-d is the goto solution for VS Code right now, and works with other editors.
Apr 22 2022
parent Martin B <martin.brzenska googlemail.com> writes:
On Saturday, 23 April 2022 at 06:25:29 UTC, Mike Parker wrote:
 On Friday, 22 April 2022 at 17:41:01 UTC, Martin B wrote:

 sublime text and tried several solutions. The ones with the 
 most potential and which are (imo) futureproof are the LSP 
 based solutions "dls" and "serve-d". Unfortunately both are 
 somehow incomplete, dls has features that are missing in 
 serve-d and vice versa.
dls is no longer maintained last I heard. serve-d is the goto solution for VS Code right now, and works with other editors.
Oh! indeed, its the first line in the readme. Would be nice to have some dub flag for it - e.g. to trigger a warning on build. It is sad to see a project to pass away and at the same time i have hope that some manpower consolidation is happening here :)
Apr 23 2022
prev sibling next sibling parent reply Salih Dincer <salihdb hotmail.com> writes:
On Friday, 22 April 2022 at 17:41:01 UTC, Martin B wrote:
 Hi everyone,

 Recently, I wanted to improve my experience with dlang in 
 sublime text and tried several solutions. The ones with the 
 most potential and which are (imo) futureproof are the LSP 
 based solutions "dls" and "serve-d". Unfortunately both are 
 somehow incomplete, dls has features that are missing in 
 serve-d and vice versa.
 [...]
An ordinary text editor is enough for me. And I don't think this is an exception. But dub really makes life easier... SDB 79
Apr 23 2022
parent reply Martin B <martin.brzenska googlemail.com> writes:
On Saturday, 23 April 2022 at 11:49:21 UTC, Salih Dincer wrote:
 On Friday, 22 April 2022 at 17:41:01 UTC, Martin B wrote:
 Hi everyone,

 Recently, I wanted to improve my experience with dlang in 
 sublime text and tried several solutions. The ones with the 
 most potential and which are (imo) futureproof are the LSP 
 based solutions "dls" and "serve-d". Unfortunately both are 
 somehow incomplete, dls has features that are missing in 
 serve-d and vice versa.
 [...]
An ordinary text editor is enough for me. And I don't think this is an exception. But dub really makes life easier... SDB 79
Are we talking MS notepad.exe? :) I (also) don´t like big IDEs and prefer rather lightweight editors - sublime text is somewhere between Notepad++ and MS VSCode. But IMO good code navigation, signature/parameter hints and a proper code highlighting are the minimum.
Apr 23 2022
parent reply Salih Dincer <salihdb hotmail.com> writes:
On Saturday, 23 April 2022 at 14:19:37 UTC, Martin B wrote:
 An ordinary text editor is enough for me.  And I don't think 
 this is an exception.  But dub really makes life easier...

 SDB 79
Are we talking MS notepad.exe? :) I (also) don´t like big IDEs and prefer rather lightweight editors - sublime text is somewhere between Notepad++ and MS VSCode. But IMO good code navigation, signature/parameter hints and a proper code highlighting are the minimum.
No, I usually use Geany. SDB 79
Apr 23 2022
parent reply "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Sat, Apr 23, 2022 at 02:50:35PM +0000, Salih Dincer via Digitalmars-d wrote:
 On Saturday, 23 April 2022 at 14:19:37 UTC, Martin B wrote:
 An ordinary text editor is enough for me.  And I don't think this
 is an exception.  But dub really makes life easier...
[...]
 Are we talking MS notepad.exe? :)
 I (also) don´t like big IDEs and prefer rather lightweight editors -
 sublime text is somewhere between Notepad++ and MS VSCode. But IMO
 good code navigation, signature/parameter hints and a proper code
 highlighting are the minimum.
[...] To each his own, my personal preference is Vim with dmdtags. (But NO syntax highlighting: I find it unreadably distracting.) Notepad is a joke, it's not even under consideration, and I will not touch a heavyweight IDE with a 10-foot pole. Or anything really that cannot be used via a text-only ssh remote session. Of course, I understand that most people prefer something more comfortable... :-D T -- Marketing: the art of convincing people to pay for what they didn't need before which you fail to deliver after.
Apr 23 2022
next sibling parent reply Salih Dincer <salihdb hotmail.com> writes:
On Saturday, 23 April 2022 at 15:05:02 UTC, H. S. Teoh wrote:
 [...] and I will not touch a heavyweight IDE with a 10-foot 
 pole. [...]
Unless you're writing HTML, CSS and JS (e.g. VueJS) code, it's better to stay away. Humankind have eyes bigger than their stomach :)
Apr 23 2022
next sibling parent Matheus <matheus gmail.com> writes:
On Saturday, 23 April 2022 at 17:43:35 UTC, Salih Dincer wrote:
 Unless you're writing HTML, CSS and JS...
test it with the front-end, which was written in *.asp containing HTML, CSS, JS etc. And it was a mess inside Visual Studio 2012, I don't remember the name (Maybe was Design Mode) but it was pure garbage. It was easier to use a text-editor and see the result on directly on a browser than using that IDE. Again this was on VS2012 and I don't know how things are currently, I mean the one thing that I usually hear are people complaining that VS is a hog. For me I go first with text-editor, otherwise the only IDE I still use sometimes for old projects is the old VS 6.0, which fast and opens like it was the notepad. Matheus.
Apr 23 2022
prev sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Sat, Apr 23, 2022 at 05:43:35PM +0000, Salih Dincer via Digitalmars-d wrote:
 On Saturday, 23 April 2022 at 15:05:02 UTC, H. S. Teoh wrote:
 [...] and I will not touch a heavyweight IDE with a 10-foot pole. [...]
Unless you're writing HTML, CSS and JS (e.g. VueJS) code, it's better to stay away. Humankind have eyes bigger than their stomach :)
I write HTML/CSS with Vim just fine. ;-) Well OK, when the boilerplate becomes too cumbersome, then I write D code to auto-generate parts of it. :-P A combo I've been turning to quite often lately is to kick up a skeletal HTML template, with placeholders (like ` HEADER `, ` DATA `, etc.) that then gets replaced with contents generated by D code. Haven't really done too much JS lately though. Nothing beyond relatively trivial stuff that can be easily handled by jquery. Even with jquery I've been finding myself itching to write D instead (JS is just not an ideal language for programming, in general... and every time I use a language other than D I find myself longing for D features). But yeah, an IDE that takes 50 seconds to load, soaks up 5GB of RAM upon startup, and then gives me an aneurysm from over-dependence on the rodent... just not my thing, no thanks. Linux is my IDE. :-D T -- It is the quality rather than the quantity that matters. -- Lucius Annaeus Seneca
Apr 23 2022
prev sibling parent reply user <user dlang.org> writes:
I am on the opposite end of the spectrum. I LOVE IDEs and I love 
all the coding assistance I can get. My favorite is code 
completion after typing a dot.

<meme>I aint got time for that</meme> ... to remember all library 
details. I need IDE to help with code completion, function 
signatures etc.
Apr 23 2022
parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Sun, Apr 24, 2022 at 12:04:27AM +0000, user via Digitalmars-d wrote:
 I am on the opposite end of the spectrum. I LOVE IDEs and I love all
 the coding assistance I can get. My favorite is code completion after
 typing a dot.
 
 <meme>I aint got time for that</meme> ... to remember all library
 details. I need IDE to help with code completion, function signatures
 etc.
+1, this is one reason why I like D: it doesn't force you to use an IDE, but it doesn't force you to use a plain text editor either. You get to choose what best fits your workflow. Not like some languages that are nigh-unusable if you don't use the IDE (or vice versa). T -- What doesn't kill me makes me stranger.
Apr 23 2022
prev sibling parent reply Bastiaan Veelo <Bastiaan Veelo.net> writes:
On Friday, 22 April 2022 at 17:41:01 UTC, Martin B wrote:
 Hi everyone,

 Recently, I wanted to improve my experience with dlang in 
 sublime text and tried several solutions.
I am the author of https://packagecontrol.io/packages/SublimeLinter-contrib-dmd, which is the D syntax checking plugin for Sublime Text. I have contributed a couple of PRs for their D syntax highlighter as well. Sublime Text is a bit special regarding syntax highlighting, as they use their own regular expression engine, and so cannot use generalised language server solutions. At least that was the answer I got from the devs a few years ago, when I asked whether a dmd-as-a-library solution would be viable. So consolidating efforts is harder in Sublime’s case, as it wants to be different. As far as I know, only Visual Studio (proper) has a dmd-based language server: VisualD. — Bastiaan.
Apr 23 2022
parent Martin B <martin.brzenska googlemail.com> writes:
On Saturday, 23 April 2022 at 15:53:48 UTC, Bastiaan Veelo wrote:
 On Friday, 22 April 2022 at 17:41:01 UTC, Martin B wrote:
 Hi everyone,

 Recently, I wanted to improve my experience with dlang in 
 sublime text and tried several solutions.
I am the author of https://packagecontrol.io/packages/SublimeLinter-contrib-dmd, which is the D syntax checking plugin for Sublime Text. I have contributed a couple of PRs for their D syntax highlighter as well. Sublime Text is a bit special regarding syntax highlighting, as they use their own regular expression engine, and so cannot use generalised language server solutions. At least that was the answer I got from the devs a few years ago, when I asked whether a dmd-as-a-library solution would be viable. So consolidating efforts is harder in Sublime’s case, as it wants to be different. As far as I know, only Visual Studio (proper) has a dmd-based language server: VisualD. — Bastiaan.
Interesting! Thanks for sharing. I've already wondered about strange highlighting in ST in a few cases - e.g `if( const(JSONValue)* v = "status_command" in json )`.
Apr 23 2022