Too smart for other languages

Attached: a42704b827eeedd7af282b14b44109ef.png (300x441, 39K)

Other urls found in this thread:

en.wikipedia.org/wiki/Dart_(programming_language)
techempower.com/benchmarks/#section=data-r17&hw=ph&test=db
harmful.cat-v.org/software/java
twitter.com/SFWRedditGifs

GO kill yourself

What is Rust

collect yourself.

>too retarded for other languages
>Go
Like poettery

>The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt.
– Rob Pike

The absolute state of Google, LLC

I know you are parroting a quote but why does a language have to be difficult to understand to be good? Legitimate question.

If you can get a workable product with less friction than with another language, wouldn't that actually make it better? For Go, I find it a better alternative to Java in many cases, especially for smaller services. I don't often program for the sake of programming, but to create a service, and I tend to enjoy Go for that.

A pile of tranny poop.

Hard languages are not "hard" just because. Some tasks need more than what these glorified while languages can do.

Can you explain why that is the case? Aside from true low level languages like C/C++ I mean.

Attached: image0 (2).jpg (2268x4032, 723K)

pic unrelated, I guess?

>why does a language have to be difficult to understand to be good
Generally with a steeper learning curve comes more power. BASIC vs C for example, one is easy to learn , the other is more powerful. Or have something like Python which is a bit of both but you'll always compromise on something.
>less friction than with another language, wouldn't that actually make it better?
That's true, choose the right tool for the right job. The reason php is so popular is because it just does its job easy and fast.

I don't really see the point of Go, it's all over the place, it doesn't know what it wants to be. It was supposed to be a simple more modern C but now they are starting to add more features. But then again, that was the case with php too.

me to smat for othr langage

Attached: 1495314358756.png (300x441, 20K)

Go is for people who can't even understand generics.

C++ is not a hard language. It's a bloated language.

Correctness and destructive concurrency are two things that tend to need "brilliant languages" to become feasible like erlang or haskell.

People say that C is simple and lacking features, there is a mantra of DIY that rallies the autists of this board.

But then add garbage collection, and move a little bit up the stack, and all the sudden you are hated by Java devs by lacking features and hated by C devs for being "too simple".

Does anyone say this about C? It's actually not a difficult language aside from the DIY mentality, it lacks many features compared to other higher level languages, and yet it is the longest running language that exists today for serious use.

2.0 has generics, what will you meme about now?

Attached: thompson01.jpg (360x348, 39K)

>proposal
Oh no no no no

>C++ is not a hard language
I wasn't saying that, I was saying it fits a low level use-case that Go does not, because I don't believe that harder == better.

>erlang or haskell
Ok now THIS is epic. These are insanely specialized use cases, and even compared to Go in real production use cases are such an insanely small minority. The industry has chosen (for a general-purpose lang).

>and yet it is the longest running language that exists today for serious use.
lol. Despite being 70 year old boomers Cniles don't even know their computing history.

I'm saying that is still around, not ones that have faded into obscurity. C has stood the test of time, you can't contest that.

> It was supposed to be a simple more modern C.

It only has similar syntax to C, but it was not intended to be a modern C. It is garbage collected first and foremost, so it can not be C. Go is general purpose with a focus on concurrency and a strong standard library. I have used it for command-line applications, desktop applications and web applications. It is a simple language as the authors intended.

>desktop applications

It has fucking garbage GUI libraries tho?

You know you fucked somewhere up when you have worse syntax than Powershell.

Baby don't Text me
Don't Text me
No Make

>compiler enforced opening brace location
in to the trash it goes

Yes it does. I transitioned to C# + WinForms for desktop applications, at least for Windows. C++ and Qt for Linux. Golang is good for everything else.

Heard of Fortran? Retard. Just because it's not used to rice epick tiling window managers doesn't mean it's not used.

Any language that requires this much shilling has got to be ass. Fuck Google.

>and yet it is the longest running language that exists today for serious use
That's actually lisp.
Or fortran, if you count its niche of scientific supercomputing as a serious use. But even then lisp only loses by a few years of age.
C is easily the worst 'serious' language around, simply because of how many security issues it's responsible for, how its 'portability' completely killed the variety in computing architecture, and how its home system UNIX completely killed all systems research.

I hate its syntax and lack of features, yet I use it daily because I have to and because it has lots of quality packages when it comes to security, L7 protocols, gRPC and containerization

Lisp was DOA when it killed half the industry in the AI winter
Fortran is obviously obsolete and only exists for legacy code
>scientific supercomputing
Science is a joke

Deprecated. Learn Dart.

Google's new meme language


en.wikipedia.org/wiki/Dart_(programming_language)

Attached: dart.png (318x159, 3K)

Dart is as bad as Go though. Few years ago I would say picking it for Flutter is a grave mistake but now I see it for what it is - an attempt to kill both non-blink browsers AND JavaScript.

what is Nim

>unironically thinking haskell and erlang are memes.

