The issue with D...
Ben
benny.luypaert at rhysoft.com
Mon Feb 4 23:28:51 UTC 2019
> but building with 'dub --arch=x86_mscoff' (dmd -m32mscoff)
> indeed should make dmd use lld if VS isn't available if it's
> not the case right now.
1. Does not work:
> Running .\vibeApp.exe
> Program exited with code -1073741515
2. And "dub --arch=x86_mscoff" this is expected to be know to new
users?
> You can also set the default architecture to x86_64 for all dub
> projects as described here. .... "defaultArchitecture":
> "x86_64",
Does not work as dub simply ignore this and gives the same linker
error. Because the Windows DMD version is 32bit. So we get 64Bit
DMD on 64bit Unix platforms, but getting 32Bit DMD on a 64Bit
Windows platform. Makes sense to me.
> Just use the Microsoft linker by passing: -a=x86_mscoff when
> building using dub.
See above. Does not work
> The linker is already shipped with DMD.
Only works with DMD directly. Dub acts like a inconsistent piece
of software that does not know what its parent ( the compiler )
is capable of doing.
> You can install VC++ for 1.5 GB using the Build Tool install.
You are right, my numbers are wrong.
Visual Studio Build Tools 2017 -- 15.9.6
Option Selected: Visual C++ build tools ( default options are W10
SDK, Visual C++ Tools, Test tools )
Total Space required: 4.58GB
Its 1.5GB more then stated i stated before. The 3GB must have
been from the last time i installed 2015 version. My bad... Only
4.6GB to install a advised linker.
/Offtopic: And the whole argument about how HD space is cheap, is
the same click bait nonsense as why we end up with 20GB operating
system, eating 3GB of ram by default, browsers eating gigs for
simply display text, Electron ...
Sure, one thing is nothing but when you start stacking up all the
moronic "just buy more ram or ssd space or ..." arguments, its
pushing the issue of developer incompetence and laziness unto the
end users. And we end up with the PCs experience feeling slower
then in the past. As CPU and memory gains can not keep up with
the wast full development.
> This user experience will attract a lot of new users.
Not when Dub by default does not work properly on Windows. The
fact that we are having a discussion about this, means its not
user friendly to the point that getting a simple HTTP Server
going, is a struggle.
Any discussion regarding adding build arguments, is a instant "no
fly zone" for most new users. Its like talking to grandfathers,
sorry, but us millenniums are "spoiled little brats" that have
dozens of programming languages available on our fingertips and
we can not be bothered wasting hours, days, weeks trying to
figure out arcane design decisions. The moment you need more then
simple run or build, your already losing to a whole series of
language competitors who got their shit together.
Its not because a lot of people here have years of experience
build up and know most compiler arguments like some ancient Jedi
scriptures, that its a good things. Any basic business manager
that is half competent can tell you this.
> Have you even been on the front page? Literally the first
> example I was met with:
1. That is a ... Tatum ... LINUX EXAMPLE, so its already not
platform agnostic path.
2. You think that running a hashbang example is a good
introduction to end users?
3. People lean the wrong way and are bypassing the dub package
manager
Let me compare to a few languages:
Go: import ( "net/http" ) ...
Ready, set, go ...
Crystal: require "http/server"
Ready, set, go ...
D: Learn package manager ( no example on the front page )
Figure out why the package manager does not work on Platform W
D: Use example from the front page, that does not work on
specific supported platform W
Example that is also the "wrong" way to run D projects in the
future.
I am not here to fight over what is right or wrong. From the
looks people are already set in their ways with years of
experience. This is my personal experience with D and the issue
points that the language has. Its like a billionaire not
understanding why people simply do not get a loan during the
shutdown.
And here is another fun one:
> C:\Users\Ben\AppData\Local\dub\packages\vibe-d-0.8.4\vibe-d\mongodb\vibe\db\mongo\settings.d(16,8): Deprecation: alias `std.digest.digest.toHexString` is deprecated - import std.digest instead of std.digest.digest. std.digest.digest will be removed in 2.084
> dmd --version
> DMD32 D Compiler v2.084.0
What is wrong here? :)
Not counting the dozens of warnings that show up when trying to
compile Vibe.D from deprecated functions. I call this a very bad
introduction in a project but that is Vibe.d its issue, not D as
a language but people will not differ.
The fact that we have a warning informing us that this deprecated
and will be gone in 2.084 but DMD is 2.084.
And all these posts later and vibe.d is still as dead in the
water as it was before. Experience: C-
My advice: Simply dump DMD Windows because if you can not support
it to work correctly, then do not support it at all.
More information about the Digitalmars-d
mailing list