www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - 64bit only on Windows?

reply forkit <forkit gmail.com> writes:
In trying to get my head around the build process on Windows, I 
find myself asking 'what is the rationale for continuing to 
maintain 32bit on Windows'.
Feb 02 2022
next sibling parent reply Ron Tarrant <rontarrant gmail.com> writes:
On Thursday, 3 February 2022 at 01:42:54 UTC, forkit wrote:
 In trying to get my head around the build process on Windows, I 
 find myself asking 'what is the rationale for continuing to 
 maintain 32bit on Windows'.
I would imagine it's because Windows 10 still offers a 32-bit version. After Microsoft drops support for Windows 10 at some point in the future, it will likely disappear as a build option.
Feb 04 2022
parent reply Tejas <notrealemail gmail.com> writes:
On Friday, 4 February 2022 at 10:11:53 UTC, Ron Tarrant wrote:
 On Thursday, 3 February 2022 at 01:42:54 UTC, forkit wrote:
 In trying to get my head around the build process on Windows, 
 I find myself asking 'what is the rationale for continuing to 
 maintain 32bit on Windows'.
I would imagine it's because Windows 10 still offers a 32-bit version. After Microsoft drops support for Windows 10 at some point in the future, it will likely disappear as a build option.
Yeah, Windows 11 is 64 bit only, and Microsoft will only provide security updates to Windows 10 till 2025(I believe). 32 bit windows support will not survive this decade.
Feb 04 2022
parent reply forkit <forkit gmail.com> writes:
On Friday, 4 February 2022 at 10:14:13 UTC, Tejas wrote:
 ..
 ...
 32 bit windows support will not survive this decade.
Support for 32bit Windows will end long before the end of this decade. Microsoft will make sure of that, one way or another. I kinda think the 'Windows' brand is getting a bit long in the tooth actually, and I genuinely wonder whether the 'Windows' brand will survive this decade. But I would like to see D on Windows, be 64bit only, sooner rather than later.
Feb 04 2022
parent Max Samukha <maxsamukha gmail.com> writes:
On Friday, 4 February 2022 at 10:47:13 UTC, forkit wrote:
 On Friday, 4 February 2022 at 10:14:13 UTC, Tejas wrote:
 ..
 ...
 32 bit windows support will not survive this decade.
Support for 32bit Windows will end long before the end of this decade. Microsoft will make sure of that, one way or another.
End of support for 32-bit Windows doesn't imply end of support for 32-bit applications on 64-bit Windows.
 I kinda think the 'Windows' brand is getting a bit long in the 
 tooth actually, and I genuinely wonder whether the 'Windows' 
 brand will survive this decade.

 But I would like to see D on Windows, be 64bit only, sooner 
 rather than later.
That reminds me of the predictions that 8-bit CPUs would be soon obsolete. 8-bit MCU market is still growing, and D is barely presented there.
Feb 04 2022
prev sibling next sibling parent reply notna <notna.remove.this ist-einmalig.de> writes:
On Thursday, 3 February 2022 at 01:42:54 UTC, forkit wrote:
 In trying to get my head around the build process on Windows, I 
 find myself asking 'what is the rationale for continuing to 
 maintain 32bit on Windows'.
Windows10 on ARM64 runs as a 32bit Windows emulation... I have such ARM-based Windows boxes... so __I NEED__ a 32bit D version
Feb 04 2022
parent Siarhei Siamashka <siarhei.siamashka gmail.com> writes:
On Friday, 4 February 2022 at 11:33:34 UTC, notna wrote:
 On Thursday, 3 February 2022 at 01:42:54 UTC, forkit wrote:
 In trying to get my head around the build process on Windows, 
 I find myself asking 'what is the rationale for continuing to 
 maintain 32bit on Windows'.
Windows10 on ARM64 runs as a 32bit Windows emulation... I have such ARM-based Windows boxes... so __I NEED__ a 32bit D version
Why not 64bit ARM64 D version?
Feb 04 2022
prev sibling next sibling parent reply Guillaume Piolat <first.last gmail.com> writes:
On Thursday, 3 February 2022 at 01:42:54 UTC, forkit wrote:
 In trying to get my head around the build process on Windows, I 
 find myself asking 'what is the rationale for continuing to 
 maintain 32bit on Windows'.