>AI winter
The mechanisms of this are as follows:
Every time you solve an AI problem, it stops being an AI problem. Once you develop an algorith for machine vision or natural language processing or whatever, you see that the thing has nothing to do with intelligence. It only needs a dumb machine and an algorithm.
No matter what 'AI' projects you deliver on, you will never make it closer to actual artificial intelligence. You can't even define intelligence. By (the lack of) definition, it's impossible to make inroads into this field.
And so, it's not obvious that your AI research team is actually making progress on anything. It's just clever algorithms, not 'AI'.
When the press and the shareholders and funders catch wind of this, they're quick to assume that AI research is a waste of time. Funding gets cut, and no one is interested in doing it anymore. For the time being at least. The AI winter is something that has been cycled through a couple times. The next winter is about to come, as blockchain AI and machine learning turn out to be less useful as predicted.
Why lisp is remembered with the AI winter is that it was the one language suitable for such abstract programming, and because it was a time before C and UNIX had taken over. At the time, it was still possible to kill a programming language or a computing platform. The dotcom bubble didn't kill Java and the data science bubble won't kill Python, but that's because they're parts of the monoculture computing has become. There isn't enough variety for anything new to really take off or for anything old to die. Before the particular AI winter that 'killed' lisp, the situation was different.

>The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt. – Rob Pike
I'll save my brain cells and use a channel library in any other language tyvm.

the designers knew explicitly about the problems with generics and chose to exclude them than include a half baked generic implementation that every other language has, knowing something so well you know its flaws intricately is the exact opposite of being for "people who can't even understand generics"

They literally only looked at Java and C++. They weren't even aware of the languages that did them right.

The current proposal for generics in Go 2 is even more retarded than Java or C++'s implementation.

>They literally only looked at Java and C++.
how do you know that?

They said it themselves.

>by brainlets for brainlets

C++ templates are based, what's everyone beef with them. Generics and duck typing are very clear and some simple with them. Sure, it's also possible to make abominations that perform compile time computations with them but that's an entirely obsolete use case with the introduction of constexpr. Java's generics at least have clear limitations, like you can't return a generic collection from a generic method so the criticism is understandable.

You can't do anything dynamic with them. So this is not possible.
struct Foo
{
template
virtual
void bar(T)
{}
};
This is one limitation that Java doesn't share.

The interesting parts of templates, the metaprogramming, are better implemented with a proper macro system (which C++ is still lacking and will until C++23 possibly implements metaclasses)

Besides that, they have complicated interactions with overloading and specialization which makes them tricky to completely understand the behaviour of, particularly when you want to start constraining your templates with SFINAE.

The point of generics is compile type safety and optimizations, of course you can't do anything dynamic with them, if you truly need that use virtual methods and face the consequences.

This doesn't stop type safety at all. C# has virtual generic methods and they work fine.

you have to be a total idiot to twist that quote to something where Rob Pike actually would believe C++ is in any way (((brilliant))). Rob Pike and Ken Thompson made Go for the exact purpose of replacing C++ because they hated C++. If they honestly thought for one second that C++ was a brilliant language then they would use it. Ken Thompson is a undeniably a brilliant programmer who has accomplished the most important achievements in the IT industry. He sure as hell did not make a replacement for C++ because he was not brilliant enough to use it.

>Rob Pike and Ken Thompson made Go for the exact purpose of replacing C++
Well then they failed fucking miserably at that because you can't replace C++ with something that uses GC.

> because you can't replace C++ with something that uses GC
Go is not a kernel space or embedded language, but it is already replacing C++ for a lot of server and userspace systems applications that would have been done in C++

Failed again, C++ isn't really used for servers and Go isn't usable for SYSTEM applications either. Go competes with Python, not C++, and it never even hoped to by design.

kubernetes would have been implmented in C++, but it wasnt

youre just an enraged stockholm syndromed fanatic trying to protect your captor, this whole thread is nothing but rage posting by C++ shills and is a waste of time to post in. C++ is dying, Ive already moved on to Go. Shill all you want, youre just a luddite thats going to get replaced by pajeets who are smarter than you to not get stuck with a dead language

Go isn't a replacement for C++. Kubernetes could be implemented in fucking shell scripts for all I care, it's not a C++ niche, it never was.

Go is useful primarily for one purpose - web server stuff. That is why it was created. For the back end of web servers. They wanted something that could be almost as fast as C but without the memory issues. When you have thousands of engineers, and they're all working on some back end service, think about how many memory issues you could run into? Go solves that issue for them while still being more performant than scripting languages like PHP.

Moral: Us Go for back end server stuff. That's what it is most suited for.

This has been solved literally decades ago with Java, which still dominates server benchmarks by the way. C++ was never big in servers. Where did you get this meme from.

Any benchmarks of Java vs Go for server stuff?

> C++ was never big in servers
not at most companies but definitely for anyone running a search engine where every cycle counts.

Knock yourself out.
techempower.com/benchmarks/#section=data-r17&hw=ph&test=db
Surprised to see Rust up there.

Go was designed to facilitate the implementation of the disposable infrastructure paradigm. Business first. That is all.

what about Elm?

