ITT: Jow Forums approved programming languages

ITT: Jow Forums approved programming languages
Pic related.

Attached: 1-Rgcubeti6JDVTwMPhcqBCQ.png (400x400, 38K)

Other urls found in this thread:

github.com/dyu/ffi-overhead
twitter.com/SFWRedditVideos

This is not Jow Forums approved.

Attached: pp,550x550.u1.jpg (550x422, 35K)

If Go 2 adds generic it's going to be fucking great.

Go is for drooling retards.

Use C++, the language of the ubermensch.

>garbage collection

it's really nice okay

Attached: Rust_programming_language_black_logo.svg.png (2000x2000, 101K)

Rust
>into the trash it goes.

(You)

C, Scheme.

>go 2

Attached: uhhhh.jpg (640x996, 104K)

Every time I try picking up Go, I get too annoyed with how poorly the language is designed and drop it. It feels almost insulting.

Attached: image.jpg (600x284, 151K)

unironically would love if it they evolved the go mascot every time they released a major version

How is it poorly designed

>huuur no generics
this thread is just an echo chamber for C++ luddites trying to shill their Stockholm Syndrome, if youve been on Jow Forums more than a week youve probably seen a dozen of hese Go rage threads

e,
sph o!reo GgY

Attached: accelerated printing.png (3985x2224, 212K)

C99

Golang isn't Jow Forums approved. Just sayin'.

Attached: ghatestarter.png (1200x1200, 485K)

It's a cool idea but that'd be a nightmare 50 years from now.

Why is Jow Forums not Jow Forums approved?

Why? Pokemon does it with hundreds and hundreds of creatures.

>:= instead of =
for what reason??

elixir

Attached: 1481354.png (400x400, 74K)

It's a short form for declarations.

That's only when you want to declare a variable with automatic type inference.
// First way
var x int = 0
x = 1

// Second way
x := 0
x = 1

Racket

Attached: lisp.png (623x623, 46K)

I don't give a shit about generics.
Everything is just a global function like in old-style PHP. Want to append to a slice? It's not slice.append(elem), it's append(slice, elem). Want to close a channel? It's not channel.close(), it's close(channel). Want to get the length of something? len(list) instead of list.len(). It pollutes the global namespace and makes it feel like all this functionality was bolted on as simple functions because the language lacks a way to better organize them.
And why do imports get their own special syntax? That could easily be done with a tuple, but instead they get their own weird construct for no reason where you can just whitespace-separate strings.
They make a point out of only allowing archaic style for loops too. No "for i in list" here!
Everything about it just screams "this was built for people with a very limited exposure to programming languages to keep them comfortable coming from shitty old languages while giving them fewer opportunities to break things"

pic unrelated
Go is the third worst PL after Python and JS

Since you made a half way intelligent arguement against Go I'll respond. The lists that you are referring to are not global, Go has a module system that namespaces everything. Even when you use an OO language you end up having to use namespaces because OO is a shitty way to manage scope. The advantage to Go is that you dont have to declare a class that holds a list and then create a class with the list data you want and then create another class that will take the class that holds the list and then access its length method that also had to be defined just for that class.
tl:dr OO sucks, time to move on with modules

It's honestly bretty good

OO doesn't suck

>No "for i in list" here!
forgot to comment on this, Go's for loops are very versatile and can do for-in/forEach loop functionality, something I pulled off the internet:
var a [10]string
for i, s := range a {
// type of i is int
// type of s is string
// s == a[i]
g(i, s)
}

>tl:dr OO sucks
Yes obviously, but that doesn't excuse Go's shitty function calling style. Even just having some basic UFCS would completely fix the problem, but they didn't bother.

>for i, s := range a
Yeah see, that's a really shitty loop head compared to for i, s in a, which is what it could have and should have been. It's a very pleasant bit of sugar that been in basically every modern language for a while now.

Why would you use anything but c++ 11 or 17? It's much faster, if you like Google handholding follow the Google style guide, already supports generics, and concurrency isn't as complicated as people make it out to be.

How does the performance of elixir compare to rust or c++/c? I'm very interested in it but my work is very performance focused.

Elixir/Erlang was meant for distributed systems, the network latency is so high when communicating across a local network that language speed is not a major factor

Because Jow Forums is a containment board for subliterate racist schizos that ironically killed Jow Forums. Nobody likes them.

Basically a turtle

