News for hackers. Stuff that matters.
Re:Go is Google's language, not ours by ncmncm on Wednesday May 22, 2019 @02:33AM (#19978382)
This.

But Go is one in a long line of proprietary languages that those of us who have been around the block know to stay away from. Recently: Java was Sun's, C# is Microsoft's, Swift is Apple's, Go is Google's. With any luck, all will be footnotes in ten years. Those of us who knew better than to get invested in them will be fine. Everyone else gets a chance to learn something.

Re:Go is Google's language, not ours by dtrailin on Wednesday May 22, 2019 @02:53AM (#19978505)
Each of the languages you mentioned is wildly popular, well run, and not going anywhere. If you chose not to learn Java a decade ago because you "knew better" you aren't any better off than you were before, given that this language is the core foundation many companies and open source projects, maintaining relevance for 20 years. Not learning Swift now means you won't be able to do effective IOS development. Not learning Go means you're missing out on the language that a lot of important systems software is built in such as Kubernetes and Docker and won't be able to contribute to them.

I think also it's inaccurate to call any of these languages proprietary. They are all open source and if you wish you can fork them and make your own. C# in particular is now run by the dotnet foundation which is nonprofit with elected board seats, putting it in a better place for governance than many community driven languages.

Re:Go is Google's language, not ours by tannhaeuser on Wednesday May 22, 2019 @03:38AM (#19978787)
Whether Kubernetes is important for you, and whether Go matters as a language for implementing it is very much the question. Kubernetes was started in Java, and Kubernetes developers themselves describe it as incoherent mess of dozens of daemon programs in various stages of completion in the process of refactoring Java idioms into Go while introducing redundancies due to Go's limited code organization facilities.
Re:Go is Google's language, not ours by ncmncm on Wednesday May 22, 2019 @03:07AM (#19978586)
You can fork them and become (or remain) irrelevant.

Ios development is a walled garden. C# is barely used except to target Windos. Go? Too early to say. If it did fade away, who would miss it, really? Its express design purpose was to be not powerful enough to make big mistakes in. Has it transcended that? If so, what is its purpose now?

Java has shown staying power, despite its shortcomings, although its connection to the Apache Foundation ("where projects go to die") offers just a ray of hope.

Re:Go is Google's language, not ours by Goz3rr on Wednesday May 22, 2019 @03:14AM (#19978627)
I write software for embedded Linux devices in C# for a living, not exactly targeting Windows now is it?
Re:Go is Google's language, not ours by ncmncm on Wednesday May 22, 2019 @03:28AM (#19978721)
That use qualifies neatly under "barely".
Re:Go is Google's language, not ours by PetitPrince on Wednesday May 22, 2019 @03:21AM (#19978667)
>C# is barely used except to target Windos

The Unity game engine use C# for scripting; I wouldn't call that "barely used".

Re:Go is Google's language, not ours by ncmncm on Wednesday May 22, 2019 @03:27AM (#19978710)
Anything less than a billion lines counts as "barely used".

Anything less than ten billion lines counts as "little used".

How big is Unity?

Re:Go is Google's language, not ours by cheerlessbog on Wednesday May 22, 2019 @04:09AM (#19978988)
Unity is behind "Pretty much half of all games " on all platforms [1] I suppose it's possible there have been 100K Unity games written if you include abandoned efforts, education etc. No idea of mean LOC but that multiplies out to a lot.

Also Xamarin which if I read this [2] correctly owns a third of the mobile app market. I don't know whether that's credible but apps are a huge market.

It is possibly that could get you the 10 bn. It is quite certain that there has been more than 10 bn lines written on.NET Framework, probably far more, as for 15+ years it has been the dominant language for corporate apps built on the Microsoft stack.

On top of that.NET Core is growing much faster over time,according to their blogs, and it's cross platform as you know.

[1] https://www.google.com/amp/s/techcrunch.com/2018/09/05/unity...

[2] https://www.datanyze.com/market-share/madp/xamarin-market-sh...

Re:Go is Google's language, not ours by munmaek on Wednesday May 22, 2019 @03:11AM (#19978614)
> With any luck, all will be footnotes in ten years.

Java and C# are not going anywhere, especially now that .NET works on OSX and Linux. Swift, unlikely. Go, still uncertain.

It's fairly short-sighted to criticize a language and hope it dies out in usage just because a corporation is chiefly responsible for it.

[0]: https://dotnetfoundation.org/about

Re:Go is Google's language, not ours by Illniyar on Wednesday May 22, 2019 @03:31AM (#19978736)
Swift has garnered little traction outside iOS development, while other languages are gaining traction inside iOS development (javascript mostly, but Kotlin is also trying to make headway into iOS development).

