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


Groups > comp.lang.misc > #1492

Re: should we Go now?

From Rainer Weikusat <rweikusat@mssgmbh.com>
Newsgroups comp.lang.misc, comp.lang.perl.misc
Subject Re: should we Go now?
Date 2013-02-24 19:38 +0000
Message-ID <87y5edcxjv.fsf@sapphire.mobileactivedefense.com> (permalink)
References <87hal29eeb.fsf@violet.siamics.net> <87ehg5u0r3.fsf@sapphire.mobileactivedefense.com> <874nh1abn5.fsf@violet.siamics.net>

Cross-posted to 2 groups.

Show all headers | View raw


Ivan Shmakov <oneingray@gmail.com> writes:
>>>>>> Rainer Weikusat <rweikusat@mssgmbh.com> writes:
>>>>>> Ivan Shmakov <oneingray@gmail.com> writes:
>
> [...]
>
>  >> as Go seem to be positioned as a successor to both the "system
>  >> programming languages" (C) and the "Web programming languages," of
>  >> which Perl is one I'm familiar with.
>
>  > I'm using Perl for 'system programming' and 'Go' won't replace it (it
>  > also won't replace C) for the simple reason that it uses another "I
>  > swallowed the Kool Aid and it was sure tasty!" runtime environment:
>
> [...]
>
>  > a couple of assumptions about the execution environment of the
>  > original Lisp implementation (AFAIK, an IBM 704 machine) such as 'no
>  > multiprogramming, no networking, single userspace application in
>  > total control of the environment, pointers are not data' which
>  > essentially haven't been true anywhere since
>
> 	Doesn't seem to be all that applicable to Go.

Since you deleted the core part of my statement, the remainder doesn't
make sense anymore and is hence not 'applicable' to anything. 

> Consider that:
>
> 	* Perl uses GC;

perl implements automatic memory management by keeping track of
'object references' where each reference is supposed to represent 'a
user of the object', not based on the inherently wrong assumption
that future use of an object will be impossible if no pointer to it
can be found within the address space of a single process at an
essentially arbitrary time. This implies (as I wrote in the part of my
text you've chosen to ignore) that the lifetime of perl objects 
created in a particular block will usually end when the corresponding
block is exited which is very useful manageing resources other than
memory (such as database locks in the case of the example I gave for
that) and can be utilized in other ways to cause certain code to be
executed automatically 'when the time is right for that' (I also gave
an example for that).

The same is not true for the Go runtime environment because it uses
'some kind of mark & sweep' garbage collector.

[...]

> 	* Go provides multiprogramming facilities "out of box";

The 'usual' meaning of the term 'multiprogramming' (I'm aware of)
refers to running more than one program on a given computer
concurrently, exploiting (nowadays) a combination of 'multiple
execution units' (processor cores or processers), preemtive
task-switching and hardware facilities to separate different processes
from each other. This implies that pointers to a certain object could
exist in the address space of another process (the garbage collector
cannot inspect) or in the kernel (the garbage collector also cannot
inspect), an example of that would be the Linux 'epoll' interface
which is capable of keeping track of a 'caller supplied pointer'
associated with a file descriptor which will be provided in case of an
I/O event on this descriptor.

Back to comp.lang.misc | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

should we Go now? Ivan Shmakov <oneingray@gmail.com> - 2013-02-24 10:47 +0000
  Re: should we Go now? Ben Morrow <ben@morrow.me.uk> - 2013-02-24 13:40 +0000
  Re: should we Go now? Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-02-24 16:37 +0000
    Re: should we Go now? Ivan Shmakov <oneingray@gmail.com> - 2013-02-24 17:02 +0000
      Re: should we Go now? Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-02-24 19:38 +0000
        Re: should we Go now? Nils M Holm <news2009@t3x.org> - 2013-02-25 07:23 +0000
          Re: should we Go now? Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-02-25 17:30 +0000
      Re: should we Go now? Ben Morrow <ben@morrow.me.uk> - 2013-02-24 21:42 +0000
        Re: should we Go now? Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-02-24 22:26 +0000
        Re: should we Go now? Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-02-25 01:04 +0000
        Re: should we Go now? Ivan Shmakov <oneingray@gmail.com> - 2013-02-25 13:32 +0000
          Re: should we Go now? Ben Morrow <ben@morrow.me.uk> - 2013-02-25 15:28 +0000
            Re: should we Go now? Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-02-25 17:54 +0000
      Re: should we Go now? "BartC" <bc@freeuk.com> - 2013-02-25 01:29 +0000
        Re: should we Go now? Ivan Shmakov <oneingray@gmail.com> - 2013-02-25 13:12 +0000
  Re: should we Go now? Ivan Shmakov <oneingray@gmail.com> - 2013-02-24 17:04 +0000
  Re: should we Go now? Bjoern Hoehrmann <bjoern@hoehrmann.de> - 2013-02-24 18:24 +0100
  Re: should we Go now? Keith Thompson <kst-u@mib.org> - 2013-02-25 17:01 -0800

csiph-web