What can you do with this thing except server backends

What can you do with this thing except server backends

Attached: 2323523525.png (607x318, 17K)

Other urls found in this thread:

gameswithgo.org/
fishshell.com/docs/current/tutorial.html
twitter.com/NSFWRedditImage

>runtime like beam, but good performance
>side effects
>reflection

probably most things except being formally analysed. and being transpiled iirc.

Its actually very good as a systems scripting language to replace bash, Perl, Python. Even though its a compiled language if you run it as
go run filename.go
it will compile and run the program and then delete the binary afterwards.

I ACTUALLY thought about using it as a language for Desktop apps or progressive web apps by wrapping it in Electron for desktop and for PWA in whatever those use. What do you people think?

Attached: 5789578487947304.png (520x308, 184K)

Yeah but why would you use it instead of Bash or Python?

>What do you people think?
about the x40 FFI cost

because it's typesafe

>>runtime like beam
What. How is it comparable at all

Python is typesafe.

No it isn't
>inb4 python 3.6 type annotations
Those are garbage and optional. Also they only apply to function arguments at compile time

Yes, it is.

>strong typing isn't type safe
Get lost, kid. Grown ups are talking.

You are right. I ment strongly typed.

Python is strongly typed.

I write games in it

>Yeah but why would you use it instead of Bash or Python?
Bash is absolute joke, I cant believe anyone still uses it when superior options like zsh and fish exist.

Python is simply a bad language in every respect. At least use Ruby, Ruby is a well designed language with a better designed standard library and better OO than Ruby. But still Ruby is not as good as Go, Go has top class libraries and can lead beyond scripting to build robust utilities.

>At least use Ruby

Attached: trump-looks.jpg (352x351, 45K)

typical response from a Python shill, this is why I hate posting in programming threads, it always gets dragged down to neanderthal level by these lemmings

It isn't. At least the standard implementation is not.

>Python shill
I'm just pointing out that Ruby is a lousy choice for an general purpose scripting language. At least Python has multiple interactive shells that could be used as proper login shell replacements.

The Ruby community is dwindling, and its popularity is sinking. It may be an awesome language, but when nobody uses it, development and progress halts. I would unironically recommend even Perl over Ruby.

Attached: 1426508062597.jpg (336x229, 23K)

It is. You seem to be confusing static/dynamic typing with strong/weak, which honestly makes you look like a retard.

Attached: Untitled.png (294x352, 36K)

>At least Python has multiple interactive shells
are you referring to iPython? because the standard Python interpreter doesnt qualify as a proper login shell

How

>are you referring to iPython?
For example.

>because the standard Python interpreter doesnt qualify as a proper login shell
I agree.

you can 'go' fuck yourself

Attached: goper brainlet.png (185x272, 6K)

Why the fuck does Python have two versions going on at the same time. Shouldn't they stick with 3

Attached: gopher.png (1587x1587, 573K)

Well I actually use it for backend development, but here it goes. before I only used nodejs and python for this, but then I got a small job building a very simple API and decided to do it in golang because I wanted to learn it for a while.

I was able to build it up very quickly with little effort and ended up linking the language a lot, code feels easier to read and understand, almost every library has at least a godoc API reference, I like the auto indent on save and things like warnings about commenting your code out of the box, there is no need for any web framework.

Later I ended up needing to play some local video files on a screen and choosing their order dynamically. Turns out goroutines made playing the videos on one thread and fetch data from an api on another thread dead simple.

Attached: lol no generics.png (698x698, 466K)

some legacy code is written in 2. also, it's not going to be supported soon. i don't think you can get it from the home page of python.org anymore.

idgaf how bad python is. at least i'm productive with it.

How is GO actually doing in terms of popularity? I wanted to learn it but i wouldn't want to learn a dead language

Guidos an idiot, hes not going to get everyone to rewrite all their code just to support unicode and non-important syntax changes. Python3 libraries are often buggy and hacked together copies of Python2 libraries.

Keep using whatever everyone else is using. People who use Go dont blindly follow the crowd

Go has no features so you can learn it in a day.

Attached: just say no.jpg (540x960, 32K)

This was true 10 years ago. Today, Python 3.6 is pretty much the standard adaptation of Python in most installations.

Its not, name me one distro that has Python3 come up when you type python in the console

Ubuntu 1804

Its between the 14th and 17th most popular lang (tiobe,redmonk,pypl) and increasing marketshare

Arch

Termux

In some communities, duck and strong typing are seen as mutually exclusive.

Some communities also see C-style static type declarations as a guarantee that the typing system is strong, while others regard C's typing system as pseudo-strong (or even weak) because of implicit casting.

Have you ever heard of Docker? Kubernetes? Those things are not "server backends" and they're written in Go.

Attached: omar.jpg (984x655, 73K)

There is nothing to learn, Go is designed to be very easy and straightforward so even women and niggers working for Jewgle could learn it.

Attached: its2016.png (848x475, 493K)

functionally pretty comparable imo save for some of the server stuff on top. i mean the green processes.

I was hoping to write commercial network tools in it for normies but all native gui libraries are useless ugly, unoptimized and leaking memory

language would have insane potential with standard gui library

What about GTK/Qt bindings?

Look up github.com/zserge/webview for Go. Btw there are also qt bindings at github.com/therecipe/qt

github.com/therecipe/qt

why is zsh superior to bash?

why doesn't irb serve as a proper login shell replacement?

not touching it until they add better error handling syntax in version 2

Use Electron for the GUI

GUIs aren't a language problem, there's a blessed toolkit for each platform you have no choice over if you want a first class UI

>transpiled
based and transpiled

Build Wasm apps.

>I cant believe anyone still uses it when superior options like zsh and fish exist.
Portability is more important for a shell