I won't put survival rating for it to be very big. I'm sure Apple would keep it for decades to come, but I'm wouldn't bet on it being anywhere near as popular as it is now in the future.

Re:Go is Google's language, not ours by wk0 on Wednesday May 22, 2019 @10:42AM (#19981681)
IBM seems to be using swift on the server [1], probably most notably with their Kitura web framework [2].

TensorFlow also has a Swift API in development [3]. The people at FastAI seem quite excited about it [4].

[1] https://developer.ibm.com/swift/

[2] https://github.com/IBM-Swift/Kitura

[3] https://www.tensorflow.org/swift/api_docs

[4] https://www.fast.ai/2019/03/06/fastai-swift/

Re:Go is Google's language, not ours by munmaek on Wednesday May 22, 2019 @08:35AM (#19980444)
As long those languages aren't native, they won't be nearly as popular as swift. Swift doesn't need to be adopted outside of iOS development at all, because when people develop iOS apps the main choice will be Swift.

Swift is actually a very pleasant language, and apple provides some pretty good documentation although it could be better.

It's going to play out like this: Swift or Objective-C (for legacy codebases/people who already experts in objective-c and don't want to switch), and some other, slower languages that will always be second class.

Re:Go is Google's language, not ours by cesarb on Wednesday May 22, 2019 @09:05AM (#19980694)
> Swift doesn't need to be adopted outside of iOS development at all, because when people develop iOS apps the main choice will be Swift.

That would mean its fate would be tied to iOS, which is used only on phones built by a single company. When that company stopped producing mobile phones, or decided to use a different operating system, the language would die.

Re:Go is Google's language, not ours by munmaek on Wednesday May 22, 2019 @09:13AM (#19980786)
Correct, which would lead us to ask a pertinent question: Is this likely to happen in the next 10 years?

I would be inclined to say no, it's rather unlikely, short of apple somehow suddenly going bankrupt.

Re:Go is Google's language, not ours by koffiezet on Wednesday May 22, 2019 @07:24AM (#19979956)
> Go, still uncertain

A lot of the tools in the modern ops ecosystem are written in Go, and that trend is not slowing down. Not even going to start to list them. A lot of devs also love Go and it has a very nice community. If you would have said this 5 years ago? Sure - but now it's past the 10y mark in age - I think it's safe to say Go isn't going to go away any time soon.

Re:Go is Google's language, not ours by rincebrain on Wednesday May 22, 2019 @03:04AM (#19978569)
C# (and other .NET friends) aren't dying for a while, there's a large base of things written for multiple platforms on it, even though I think Microsoft isn't writing bunches of their core OS components in it.

Java isn't dying for a while either - anyone who still needs to support applets aside, or corporate applications written when Java was the fashionable thing to ship apps in, Android's install base will mean it's relevant for a fair stretch yet, even if OpenJDK fell into the sun tomorrow.

Swift I don't have much insight into, as I haven't done much with OSX or iOS in a while, and I have indeed not seen much uptake outside of those.

Which languages are you suggesting were/are good targets?

Python is technically not one company driving it but a bunch of developers on it are employed by large companies to work on it.

JavaScript is seeing a bunch of use in a great many places, but originated with one company's implementation and development.

Rust is pretty obviously one company's child, even though it is seeing decent uptake from other users. No predictions on whether it would survive said company dropping their work on it, though.

Re:Go is Google's language, not ours by adrianN on Wednesday May 22, 2019 @02:38AM (#19978406)
There is a mind-boggling amount of Java running around the world and more is still being written. Java won't die for several decades at least.
Re:Go is Google's language, not ours by fathead_glacier on Wednesday May 22, 2019 @03:03AM (#19978561)
Experience can differ between companies and languages. I have been involved over the past year with Julia which is mainly ran and developed by the company Julia Computing. One might say that it is the equivalent operating scheme as the companies you mentioned. However, my experience with the community has been vastly different. If you go over the development issues list it is extremely satisfying to see how many are raised by the community and adopted into the language. In contrast to the omnipotent response of Google with the Go community. Having such differences implies that a company ran open source language can indeed be influenced by the community.

Having said that, just because it exists in Julia does not mean it can exist in Go. I just wanted to mention that there are exceptions to the rule which begs the question if it is a rule in the first place.

Re:Go is Google's language, not ours by teddyh on Wednesday May 22, 2019 @02:30PM (#19984042)
I agree completely, but good luck convincing people around here; I’ve had no luck for a few years now¹²³. It may be an age/experience thing – you might need to have been burned by it a few times before you learn not to build your house upon the sand.

1. https://news.ycombinator.com/item?id=8733705

2. https://news.ycombinator.com/item?id=17162582

3. https://news.ycombinator.com/item?id=18370067

