Live data from Hacker News

Java is the COBOL of my generation and Go is its successor

influxdb.org

41–50 of 96 posts

Re: Java is the COBOL of my generation and Go is its successor

#41
post #21
post #13

Jesus, I hope not. Go now is like Java in 1997. A mediocre language with lots of corporate support and a big standard library. It's popular in the developer crowd right now because it's A)simple B)has a good standard library and C)getting support (in the forms of tools, tutorials, etc.) is easy. We shouldn't let those things be the deciding factors in choosing what language to stick with over the next ten or twenty y…

I'm waiting for the talks from Gophercon to appear online, but one of them[0] talks about using Go interfaces to handle most generic type problems. Another interesting read is Rob Pike's argument about "less is more"[1]. The HN discussion on less-is-more from 2 years ago brought about some interesting discussion as well[2]. [0] http://talks.golang.org/2014/go4gophers.slide [1] http://commandcenter.blogspot.com/2012/0…

>using Go interfaces to handle most generic type problems

Do you mean Go interface specifications, or the Go interface{} type?

Because the latter is the top type. Using it is equivalent to casting things to Object in Java, which people did up until 2004 when they realized it was really stupid.

You also can't use Go interface specifications to make generic data structures, which is the really important use case.

Re: Java is the COBOL of my generation and Go is its successor

#42
post #32

"My prediction is much stronger than saying Go will be as popular as Ruby, Python, or Node." Was anybody else thrown off by this? I thought it was weird to throw Node in there considering Go, Ruby, and Python are languages.

Most people say Node as to not confuse client-side JavaScript. e.g: Saying Go will be as popular as JavaScript would be unreasonable, saying Go will be as popular as JavaScript on the server is reasonable.

Ah, thank you. That definitely makes more sense.

Re: Java is the COBOL of my generation and Go is its successor

#43
post #6

Earlier quoted context omitted.

Totally agree that the JVM is super powerful. I think it's Java's greatest strength. However, I don't see any current JVM language as a potential replacement. Scala is too complex. Clojure, while wonderful, is Lisp and no one has been able to make that popular for 5 decades (not even pg).

What about Groovy?

Good question. All I know is that it's used for Gradle and Grails. Some people I know view it more as a scripting language...

Re: Java is the COBOL of my generation and Go is its successor

#44
post #27

Sigh. We're still banging rocks together and amazed when occasionally there is a spark? Look, Ruby and Python -- their implementations just plain suck. There, I said it. MRI and CPython are just a pile of crap. We've known since 1991-ish (see Self) how to make performant runtimes for dynamic languages and 23 years later Ruby and Python still have crappy slow interpreters with no useful concurrency support. Note that…

I think you're missing the point of the basic type system: simplicity. It's a bigger win than you think when it comes to attracting new developers and making code easier to read. Sure, there are languages that let you write more succinct code and support all sorts of crazy typing, but one of the things good code requires is readability. Your code my be terse and elegant, but if other people can't understand it, it wo…

> support all sorts of crazy typing

This is a false dichotomy. There's a pretty wide continuum between type systems at least expressive enough to represent a user-defined list of a generic type and "all sorts of crazy typing".

Re: Java is the COBOL of my generation and Go is its successor

#45

Does the OP even know what made COBOL successful and useful ? Or for that matter , does the OP even know a Cobol programmer ? I suspect the answer is no and yet his blog is being discussed on HN front page. Cobol predates the RDBMS and made a lot of sense when writing structured data to flat file systems. Cobol language and cobol programmers never aspired to do a general purpose computing. Back in those days, the sci…

New programmers who don't want to learn old technologies to maintain existing code bases will most likely want to replace it with something they know. It's almost always a very bad idea.

All of these "x is the future" articles show a huge lack of perspective on what made languages successful in the first place and why they're still in use today.

Re: Java is the COBOL of my generation and Go is its successor

#46

Does the OP even know what made COBOL successful and useful ? Or for that matter , does the OP even know a Cobol programmer ? I suspect the answer is no and yet his blog is being discussed on HN front page. Cobol predates the RDBMS and made a lot of sense when writing structured data to flat file systems. Cobol language and cobol programmers never aspired to do a general purpose computing. Back in those days, the sci…

[deleted]

Re: Java is the COBOL of my generation and Go is its successor

#47
post #6

I'll say it again: If java was brainf&%k and we still got the JVM out of it, it would all be worth it. And I think there's a good chance that Java's successor runs on it.

Totally agree that the JVM is super powerful. I think it's Java's greatest strength. However, I don't see any current JVM language as a potential replacement. Scala is too complex. Clojure, while wonderful, is Lisp and no one has been able to make that popular for 5 decades (not even pg).

I'm looking a lot at Kotlin. It's not mature yet: JetBrains will start using it this summer for their own projects and I expect it to firm up a lot then.

The nice thing about Kotlin is almost perfect compatibility with Java, and an auto-translator that doesn't suck. So you can take an existing Java codebase and auto translate class by class, maintaining compilability the whole time. Also the standard library is mostly a set of extensions to the JDK so your existing library knowledge ports across, except you keep finding useful goodies sprinkled all over the place.

Feature-wise Kotlin has things that I feel would help me write fewer bugs: it has null-safety encoded into the type system, smart casts, extension methods, some good functional programming support, powerful properties and so on. There are features it lacks too, but I hope JetBrains will continue to push it forward for many years.

Re: Java is the COBOL of my generation and Go is its successor

#48
I wonder if this is a response to yesterdays post about modern Java [1]. Timing seems too close to be a coincidence.

On the other hand it does not address the points of the other post so I'm probably wrong.

[1] http://blog.paralleluniverse.co/2014/05/01/modern-java/#comm...

Re: Java is the COBOL of my generation and Go is its successor

#49

Earlier quoted context omitted.

Oh, no worries, I fixed that for you: http://gosu-lang.github.io/ ;)

Wow, that is cool. How is the runtime performance?

Not terrible, depending on what you are doing: it compiles down to the obvious bytecode for most statements/expressions.

If you start using the open type system, you end up going through some somewhat slow reflective code to make everything work, and that can be slower.

The biggest problems with Gosu right now are:

- Startup time - Tools support

We are working on both of those and hope to have better tools out over the summer.

Re: Java is the COBOL of my generation and Go is its successor

#50

Sigh. We're still banging rocks together and amazed when occasionally there is a spark? Look, Ruby and Python -- their implementations just plain suck. There, I said it. MRI and CPython are just a pile of crap. We've known since 1991-ish (see Self) how to make performant runtimes for dynamic languages and 23 years later Ruby and Python still have crappy slow interpreters with no useful concurrency support. Note that…

What language created in the last 5 years has a feature that wasn't originally discovered in the 80s or earlier? It's all too easy to bash new languages for not having some hot new, never before seen feature, meanwhile there are almost no examples of new languages doing earth shattering things. I think what we're currently seeing with Go, Rust, Elixir and others is taking the features that are perceived as good as tr…

I think the point of the above comment is that Go doesn't even include those decades old features.
Post reply on HN