>At least use Ruby
Oh look a retard. Count the number of distros that ship Ruby instead of Python in the default install.

What exactly does Go offer that you couldn't achieve with some library?

Library for what

>What exactly does Go offer that you couldn't achieve with some library?
Absolutely nothing, except that Google made it. Go is Not Invented Here in its most distilled form.

All the web server stuff. It seems that's what everyone uses it for

I used to do a lot of small shits in Go, but it got annoying quickly. The only thing I stick using is a RSS reader. Ofc I tried reimplementing in something else, but for this purpose Go was just good:
- parallel http request for each feed
- xml parser
- html template
- http server
so I have rss feed reader with web interface serving on localhost with 0 dependencies.
Tooling is great. Really strips a lot of headache from setting the similar environment for C or C++, kinda the goal of Go.

is pic related your developing machine?

Attached: computahs.jpg (1600x900, 119K)

Nothing.
Why would you? Isn't it good enough that there finally is a language made specifically for server backends that, unlike PHP, is actually good at this job?

Reason go is not adopted widely:
When the hammer tells me I can't use it that way,
or that it's called hammer not hammerlang, I pick
up another hammer.

it was made as a c++ alternative and failed into webdev, nobody at google even uses it

>c++ alternative
Good joke, anyone smart enough to design a language is smart enouh to realize that nothing with a GC can ever be an alternative to C++.

I did a lot of parsers, scrapers and brute force tools with it.
Prolly you can do anything but stuff that is critical to latency or resources (things that would require C++). Maybe it is lame for creating complex gui apps.

python will hit the wall in two years

Just move from the fucking 2 already, 3 is superior in every aspect.

>luark moar

>doesn't have the option of using print as a statement
The hell it is

you shouldn't even be doing that shit in 2.7

Yes I should, it saves four keypresses. If my only goal is to write a program that outputs hello world, Python 2 is objectively the better tool for it.

>Python 2 is objectively the better tool for it
[laughs in UnicodeDecodeError]

>good performance
>barely as fast as java
OH NO HAHAHAHAHAHAHA

Attached: 1514953115406.gif (540x304, 1.78M)

its actually terrible idea to start coding scripts and tools in a language made by a corporation that gives zero shits about their user base, you will face major incompatibilities in less than a year.

>why is zsh superior to bash?
bash syntax has to pipe through to regex utilities like grep/awk/sed and use a bunch of flags just to do simple globbing and fuzzy search syntax that should be built into the language. fish shell takes the ideas of zsh and goes even father by cleaning up bash syntax so it looks like Ruby and replaces a lot of the weird unix syntax for built-in utilities with simpler syntax that is more intuitive.

>Portability is more important for a shell
portability means Im afraid to use anything that is new. this is literally why bash is still the number one shell is sys admins are afraid to change anything because they mistakenly think that bash is part of POSIX and they also believe Richard Stallman bullshit about unix utilities being an 'operating system'. its a waste of time to talk with anyone who thinks like this

>Reason go is not adopted widely:
>When the hammer tells me I can't use it that way,
>or that it's called hammer not hammerlang, I pick
>up another hammer.
This is exactly why Go is taking off, Java/C# are really shitty systems/server languages, having forced OO creates too much boilerplate and bloat by having to create classes and objects to do the simplest thing. Its very hard to refactor Java/C# and so you end up with monolithic code that never changes. Go allows you to make really simple code that directly handles the task and yet graft into larger systems with an excellent module system

>faster than a VM with man-millenia of optimizations
>bad performance
Is this some zoomer meme, being retarded is considered the norm?

user...

Attached: DtBDy0SUwAAv1_S.jpg (1200x900, 156K)

BTFO

gameswithgo.org/

Mostly just needs explicit GC I should think.

electron uses fucking web browser
it nicely illustrates how hopeless and retarded modern development is when clueless hipsters are in charge

You really don't

Can't be making particularly good games if they're going to stutter.

>what is pooling

Can you give an example of something that zsh or fish expresses better than bash?

You should check out the tutorial on the fish homepage, it will only take you 10 minutes to read over
fishshell.com/docs/current/tutorial.html

But I will give you highlights just so you see it really is better:

instead of using varname=val it has set syntax
> set -e MyVariable
> env | grep MyVariable
(no output)
The set command above used quotes to ensure that Mister Noodle was one argument. If it had been two arguments, then name would have been a list of length 2. In fact, all variables in fish are really lists, that can contain any number of values, or none at all.

instead of using backticks to evaluate commands it uses parens
echo In (pwd), running (uname)

uses and and or instead of && and ||
> cp file1.txt file1_bak.txt; and echo "Backup successful"; or echo "Backup failed"
Backup failed

Command substitutions are not expanded within quotes. Instead, you can temporarily close the quotes, add the command substitution, and reopen them, all in the same argument:
> touch "testing_"(date +%s)".txt"
> ls *.txt
testing_1360099791.txt

if statements and switch statements are more readable
if grep fish /etc/shells
echo Found fish
else if grep bash /etc/shells
echo Found bash
else
echo Got nothing
end

A fish function is a list of commands, which may optionally take arguments. Unlike other shells, arguments are not passed in "numbered variables" like $1, but instead in a single list $argv. To create a function, use the function builtin:
> function say_hello
echo Hello $argv
end
> say_hello
Hello
> say_hello everybody!
Hello everybody!

sorry, used the wrong code in the first example
> set name 'Mister Noodle'
> echo $name
Mister Noodle

>>runtime like beam
No, it's fucking not. The Go runtime does not support goroutine timeouts, isolation (faults crash the whole process), automatic worker scaling or distribution over multiple machines.
t. Go programmer
Java is only fast, if you have perpetually infinite memory.