Re:Go is Google's language, not ours by airstrike on Wednesday May 22, 2019 @02:39AM (#19978417)
Java is a footnote?
Re:Go is Google's language, not ours by ncmncm on Wednesday May 22, 2019 @02:42AM (#19978438)
Not yet. But we can hope. Ten years is a long time in this business.
Re:Go is Google's language, not ours by oblio on Wednesday May 22, 2019 @02:57AM (#19978527)
Core Java systems are being written and updated at: Oracle, Amazon, Google, Netflix, IBM and almost all the Fortune 500 companies.

Java is also used by Facebook, Microsoft, Salesforce, Apple, and many other companies that aren't necessarily known for their Java development.

Java usually is the base for every core banking system that's not old enough to have been written in COBOL (and even those are being migrated to Java in many cases) or hasn't been written from scratch in .NET.

The same Java is also used by governments throughout the world.

If Oracle vanishes completely tomorrow, there's huge incentives for a community initiative to completely take it over ASAP. There's probably tens of billions of dollars in existing code bases that have to be maintained and extended.

More than that, Java's already 23 years old. It's not a new language. Plus: https://en.wikipedia.org/wiki/Lindy_effect

Re:Go is Google's language, not ours by smt88 on Wednesday May 22, 2019 @02:53AM (#19978506)
Ten years is a very short time for a programming language. Python is decades old and hasn't hit its peak popularity yet. I don't know of a single mainstream language that has died, except for perhaps ColdFusion or ActionScript.
Re:Go is Google's language, not ours by Spearchucker on Wednesday May 22, 2019 @03:36AM (#19978772)
Depends on how you define death. There's ALGOL, SNOGOL, LOGO, Pascal, Visicalc, APL... They were all mainstream at a point, and they all still exist, but the userbase has become tiny.
Re:Go is Google's language, not ours by hollerith on Wednesday May 22, 2019 @03:39AM (#19978806)
OK, but it is "SNOBOL".
Re:Go is Google's language, not ours by ncmncm on Wednesday May 22, 2019 @03:47AM (#19978856)
That too. :-)
Re:Go is Google's language, not ours by sagichmal on Wednesday May 22, 2019 @08:09AM (#19980248)
> Python is decades old and hasn't hit its peak popularity yet.

What? Python's peak (2.7) has come and gone.

Re:Go is Google's language, not ours by lenkite on Wednesday May 22, 2019 @03:16AM (#19978637)
I really hope not. Modern Java is productive, fun and better performing than Go.
Re:Go is Google's language, not ours by meddlepal on Wednesday May 22, 2019 @02:47AM (#19978459)
Modern Java is a pleasant experience compared to Go.
Re:Go is Google's language, not ours by grepgeek on Wednesday May 22, 2019 @05:37AM (#19979440)
Can you elaborate? In what ways, is modern Java a more pleasant experience compared to Go?
Re:Go is Google's language, not ours by jcora on Wednesday May 22, 2019 @07:10AM (#19979896)
Look at what happened to Kubernetes. They rewrote original Java code in Go and it's a mess because of Go's limited abstraction capabilities. Sure there's an element of rewriting in a new language and attempts to force idioms, but there's also the fact that Go literally hacks in special cases for generics, unavailable to users. They recognize the need for generics, but haven't implemented them, which is a problem for a complex project where abstraction might be useful.
Re:Go is Google's language, not ours by jacques_chester on Wednesday May 22, 2019 @07:16AM (#19979920)
If Graal had been mature at the time, I expect Kubernetes would still be written in Java.
Re:Go is Google's language, not ours by pjmlp on Wednesday May 22, 2019 @08:09AM (#19980249)
If you mean due to AOT compilation to native code, there have been plenty of options since around 2000, their only "crime" is being commercial.
Re:Go is Google's language, not ours by jacques_chester on Wednesday May 22, 2019 @08:14AM (#19980297)
I'm aware, but I don't think any OSS project would have ever used them. Hence my mentioning Graal by name.
Re:Go is Google's language, not ours by pjmlp on Wednesday May 22, 2019 @09:33AM (#19980961)
Ah ok.
Re:Go is Google's language, not ours by jacques_chester on Wednesday May 22, 2019 @07:02AM (#19979839)
Richer type system, richer concurrency, richer tooling, greatly advanced and advancing runtime, interoperability with multiple languages on the JVM, a naming system that doesn't cause frustrating workarounds a la the Kubernetes ObjectMeta / TypeMeta / "v1alpha1", "v1beta2", "v1" nonsense ...

Go is the language that taught me to really appreciate writing things in Java.

