digitalmars.D - Poll of the week: main OS and compiler
- Marco Leise (2/2) Mar 01 2012 Since everyone loves polls, and the question comes up now and then: What...
- Manu (3/6) Mar 01 2012 Windows leads. Amazing!
- Marco Leise (2/4) Mar 01 2012 You would have gotten it by tomorrow, but unfortunately now the *nix sys...
- Kevin Cox (3/10) Mar 01 2012 Right now its tired between BSD/Linux and windoze.
- Jacob Carlborg (4/7) Mar 01 2012 Why bundle Linux and FreeBSD in one option?
- Gour (10/11) Mar 01 2012 To make it harder for Windows to win. :-}
- Marco Leise (3/9) Mar 01 2012 I considered the two 'similar enough' from a point of view of architectu...
- Manu (7/26) Mar 02 2012 But we knew that already, because most of the D devs are linux guys, and...
- Brad Roberts (14/19) Mar 02 2012 I'm fairly your assertion is incorrect, if by "d devs" you mean the guys...
- Jacob Carlborg (6/22) Mar 02 2012 It depends on how you see it. Both FreeBSD and Mac OS X are built on a
- Manu (20/50) Mar 02 2012 I wonder what the loss in potential contributors adds up to from those t...
- Bernard Helyer (7/25) Mar 02 2012 No one thinks that's a bad idea. The trouble is the amount of
- Manu (3/21) Mar 03 2012 Haha, ohhh, I see what you did there.
- Daniel Murphy (27/33) Mar 03 2012 The problem isn't really the backend - there are currently _three_ full
- Rainer Schuetze (11/31) Mar 03 2012 A good step forward would be a better separation of the object file
- Daniel Murphy (5/23) Mar 03 2012 Yeah, this would be nice.
- David Nadlinger (5/8) Mar 08 2012 I don't know whether it would really be a problem from a legal
- Jonathan M Davis (4/12) Mar 08 2012 I though that GSoC had a list of licenses which were acceptable for GSoC...
- Bernard Helyer (2/18) Mar 08 2012 That's his point; the backend isn't open source.
- Jonathan M Davis (4/25) Mar 08 2012 ?? David doesn't seem to making that point. He's saying that it would be...
- David Nadlinger (8/30) Mar 08 2012 Sorry, seems like I didn't make myself clear – I meant that
- Daniel Murphy (6/13) Mar 08 2012 Didn't think of that... I'm not sure what the license on the object
- Mars (9/27) Mar 07 2012 That's exactly my problem... and although I love D, these hurdles
- Jonathan M Davis (21/50) Mar 07 2012 I don' think that Walter really views it as much of a problem - or if he...
- Manu (8/68) Mar 08 2012 Is it possible to just fix the compiler to output COFF objects *without*
-
Daniel Murphy
(9/16)
Mar 08 2012
"Manu"
wrote in message - Manu (14/29) Mar 08 2012 That's fine, I would use the mscrt (required to link with all the rest o...
- Jacob Carlborg (5/71) Mar 08 2012 DMD would need to be compatible with the Microsoft linker and runtime as...
- Manu (9/86) Mar 08 2012 By 'runtime' you mean the crt? I don't think that'll be a major headache...
- Jacob Carlborg (5/102) Mar 08 2012 Jonathan explained this very good.
- Jonathan M Davis (11/25) Mar 08 2012 As I understand it, Walter used to have it so that dmc (not dmd) could
- Jonathan M Davis (11/37) Mar 02 2012 It's definitely a mixture. Don and Walter are primarily Windows users, I...
- Martin Nowak (2/5) Mar 02 2012 Where's Emacs?
- H. S. Teoh (7/15) Mar 02 2012 I thought EmacsOS died off in the last ice age? Do you mean to tell me
- Jonathan M Davis (16/18) Mar 08 2012 I have no idea. In principle, I would think so, but I don't know. But dm...
Since everyone loves polls, and the question comes up now and then: What is your main development platform for D ? http://www.easypolls.net/poll.html?p=4f4f7d25c2e1b0e40b0ac494
Mar 01 2012
Windows leads. Amazing! COFF + 64bit plz! ;) On 1 March 2012 16:40, Marco Leise <Marco.Leise gmx.de> wrote:Since everyone loves polls, and the question comes up now and then: What is your main development platform for D ? http://www.easypolls.net/poll.**html?p=**4f4f7d25c2e1b0e40b0ac494<http://www.easypolls.net/poll.html?p=4f4f7d25c2e1b0e40b0ac494>
Mar 01 2012
Am 01.03.2012, 17:10 Uhr, schrieb Manu <turkeyman gmail.com>:Windows leads. Amazing! COFF + 64bit plz! ;)You would have gotten it by tomorrow, but unfortunately now the *nix systems lead by a few % so this feature must obviously be postponed to next year.
Mar 01 2012
On Mar 1, 2012 11:11 AM, "Manu" <turkeyman gmail.com> wrote:Windows leads. Amazing! COFF + 64bit plz! ;) On 1 March 2012 16:40, Marco Leise <Marco.Leise gmx.de> wrote:is your main development platform for D ?Since everyone loves polls, and the question comes up now and then: WhatRight now its tired between BSD/Linux and windoze.http://www.easypolls.net/poll.html?p=4f4f7d25c2e1b0e40b0ac494
Mar 01 2012
On 2012-03-01 15:40, Marco Leise wrote:Since everyone loves polls, and the question comes up now and then: What is your main development platform for D ? http://www.easypolls.net/poll.html?p=4f4f7d25c2e1b0e40b0ac494Why bundle Linux and FreeBSD in one option? -- /Jacob Carlborg
Mar 01 2012
On Thu, 01 Mar 2012 21:26:59 +0100 Jacob Carlborg <doob me.com> wrote:Why bundle Linux and FreeBSD in one option?To make it harder for Windows to win. :-} Sincerely, Gour --=20 The spirit soul bewildered by the influence of false ego thinks=20 himself the doer of activities that are in actuality carried out=20 by the three modes of material nature. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Mar 01 2012
Am 01.03.2012, 21:26 Uhr, schrieb Jacob Carlborg <doob me.com>:On 2012-03-01 15:40, Marco Leise wrote:I considered the two 'similar enough' from a point of view of architecture and organization to merge them (aka Unix-like). I admit, that I never used FreeBSD though. Anyway the numbers nicely show, that neither Windows nor Linux(-compatible) are underrepresented in the D community. My personal opinion is that the number of Windows users is actually low, considering its market share and other surveys like this: http://redmonk.com/sogrady/2010/10/27/developer-os-preferences/Since everyone loves polls, and the question comes up now and then: What is your main development platform for D ? http://www.easypolls.net/poll.html?p=4f4f7d25c2e1b0e40b0ac494Why bundle Linux and FreeBSD in one option?
Mar 01 2012
On 2 March 2012 09:47, Marco Leise <Marco.Leise gmx.de> wrote:Am 01.03.2012, 21:26 Uhr, schrieb Jacob Carlborg <doob me.com>: On 2012-03-01 15:40, Marco Leise wrote:But we knew that already, because most of the D devs are linux guys, and D does not present a good experience to Windows users. I can personally point to numerous friends/colleagues who tried out D and turned away within a few hours because the Windows experience was so weak. Windows support should be prioritised BECAUSE Windows numbers are low, not because there's perceived to be no demand on that platform.I considered the two 'similar enough' from a point of view of architecture and organization to merge them (aka Unix-like). I admit, that I never used FreeBSD though. Anyway the numbers nicely show, that neither Windows nor Linux(-compatible) are underrepresented in the D community. My personal opinion is that the number of Windows users is actually low, considering its market share and other surveys like this: http://redmonk.com/sogrady/* *2010/10/27/developer-os-**preferences/<http://redmonk.com/sogrady/2010/10/27/developer-os-preferences/>Since everyone loves polls, and the question comes up now and then: What is your main development platform for D ? http://www.easypolls.net/poll.**html?p=**4f4f7d25c2e1b0e40b0ac494<http://www.easypolls.net/poll.html?p=4f4f7d25c2e1b0e40b0ac494>Why bundle Linux and FreeBSD in one option?
Mar 02 2012
On 3/2/2012 12:25 AM, Manu wrote:But we knew that already, because most of the D devs are linux guys, and D does not present a good experience to Windows users. I can personally point to numerous friends/colleagues who tried out D and turned away within a few hours because the Windows experience was so weak. Windows support should be prioritized BECAUSE Windows numbers are low, not because there's perceived to be no demand on that platform.I'm fairly your assertion is incorrect, if by "d devs" you mean the guys that are building dmd/druntime/phobos. I think we actually have more contributors that are windows based than linux based. At a minimum the numbers are well balanced, not wildly lopsided towards linux. No one has ever claimed that there's no demand for windows support. What's been asserted is that it's easier to support linux/bsd/osx. And indeed that was backed up by how much time was spent on the platform specific parts vs the generic parts while implementing 64 bit support. Windows will get 64 bit support at some point. That's not even a question. What is a question is when, and there isn't a good answer for that right now. There's a clear need to focus/prioritize limited resources. It's not a hard choice to decide to defer spending many months working on win64 and other platform specific support issues when there's still language level issues that cross every platform. That said, as always, if someone wants to scratch that itch and contribute to improving the windows specific parts, help will be welcomed with open arms and lots of encouragement. Later, Brad
Mar 02 2012
On 2012-03-02 08:47, Marco Leise wrote:Am 01.03.2012, 21:26 Uhr, schrieb Jacob Carlborg <doob me.com>:It depends on how you see it. Both FreeBSD and Mac OS X are built on a BSD foundation but Linux is not. On the other hand FreeBSD and Linux uses ELF binaries but Mac OS X use Mach-O. -- /Jacob CarlborgOn 2012-03-01 15:40, Marco Leise wrote:I considered the two 'similar enough' from a point of view of architecture and organization to merge them (aka Unix-like). I admit, that I never used FreeBSD though. Anyway the numbers nicely show, that neither Windows nor Linux(-compatible) are underrepresented in the D community. My personal opinion is that the number of Windows users is actually low, considering its market share and other surveys like this: http://redmonk.com/sogrady/2010/10/27/developer-os-preferences/Since everyone loves polls, and the question comes up now and then: What is your main development platform for D ? http://www.easypolls.net/poll.html?p=4f4f7d25c2e1b0e40b0ac494Why bundle Linux and FreeBSD in one option?
Mar 02 2012
On 2 March 2012 11:09, Brad Roberts <braddr puremagic.com> wrote:On 3/2/2012 12:25 AM, Manu wrote:I wonder what the loss in potential contributors adds up to from those that turn away on account of incomplete windows support? Is it possible that loss of potential manpower is significant enough to justify the time spent? Also, does it represent a loss to D in terms of marketing? Some genuinely interested parties who turn away because they couldn't begin working with the language effectively may then relay that negative experience to other potential developers (I've witnessed this, and had to argue myself that D is not actually shit, it's just an unfinished implementation). Personally, I just want to be able to link like a normal windows developer. My code is C/C++, built with VC, and I want to link my D app against those libs using the VC linker, and debug with Visual Studio. This is the workflow I think the vast majority of Windows devs will expect, and it sounds simple enough. This is the only thing standing between me using D for any major projects, and just experimenting with the language for evaluation, or just academic interest. 64bit is far less important to me personally, VisualC linker compatibility is the big one. I just want to link against my C code without jumping through lots of hoops.But we knew that already, because most of the D devs are linux guys, andD does not present a good experience to Windowsusers. I can personally point to numerous friends/colleagues who triedout D and turned away within a few hours becausethe Windows experience was so weak. Windows support should be prioritized BECAUSE Windows numbers are low,not because there's perceived to be no demand onthat platform.I'm fairly your assertion is incorrect, if by "d devs" you mean the guys that are building dmd/druntime/phobos. I think we actually have more contributors that are windows based than linux based. At a minimum the numbers are well balanced, not wildly lopsided towards linux. No one has ever claimed that there's no demand for windows support. What's been asserted is that it's easier to support linux/bsd/osx. And indeed that was backed up by how much time was spent on the platform specific parts vs the generic parts while implementing 64 bit support. Windows will get 64 bit support at some point. That's not even a question. What is a question is when, and there isn't a good answer for that right now. There's a clear need to focus/prioritize limited resources. It's not a hard choice to decide to defer spending many months working on win64 and other platform specific support issues when there's still language level issues that cross every platform. That said, as always, if someone wants to scratch that itch and contribute to improving the windows specific parts, help will be welcomed with open arms and lots of encouragement.
Mar 02 2012
On Friday, 2 March 2012 at 11:53:56 UTC, Manu wrote:Personally, I just want to be able to link like a normal windows developer. My code is C/C++, built with VC, and I want to link my D app against those libs using the VC linker, and debug with Visual Studio. This is the workflow I think the vast majority of Windows devs will expect, and it sounds simple enough. This is the only thing standing between me using D for any major projects, and just experimenting with the language for evaluation, or just academic interest. 64bit is far less important to me personally, VisualC linker compatibility is the big one. I just want to link against my C code without jumping through lots of hoops.No one thinks that's a bad idea. The trouble is the amount of developers that actually understand the backend enough to implement another object format (which is what's needed to support the VisualC linker) is very small. What's needed is someone to take the time to learn it then do it. Someone motivated, and smart. Not unlike yourself! :P
Mar 02 2012
On 2 March 2012 23:16, Bernard Helyer <b.helyer gmail.com> wrote:On Friday, 2 March 2012 at 11:53:56 UTC, Manu wrote:Haha, ohhh, I see what you did there. Well played...Personally, I just want to be able to link like a normal windows developer. My code is C/C++, built with VC, and I want to link my D app against those libs using the VC linker, and debug with Visual Studio. This is the workflow I think the vast majority of Windows devs will expect, and it sounds simple enough. This is the only thing standing between me using D for any major projects, and just experimenting with the language for evaluation, or just academic interest. 64bit is far less important to me personally, VisualC linker compatibility is the big one. I just want to link against my C code without jumping through lots of hoops.No one thinks that's a bad idea. The trouble is the amount of developers that actually understand the backend enough to implement another object format (which is what's needed to support the VisualC linker) is very small. What's needed is someone to take the time to learn it then do it. Someone motivated, and smart. Not unlike yourself! :P
Mar 03 2012
"Bernard Helyer" <b.helyer gmail.com> wrote in message news:nlzougvwvlvnmjbufwgi forum.dlang.org...No one thinks that's a bad idea. The trouble is the amount of developers that actually understand the backend enough to implement another object format (which is what's needed to support the VisualC linker) is very small. What's needed is someone to take the time to learn it then do it. Someone motivated, and smart. Not unlike yourself! :PThe problem isn't really the backend - there are currently _three_ full object file generators in dmd and it should be possible to use the same interfaces these do without caring what most of the backend is really doing. Generating Microsoft coff objects means deciphering the spec to see what everything should look like, generating every kind of entry with msvc to see what it _actually_ does, then translating all the record/fixup/section types from omf to the coff equivalents. With this (and maybe updates to the runtime to use msvc's instead of dmc's c runtime) you have 32 bit coff on windows. To get from there to 64bit, you need the following: - 64 bit coff (I think these are closely related) - 64 bit c runtime (just use microsofts?) - 64 bit d runtime (eh, io with a different runtime, etc) - 64 bit codegen (hopefully not much more than some calling convention stuff) - 64 bit linker (Again, just use ms?) Just generating coff is a pretty big step, it requires learning how object formats work (I don't think many people already have the depth of understanding required), how coff works and how dmd generates object files (which probably means understanding omf/elf/mach). The only person I can think of who would even know how long it would take to learn all this is Walter, and considering that he's hasn't done it already, I'd guess it's quite a huge task. Walter, how big is it really? Small enough to be done as, say, a gsoc project? Would you be interested in mentoring such a project?
Mar 03 2012
On 3/3/2012 12:44 PM, Daniel Murphy wrote:"Bernard Helyer"<b.helyer gmail.com> wrote in message news:nlzougvwvlvnmjbufwgi forum.dlang.org...A good step forward would be a better separation of the object file format from the target OS and the host OS. Removing that preprocessor hell is needed anyway if you want to switch between object file formats by a command line switch. In addition, it would be pretty nice if you could at least compile with predefined version OSX, even if you are working on Windows.No one thinks that's a bad idea. The trouble is the amount of developers that actually understand the backend enough to implement another object format (which is what's needed to support the VisualC linker) is very small. What's needed is someone to take the time to learn it then do it. Someone motivated, and smart. Not unlike yourself! :PThe problem isn't really the backend - there are currently _three_ full object file generators in dmd and it should be possible to use the same interfaces these do without caring what most of the backend is really doing.Generating Microsoft coff objects means deciphering the spec to see what everything should look like, generating every kind of entry with msvc to see what it _actually_ does, then translating all the record/fixup/section types from omf to the coff equivalents. With this (and maybe updates to the runtime to use msvc's instead of dmc's c runtime) you have 32 bit coff on windows.Don't forget debug info: as far as I can tell, the Microsoft linker accepts codeview debug info in the object file, you don't have to write pdb files. From my experience with cv2pdb, the debug records are a straight forward extension of the debug info currently written by dmd.
Mar 03 2012
"Rainer Schuetze" <r.sagitario gmx.de> wrote in message news:jit3hk$tgb$1 digitalmars.com...A good step forward would be a better separation of the object file format from the target OS and the host OS. Removing that preprocessor hell is needed anyway if you want to switch between object file formats by a command line switch. In addition, it would be pretty nice if you could at least compile with predefined version OSX, even if you are working on Windows.Yeah, this would be nice.(I did forget it) But that's great! Not having to add a new debug info format can only be a good thing.Generating Microsoft coff objects means deciphering the spec to see what everything should look like, generating every kind of entry with msvc to see what it _actually_ does, then translating all the record/fixup/section types from omf to the coff equivalents. With this (and maybe updates to the runtime to use msvc's instead of dmc's c runtime) you have 32 bit coff on windows.Don't forget debug info: as far as I can tell, the Microsoft linker accepts codeview debug info in the object file, you don't have to write pdb files. From my experience with cv2pdb, the debug records are a straight forward extension of the debug info currently written by dmd.
Mar 03 2012
On Saturday, 3 March 2012 at 11:44:54 UTC, Daniel Murphy wrote:Walter, how big is it really? Small enough to be done as, say, a gsoc project? Would you be interested in mentoring such a project?I don't know whether it would really be a problem from a legal (Google) point of view, but having a GSoC student work on non-Open Source software seems strange at least. David
Mar 08 2012
On Thursday, March 08, 2012 09:45:34 David Nadlinger wrote:On Saturday, 3 March 2012 at 11:44:54 UTC, Daniel Murphy wrote:I though that GSoC had a list of licenses which were acceptable for GSoC projects - all of which are open source license of one variety or another. - Jonathan M DavisWalter, how big is it really? Small enough to be done as, say, a gsoc project? Would you be interested in mentoring such a project?I don't know whether it would really be a problem from a legal (Google) point of view, but having a GSoC student work on non-Open Source software seems strange at least.
Mar 08 2012
On Thursday, 8 March 2012 at 09:25:19 UTC, Jonathan M Davis wrote:On Thursday, March 08, 2012 09:45:34 David Nadlinger wrote:That's his point; the backend isn't open source.On Saturday, 3 March 2012 at 11:44:54 UTC, Daniel Murphy wrote:I though that GSoC had a list of licenses which were acceptable for GSoC projects - all of which are open source license of one variety or another. - Jonathan M DavisWalter, how big is it really? Small enough to be done as, say, a gsoc project? Would you be interested in mentoring such a project?I don't know whether it would really be a problem from a legal (Google) point of view, but having a GSoC student work on non-Open Source software seems strange at least.
Mar 08 2012
On Thursday, March 08, 2012 11:20:03 Bernard Helyer wrote:On Thursday, 8 March 2012 at 09:25:19 UTC, Jonathan M Davis wrote:?? David doesn't seem to making that point. He's saying that it would be "strange," not that it would be against the rules. - Jonathan M DavisOn Thursday, March 08, 2012 09:45:34 David Nadlinger wrote:That's his point; the backend isn't open source.On Saturday, 3 March 2012 at 11:44:54 UTC, Daniel Murphy wrote:I though that GSoC had a list of licenses which were acceptable for GSoC projects - all of which are open source license of one variety or another. - Jonathan M DavisWalter, how big is it really? Small enough to be done as, say, a gsoc project? Would you be interested in mentoring such a project?I don't know whether it would really be a problem from a legal (Google) point of view, but having a GSoC student work on non-Open Source software seems strange at least.
Mar 08 2012
On Thursday, 8 March 2012 at 19:13:03 UTC, Jonathan M Davis wrote:On Thursday, March 08, 2012 11:20:03 Bernard Helyer wrote:Sorry, seems like I didn't make myself clear – I meant that from my point of view, it would be strange to have a GSoC student work on the backend, which isn't Open Source. It could also be a problem from a formal point of view because Google IIRC requires the code to be released under an OSI-approved license, but I'm not sure about that. DavidOn Thursday, 8 March 2012 at 09:25:19 UTC, Jonathan M Davis wrote:?? David doesn't seem to making that point. He's saying that it would be "strange," not that it would be against the rules.On Thursday, March 08, 2012 09:45:34 David Nadlinger wrote:That's his point; the backend isn't open source.I don't know whether it would really be a problem from a legal (Google) point of view, but having a GSoC student work on non-Open Source software seems strange at least.I though that GSoC had a list of licenses which were acceptable for GSoC projects - all of which are open source license of one variety or another. - Jonathan M Davis
Mar 08 2012
"David Nadlinger" <see klickverbot.at> wrote in message news:refqfgvqmhafcmeljhcr forum.dlang.org...On Saturday, 3 March 2012 at 11:44:54 UTC, Daniel Murphy wrote:Didn't think of that... I'm not sure what the license on the object generation code is, the files are not in the backend folder but they are conceptually part of the backend, and not useful to other compilers like the frontend is.Walter, how big is it really? Small enough to be done as, say, a gsoc project? Would you be interested in mentoring such a project?I don't know whether it would really be a problem from a legal (Google) point of view, but having a GSoC student work on non-Open Source software seems strange at least. David
Mar 08 2012
On Friday, 2 March 2012 at 11:53:56 UTC, Manu wrote:Personally, I just want to be able to link like a normal windows developer. My code is C/C++, built with VC, and I want to link my D app against those libs using the VC linker, and debug with Visual Studio. This is the workflow I think the vast majority of Windows devs will expect, and it sounds simple enough. This is the only thing standing between me using D for any major projects, and just experimenting with the language for evaluation, or just academic interest. 64bit is far less important to me personally, VisualC linker compatibility is the big one. I just want to link against my C code without jumping through lots of hoops.That's exactly my problem... and although I love D, these hurdles made me take a step back, to C++, while I wait for this to change, so I can finally use D efficiently. I'm sure this isn't a trivial task, but the problematic isn't new after all. Why hasn't it been addressed yet? In my eyes this should be a top priority, to make it easier for new users to get into D. Till this poll I actually believed the problem was that D isn't used much by Windows users.
Mar 07 2012
On Wednesday, March 07, 2012 23:07:11 Mars wrote:On Friday, 2 March 2012 at 11:53:56 UTC, Manu wrote:I don' think that Walter really views it as much of a problem - or if he does, he didn't used to. Remember that he's used to an environment where he doesn't use Visual Studio or Microsoft's C++ compiler. And his customers use dmc just like he does (since they're his customers), so many of the people that he interacts with in the C/C++ world are not necessarily particularly Microsoft- centric on Windows. Add to that the enormous task that it is to actually make dmd work with COFF or 64-bit or anything of the sort on Windows, and it's no wonder that it hasn't happened yet. To be fair, there are plenty of other things that have needed to be done, and what we have for Windows does work, even if it's suboptimal. So, it's not all that unreasonable that the issue would be put off as long as it has been. And Walter _has_ been slowing working on porting optlink to C (the fact that it's written in assembly makes it really fast but hard to maintain and change), which would make it possible to then start porting stuff to 64-bit and considering COFF and stuff like that. I expect that we'll get there eventually, but there's so much to do, and this particular issue is not only hard, but there's pretty much only one person currently qualified to do it, so it hasn't happened yet. - Jonathan M DavisPersonally, I just want to be able to link like a normal windows developer. My code is C/C++, built with VC, and I want to link my D app against those libs using the VC linker, and debug with Visual Studio. This is the workflow I think the vast majority of Windows devs will expect, and it sounds simple enough. This is the only thing standing between me using D for any major projects, and just experimenting with the language for evaluation, or just academic interest. 64bit is far less important to me personally, VisualC linker compatibility is the big one. I just want to link against my C code without jumping through lots of hoops.That's exactly my problem... and although I love D, these hurdles made me take a step back, to C++, while I wait for this to change, so I can finally use D efficiently. I'm sure this isn't a trivial task, but the problematic isn't new after all. Why hasn't it been addressed yet? In my eyes this should be a top priority, to make it easier for new users to get into D. Till this poll I actually believed the problem was that D isn't used much by Windows users.
Mar 07 2012
On 8 March 2012 00:21, Jonathan M Davis <jmdavisProg gmx.com> wrote:On Wednesday, March 07, 2012 23:07:11 Mars wrote:Is it possible to just fix the compiler to output COFF objects *without* touching optlink at all? I'm not interested in using optlink with this feature, I intend to link with Visual Studio, that's the whole point. So ignoring optlink, that's a major slice of work taken out of the equation... Maybe it would be nice to support optlink in future, but it seems the priority is backwards.On Friday, 2 March 2012 at 11:53:56 UTC, Manu wrote:I don' think that Walter really views it as much of a problem - or if he does, he didn't used to. Remember that he's used to an environment where he doesn't use Visual Studio or Microsoft's C++ compiler. And his customers use dmc just like he does (since they're his customers), so many of the people that he interacts with in the C/C++ world are not necessarily particularly Microsoft- centric on Windows. Add to that the enormous task that it is to actually make dmd work with COFF or 64-bit or anything of the sort on Windows, and it's no wonder that it hasn't happened yet. To be fair, there are plenty of other things that have needed to be done, and what we have for Windows does work, even if it's suboptimal. So, it's not all that unreasonable that the issue would be put off as long as it has been. And Walter _has_ been slowing working on porting optlink to C (the fact that it's written in assembly makes it really fast but hard to maintain and change), which would make it possible to then start porting stuff to 64-bit and considering COFF and stuff like that.Personally, I just want to be able to link like a normal windows developer. My code is C/C++, built with VC, and I want to link my D app against those libs using the VC linker, and debug with Visual Studio. This is the workflow I think the vast majority of Windows devs will expect, and it sounds simple enough. This is the only thing standing between me using D for any major projects, and just experimenting with the language for evaluation, or just academic interest. 64bit is far less important to me personally, VisualC linker compatibility is the big one. I just want to link against my C code without jumping through lots of hoops.That's exactly my problem... and although I love D, these hurdles made me take a step back, to C++, while I wait for this to change, so I can finally use D efficiently. I'm sure this isn't a trivial task, but the problematic isn't new after all. Why hasn't it been addressed yet? In my eyes this should be a top priority, to make it easier for new users to get into D. Till this poll I actually believed the problem was that D isn't used much by Windows users.I expect that we'll get there eventually, but there's so much to do, and this particular issue is not only hard, but there's pretty much only one person currently qualified to do it, so it hasn't happened yet. - Jonathan M Davis
Mar 08 2012
"Manu" <turkeyman gmail.com> wrote in message news:mailman.223.1331197934.4860.digitalmars-d puremagic.com... On 8 March 2012 00:21, Jonathan M Davis <jmdavisProg gmx.com> wrote:Is it possible to just fix the compiler to output COFF objects *without* touching optlink at all? I'm not interested in using optlink with this feature, I intend to link with Visual Studio, that's the whole point. So ignoring optlink, that's a major slice of work taken out of the equation... Maybe it would be nice to support optlink in future, but it seems the priority is backwards.Yes, it is, but then you still won't be able to link omf and coff object files/libraries together, meaning you need a coff version of druntime/phobos/any other d libraries, and you can't use the c runtime made by dmc etc. Ideally everything would work together, and with a tool that can be bundled with D.
Mar 08 2012
On 8 March 2012 15:55, Daniel Murphy <yebblies nospamgmail.com> wrote:"Manu" <turkeyman gmail.com> wrote in message news:mailman.223.1331197934.4860.digitalmars-d puremagic.com... On 8 March 2012 00:21, Jonathan M Davis <jmdavisProg gmx.com> wrote:That's fine, I would use the mscrt (required to link with all the rest of my code anyway), and as soon as the feature is available, you can bet your boots that OMF will cease to exist in windows library distributions instantly. When was the last time you saw a closed-source windows library ship with .a files? Windows library distributions would be VC compatible COFF objects within days. Ideally everything would work together, and with a tool that can be bundledIs it possible to just fix the compiler to output COFF objects *without* touching optlink at all? I'm not interested in using optlink with this feature, I intend to link with Visual Studio, that's the whole point. So ignoring optlink, that's a major slice of work taken out of the equation... Maybe it would be nice to support optlink in future, but it seems the priority is backwards.Yes, it is, but then you still won't be able to link omf and coff object files/libraries together, meaning you need a coff version of druntime/phobos/any other d libraries, and you can't use the c runtime made by dmc etc.with D.Optlink is bundled with D, I presume OMF would remain an option as a standalone 'complete package', but realistically, I don't think virtually any windows users would use it once they can link with VS. The kind of Windows user that might use OMF+optlink is the same kind of user that would be perfectly happy, maybe even prefer to use GDC/LDC.
Mar 08 2012
On 2012-03-08 10:12, Manu wrote:On 8 March 2012 00:21, Jonathan M Davis <jmdavisProg gmx.com <mailto:jmdavisProg gmx.com>> wrote: On Wednesday, March 07, 2012 23:07:11 Mars wrote: > On Friday, 2 March 2012 at 11:53:56 UTC, Manu wrote: > > Personally, I just want to be able to link like a normal > > windows developer. > > My code is C/C++, built with VC, and I want to link my D app > > against those > > libs using the VC linker, and debug with Visual Studio. This is > > the > > workflow I think the vast majority of Windows devs will expect, > > and it > > sounds simple enough. This is the only thing standing between > > me using D > > for any major projects, and just experimenting with the > > language for > > evaluation, or just academic interest. > > 64bit is far less important to me personally, VisualC linker > > compatibility > > is the big one. I just want to link against my C code without > > jumping > > through lots of hoops. > > That's exactly my problem... and although I love D, these hurdles > made me take a step back, to C++, while I wait for this to > change, so I can finally use D efficiently. > > I'm sure this isn't a trivial task, but the problematic isn't new > after all. Why hasn't it been addressed yet? In my eyes this > should be a top priority, to make it easier for new users to get > into D. Till this poll I actually believed the problem was that D > isn't used much by Windows users. I don' think that Walter really views it as much of a problem - or if he does, he didn't used to. Remember that he's used to an environment where he doesn't use Visual Studio or Microsoft's C++ compiler. And his customers use dmc just like he does (since they're his customers), so many of the people that he interacts with in the C/C++ world are not necessarily particularly Microsoft- centric on Windows. Add to that the enormous task that it is to actually make dmd work with COFF or 64-bit or anything of the sort on Windows, and it's no wonder that it hasn't happened yet. To be fair, there are plenty of other things that have needed to be done, and what we have for Windows does work, even if it's suboptimal. So, it's not all that unreasonable that the issue would be put off as long as it has been. And Walter _has_ been slowing working on porting optlink to C (the fact that it's written in assembly makes it really fast but hard to maintain and change), which would make it possible to then start porting stuff to 64-bit and considering COFF and stuff like that. Is it possible to just fix the compiler to output COFF objects *without* touching optlink at all? I'm not interested in using optlink with this feature, I intend to link with Visual Studio, that's the whole point. So ignoring optlink, that's a major slice of work taken out of the equation... Maybe it would be nice to support optlink in future, but it seems the priority is backwards.DMD would need to be compatible with the Microsoft linker and runtime as well, that is, except from outputting object file in the correct format. -- /Jacob Carlborg
Mar 08 2012
On 8 March 2012 16:41, Jacob Carlborg <doob me.com> wrote:On 2012-03-08 10:12, Manu wrote:By 'runtime' you mean the crt? I don't think that'll be a major headache. Probably just a few subtle differences to deal with. A nice side effect would be that all those horrid OMF conversions of MS libs bundled with D wouldn't be necessary. And what else affects linker compatibility other than object format and mangling convention? How is DMD actually affected by any of this other than object format? Name mangling?On 8 March 2012 00:21, Jonathan M Davis <jmdavisProg gmx.com <mailto:jmdavisProg gmx.com>> wrote: On Wednesday, March 07, 2012 23:07:11 Mars wrote: > On Friday, 2 March 2012 at 11:53:56 UTC, Manu wrote: > > Personally, I just want to be able to link like a normal > > windows developer. > > My code is C/C++, built with VC, and I want to link my D app > > against those > > libs using the VC linker, and debug with Visual Studio. This is > > the > > workflow I think the vast majority of Windows devs will expect, > > and it > > sounds simple enough. This is the only thing standing between > > me using D > > for any major projects, and just experimenting with the > > language for > > evaluation, or just academic interest. > > 64bit is far less important to me personally, VisualC linker > > compatibility > > is the big one. I just want to link against my C code without > > jumping > > through lots of hoops. > > That's exactly my problem... and although I love D, these hurdles > made me take a step back, to C++, while I wait for this to > change, so I can finally use D efficiently. > > I'm sure this isn't a trivial task, but the problematic isn't new > after all. Why hasn't it been addressed yet? In my eyes this > should be a top priority, to make it easier for new users to get > into D. Till this poll I actually believed the problem was that D > isn't used much by Windows users. I don' think that Walter really views it as much of a problem - or if he does, he didn't used to. Remember that he's used to an environment where he doesn't use Visual Studio or Microsoft's C++ compiler. And his customers use dmc just like he does (since they're his customers), so many of the people that he interacts with in the C/C++ world are not necessarily particularly Microsoft- centric on Windows. Add to that the enormous task that it is to actually make dmd work with COFF or 64-bit or anything of the sort on Windows, and it's no wonder that it hasn't happened yet. To be fair, there are plenty of other things that have needed to be done, and what we have for Windows does work, even if it's suboptimal. So, it's not all that unreasonable that the issue would be put off as long as it has been. And Walter _has_ been slowing working on porting optlink to C (the fact that it's written in assembly makes it really fast but hard to maintain and change), which would make it possible to then start porting stuff to 64-bit and considering COFF and stuff like that. Is it possible to just fix the compiler to output COFF objects *without* touching optlink at all? I'm not interested in using optlink with this feature, I intend to link with Visual Studio, that's the whole point. So ignoring optlink, that's a major slice of work taken out of the equation... Maybe it would be nice to support optlink in future, but it seems the priority is backwards.DMD would need to be compatible with the Microsoft linker and runtime as well, that is, except from outputting object file in the correct format.
Mar 08 2012
On 2012-03-08 16:12, Manu wrote:On 8 March 2012 16:41, Jacob Carlborg <doob me.com <mailto:doob me.com>> wrote: On 2012-03-08 10:12, Manu wrote: On 8 March 2012 00:21, Jonathan M Davis <jmdavisProg gmx.com <mailto:jmdavisProg gmx.com> <mailto:jmdavisProg gmx.com <mailto:jmdavisProg gmx.com>>> wrote: On Wednesday, March 07, 2012 23:07:11 Mars wrote: > On Friday, 2 March 2012 at 11:53:56 UTC, Manu wrote: > > Personally, I just want to be able to link like a normal > > windows developer. > > My code is C/C++, built with VC, and I want to link my D app > > against those > > libs using the VC linker, and debug with Visual Studio. This is > > the > > workflow I think the vast majority of Windows devs will expect, > > and it > > sounds simple enough. This is the only thing standing between > > me using D > > for any major projects, and just experimenting with the > > language for > > evaluation, or just academic interest. > > 64bit is far less important to me personally, VisualC linker > > compatibility > > is the big one. I just want to link against my C code without > > jumping > > through lots of hoops. > > That's exactly my problem... and although I love D, these hurdles > made me take a step back, to C++, while I wait for this to > change, so I can finally use D efficiently. > > I'm sure this isn't a trivial task, but the problematic isn't new > after all. Why hasn't it been addressed yet? In my eyes this > should be a top priority, to make it easier for new users to get > into D. Till this poll I actually believed the problem was that D > isn't used much by Windows users. I don' think that Walter really views it as much of a problem - or if he does, he didn't used to. Remember that he's used to an environment where he doesn't use Visual Studio or Microsoft's C++ compiler. And his customers use dmc just like he does (since they're his customers), so many of the people that he interacts with in the C/C++ world are not necessarily particularly Microsoft- centric on Windows. Add to that the enormous task that it is to actually make dmd work with COFF or 64-bit or anything of the sort on Windows, and it's no wonder that it hasn't happened yet. To be fair, there are plenty of other things that have needed to be done, and what we have for Windows does work, even if it's suboptimal. So, it's not all that unreasonable that the issue would be put off as long as it has been. And Walter _has_ been slowing working on porting optlink to C (the fact that it's written in assembly makes it really fast but hard to maintain and change), which would make it possible to then start porting stuff to 64-bit and considering COFF and stuff like that. Is it possible to just fix the compiler to output COFF objects *without* touching optlink at all? I'm not interested in using optlink with this feature, I intend to link with Visual Studio, that's the whole point. So ignoring optlink, that's a major slice of work taken out of the equation... Maybe it would be nice to support optlink in future, but it seems the priority is backwards. DMD would need to be compatible with the Microsoft linker and runtime as well, that is, except from outputting object file in the correct format. By 'runtime' you mean the crt? I don't think that'll be a major headache. Probably just a few subtle differences to deal with. A nice side effect would be that all those horrid OMF conversions of MS libs bundled with D wouldn't be necessary.Yes, the runtime used by the Microsoft compiler.And what else affects linker compatibility other than object format and mangling convention? How is DMD actually affected by any of this other than object format? Name mangling?Jonathan explained this very good. -- /Jacob Carlborg
Mar 08 2012
On Thursday, March 08, 2012 17:12:53 Manu wrote:On 8 March 2012 16:41, Jacob Carlborg <doob me.com> wrote:As I understand it, Walter used to have it so that dmc (not dmd) could generate code compatible with Microsoft's format, but it was such a pain to maintain it with the changes that Microsoft kept making that he gave up on it. So, I'm not at all certain that anything involved with making dmd compatible with COFF is easy or easy to maintain. That doesn't mean that it shouldn't be done (far from it), but I wouldn't assume that much of anything involved with it isn't a big issue (like "just a few subtle differences to deal with"). We _might_ be that lucky, but I wouldn't bet on it. It's a major undertaking - albeit an important one. - Jonathan M DavisDMD would need to be compatible with the Microsoft linker and runtime as well, that is, except from outputting object file in the correct format.By 'runtime' you mean the crt? I don't think that'll be a major headache. Probably just a few subtle differences to deal with. A nice side effect would be that all those horrid OMF conversions of MS libs bundled with D wouldn't be necessary. And what else affects linker compatibility other than object format and mangling convention? How is DMD actually affected by any of this other than object format? Name mangling?
Mar 08 2012
On Friday, March 02, 2012 01:09:37 Brad Roberts wrote:On 3/2/2012 12:25 AM, Manu wrote:It's definitely a mixture. Don and Walter are primarily Windows users, I believe. I think that Kenji is as well. I believe that both Andrei and Sean are primarily Mac users. I'm a Linux user. I believe that several others are Linux users as well, but I don't remember exactly who uses what platform, and many of us use several. The current state of Windows support has _nothing_ to do with how many Windows developers we have. It has everything to do with how hard it is to further develop the Windows support - _especially_ when most (all?) of the Windows support issues are on the backend. - Jonathan M DavisBut we knew that already, because most of the D devs are linux guys, and D does not present a good experience to Windows users. I can personally point to numerous friends/colleagues who tried out D and turned away within a few hours because the Windows experience was so weak. Windows support should be prioritized BECAUSE Windows numbers are low, not because there's perceived to be no demand on that platform.I'm fairly your assertion is incorrect, if by "d devs" you mean the guys that are building dmd/druntime/phobos. I think we actually have more contributors that are windows based than linux based. At a minimum the numbers are well balanced, not wildly lopsided towards linux. No one has ever claimed that there's no demand for windows support. What's been asserted is that it's easier to support linux/bsd/osx. And indeed that was backed up by how much time was spent on the platform specific parts vs the generic parts while implementing 64 bit support. Windows will get 64 bit support at some point. That's not even a question. What is a question is when, and there isn't a good answer for that right now. There's a clear need to focus/prioritize limited resources. It's not a hard choice to decide to defer spending many months working on win64 and other platform specific support issues when there's still language level issues that cross every platform. That said, as always, if someone wants to scratch that itch and contribute to improving the windows specific parts, help will be welcomed with open arms and lots of encouragement.
Mar 02 2012
On Thu, 01 Mar 2012 15:40:38 +0100, Marco Leise <Marco.Leise gmx.de> wrote:Since everyone loves polls, and the question comes up now and then: What is your main development platform for D ? http://www.easypolls.net/poll.html?p=4f4f7d25c2e1b0e40b0ac494Where's Emacs?
Mar 02 2012
On Fri, Mar 02, 2012 at 11:37:26AM +0100, Martin Nowak wrote:On Thu, 01 Mar 2012 15:40:38 +0100, Marco Leise <Marco.Leise gmx.de> wrote:I thought EmacsOS died off in the last ice age? Do you mean to tell me it has living descendants today?! ;-) T -- He who laughs last thinks slowest.Since everyone loves polls, and the question comes up now and then: What is your main development platform for D ? http://www.easypolls.net/poll.html?p=4f4f7d25c2e1b0e40b0ac494Where's Emacs?
Mar 02 2012
On Thursday, March 08, 2012 11:12:01 Manu wrote:Is it possible to just fix the compiler to output COFF objects *without* touching optlink at all?I have no idea. In principle, I would think so, but I don't know. But dmd would have to be altered so that you could choose the object format rather than being simply switched over to COFF regardless. Ideally, it would be modular enough to be able to make it output any format you like with plugins or somesuch, but I have no idea how it's designed. And therein is the largest problem regardless. Walter is probably the only person who knows the backend well enough to do anything like this. So, regardless of what the situation with optlink is, it's almost certainly going to require Walter, who's busy with plenty of other stuff which is also very important. If someone could make the changes themselves and create a pull request for it, then we could probably get COFF, but that would require someone knowledgeable enough to do that, and I don't think that anyone other than Walter really is. If someone other than Walter is going to do it, then they've got a lot to learn, and no one has taken the time to do that. - Jonathan M Davis
Mar 08 2012