4 ms·
maybe but still far away from making any real impact in terms of popularity. maybe Google can take out Java (or Delvik) from Android development and replace wit
by saidulislam 16y ago
maybe but still far away from making any real impact in terms of popularity. maybe Google can take out Java (or Delvik) from Android development and replace with Go. Well, even if they try now it will take a long long while. So realistically I don't see how Go has any future. Google can but some how Google is bad in marketing it's own stuff.
- TillE 16y agoIf Go compiles to ARM, there's no reason it couldn't run on Android. Check out the Android NDK; all you need to port is the Java Native Interface. After that, it should be almost as easy as dropping in the next version of GCC, which will support Go. It's not a full replacement for Java, as most of the APIs are currently inaccessible via the NDK. But it's getting there.
- singular 16y agoIt does :) though it's early days with the arm side of things. I'd be surprised if google don't work on specifically making it easy to code in go for NaCl and android.
- nt 16y agoGo is mainly meant to be used for systems development not application development. It's audience is developers who currently use C/C++ rather than mobile developers coding in Java.
- amock 16y agoWhy couldn't it replace Java? From reading about it and my limited use of it I get the impression that it's meant to be able to replace C or C++ but it's also meant to be used to write applications as a replacement for a language like Java. The libraries and API stability are lacking, but I don't see any language issues that would make it a bad application language.
- enneff 16y agoYou're quite right. I think Go will make a great applications language. It's just a matter of library support, which is nascent but rapidly improving.
- rch 16y agoI'd say that you should take your time with interop, and practice isolationism for as long as possible. I don't mind waiting for Go to evolve naturally.
- zmmmmm 16y agoJava still has a few killer features that Go doesn't. Primarily, running in a VM and "interpreting" byte code means you can ship a single binary to every platform. Go requires you to compile a separate executable for every platform.
- amock 16y agoHaving to run in a VM is also seen as a drawback by some people, including me. The VM startup time makes using command line tools written in Java painful and Java apps often feel awkward on every platform since they don't use any platform specific features. So even though having a single binary work across all platforms is a killer feature for some people it's yet another disadvantage of java for others.
- rch 16y agoGo can replace Java. Eventually, anyway.
- joshbaptiste 16y agoI cant wait!
- moondowner 16y agoGo and Java are different beasts. E.g. Go can be used in making of the JVM, the way the Sun/Oracle JVM is made in C, or IBM's JVM is made in Smalltalk. Sure, people can try to replace Java with Go, but they can also use them both, each for the purpose it fits better.
- rch 16y agoSomeone recently described academia as 'Java vocational training'[1]. I'd expect Go to replace Java in the academic context relatively quickly, which should precipitate a shift in business' center of gravity over time. I already suggest Go to people who are serious about learning. ---- [1] http://queue.acm.org/detail.cfm?id=1039523 http://queue.acm.org/detail.cfm?id=1039523
- rtaycher 16y agoWhy would you expect go to replace java in an academic setting? Java is only partly taught due to introductory simplicity and mostly taught due to it ubiquity.
- supersillyus 16y agoPersonally, I'd be surprised if Go replaced Java in academic contexts. Java has inertia, marketability, better cross-platform support, and bundled GUI stuff. That said, were I teaching a general programming and/or data structures course, I'd probably strongly consider using Go. It is possible and not unreasonable for students to read and understand the whole Go spec. The language is simple and orthogonal enough that I think students could start seeing past the language and to the tasks at hand rather quickly.
- singular 16y agoDespite that being its stated purpose it is an excellent general purpose programming language; GC, 'true' interfaces, i.e. interfaces that are implemented simply by a type having a function set which matches a specified interface, and a lot more - it's simple, clean and obviously has a great future ahead of it. There's no reason to label go as simply a systems programming language in the same way you can't just label python or ruby scripting languages.
- Hemospectrum 16y agoIf you talk to people in the Go community you'll see that they interpret "systems programming" to mean both OS-level development and applications-level development.
- jesstaa 16y agoUsers interact with applications, things a user doesn't directly interact with are systems. Where you draw the line is really dependent on what you're doing.
- deleted 16y ago[deleted]
- enneff 16y agoLanguages don't reach mainstream popularity overnight. Go has been public for one year. Look at where Java, Python, or even C++ were a year after their release. With that in mind, I think Go is doing pretty well. An important thing to note is that, while Go is a great general purpose language, we're building it to make systems development easier. That's what we're using it for at Google, and also how it's being used at other companies like Canonical and Atlassian. In that sense Go is already successful.
- ChuckMcM 16y agoAs one of the folks who was on the Java team when it was released to the public, I can tell you the response was very different than the response to Go's announcement. Having been at Google (but not associated with Go in any way while there) when Go was announced my question then, as now, was "What was the problem again?" The basis of that question is that languages that have been successful often, but not always, have a strong correlation with solving a painful problem. Java solved a number of problems; the problem of connecting across architectures (I thought of it as the 'system libraries' problem), the C++ is too complicated problem (which would be the too complex;didn't learn (tc;dl) problem), and the interactive content from an untrusted source problem (which, in all fairness was a problem it self created when being able to run in a browser). The only problem that I have ever heard as being at least in the sights of Go was the 'building parallel applications' problem (which is huge, but why ignore millions of man hours in HDLs which also solve this problem but with the caveat that you have to be able to infer hardware from the compiled code) So unless there is something that is much easier to do in Go that you both need to do, and is so much better that doing it in your current language is too painful, it will join the ranks of languages like Lisp, APL, Modula-n, and Eiffel which all have things to recommend them but nothing to compel them into wide spread adoption and use that we associate with a 'popular' language. "An important thing to note is that, while Go is a great general purpose language, we're building it to make systems development easier. That's what we're using it for at Google, and also how it's being used at other companies like Canonical and Atlassian." Historical reference see the design, development, and use of the best language you've never used Mesa [1]. [1] http://en.wikipedia.org/wiki/Mesa_%28programming_language%29 http://en.wikipedia.org/wiki/Mesa_%28programming_language%29