Audio software is a bit special in that regards, a lot of 32-bit plugins from the past are hidden gems, and if you have entrenched production habits you can't move easily to 64-bit on Windows. (Though 32-bit it was wiped from the macOS scene quite quickly.) Example amongst hundreds: Dominion http://www.digitalfishphones.com/main.php?item=2&subItem=4 is still often cited as one of the best transient shaper. Around the 2000s there were a cambrian explosion of Windows 32-bit VST that still has value for today production. When producing music I actively resort to 32-bit software, including those I made with D in 2022. Would it hurt if 32-bit was removed from D? Not much, we would manage to call an older compiler. It has to be balanced with the small opportunity loss though.
Feb 04 2022
next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 2/4/2022 6:45 AM, Guillaume Piolat wrote:
 Would it hurt if 32-bit was removed from D? Not much, we would manage to call
an 
 older compiler.
The older compiler wouldn't be maintained, however, so would be of rapidly declining utility.
Feb 06 2022
prev sibling parent Kagamin <spam here.lot> writes:
On Friday, 4 February 2022 at 14:45:22 UTC, Guillaume Piolat 
wrote:
 Would it hurt if 32-bit was removed from D? Not much, we would 
 manage to call an older compiler. It has to be balanced with 
 the small opportunity loss though.
64-bit compiler can compile 32-bit code.
Feb 09 2022
prev sibling next sibling parent reply Bastiaan Veelo <Bastiaan Veelo.net> writes:
On Thursday, 3 February 2022 at 01:42:54 UTC, forkit wrote:
 'what is the rationale for continuing to maintain 32bit on 
 Windows'.
We are still very much dependent on a compiler capable of generating 32bit executables. Being translated from Pascal with roots dating back many decades, our code regrettably assumes pointers to be four bytes in size in many places. We will be working to rid us of this technical debt, but it will take years. — Bastiaan.
Feb 04 2022
parent reply forkit <forkit gmail.com> writes:
On Friday, 4 February 2022 at 20:33:14 UTC, Bastiaan Veelo wrote:
 On Thursday, 3 February 2022 at 01:42:54 UTC, forkit wrote:
 'what is the rationale for continuing to maintain 32bit on 
 Windows'.