its a transpiler language like Coffeescript or Typescript and so can never leave the browser

Elm is made specifically for building web UI. That's it.
Not mobile, not desktop, just web pages on a browser

This is interesting in that I've never heard of lik 98% of these "frameworks". Also, its kind of a shitty benchmark in that it only tests one scenario. There are many other scenarios worth testing. Concurrent user sessions, to name but one.

you're a fucking idiot

Java master race

>fortran
Ok show me where it is used in as many places as C is today. Now who is the retard?

>lisp
Not anymore, what serious applications does lisp have other than ricing emacs?
>fortran
C is being used for greenfield projects today, how many of those would choose fortran if it wasn't maintaining a legacy horror?

Jow Forums is insanely out of touch, just to prove a point, I don't know what I expected though

no they didn't

>unironically thinking they aren't

>you have to be a total idiot to twist that quote to something where Rob Pike actually would believe C++ is in any way
you have to be a complete retard to think Rob Pike was saying anything more than "we hire retards"

I enlightened you and yet you let it pass as it was air. Quite interesting. You people don't have much of actual experience building software, I believe.

except he built go because he was sick of 45+ min builds of his own c++ codebase

Then why didn't they switch to Pascal, which is faster than Go to compile anyway?

Starting from the premise that every tool serve a purpose, what Go is good for?

concurrent programs
web servers
everything that doesn't require as much low evel control as C but you want to run faster than a python program.

I was asking about Go, not Java.

Hello pajeet.

Attached: pajeetjava.gif (849x458, 168K)

Why would I use Go over Erlang, Scala, or even Haskell?

The thing you all you "C[++] but better" language advocates ALWAYS ALWAYS inadvertently fail on is bringing speed into it. When even Javascript can be made to be near-native speeds with V8. You need to focus on memory and spin-up times. It might not be as expensive as processor time, but that shit ain't free, you know. And that's the one thing you have going for you. No one cares about micro-optimization, but if you start exposing the costs of extreme memory and non-free abstraction-layer bloat, you might get somewhere.

>used in HPC all the time
>used for server backend all the time
>faster than Go
>better syntax than
>great for making GUI applications unlike Go
Seems like the pajeets made a smarter choice, sweetie :^)

>java
harmful.cat-v.org/software/java

Attached: 1544842124352.png (600x558, 379K)

>unemployement: the website
Yeah, nah.

Are you that uninteresting that all you care about is the percentage of job recs you can apply for?

Attached: 9FjP8sP.jpg (838x893, 74K)

Completely irrelevant to the discussion.

So is a language's employability when discussing purely technical merit.

That's the only thing Go has going for it.

You just made a claim for java for employability, and now you are lamenting go for it?

The absolute state of this board.

Attached: qmjbIE8.jpg (749x728, 94K)

The absolute state of non-argument. If you throw away employability Go has literally nothing to stand on.

>next generation proprietary memory allocation techniques. (of google)

It's actually useful, not a meme functional language.
>a lot of people listen to Justin Bieber so it must be good
You should stop programming if you think Java is a smart choice for anything.

>strong standard library
>doesn't even have a function to see if a slice/array contains an item
lol

Attached: 1544040876715.png (997x315, 37K)

>intentionally ignoring the other half of the post and literally saying popular=bad
The absolute state of Go apologetics.

why is that a bad thing?

Based.
The damage C did to computing is not measurable.

Am I the only one in this fucking board who has actual professional experience writing Go?
It's an excellent language for its niche, which primarily is good performing backends. The tooling is very solid (every language should have something like gofmt/Prettier), the built in stdlib is ok, it compiles fast and leaves you very little room to fuck up.
The latter is the main problem I have with Go. I'm not sure I ever felt more like a code monkey than when writing Go, a literal half-wit can pump out code with it in no time.
It makes a lot of sense for enterprises and big open source projects as it is very easy for someone new to get started even with large codebases, but I don't understand people who voluntarily write this boring ass language in their free time.

And it seems with v2 they abandon their simplicity-first approach and fuck up the main reason to use this language in the first place, lol.

> If you look closely, those aren't angle brackets, they're characters from the Canadian Aboriginal Syllabics block, which are allowed in Go identifiers. From Go's perspective, that's just one long identifier.

I concur. I have a few years professional experience with Go and I think that it is a great language for large companies writing run-of-the-mill backend services that need to be built quickly and iterated on without any hassle. I'd say Golang is good enough for most usecases, although my main preference nowadays is writing stuff in Rust because although the learning curve is much steeper, productivty is arguably the same as Go once you wrap your head around the quirks of the language.

And yes, I haven't encountered a language with as good tooling as Golang that simply works.

Your argument against it is that it makes well performing, simple, back end applications too easy to make?

I think that's an argument that back end applications 99% are not that special and that most languages are dumb due to legacy baggage

Why are there so many angry discord trannies bashing on C? If it doesnt have the features, syntax, or pleases your autism just walk away nigger. I dont care what you use, and neither does C. Because at the end of the day you discord trannies dont matter in the world where C is relevant.