July 21, 2023
On Friday, 21 July 2023 at 02:54:16 UTC, harakim wrote:
I tested that it compiled my project
> from one year ago and it worked like a charm. How do I know it didn't just fail to do anything, you might ask?

Those deprecations and random breaking changes in the stdlib annoyed me but they were easy fixes, if you do the quick edits yourself or grab the new files from my arsd repo they all work again (tho if you get the new files, make sure you grab the new arsd\core.d file too since i added that upstream, but other than adding the file there's no public api changes in my lib)
July 21, 2023

On Friday, 21 July 2023 at 05:29:16 UTC, Rumbu wrote:

>

On Friday, 21 July 2023 at 04:55:00 UTC, Curious Observer wrote:
Compare with rust:

  1. Download installer
  2. Run it, no user interaction except pressing Enter
  3. Launch VSCode
  4. Extensions/rust-analyzer
  5. cargo new hello
  6. rust-analyzer/run -> ok
  7. rust-analyzer/debug/run -> ok

Basically exactly the same for D, you are doing something wrong.

  1. Download the installer
  2. Run it and tell smartscreen that you are absolutely aware of what you are doing
  3. Launch VSCode
  4. install code-d
  5. dub init
  6. dub run --build=release
  7. dub run

The only thing is that smartscreen requires you to click that "details" button and manually allow it to run the installer because it is "reputation" based filter and there is few people using D compared to rust.

July 21, 2023

On Friday, 21 July 2023 at 02:54:16 UTC, harakim wrote:

>
source\arsd\simpledisplay.d(6445,51): Deprecation: using `in ref` is deprecated, use `-preview=in` and `in` instead
...
source\arsd\http2.d(3567,17): Error: function `void arsd.http2.OpenSslSocket.close()` does not override any function, did you mean to override `nothrow @nogc scope @trusted void std.socket.Socket.close()`?
Error C:\Program Files\D\dmd2\windows\bin\dmd.exe failed with exit code 1.

Regression introduced in https://github.com/dlang/phobos/pull/8551 BTW. A long time ago I added a test to prevent exactly that kind of regression, but the PR "fixed" the test too. I don't know what the solution is here, though.

July 21, 2023

On Friday, 21 July 2023 at 06:14:16 UTC, evilrat wrote:

>

On Friday, 21 July 2023 at 05:29:16 UTC, Rumbu wrote:

>

On Friday, 21 July 2023 at 04:55:00 UTC, Curious Observer wrote:
Compare with rust:

> >
  1. rust-analyzer/run -> ok
  2. rust-analyzer/debug/run -> ok

Basically exactly the same for D, you are doing something wrong.

>
  1. dub run --build=release
  2. dub run

The only thing is that smartscreen requires you to click that "details" button and manually allow it to run the installer because it is "reputation" based filter and there is few people using D compared to rust.

Nope, I am asked if I want to replace my 2.041 version with 2.041 version :)
And if I go on, it still pretends that I don't have VS 2019 installed.

And nope also for VSCode experience. I don't touch the terminal. All is done from VSCode command palette/user interface. And step 7 is about debugging (e.g. set a breakpoint, inspect locals, call stack and so on).

July 21, 2023

On Friday, 21 July 2023 at 07:12:28 UTC, Rumbu wrote:

>

On Friday, 21 July 2023 at 06:14:16 UTC, evilrat wrote:

>

On Friday, 21 July 2023 at 05:29:16 UTC, Rumbu wrote:

>

On Friday, 21 July 2023 at 04:55:00 UTC, Curious Observer wrote:
Compare with rust:

> >
  1. rust-analyzer/run -> ok
  2. rust-analyzer/debug/run -> ok

Basically exactly the same for D, you are doing something wrong.

>
  1. dub run --build=release
  2. dub run

The only thing is that smartscreen requires you to click that "details" button and manually allow it to run the installer because it is "reputation" based filter and there is few people using D compared to rust.

Nope, I am asked if I want to replace my 2.041 version with 2.041 version :)
And if I go on, it still pretends that I don't have VS 2019 installed.

And nope also for VSCode experience. I don't touch the terminal. All is done from VSCode command palette/user interface. And step 7 is about debugging (e.g. set a breakpoint, inspect locals, call stack and so on).

Well ok, I'm not using rust but seems like that rust extension provide a no-brainer way of launching debugger, yep, ok D sucks - you have to install C++ extension (and lldb on linux too), create a new launch config using that "cppvsdbg"/lldb engine and point to your executable, then set a breakpoint and hit F5.

Also btw I started my journey in D in 2009 but first version I remember to actually use was 2.052 which was somewhere in 2011, having such issues with outdated installers is probably expected.

July 21, 2023

On Thursday, 20 July 2023 at 16:22:47 UTC, Rumbu wrote:

>

