Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #68753

Re: a style question:

From Bartc <bc@freeuk.com>
Newsgroups comp.lang.c
Subject Re: a style question:
Date 2015-08-31 14:55 +0100
Organization A noiseless patient Spider
Message-ID <ms1m9d$3rs$1@dont-email.me> (permalink)
References <8d16838c-60db-4fd2-b401-737ee2601d1d@googlegroups.com> <6e9323cb-1dff-4bff-b19a-d4b1da735ffb@googlegroups.com> <ms1bf1$peo$1@dont-email.me> <87zj17tzq5.fsf@bsb.me.uk>

Show all headers | View raw


On 31/08/2015 13:21, Ben Bacarisse wrote:
> Bartc <bc@freeuk.com> writes:
>> On 31/08/2015 11:24, Malcolm McLean wrote:

>>> Usr::Graphics::BezierPathSimple<Math::real64_t, GREEN>
>>
>> Those guys really like to spell things out don't they?
>
> Well, yes.  When technical things are being specified that are usually
> spelled out in quite a technical way.
>
> But Usr::Graphics::BezierPathSimple and Math::real_64_t are just a names
> that use name spaces to avoid clashes.  What do you do to solve that
> problem?

(1) Use a shorter alias for long-winded qualifiers

(2) Use name-space defaults

(3) *Don't* require "Math::" for primitive types! (A shorter name than 
"real_64_t" wouldn't go amiss either. What on earth is wrong with "real" 
or "real64"?)

> And the whole thing is the instantiation of a generic type
> with two parameters.

Yes, now that you say it. When you stripped out all the extraneous 
stuff, it was Name<real, GREEN>; that looked like a template, yet not a 
template definition.

> I.e. what is, in your view, the proper way to write that?

I like using keywords to specify exactly what is being done. Perhaps not 
as long-winded as this, but along these lines:

define template ......
instantiate template ....

Then there is no excuse for not knowing what is happening. (Better than 
trying to infer what is being done from a mess of punctuation and syntax.)

 > How do you do that in your private language?

In my compiled language, I don't have templates. If I did, I would make 
it more obvious, trust me. Or more likely I would put them into a 
customisation sub-language that most people wouldn't have to read, or be 
tempted to write, because I don't think this stuff belongs in every-day 
code.

While my dynamic language doesn't have templates; it doesn't really need 
them as you effectively get generics for free.

>> But yet, you say this is something returned by a function. So I don't
>> know what the hell it might be. What a language!
>
> The fact that you don't know what something is at first glance is an odd
> criterion to use.  I can imagine people looking at
>
>     PAR (DO n PLUSAB 1; start siever (first, n) OD, sieve (first))
> or
>     (^^) :: (Fractional a, Integral b) => a -> b -> a
>
> and saying "What a language!".  Could it simply be that some things are
> complicated to specify, and that making it transparent at first glace
> might be counter-productive in the long run?

Neither of these are as offensive to me as typical C++ code is. I know 
some Algol68, and I could feel I could make progress with the other 
(Haskell or Ocaml or whatever it is.)

With C++ however, I could know the syntax inside out, and still be at a 
loss as to the precise meaning of a bit of code.

-- 
Bartc

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

a style question: G G <gdotone@gmail.com> - 2015-08-31 02:30 -0700
  Re: a style question: Ian Collins <ian-news@hotmail.com> - 2015-08-31 21:40 +1200
  Re: a style question: jt@toerring.de (Jens Thoms Toerring) - 2015-08-31 09:52 +0000
  Re: a style question: Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-08-31 03:24 -0700
    Re: a style question: Bartc <bc@freeuk.com> - 2015-08-31 11:50 +0100
      Re: a style question: Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-08-31 13:21 +0100
        Re: a style question: Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-08-31 05:41 -0700
        Re: a style question: Bartc <bc@freeuk.com> - 2015-08-31 14:55 +0100
          Re: a style question: Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-08-31 15:50 +0100
            Re: a style question: Bartc <bc@freeuk.com> - 2015-08-31 18:40 +0100
      Re: a style question: Melzzzzz <mel@zzzzz.com> - 2015-08-31 17:46 +0200
        Re: a style question: Bartc <bc@freeuk.com> - 2015-08-31 17:27 +0100
          Re: a style question: Melzzzzz <mel@zzzzz.com> - 2015-08-31 18:42 +0200
      Re: a style question: Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-08-31 17:41 +0000
        Re: a style question: Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-08-31 15:33 -0700
          Re: a style question: Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-09-01 08:34 +0000
      Re: a style question: Ian Collins <ian-news@hotmail.com> - 2015-09-01 07:40 +1200
        Re: a style question: Bartc <bc@freeuk.com> - 2015-08-31 21:36 +0100
          Re: a style question: Ian Collins <ian-news@hotmail.com> - 2015-09-01 08:51 +1200
            Re: a style question: Bartc <bc@freeuk.com> - 2015-08-31 22:37 +0100
              Re: a style question: Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-08-31 15:24 -0700
                Re: a style question: Ian Collins <ian-news@hotmail.com> - 2015-09-02 19:37 +1200
          Re: a style question: jt@toerring.de (Jens Thoms Toerring) - 2015-08-31 23:33 +0000
            Re: a style question: Bartc <bc@freeuk.com> - 2015-09-01 01:13 +0100
              Re: a style question: Ian Collins <ian-news@hotmail.com> - 2015-09-01 18:21 +1200
              Re: a style question: jt@toerring.de (Jens Thoms Toerring) - 2015-09-01 15:23 +0000
                Re: a style question: Bartc <bc@freeuk.com> - 2015-09-01 18:06 +0100
                Re: a style question: Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-09-01 20:39 +0000
                Re: a style question: jt@toerring.de (Jens Thoms Toerring) - 2015-09-01 20:45 +0000
                Re: a style question: Bartc <bc@freeuk.com> - 2015-09-01 22:53 +0100
            Re: a style question: Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-08-31 17:51 -0700

csiph-web