We are still very much dependent on a compiler capable of generating 32bit executables. Being translated from Pascal with roots dating back many decades, our code regrettably assumes pointers to be four bytes in size in many places. We will be working to rid us of this technical debt, but it will take years. — Bastiaan.
In looking at the whole process of building on Windows, it does feel like it's carrying a big ball and chain .. and anyone who gets involved in it, needs to carry that as well ;-( At some point of course, the continual effort exerted in dragging it, will eventually catch up with you, and stop you from moving forward.
Feb 04 2022
parent reply "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Fri, Feb 04, 2022 at 11:11:13PM +0000, forkit via Digitalmars-d wrote:
[...]
 In looking at the whole process of building on Windows, it does feel
 like it's carrying a big ball and chain .. and anyone who gets
 involved in it, needs to carry that as well ;-(
 
 At some point of course, the continual effort exerted in dragging it,
 will eventually catch up with you, and stop you from moving forward.
It's interesting that Walter primarily works on Windows, yet the toolchain build process is more streamlined on *nix platforms. :-D T -- Без труда не выловишь и рыбку из пруда.
Feb 04 2022
parent reply bauss <jj_1337 live.dk> writes:
On Friday, 4 February 2022 at 23:22:42 UTC, H. S. Teoh wrote:
 On Fri, Feb 04, 2022 at 11:11:13PM +0000, forkit via 
 Digitalmars-d wrote: [...]
 In looking at the whole process of building on Windows, it 
 does feel like it's carrying a big ball and chain .. and 
 anyone who gets involved in it, needs to carry that as well ;-(
 
 At some point of course, the continual effort exerted in 
 dragging it, will eventually catch up with you, and stop you 
 from moving forward.
It's interesting that Walter primarily works on Windows, yet the toolchain build process is more streamlined on *nix platforms. :-D T
I think that's because Walter mostly uses internal tools only he knows how to use and his process of working isn't "mainstream" nor does he rely on the toolchain. While the majority of users of D aren't Windows users, so that's why non-Windows has better support. Personally I'm mostly a Windows user myself and even after using D for a decade I still find myself shooting myself in the foot once in a while trying to just build a simple project. I think the biggest problem on Windows is linking. It never really works out of the box.
Feb 04 2022
parent reply Mike Parker <aldacron gmail.com> writes:
On Saturday, 5 February 2022 at 00:21:17 UTC, bauss wrote:

 Personally I'm mostly a Windows user myself and even after 
 using D for a decade I still find myself shooting myself in the 
 foot once in a while trying to just build a simple project.

 I think the biggest problem on Windows is linking. It never 
 really works out of the box.
The only Windows-specific linker errors I've encountered in all my years of using D have been related to linking with C libraries that were compiled differently than my executable, i.e., they were built with MinGW, or they used MSVC settings that caused them to link with a different version of the C runtime. That happens in the C world, too. Linking on Linux has pitfalls also. The problem I've encountered the most is that the order that libraries are passed to the linker matters. I've also had issues with mistmatched libc versions.
Feb 04 2022
parent bauss <jj_1337 live.dk> writes:
On Saturday, 5 February 2022 at 01:49:05 UTC, Mike Parker wrote:
 On Saturday, 5 February 2022 at 00:21:17 UTC, bauss wrote:

 Personally I'm mostly a Windows user myself and even after 
 using D for a decade I still find myself shooting myself in 
 the foot once in a while trying to just build a simple project.

 I think the biggest problem on Windows is linking. It never 
 really works out of the box.
The only Windows-specific linker errors I've encountered in all my years of using D have been related to linking with C libraries that were compiled differently than my executable, i.e., they were built with MinGW, or they used MSVC settings that caused them to link with a different version of the C runtime. That happens in the C world, too. Linking on Linux has pitfalls also. The problem I've encountered the most is that the order that libraries are passed to the linker matters. I've also had issues with mistmatched libc versions.
Yeah, I think I might have exaggerated a little bit. It's not that I come across linker issues often and they're often fairly easy to resolve tbh And it definitely wasn't meant to be seen as a "Windows is the only platform that has issues."
Feb 06 2022
prev sibling next sibling parent reply Siemargl <inqnone gmail.com> writes:
On Thursday, 3 February 2022 at 01:42:54 UTC, forkit wrote:
 In trying to get my head around the build process on Windows, I 
 find myself asking 'what is the rationale for continuing to 
 maintain 32bit on Windows'.
Deprecating platform is very painful sometimes. A long time ago, when D suddently drops support Win2000, my business just dropping D.
Feb 04 2022
parent reply forkit <forkit gmail.com> writes:
On Saturday, 5 February 2022 at 05:27:58 UTC, Siemargl wrote:
 Deprecating platform is very painful sometimes.

 A long time ago, when D suddently drops support Win2000, my 
 business just dropping D.
Well I tried to install Visual Studio 2022 Builtools on Windows 10 the other day. It wasn't too happy with me, cause my version of Windows 10 is the Anniversary update (1607). In essence, it told me VS2022 wasn't build for this edition, and that I'd pretty much be on my own if any issues arise. So these days, it's more likely MS will drop support for your o/s, long before D drops support for it ;-) I also tried D on Windows XP 64bit the other day, and was surprised that dmd.exe no longer even executes on that platform :-(
Feb 04 2022
parent reply Imperatorn <johan_forsberg_86 hotmail.com> writes:
On Saturday, 5 February 2022 at 07:40:40 UTC, forkit wrote:
 On Saturday, 5 February 2022 at 05:27:58 UTC, Siemargl wrote:
 Deprecating platform is very painful sometimes.

 A long time ago, when D suddently drops support Win2000, my 
 business just dropping D.
Well I tried to install Visual Studio 2022 Builtools on Windows 10 the other day. It wasn't too happy with me, cause my version of Windows 10 is the Anniversary update (1607). In essence, it told me VS2022 wasn't build for this edition, and that I'd pretty much be on my own if any issues arise. So these days, it's more likely MS will drop support for your o/s, long before D drops support for it ;-) I also tried D on Windows XP 64bit the other day, and was surprised that dmd.exe no longer even executes on that platform :-(
I have written about a fix for that in the forums earlier
Feb 05 2022
parent reply forkit <forkit gmail.com> writes:
On Saturday, 5 February 2022 at 09:23:06 UTC, Imperatorn wrote:
 I also tried D on Windows XP 64bit the other day, and was 
 surprised that dmd.exe no longer even executes on that 
 platform :-(
I have written about a fix for that in the forums earlier
found it thanks. https://forum.dlang.org/post/jdwptzmjxemdelcuvysv forum.dlang.org works fine - but only on the '32bit' dmd.exe
Feb 05 2022
parent forkit <forkit gmail.com> writes:
On Saturday, 5 February 2022 at 10:56:56 UTC, forkit wrote:
 On Saturday, 5 February 2022 at 09:23:06 UTC, Imperatorn wrote:
 I also tried D on Windows XP 64bit the other day, and was 
 surprised that dmd.exe no longer even executes on that 
 platform :-(
I have written about a fix for that in the forums earlier
found it thanks. https://forum.dlang.org/post/jdwptzmjxemdelcuvysv forum.dlang.org works fine - but only on the '32bit' dmd.exe
btw. For anyone interested, this binary incompatibility with XP started from 2.091.0, as a consquence (it appears) of switching to compiling dmd.exe with ldc. https://dlang.org/changelog/2.091.0.html#windows
Feb 06 2022
prev sibling next sibling parent reply 0xEAB <desisma heidel.beer> writes:
On Thursday, 3 February 2022 at 01:42:54 UTC, forkit wrote:
 In trying to get my head around the build process on Windows, I 
 find myself asking 'what is the rationale for continuing to 
 maintain 32bit on Windows'.
Everything works out of the box there. (Probably thanks to the DigitalMars C runtime) apps compiled for 32bit OMF will just launch on another Windows box without having to deal with any runtime stuff (ie no need to install some Visual C++ Redistributable in advance)… - Elias
Feb 25 2022
parent reply forkit <forkit gmail.com> writes:
On Friday, 25 February 2022 at 14:12:50 UTC, 0xEAB wrote:
 On Thursday, 3 February 2022 at 01:42:54 UTC, forkit wrote:
 In trying to get my head around the build process on Windows, 
 I find myself asking 'what is the rationale for continuing to 
 maintain 32bit on Windows'.
Everything works out of the box there. (Probably thanks to the DigitalMars C runtime) apps compiled for 32bit OMF will just launch on another Windows box without having to deal with any runtime stuff (ie no need to install some Visual C++ Redistributable in advance)… - Elias
C'mon. How many developers using D, are compiling 32bit OMF apps? Additionaly, how many 'newcomers' are going to want to start there development journey, with 32bit apps, let alone 32bit OMF. 32bit IMO just creates unnecessary complexity to the source managment, the build/test processes, and the developement environment(s).
Feb 25 2022
next sibling parent reply 0xEAB <desisma heidel.beer> writes:
On Friday, 25 February 2022 at 21:14:16 UTC, forkit wrote:
 C'mon. How many developers using D, are compiling 32bit OMF 
 apps?
C'mon. How many developers using D, are using Windows (where OMF is a thing) in the first place. What a poor metric.
 Additionaly, how many 'newcomers' are going to want to start 
 there development journey, with 32bit apps, let alone 32bit OMF.
Additionaly, how many 'novices' are going to start installing Visual C++ Redistributable, after seeing the error message, let alone understanding what MSVCxy.DLL is.
 32bit IMO just creates unnecessary complexity to the source 
 managment, the build/test processes, and the developement
 environment(s).
I don't see how something you don't use, would create complexity for you. On the other hand, I've not been given an appropriate solution on how to build portable D apps on Windows yet. - Elias
Feb 26 2022
parent forkit <forkit gmail.com> writes:
On Saturday, 26 February 2022 at 14:45:08 UTC, 0xEAB wrote:
 C'mon. How many developers using D, are using Windows (where 
 OMF is a thing) in the first place. What a poor metric.
Umm.. in the 'real' world, I expect there are more developers using Windows, than either linux or macOS, and likely to be even more true for newbies.
 Additionaly, how many 'novices' are going to start installing 
 Visual C++ Redistributable, after seeing the error message, let 
 alone understanding what MSVCxy.DLL is.
Wow. It's easier to install buildtools (or VS) than D actually.
 I don't see how something you don't use, would create 
 complexity for you.
Well, the first thing I had to work out, was why D was creating 32bit omf exe's!! Why does it even have a 64bit dmd.exe when that exe is not even in the path. Why is rdmd only in the 32bit folder...why..why.. why... that's what you'll be asking once you delve into things beyond hello world. I won't even mention trying to get your head around the build process (as I install/build from source these days). In the end, if you want to 'get involved' in D, you need to accept all the outdated bagage that comes with it.
 On the other hand, I've not been given an appropriate solution 
 on how to build portable D apps on Windows yet.
Good luck with that.
Feb 26 2022
prev sibling parent Nicholas Wilson <iamthewilsonator hotmail.com> writes:
On Friday, 25 February 2022 at 21:14:16 UTC, forkit wrote:
 C'mon. How many developers using D, are compiling 32bit OMF 
 apps?
Less than ever before! -m32 now builds for COFF in master. give that a few releases and we should be in a position to start deprecating OMF.
 Additionaly, how many 'newcomers' are going to want to start 
 there development journey, with 32bit apps,
Very few.
let alone 32bit OMF.
None.
Feb 27 2022
prev sibling parent Dukc <ajieskola gmail.com> writes:
On Thursday, 3 February 2022 at 01:42:54 UTC, forkit wrote:
 In trying to get my head around the build process on Windows, I 
 find myself asking 'what is the rationale for continuing to 
 maintain 32bit on Windows'.
What Max Samukha said, support for purely 32-bit Windows is ending but the 64-bit Windows will continue to run 32-bit applications. D is a systems programming language, that wants to place high emphasis on portability. It's not enough to just compile to the most common binary formats.
Feb 25 2022