9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: minux <minux.ma@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] ot: pascal rides again?
Date: Sun, 24 May 2015 17:25:54 -0400	[thread overview]
Message-ID: <CA+db=n0YS7CNbTXu93+S_y+6erCCbFBSu2ktu=+7-1=CRPBzeA@mail.gmail.com> (raw)
In-Reply-To: <0de965508a7a944ef6bf0c0af1082091@brasstown.quanstro.net>

[-- Attachment #1: Type: text/plain, Size: 1409 bytes --]

On Sun, May 24, 2015 at 11:55 AM, erik quanstrom <quanstro@quanstro.net>
wrote:

> > Uhm I might be mistaken, but I guess [8192]byte is an array, and []byte
> are
> > slices - therefore they are different types.
> >
>
> yes, exactly.  i suppose this implies that different size arrays are not
> type compatable
> (yea pascal).  also the fu := bar[:] looks a lot like the tedious casting
> from c, and implies
> dynamic allocation of the slice, i'm guessing.
>

You can also argue that C arrays are pascal style. char x[8192] and
char y[4096] do not have compatible types.

In fact. how could different array types be really compatible in a C like
language?

void f(int a[50]);

even though you can pass a (pointer to) array of 25 ints, I doubt the
function would do the right thing.

If you pass both the pointer and the length to the function, then you're
just emulating a Go slice (without the capacity).

In essence, Go's array is not directly related to C's, it's more like a C
array wrapped in a struct. A slice is what C programmers normally
use to pass an array.

Regarding the boring comment, I agree to some extent. There isn't
many fancy features that other languages have, but that's exactly the
advantage of Go, and it's the price to pay when you want readability.
(i.e. you don't need ~65 pages of style guide just to tell you how to
write acceptable code.)

[-- Attachment #2: Type: text/html, Size: 2018 bytes --]

  parent reply	other threads:[~2015-05-24 21:25 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-23 15:53 erik quanstrom
2015-05-23 16:17 ` Eduardo Alvarez
2015-05-23 16:26   ` Aram Hăvărneanu
2015-05-23 18:14 ` C Cirello
2015-05-23 18:25   ` Ryan Gonzalez
2015-05-24 15:55   ` erik quanstrom
2015-05-24 16:19     ` Devon H. O'Dell
2015-05-24 17:02     ` Aram Hăvărneanu
2015-05-24 17:53       ` Ryan Gonzalez
2015-05-24 17:50     ` Ryan Gonzalez
2015-05-24 19:00     ` Bakul Shah
2015-05-24 19:36       ` Ryan Gonzalez
2015-05-24 21:25     ` minux [this message]
2015-05-25  1:26       ` C Cirello
2015-05-25  5:39       ` lucio
2015-05-25  7:59       ` Bakul Shah

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+db=n0YS7CNbTXu93+S_y+6erCCbFBSu2ktu=+7-1=CRPBzeA@mail.gmail.com' \
    --to=minux.ma@gmail.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).