Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

/prog/s opinion on Go

Name: Anonymous 2009-11-28 22:04

You know, the google thing.  Personally I'm a bit excited for a compiled python-like C language.  It's going to take for fucking ever for it to become useful, though, especially with google's slow and steady attitude.  I could see it catching on though kind of like python did.

Name: Anonymous 2009-11-28 22:08

JEWS

Name: Anonymous 2009-11-28 22:08

JEWS

Name: Anonymous 2009-11-28 22:08

JEWS

Name: Anonymous 2009-11-28 22:08

JEWS

Name: Anonymous 2009-11-28 22:08

JEWS

Name: Anonymous 2009-11-28 22:09

Protip: All the mainstream languages have taken years to develop support communities and libraries. Go won't be an exception to this.

Name: Anonymous 2009-11-28 22:23

I like it. I will probably use it almost exclusively when the GC is improved, dynamic loading/linking is implemented and cgo generally gets fixed (eg. I need callbacks.) I just wish they'd make some kind of guarantee for constant-space tail recursion.

Name: Anonymous 2009-11-28 22:25

systems programming
built-in garbage collection

i lol'd.  then went back to not paying attention to silly new things.

(but in all seriousness, >>7)

Name: Anonymous 2009-11-28 22:46

>>9
Yeah it will take time. I'm not sure how much because of the Google factor. They are taking it slow, but OTOH, the libraries will probably expand quickly if they adopt it internally.

Even without Google's involvement, the community is actually strong already: people have made various BSD ports and there's even a Windows port.

The GC isn't really a barrier to systems programming. You can't write an OS in it yet, but one of the guys on the Go team responded encouragingly to a suggestion that ARM targets shouldn't strictly require an OS, which I suspect will carry over to other architectures if implemented.

There is a need to be able to suspend GC and manipulate the scheduler though. They say mutexes are provided for writing device drivers. Sounds like they're going to finish up those details down the road.

Name: Anonymous 2009-11-28 23:22

>>10
That's insanity. If it becomes possible to do systems programming in Go, then, well.... You might as well do it in Haskell for that matter.

And that will be the end for America.

Name: Anonymous 2009-11-28 23:29

>>11
It's already possible to do system's programming in Haskell, it just may not be a very good idea for anything but a HaskellOS

Name: Anonymous 2009-11-28 23:42

>>11
Why is that so insane? Go seems like a great fit for the embedded^Wsmall devices market, now that it's saturated with Java. Android is insane for using Java.

Name: Anonymous 2009-11-28 23:46

>>13
Anything that means less Java is a Good Thing™.

Name: Anonymous 2009-11-29 0:01

>>14
signed

Name: Anonymous 2009-11-29 2:03

>>13
Write once, run everywhere. thread over

Name: Anonymous 2009-11-29 2:23

>>16
like anyone believes that

Name: Anonymous 2009-11-29 6:36

>>17
Apparently Google does along with anybody that believes enough to invest their efforts to Android.

Name: Anonymous 2009-11-29 8:22

>>18
Android is probably just a dry run anyway, shit will get real when they release a free desktop OS based on Go.

Name: Anonymous 2009-11-29 8:51

>>12
My dream is to write a SchemeOS, compile it with Gambit-C, build a small bootstrapper in C and...

Name: Anonymous 2009-11-29 9:07

>>20
And fuck lots of hot girls?

Name: >>20 2009-11-29 9:13

>>21
U MENA GUYS

Name: Anonymous 2009-11-29 9:34

Needs more FORCED INDENTATION OF CODE

Also I heard that what they released on day one was as terse as C, as slow as Python, has a bad garbage collector, and the whole goroutines thing didn't work well. So people are probably going to love it.

Name: =+=*=F=R=O=Z=E=N==V=O=I=D=*=+= !frozEn/KIg 2009-11-29 10:30

Go fails on several levels:
1.Search for Go - 58 meanings in English alone here http://en.wiktionary.org/wiki/go#English
2.No production Windows version. They aren't serious "Gccgo is a Go compiler that uses the GCC back end. There is also a suite of compilers with different (and odd) names for each architecture: 6g for the 64-bit x86, 8g for the 32-bit x86, and more. These compilers run significantly faster but generate less efficient code than gccgo".
3.No pointer arithmetic? C replacement without pointer arithmetic is absurd(all metaprogramming and pointer manipulation thrown out the window for a little bit of safety).
4.Garbage collection:("The current implementation is a plain mark-and-sweep collector but a replacement is in the works.")
In short this isn't a systems language and won't replace C or even Java for quite awhile, even if Google pours millions in it.

