Request for estimation cost/price of creation KDevelop plugin for D language

Sven Brauch mail at svenbrauch.de
Sun Apr 4 10:26:55 BST 2021


Hi Energo,

thank you very much for your interest in KDevelop and your trust in our 
community to do such a project.

However, there are several things I think you should consider:

  - The D language was never particularly successful. It has been around 
as C++'s touted "successor" for decades, but has at no point in time 
gained significant traction. A much more successful, relatively direct 
competitor to C++ is Rust.

  - Maybe you will find someone to develop this for you on this list but 
most people contributing to KDevelop do so in their free time. Unless 
people have considerable personal interest in this feature (which is 
unlikely since, as said, D isn't a language I ever have seen or heard 
anyone use), writing a language plugin isn't something you do after work 
just like that.

Writing a language plugin with completion, highlighting, navigation, 
debugger, launcher, compiler settings, and even some installation help 
and stuff is a project for 6-12 months. It basically requires someone to 
quit their full-time job to do your project instead. That's unlikely to 
happen, even if you offer the required $50-100k cash for that.

Pragmatically, a more realistic path is looking into Rust, for which 
both a KDevelop plugin (unmaintained unfortunately) [1] as well as LSP 
support in kate [2] somewhat exist already. Maybe you can gather some 
traction to update/improve those, that would be very cool. I think here 
it is also way more realistic to motivate someone with a few euros to 
spend a few weekends on improvements.

Greetings!
Sven

____________
[1] https://invent.kde.org/unmaintained/kdev-rust
[2] https://kate-editor.org/post/2019-08-07-kate-initial-rust-lsp-support/


On 4/4/21 8:15 AM, Energo Koder wrote:
> Hello!
> I am keen to learn some thing better/newer language than C++ but still 
> with C++ key advantages. So natural way will be learn (and possible 
> switch) to D lang. But there is one main advantage: AFAIK all IDEs 
> integrations are broken or outdated. So I think why not create D lang 
> plugin to powerful KDevelop?
> 
> For now I am C++ programmer and Qt is on the list of my specializations. 
> But I have no time to dig in KDevelop plugin system. So I think I can 
> spend some reasonable amount of money in order to bring D lang plugin to 
> the community.
> 
> So I will ask you (the KDevelop community) what are your expectations 
> about salary for make such plugin.
> 
> I have list of required features. It is divided to two parts: essential 
> and optional. Please estimate cost for them separately.
> 
> KDevelop D lang plugin required features:
> + Respect content and follow changes in dub project file definitions 
> (dub project file must be main project file - other files, eg. specific 
> for KDevelp, must be regenerated after each change to this main project 
> file);
> + Compilation in outside source code directory (standard in Qt Creator 
> and possibly in other IDEs);
> + Compiler choice: dmd, gdc, ldc;
> + Input for optional compiler flags;
> + Input for optional build environment variables;
> + Input for optional build steps (before and after compilation);
> + Compilation mode: release, debug;
> + Run and stop application in release mode;
> + Run and stop application in debug mode, and break execution when:
>      + Program reach of breakpoint places;
>      + I decide to hang in debuger current execution place (useful when 
> program hangs in loop)
> + Investigate local variables in debuger;
> + Investigate class variables of local objects in debuger;
> 
> KDevelop D lang plugin optional features:
> + Syntax highlighting;
> + Context navigation in code;
> + Auto diagnosis:
>      + Environment configuration:
>          + All required tools are installed and available in correct 
> versions in the system;
>          + What optional tools are available or not;
>          + Short explanation of consequences above for user (D programmer).
>      + Current project configuration;
>          + All required libs/packages are installed and available in 
> correct versions;
>          + Short explanation of consequences above for user (D programmer).
> 
> Please consider following requirements of this project:
> 
> Project standards:
> + Simple and idiot resistant installation, configuration and auto 
> diagnosis reporting;
> + Documentation:
>      + Architecture;
>      + Algorithms;
>      + Tricks.
> 
> Target platforms:
> + Recent Kubuntu LTS;
> + Recent Kubuntu.
> 
> Warranty:
> + At least 1 year bug fix maintenance service.
> 
> Implementation hints:
> There is tool dub which can generate AVS project tree in order to 
> implement context code navigation.
> The same tool is used for code colloring, but probably KDevelop require 
> something else.
> 
> Thanks and respect!
> Energo Koder


More information about the KDevelop-devel mailing list