Long time D user here (from D1 era). I said to come back after two years to see how things evolved in the meantime.

Here is my Windows experience:

  1. download dmd.vXXX.7z
  2. unpack at some folder X/dmd.vXXX
  3. make symlink as "dmd" to it. u can easy change symlink to next ver in future instead edit %PATH%
  4. add X/dmd/windows/bin to %PATH%. u can use dmd & dub now
  5. copy X/dmd/src/druntime/src/core/sync/package.d to X/dmd/src/druntime/import/core/sync/ cuz some build issue

END
do same for LDC
END 2

July 21, 2023

On Thursday, 20 July 2023 at 16:22:47 UTC, Rumbu wrote:

>

Long time D user here (from D1 era). I said to come back after two years to see how things evolved in the meantime.

[...]

The last time I installed all of this (3 weeks ago perhaps) was inside a managed infosec-heavy windows setup and I had no issues at all other than needing to insist on installing in the first step. So milage does vary...

July 21, 2023

On Thursday, 20 July 2023 at 16:22:47 UTC, Rumbu wrote:

>

Long time D user here (from D1 era). I said to come back after two years to see how things evolved in the meantime.

Here is my Windows experience:

  1. Downloaded DMD installer.
  2. Cannot run, blocked by AppLocker, IOC blacklisted
  3. Added to exception list
  4. Cannot run, blocked by Windows SmartScreen
  5. Bypass
  6. You have DMD 2.090 installed, replace it? Yes
  7. Failed, installer said run dmd-2.104.2.exe /f
  8. Looking in cpanel to see if I an older version of D is installed. Nope.
  9. Found an old folder with D. Deleted it.
  10. Going to command prompt into downloads folder
  11. Running dmd-2.104.2.exe /f
  12. Error, an instance of DMD is already running.
  13. Looking through my processes, there is no such thing
  14. Running dmd-2.104.2.exe /f again. It works!
  15. You don't have VS Tools 2019 installed. I have. 2015, 2017, 2019 and 2022
  16. Ignore and go on.
  17. Launch VSCode
  18. Install code-d, C++ already installed
  19. Create a new project
  20. Run tasks - Run -> dub cannot be initialized
  21. Go to code.dlang.org
  22. Click on Download -> redirect to github/releases
  23. WTF, only source code.
  24. building Dub from source
  25. Added manually to PATH
  26. Go back to VSCode
  27. Edit dub.json, adding target ./bin/hello.exe
  28. Build Task, dub-auto - Run hello, ok
  29. Build Task, dub-auto - Build hello -> config -> edit tasks.json
  30. Documentation says that I should have a dub template. Nope, I have a CMake template.
  31. Too complicated. Close VSCode, posting on forum :)

OK, I know, there is VisualD, but install process is still complicated.

I am very surprised you had this many issues, I helped a coworker of mine who is not a programmer go through the installation and didnt have any problems, just normal installation stuff, like clicking on what you want installed etc.. I am going to install the latest version right now and see what the steps are again,
but to reiterate I did switch to a scripting language for my work because I didnt want to help like 10 people install D but I got my scripts down to zero installation which is always better than any installation. so until D is zero installation it can still get better.

July 21, 2023

On Friday, 21 July 2023 at 18:33:07 UTC, MrJay wrote:

>

I am very surprised you had this many issues, I helped a coworker of mine who is not a programmer go through the installation and didnt have any problems, just normal installation stuff, like clicking on what you want installed etc.. I am going to install the latest version right now and see what the steps are again,
but to reiterate I did switch to a scripting language for my work because I didnt want to help like 10 people install D but I got my scripts down to zero installation which is always better than any installation. so until D is zero installation it can still get better.

I just re installed D
this is all the necessary steps I took.
starting from the website home page, and downloads folder is already open.

on website click download windows installer
double click dmd-2.104.2.exe
windows warning do you want this to make changes
replace D version
next
uninstall
next
next
next
finish

July 22, 2023
On Friday, 21 July 2023 at 06:10:19 UTC, Adam D Ruppe wrote:
> On Friday, 21 July 2023 at 02:54:16 UTC, harakim wrote:
> I tested that it compiled my project
>> from one year ago and it worked like a charm. How do I know it didn't just fail to do anything, you might ask?
>
> Those deprecations and random breaking changes in the stdlib annoyed me but they were easy fixes, if you do the quick edits yourself or grab the new files from my arsd repo they all work again (tho if you get the new files, make sure you grab the new arsd\core.d file too since i added that upstream, but other than adding the file there's no public api changes in my lib)

I appreciate the response. I know it's easy to fix. I just thought it was funny I was going out of my way to show how easy it was and then I was like, well how will I prove it actually updated and my answer was the same as always: because it doesn't compile. :D I know it's super easy to fix and I haven't had major issues with that since I started using your library as my base, so thanks for that!