Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

But what are we to do in a world built, at its lowest level, on imperative languages (C) without intuitive support for concurrency nor parallelism?

Does Google foresee a future entirely built in Go, the same way NeXT expected the world to evolve towards Objective-C?



If you need to rely on C libraries, it seems to me the best use of Go is as a coordination language. Use it to distribute tasks that are then executed by isolated, shared-nothing C code.


Why does the whole world have to be built that way? If, the next time you do a new project start on a web app, your web app were built this way, then you would see the advantages of this approach in your web app.

If there are equivalent ways of designing for concurrency in Java or C# (or those ways are added to the language in the future), then you may be able to restructure existing Java and C# code bases to take advantage of this approach.

If you have 20 million lines of Cobol transaction processing code and there's no practical way of migrating your code base to use this methodology, then your 20 million lines of Cobol will keep running the same way they always have.

Unless I'm missing a point you're trying to make (certainly possible) there's no reason to think that this is an all or nothing approach.


C# 4.0 actually has all the pieces you'd need to write Go-style concurrent code. It just won't be pretty.

The upcoming 4.5 release fixes some of the ugly.


> Does Google foresee a future entirely built in Go, the same way NeXT expected the world to evolve towards Objective-C?

Eventually, sure, why not?

Still you don't need your whole OS to be in pure Go to take advantage of Go's features, most Go systems are purely in Go as the stdlib is quite complete, but even then there is no issue linking with (most) existing C code if you need to (C code that does its own threading stuff obviously is more problematic).


I don't know what Google sees, but I have a hard time imagining anyone honestly thinks the future is going to be built entirely in one language. That's the fantasy Sun had with Java. Now Java is this awkward thing that lives on top of the OS which lives on top of a hypervisor in a typical cloud setup.

It looks like we are headed toward a future with many more languages, not fewer.


Keep on truckin'. The situation is not necessarily hopeless, it just takes time to resolve. For example, see: http://halvm.org/wiki/

It may be a long time but there will someday be a world not built on C or C++. Probably within my lifetime. (Probably.)


Probably not within mine, depending on which side of the family I favor.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: