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


Groups > comp.lang.c > #58114 > unrolled thread

New directions in C: References

Started byjacob navia <jacob@spamsink.net>
First post2015-03-14 23:14 +0100
Last post2015-03-25 21:34 +0100
Articles 8 — 8 participants

Back to article view | Back to comp.lang.c


Contents

  New directions in C: References jacob navia <jacob@spamsink.net> - 2015-03-14 23:14 +0100
    Re: New directions in C: References raltbos@xs4all.nl (Richard Bos) - 2015-03-15 11:35 +0000
      Re: New directions in C: References Melzzzzz <mel@zzzzz.com> - 2015-03-15 12:51 +0100
      Re: New directions in C: References Greg Martin <greg.at.softsprocket@dot.com> - 2015-03-15 17:12 +0000
        Re: New directions in C: References BGB <cr88192@hotmail.com> - 2015-03-24 16:54 -0500
          Re: New directions in C: References Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-03-24 19:48 -0400
            Re: New directions in C: References Keith Thompson <kst-u@mib.org> - 2015-03-25 08:58 -0700
              Re: New directions in C: References David Brown <david.brown@hesbynett.no> - 2015-03-25 21:34 +0100

#58114 — New directions in C: References

Fromjacob navia <jacob@spamsink.net>
Date2015-03-14 23:14 +0100
SubjectNew directions in C: References
Message-ID<me2bsd$62t$4@speranza.aioe.org>
1.7 References
1.7.1 Motivation
References are pointers to specific objects. They are immediately 
initialized to the object they will point to, and they will never point 
to any other object. They are immediately dereferenced when used.
This addition is necessary for the overloaded operators that modify 
their arguments and can’t receive pointers.

References can’t be reassigned, and pointer arithmetic is not possible 
with them.

Syntax:

As in C++ use the "&" sign instead of the "*" sign.

[toc] | [next] | [standalone]


#58126

Fromraltbos@xs4all.nl (Richard Bos)
Date2015-03-15 11:35 +0000
Message-ID<55056e43.749593@news.xs4all.nl>
In reply to#58114
jacob navia <jacob@spamsink.net> wrote:

> 1.7 References

*Shudder* See my reply to operator overloading.

Really, jacob, we _don't_ need tentacles coming out of everywhere. C is
not C++, let alone Perl. Its simplicity is its _best_ feature, not, as
you seem to think, its worst.

Richard

[toc] | [prev] | [next] | [standalone]


#58127

FromMelzzzzz <mel@zzzzz.com>
Date2015-03-15 12:51 +0100
Message-ID<20150315125126.47b6c98b@maxa-pc>
In reply to#58126
On Sun, 15 Mar 2015 11:35:33 GMT
raltbos@xs4all.nl (Richard Bos) wrote:

> jacob navia <jacob@spamsink.net> wrote:
> 
> > 1.7 References
> 
> *Shudder* See my reply to operator overloading.
> 
> Really, jacob, we _don't_ need tentacles coming out of everywhere. C
> is not C++, let alone Perl. Its simplicity is its _best_ feature,
> not, as you seem to think, its worst.
> 
> Richard

He already implemented extensions...

[toc] | [prev] | [next] | [standalone]


#58137

FromGreg Martin <greg.at.softsprocket@dot.com>
Date2015-03-15 17:12 +0000
Message-ID<T3jNw.19534$pp5.4819@fx29.iad>
In reply to#58126
On 2015-03-15, Richard Bos <raltbos@xs4all.nl> wrote:
> jacob navia <jacob@spamsink.net> wrote:
>
>> 1.7 References
>
> *Shudder* See my reply to operator overloading.
>
> Really, jacob, we _don't_ need tentacles coming out of everywhere. C is
> not C++, let alone Perl. Its simplicity is its _best_ feature, not, as
> you seem to think, its worst.
>

I think you're exactly right.

I like C++ and this isn't meant as a knock on it but Stroustrup took C
and added some stuff that he thought would make it better and they have
just never stopped. 

If only C was more like <insert your favorite language here> it would be
great seems to be the clarion cry!

When Stroustrup called it a better C he really screwed up. It wasn't C
then and it's farther from C now. Oh well. At least Java didn't go with
MorePortableAndSafeThenCPP or we would have had
MorePortableAndSafeThenCPPScript.

-- 
http://www.softsprocket.com

[toc] | [prev] | [next] | [standalone]


#58881

FromBGB <cr88192@hotmail.com>
Date2015-03-24 16:54 -0500
Message-ID<mesmm9$rer$1@news.albasani.net>
In reply to#58137
On 3/15/2015 12:12 PM, Greg Martin wrote:
> On 2015-03-15, Richard Bos <raltbos@xs4all.nl> wrote:
>> jacob navia <jacob@spamsink.net> wrote:
>>
>>> 1.7 References
>>
>> *Shudder* See my reply to operator overloading.
>>
>> Really, jacob, we _don't_ need tentacles coming out of everywhere. C is
>> not C++, let alone Perl. Its simplicity is its _best_ feature, not, as
>> you seem to think, its worst.
>>
>
> I think you're exactly right.
>
> I like C++ and this isn't meant as a knock on it but Stroustrup took C
> and added some stuff that he thought would make it better and they have
> just never stopped.
>
> If only C was more like <insert your favorite language here> it would be
> great seems to be the clarion cry!
>
> When Stroustrup called it a better C he really screwed up. It wasn't C
> then and it's farther from C now. Oh well. At least Java didn't go with
> MorePortableAndSafeThenCPP or we would have had
> MorePortableAndSafeThenCPPScript.
>