_______________________________________________
http://bayimg.com/image/aadbjaace.jpg
My Blog: http://frozenvoid.blogspot.com/
«I think, and my thoughts cross the barrier into the synapses of the machine - just as the good doctor intended. But what I cannot shake, and what hints at things to come, is that thoughts cross back. In my dreams the sensibility of the machine invades the periphery of my consciousness. Dark. Rigid. Cold. Alien. Evolution is at work here, but just what is evolving remains to be seen. »

Name: Anonymous 2009-11-29 10:43

>>24
Wait a minute, why am I agreeing with FV? Have I gone insane or is he finally talking sense.

Name: Anonymous 2009-11-29 11:05

>>25

U MENA SAGE

Name: Anonymous 2009-11-29 12:20

>>25
No, he's know to sometimes say sensible things just to mess with people's minds.

Name: Anonymous 2009-11-29 12:21

s/know/\0n/

Name: Anonymous 2009-11-29 15:07

>>25
Er, points 1 and 2 there are obvious trolls (if you know anything about Go.) 3 and 4 are up for debate though.

Name: Anonymous 2009-11-29 17:41

>>29
It's not a troll if it's true, however irrelevant it may be.

Name: Anonymous 2009-11-29 18:35

>>30
A troll doesn't have to be a lie. Irrelevant statements used as arguments fit the bill just fine.

Name: Anonymous 2009-11-30 2:22

:=
No, thanks.

Name: Anonymous 2009-11-30 3:07

>>32
No shit.  Isn't using Pascal's assignment syntax just retarded at this point?

Name: Anonymous 2009-11-30 3:18

>>33
U MENA FJÖLNIR

Name: Anonymous 2009-11-30 3:27

>>33
U MENA OCAML

Name: Anonymous 2009-11-30 3:30

>>32,33
So nobody should use that symbol pair to represent anything ever again?  Not even what Go uses it for?

Name: Anonymous 2009-11-30 3:44

>>24
Hey, FV is back! *waves*

No production Windows version. They aren't serious
I fucking lol'd. You do know that Google, with their thousands of employees, uses almost exclusively Linux right? They have no Windows expertise in-house. Why would they bother with a Windows port when some winfag will (and did) port it for them in a few days?

No pointer arithmetic
I really don't understand why this is a "can't live without" feature. Granted it's probably pretty important for writing an operating system, but aside from that, what do you really need it for to write stuff like webservers? I can't remember the last time I needed pointer arithmetic in C.

Besides, the lack of raw pointers and pointer arithmetic makes it possible to write a real generational copying collector, which is a huge advantage that goes far beyond 'a little safety' (more on this below).

Garbage collection:("The current implementation is a plain mark-and-sweep collector but a replacement is in the works.")
Good garbage collectors take *a long time* to write. They're fucking complicated. However once they're written, they're typically faster than malloc/free. Java's allocator in recent versions is a lot faster than malloc/free (calm down folks, just the allocator/collector amortized is faster, Java in general is shit slow). Even just linking Boehm's with no other changes very rarely makes programs run slower, and occasionally (often?) makes them faster.

I'm not sure why it's a problem for Go that it doesn't have this yet. The real news here is that the language spec makes it possible to write. Go will get a copying collector soon enough, and all the goodies that come with it: amortized O(1) allocator, heap compaction to prevent memory fragmentation, realtime profiling to improve cache locality, the list goes on.

Besides, garbage collectors are just about essential for real multi-threaded apps. They really do go hand in hand. Sorry folks, but it's not 1995 anymore; CPUs have lots of cores and it's time to use 'em.

Name: Anonymous 2009-11-30 3:47

>>33
That's initialization shorthand. Assignment is just =. These lines are equivalent.


var x int = 0;
x := 0;

Name: Anonymous 2009-11-30 10:29

>>39
Please check all Google software which is Linux-only and that which is Windows-only. You will see shortly the latter outnumbers the former by wide margin. Google knows their users OS preferences. This project looks like sponsored hobby-work - not a Google project.
You are *incredibly* wrong. ALL of Google's core technology runs on Linux only. We're talking about their scrapers, all their algorithms e.g. MapReduce, PageRank, etc., all their websites include GMail, all of their servers, etc. Millions upon millions of lines of code, none of it ported to Windows.

Only about 1% of their software development is meant to run on end-user machines. Lately this is Google Desktop and Chrome, both of which run on all of Windows, Linux and Mac.

Pointer are fast, small and versatile:
So are array indices. In fact, a) on modern processors, indexing an array is the same speed and memory overhead as stepping using pointer arithmetic (the faq mentions this in fact), and b) these are interchangeable; a good compiler can switch array indexing to pointer arithmetic on its own (and still retain bounds checking).

Also, why on earth would you want to do polymorphism on your own when the language provides a facility for this already? And not just any facility, but the best and safest we know: implicit conversion to any implemented interface. Static duck typing. You do know that this is just a v-table under the hood, right? In fact if you do it by hand, you're doing EXACTLY what the compiler would just do for you.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List