On Monday, 10 November 2014 at 19:09:45 UTC, ketmar via
Digitalmars-d-learn wrote:

as for D... they are compiled object files. exactly the same thing as for c++, gnu pascal or any other language in GCC that produces .o. are you expecting them to be something special? then you'll read about that
in gdc manpage.

That's nice. That implies all those "compiled object files" are
compatible regardless of language. I don't know if that's true.
It seems doubtful to me.

how this belongs to particular D compiler? you are *expected* to
understand what is "being part of GCC suite" for GNU D compiler. it's not about language at all, it's about toolchain. and this is not the only one compiler available, and there inevitably will be more. do you expecting to read about every specific compiler implementation in language dox? DMD happens to be special one 'cause it's a "reference compiler" for D. yet there is nothing special in DMD, it's an ordinary command-line compiler. if you know how to use one of them, you know how
to use all of them.

I thought part of learning D would be learning to compile larger
programs than hello world. So I thought D.learn would be the
correct forum to ask a question about where the documentation or
specifications are for the files types involved in D on Linux, if
any. I disagree that knowing how to use one command line compiler
means knowing how to use all command line compilers. Maybe there
have been a few more command line compilers in computer history
than you're taking account of.

should D documentation include all all POSIX documentation for core utils, 'cause some of them can be needed to work with source files? and for VIM, and for Emacs and for all other editors, 'cause, ahem, they can be used to edit D sources? you are *expected* to know how your system works, what "file" and "directory" is, what is "compiling to object file", what is "linking" and so on. if there is something that
deviates from common system way of doing things, only then it is
documented. like gdc-specific command line arguments.

I've run across a similar attitude before. When I tried MinGW and
GCC the first time to use C, there were no instructions on the
whole MinGW site for how to compile even a "hello world" using it
for C, only for C++ instead. When I sent a message about that,
also mentioning that I was somewhat confused by what sort of
shell MinGW produced, what was it exactly, I was told it was bash
and directed to the Beginner's Guide to Bash, which I found I
couldn't use according to that guide's own instructions, because
I wasn't already experienced in installing and running programs
on a Unix-like system, which that guide says is a prerequisite.
(Of course I got going and did what I wanted to do with C anyway.
Those were just some learner's questions, normal for learning a
different computer program with incomplete instructions, I
thought. Apparently some experienced Unix-like system users have
a different attitude.)

It's true, you are expected to know your system, even if it's
brand new to you and the instructions are only for experienced
users and warn you away from using them if you aren't an
experienced user yet. This is a problem. Why not just somewhere
have a few lines of examples and type signatures for the various
elementary commands for a compiler, as part of the documentation
or specification that it's supposed to meet in order to be
considered functional? I'm not asking for that to be in the D
language specifications, because it is about GDC.


it's the easiest way to describe such things. i don't see how it is
necessary to copy and paste all GCC documentation for gdc.

In other cases I've
seen all over the "Language Reference" it's the same thing: D is
described roughly as a diff of C and C++
you realised that language reference is not meant for those who
learning how to program, didn't you? there is the excellent book by Ali Çehreli which is not "diff" and targeted to those who learning D, for example. and then you are expected to read documentation for GCC if you
are planning to use gdc, as gdc is a part of GCC.

there is nothing unsusual in not finding the information you want if you are looking for it in the wrong place. physics textbook will not
start with teaching you simple math.

I already downloaded and started working through the examples in
that book a couple of weeks ago. The sort of assumption I'm
talking about is here again, that doing the simplest things with
a compiler is like "simple math" in your analogy. If someone has
been using similar compilers for years and years, I suppose it
seems so. People seem to lose sight of the fact that computer
programs allow fully arbitrary interpretation of commands and
their results. So whatever a person guesses about how it works or
reads in a textbook about some other program or a related program
with a similar name or similar commands might not apply to the
program a person wants to use.

In this whole thread, I haven't been asking for personalized help
or advice. I've only been asking whether there are some
instructions, documentation, or specifications for GDC
compilation that cover multiple input files, other than the
extremely limited amount in the man page.

(There is a dlang page http://wiki.dlang.org/GDC/Using_GDC that
gives some instructions, including how to compile hello world and
how to get a .o file, but strangely to me doesn't include any
examples or abstracted formulas of how to use more input files or
any mention of .a files.)

So I guess the answer is, no, there isn't any documentation or
specification that covers it, and not even any official
instructions or beginner's guide that covers it. I wish people
would just be honest and up front about saying, no, sorry, we
don't have that; instead of people always seeming to want to put
down people who ask questions about the essentials.

Reply via email to