>No hygienic macros
>No concepts/type classes
>There's operator overloading but no function overloading
>No CTFE
>No const function
It's still shit. Should I wait for Go 3? Because Rust, D, Nim has most of these basic features.

Modules + Package management LMAO
>C++ cucks will never have something as basic as this

one of the most common bugs in C is using an = sign for checking equality and forgetting to use ==, so := is a more clear assignment syntax which allows = to be what it is commonly used for

scala

Erlang/Elixir is very very slow

Except Go doesn't fix this problem, you can still assign your variables with an `=`; The `:=` symbol is just a shorthand for `var _ =`
God this lang reeks of brainletism but I'm stuck with it.

>Not including Microsoft

python

unless it's a rust thread, in which case go is considered a suitable replacement to c/c++
>2018
>still has null
>retarded error handling, 'just use a for loop!!'
pic also related

definitely not Jow Forums approved, the sjw aspect of the community upsets Jow Forums
Jow Forums astroturfs and shills heavily on Jow Forums and any tech topic tangentially related to politics turns into a full political discussion that is completely offtopic, any criticism of Jow Forums is met with 'libtard leftypol basedboy cuck' and we're just supposed to accept political shitposting on the board because OP mentioned a tech word, it's basically both pro and anti Jow Forums

it has been a pro microsoft board since win8 was announced at least and the win10 launch pushed it over the edge where we had over 2 years of blatant ms shilling

Attached: 1516367107040.png (859x388, 55K)

Thing is, Go has the best IDE support if you are not using Java.
Using anything like .net is out of the question because you don't want your ass sued by patent trolls.
Rust becomes too complicated too easily.
C++ has 0 concept of dep/build/package management.
C is unusable for anything but kernels and drivers
D has no IDEs
Nim is not released
FP langs are not useful

So just Java, it is better than Go and just as fast/faster

For UI bound application, where I am working on, you need lightning fast startup, which Java fails to provide. Sorry.

>pic also related
Go was designed to be easy the same way Java was designed to be easy. Using a systems programming language for userspace utilities and server infrastructure is overkill.

Reminder that Ken Thompson co-designed Go. If Ken uses it then its the right tool for the job.

> Ctrl+F
> Ruby
> 0/0
> C#
> 0/0
There was a reason I stopped visiting this board.

Attached: 1533017423316.jpg (700x876, 308K)

There is no reason to user Ruby for anything
C# is Java with candy sprinkled on top

I won't defend Jow Forums - consumerism, but I can see it's not your only problem.

You can't use an assignment statement where go expects an expression, brainlet. Neither = nor := are accepted in an if statement in go.

You don't have to use JIT.

GraalVM
Even without it I never had a Java application taking longer than 0.1s
Stop writing bloat.

>Neither = nor := are accepted in an if statement in go.
if val1 := val2; val1 == val3 {}

Fine.

*You can't use an assignment statement in the conditional part of an if statement in go

why such an ugly special case syntax when they could just have made statements be expressions like any language should?

val1 is defined only for that condition. It's actually pretty based.

>GraalVM
First of all, I won't use it for the same reason I wouldn't touch .NET, it reeks of patent trolls.
Secondly, Calling I am not sure if that works with GTK wrappers. Calling GTK would cost dearly too as far as I heard.

val1 is a local, scooped symbol

Calling C libraries in Go is expensive too.
github.com/dyu/ffi-overhead

browse Jow Forums for a while and then come back to Jow Forums. can you tell the difference?

>Calling C libraries in Go is expensive too.

>the cost of not having to use a 30 year old set of standard libraries that will literally blow up in your face if you dont do your own manual checking code
priceless

I don't want to make it seem like I'm suggesting rust is better than go as I'm not a programmer, my complaints with go are incredibly minor and in general I think it's probably the better general purpose language by virtue of being an incredibly easy language to hop into while not having nearly as many flaws as something like c# or java
something that struck me as quite odd with go however, and this was with no prior experience using go, is that trying to do something unusual like cross compile for arm can be an absolute nightmare unless you get the gopath voodoo correct, rust by comparison is utterly painless and I've had less issues with cargo than I have with something like pip for some comparison
not in rust baby!
(I'll stop now)

java is pretty decent but as an end user its ui toolkits are awful on every platform especially with high dpi screens, older java programs are basically unusable at this point

ruby is pentesters best kept secret, don't take that away from them

namefag gtfo

Attached: skgrxl9k8g811.jpg (3024x4032, 1.35M)

Total FUD.

What IDE you using for GO? At the moment I'm using vscode, curious what you and others are using.