back when Java was new, a lot of people promoted it as "C++ done right", 
except it was neither C++ nor really "done right".


yeah, this is a problem...

some extensions could be nice, but in a way, we don't necessarily need 
another C++.

likewise a drawback with extensions (or writing code which depends on 
them), is that they tend to be implementation specific. in some cases, 
this matters more than others.


for example, for code targeting a particular piece of hardware (such as 
a microcontroller), one may already be stuck using some implementation 
specific code and/or dealing directly with hardware specific features, 
so it is almost a "may as well use some of the available language 
extensions".

but, for portable code, there may good reason to stay well and clear 
from depending on extensions.

but, in a way, this also means that the implementation should ideally be 
designed such that it doesn't force its extensions on the code 
(hindering people from writing portable code, or from possibly writing 
code to allow them to simulate the HW on their PC, with other code 
effectively taking the place of the external electronics, ...).

[toc] | [prev] | [next] | [standalone]


#58885

FromLew Pitcher <lew.pitcher@digitalfreehold.ca>
Date2015-03-24 19:48 -0400
Message-ID<MJmQw.181616$L%2.34180@fx07.iad>
In reply to#58881
On Tuesday March 24 2015 17:54, in comp.lang.c, "BGB" <cr88192@hotmail.com>
wrote:

> On 3/15/2015 12:12 PM, Greg Martin wrote:
>> On 2015-03-15, Richard Bos <raltbos@xs4all.nl> wrote:
>>> jacob navia <jacob@spamsink.net> wrote:
>>>
>>>> 1.7 References
>>>
>>> *Shudder* See my reply to operator overloading.
>>>
>>> Really, jacob, we _don't_ need tentacles coming out of everywhere. C is
>>> not C++, let alone Perl. Its simplicity is its _best_ feature, not, as
>>> you seem to think, its worst.
>>>
>>
>> I think you're exactly right.
>>
>> I like C++ and this isn't meant as a knock on it but Stroustrup took C
>> and added some stuff that he thought would make it better and they have
>> just never stopped.
>>
>> If only C was more like <insert your favorite language here> it would be
>> great seems to be the clarion cry!
>>
>> When Stroustrup called it a better C he really screwed up. It wasn't C
>> then and it's farther from C now. Oh well. At least Java didn't go with
>> MorePortableAndSafeThenCPP or we would have had
>> MorePortableAndSafeThenCPPScript.
>>
> 
> back when Java was new, a lot of people promoted it as "C++ done right",
> except it was neither C++ nor really "done right".

To me, both Java and C++ are good examples of Brooks' "Second System
Effect", as applied to C as the "first system".

To quote:
  'The general tendency is to over-design the second system, using all the
   ideas and frills that were cautiously sidetracked on the first one. The
   result, as Ovid says, is a "big pile".'
(Fredrick P Brooks, Jr - "The Mythical Man-Month" Chapter 5: The Second
System Effect)

I would (cautiously) also put forth that C# is an example of the "Second
System Effect" as applied to C++ as the "first system".

[snip]
-- 
Lew Pitcher
"In Skills, We Trust"
PGP public key available upon request

[toc] | [prev] | [next] | [standalone]


#58922

FromKeith Thompson <kst-u@mib.org>
Date2015-03-25 08:58 -0700
Message-ID<87egodqdac.fsf@kst-u.example.com>
In reply to#58885
Lew Pitcher <lew.pitcher@digitalfreehold.ca> writes:
[...]
> I would (cautiously) also put forth that C# is an example of the "Second
> System Effect" as applied to C++ as the "first system".

I thought C# was inspired more by Java than by C++.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

[toc] | [prev] | [next] | [standalone]


#58959

FromDavid Brown <david.brown@hesbynett.no>
Date2015-03-25 21:34 +0100
Message-ID<mev638$c4o$1@dont-email.me>
In reply to#58922
On 25/03/15 16:58, Keith Thompson wrote:
> Lew Pitcher <lew.pitcher@digitalfreehold.ca> writes:
> [...]
>> I would (cautiously) also put forth that C# is an example of the "Second
>> System Effect" as applied to C++ as the "first system".
>
> I thought C# was inspired more by Java than by C++.
>

C# was Microsoft's reaction to the court order banning them from taking 
Sun's Java, making a corrupted, incompatible, proprietary and 
Windows-only version, and calling it "Java".  Since the courts would not 
allow Microsoft to "embrace and extend" Sun's language into another 
Windows/IE lock-in, Microsoft left in a huff saying that they would 
invent their own "Java".  Thus C# was born.

(Although I don't know much Java or C#, I gather MS did manage to learn 
from a few flaws in Java and improve it as a language.)

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.c


csiph-web