Re:Go is Google's language, not ours by silverdemon on Wednesday May 22, 2019 @03:26AM (#19978700)
10 years is a long time in any business, and Java has been around more than 20. It is pervasive in enterpriseland; if nobody wrote a single line of greenfield Java code it will be around for decades. The COBOL of the modern era!
Re:Go is Google's language, not ours by threeseed on Wednesday May 22, 2019 @06:41AM (#19979733)
Java underpins Scala, Kotlin and Clojure.

So not just all the big corporates but plenty of tech companies like Facebook, Uber, Spotify, Twitter, Linkedin, Netflix, Apple, Google etc all rely heavily on it.

Re:Go is Google's language, not ours by networkimprov on Wednesday May 22, 2019 @02:35AM (#19978389)
So what would you recommend?
Re:Go is Google's language, not ours by nicklaf on Wednesday May 22, 2019 @02:37AM (#19978404)
Re:Go is Google's language, not ours by saagarjha on Wednesday May 22, 2019 @04:29AM (#19979095)
What's wrong with C/C++?
Re:Go is Google's language, not ours by nicklaf on Wednesday May 22, 2019 @04:43AM (#19979160)
Real Programmers write in Fortran.

Maybe they do now, in this decadent era of Lite beer, hand calculators and "user-friendly" software but back in the Good Old Days, when the term "software" sounded funny and Real Computers were made out of drums and vacuum tubes, Real Programmers wrote in machine code. Not Fortran. Not RATFOR. Not, even, assembly language. Machine Code. Raw, unadorned, inscrutable hexadecimal numbers. Directly.

(It's a joke...)

Re:Go is Google's language, not ours by maksimum on Wednesday May 22, 2019 @02:38AM (#19978412)
For what purpose?
Re:Go is Google's language, not ours by pushpop on Wednesday May 22, 2019 @02:56AM (#19978523)
I’m guessing you don’t use C or C++ either then because they were proprietary Bell Labs languages. You should probably rule out assembly too because they will have proprietary instructions for proprietary CPUs. Which means if you really want to be freed from the shackles of using proprietary tools when programming you’re now building your own hardware too, processors and all. Good job ASCII isn’t proprietary otherwise your computing device would have no compatibility with modern computers at all.

I know I get a little absurd towards the end but no more so than your remarks about Java.

Re:Go is Google's language, not ours by ncmncm on Wednesday May 22, 2019 @03:22AM (#19978671)
Guess away, but both C and C++ broke out of Bell control very, very quickly by language standards.

Now they are driven by ISO Standards bodies, with many, many participants -- ATT not among them anymore, to my knowledge. Even in 1995 ATT had nothing approaching veto power.

My remarks lumping Java in with C# and Swift are transparent wishful thinking.

Re:Go is Google's language, not ours by pushpop on Wednesday May 22, 2019 @02:52PM (#19984256)
That was 10 years after it’s initial release and the spec hadn’t much changed from the specification defined by those Bell Labs employees. It wasn’t until 2011 that C++ saw some significant changes through the community. And in the first 10 years I seem to recall it was plagued by proprietary compilers having their own subtle behaviours.

I’m not saying it was all terrible nor that Go is managed better. But whenever there is a conversation about Go on HN people get so caught up in their own snobbery about how terrible they perceive Go to be that they lose all touch with reality.

The fact remains a language backed by a company is far less likely to die into insignificance than a language that isn’t. This is because it takes a lot for a language to gain momentum. You have a bit of a chicken and egg problem where developers won’t use a language without a good ecosystem, frameworks and community. But people aren’t going to write that if there aren’t already developers using it. This is where corporate sponsorship really helps.

Thankfully there are a plethora of good languages out there you can choose from. If you don’t like the direction of one language then you can use another. Or, alternatively, since Java, C# and Go all have open source compilers, you could fork and build your own community.

Re:Go is Google's language, not ours by pjmlp on Wednesday May 22, 2019 @04:48AM (#19979185)
Those ISO standards cost 100 euros on average per language version.
Re:Go is Google's language, not ours by jcranmer on Wednesday May 22, 2019 @10:35AM (#19981604)
For C and C++, you can get effectively equivalent working drafts for free. For C++, you can actually compile the PDF that gets sent to ISO to put the official markings on yourself. Here is C++17: https://github.com/cplusplus/draft/tree/c++17 .

If you have a contractual obligation that requires to exactly use a specific version of C/C++, then you'll need to pay money for the actual specification. In pretty much any other situation, the drafts are sufficient and perhaps even better (because they will have incorporated some errata).

Re:Go is Google's language, not ours by jstimpfle on Wednesday May 22, 2019 @10:46AM (#19981724)
Isn't it that all ISO standards cost money?

I'm sure you were perfectly aware of it, but C and C++ working drafts are almost identical (I think? Never bought an ISO version), and available for free from open-std.org. For example, http://www.open-std.org/jtc1/sc22/wg21/docs/standards