Go Language

What do you think about Go? Does it have any potential?

Afaik, some university CS professor i talked to is amazed by it, use it all the time in webdev and he thinks it's the future

I literally don't know anything about webdev, i'm just a c# noob and i wonder would it be better to focus on ASP or learn Go right away?

Is there any consensus here on Sup Forums about Go, i rarely see any threads about it

Other urls found in this thread:

github.com/Yardanico/nimpylib
nomad.so/2015/03/why-gos-design-is-a-disservice-to-intelligent-programmers/
github.com/cheekybits/genny
twitter.com/NSFWRedditImage

shit language
learn Python instead

apparently it's fast as fuk, way faster than python

>ASP
Probably harder to get into since it's proprietary. Does have wide industry adoption.
>Go
Many free resources and open source community. Does have decent industry adoption.
That's what you need to know about it for webdev. Go is suitable for any kind of web project.

asp is open source user

Open source is not related to proprietary. Technically Go is proprietary too. I meant you're restricting yourself infrastructure-wise. Go is rather agnostic as far as how you deploy it, you just need your binary and you're set. You can have it be a raw server or put it behind nginx or anything.

and 5 times as verbose
also you don't have any application that need Go speed user, don't fool yourself

>What do you think about Go?
Embarrassment of modern programming languages.
> Does it have any potential?
Who knows? We all know how Dart or Typescript "killed" JavaScript, Kotlin "replaced" Java, and Fuschia "replaced" Linux

>Protip:
Side projects never succeeds

Actually, Nim is very fast. They haven't reached version 1 yet but they already ported python's standard library into Nim

>they already ported python's standard library into Nim
source?

>Embarrassment of modern programming languages.

why is that?

Only reason i consider go as language of choice is because google is behind it, that means it won't fail that easily

github.com/Yardanico/nimpylib

>that means it won't fail that easily
Dart

>using language with single digit users
lmaoing at your life

nomad.so/2015/03/why-gos-design-is-a-disservice-to-intelligent-programmers/

It's not out yet

Remember user, for Sup Forums any successful language is an embarrassment. Soon some guy will show up telling you to write your app in ADT.

...

I know that, i learn c# and it's really fun. I just want to see if Go has any future whatsoever, seems to me it has but i don't know a lot of things

It's used in production by very relevant projects (examples include Docker and Dropbox), if you like C# then learn ASP first. Nothing prevents you from looking into Go afterwards. They will both allow you to write any kind of app you want.

If you want to do webshit, yeah why not.
It's not like you are bright enough to grasp brilliant languages. Turn off your brain and keep writing duplicate code, that's where you are good at.

t. R Pike

>use flag instead of os.Args, which would be the equivalent of what the D code does, just to make the code longer
stopped reading there

It has metaprogramming that makes C look good and a type system that makes C++ look good.
Think about that for a moment.

Don't know about the rest, but given how backwards those first two things are, I'm sure it will make something else look good.

Hi
I have 2 arrays. One of them are ints and the other ones are doubles.

How many sort functions would I have to write in Go if there were no sorting function imported?

1

penis

I like that go compiled into binary. I'm doing some tool for me with web-interface and it's single binary that serves built-in html/css/js from itself without relying on apache(nginx/etc), cron for timing and so on. Just a binary, systemd service or init script for launch and it will do eveything by itself.

Can you show how it's done? You are not going to do any type conversion, are you?

Meh. Static typing with no generics is a serious flaw. I like how it dispenses with most of the bloat of a modern OOP language.

github.com/cheekybits/genny

>With generics
Too bad go doesn't have generics

>his language needs a separate preprocessor to have generics
Christ, it's like old school Java all over again.

Is this the mentality of Go haters? Just look how it's done in std library.

- single sorting function working in interface sort.Interface
- sort.Interface specifies functions Len(), Less(i, j), Swap(i, j), it's meant for collection, not for type itself
- implement these functions on array of your types (already in fort primitive types) and your array is now sortable by that function

Java has Generics
Heck, it even has higher order functions

Yeah but how many times do I have to write this function? One for each type?

Sad.

>old school
Java didn't have generics until Java 5. Even now it's little more than a cast macro with loose type checking.

Also Java's lambdas are rather weak too.

no, one for interface sort.Interface

It's kind of worse than the C preprocessor.
C textual replacements may be shit, but at least they are standardised texual replacements, unlike this crap.

post yfw ANSI C has more support for generics than Go

>support for generics
It's called "metaprogramming", user.

They are not synonymous

That's my point. You can use the C preprocessor for generics, but it is even worse at that than at the usual simple replacements it is usually used for.

what did Pike mean by "brilliant languages"? Go is not much faster than Java or C#, and they're both pretty easy (especially if you take Kotlin or Groovy instead of Java)

Go is like the smallest overlap of programming languages. If you know something like Java or C you can learn Go in two days and get cracking.

This has good sides and bad sides.

Bad sides:
Google. (How could you, Rob..?)
Also Go is really verbose, basically because it's not a powerfull language. You want some basic functions like map/reduce/filter? Go, write it yourself ! (no pun intended)
Furthermore Go is a trade-off langauge, a middle ground. Python or Ruby are more productive. C is more low level. Java is more powerfull. But you could also say: Ruby or Python runs much slower. C has much more pitfalls. Java is not compiled to machine code.


Good sides:
You don't have to actually learn Go, apart from Go channels there is nothing really new. Also Go is funny to write, it's just flows from your fingers. It's somehow the opposite of langauges like Haskell or Scala: Instead of reasoning 10 minutes and then writing two extremely powerfull lines you write 50 lines, but you don't have to think about it a lot. This is somehow bothersome (and reminds me of Java), but it's also great because you feel like you acctually accomplished a lot (many LOC = good feeling). Also it's much easier to reason about code, in langauges like Scala it can be very hard to understand what exactly the code is doing since a lot of things happen implicitly. In a certain way Go took the Python philosophy of "explicit is better than implicit" to the next level..


Summary:
Go is doing well and rightfully so. It might always be considered the "brainlets" language, but it's a good designed language that is really fun to write. It takes care of so many tideous things (indenting your code for you). It's like playing with Lego: you simply learn how the tiny parts work to gether and start playing.
It's concurrency is not the same power level as Elixir/Erlang, but it's super simple and easy to use. Go makes concurrency fun.

Will you publish it to github? I'd be interested

Maybe? I don't really think someone else want it anyway. It's rss-client for transmission-daemon. There is flexget, which is more powerful than anything i'm going to do, but i just want to be able to edit/add rules from my tablet. And almost entire application made from existing libraries.