Has there been any other language that got BTFO so hard?
github.com
nomad.so
Has there been any other language that got BTFO so hard?
github.com
nomad.so
>nomad.so
>I’ve written before about Go and how I was initially pretty unimpressed with the over simplicity and parenting that is forced upon you. However, over time I’ve come to enjoy using Go to the point that every new project I tackle, Go is the first language I consider. In my opinion, it’s unsurpassed for cross-platform support, tooling and libraries. The language itself is simple and straightforward and the concurrency support is second to none. It really is an absolute joy to create concurrent programs in such a simple, robust way. I, like many people, just enjoy using Go. So what’s the problem?
just sayin
>not c
all other languages FUCKING BTFO
>github.com
>c-style
>no OOP
>has pointers
>no exceptions
>no operator overloading
>is compiled
those are all positives
and the rest are mostly opinions
>has pointers
>but no pointer arithmatics
top kek. Somehow it managed to come with the downsides but no merits of C
You can have pointer arithmetic with the unsafe module.
>is compiled
>a bad thing
>list riddled with poor criticism from 8 years ago before the first stable release
>complains features have more value than liking that feature for some reason
>language needs to reimplement the wheel of VCS
>it isn't
So many of them miss any actual thing to criticize for.
lol no generics
Which is appropriate since (pointer + 1) != (int + 1) .
>everyone complaining about all programming languages all the time
motherfuckers what am I supposed to learn then
COBOL
a := make([]int , 10)
for i := 0; i < len(a); i++ { // has foreach but no range?
a[i] = i
}
b := a[0:len(a)]
c := a[5:len(a)-2]
fmt.Println(a, b, c)
[0 1 2 3 4 5 6 7 8 9] [0 1 2 3 4 5 6 7 8 9] [5 6 7 8]
c[0] = 333
c = append(c, 666)
fmt.Println(a, b, c)
[0 1 2 3 4 333 6 7 8 666] [0 1 2 3 4 333 6 7 8 666] [333 6 7 8 666]
appending to slice mutates underlying array and thus other slices
c = append(c, 42)
c[1] = 420
fmt.Println(a, b, c)
[0 1 2 3 4 333 6 7 8 666] [0 1 2 3 4 333 6 7 8 666] [333 420 7 8 666 42]
c got reallocated, is now a different place in memory and has no side effect on original array
just why, this is so stupid
>has foreach but no range?
for i,elem:= range a {
it has keyword 'range' for foreach but no range as in iteration over range of integers so you have to use the C notation
Oh you mean something 1...n.
Yeah, Go uses C-style fors.
Go is a programming language for people who are trying to get things done.
If you are the type of "intelligent" programmer who makes every class type-parametric for "future flexibility" please go somewhere else.
The spec tells you exactly what it does, stop trying to be a smart ass. Rust slices would show exactly the same behaviour if you could mutate them.
What you want would require two pointer dereferences for every item access which is just retarded, because what you're doing is a huge code smell anyway.
It also lacks iterators and generators unless doing some workaround and sending it through channels, but seeing how lax it is regarding mutability it's probably not realistic transition like python had.
>What you want would require two pointer dereferences
or append to always realloc when array is referenced elsewhere which is easy to check since it's GC language
>spec tells you exactly
reminder that JS specs also describe all that weird type behaviour
>has pointers
Can someone explain to me why that's a bad thing ?
why choose go when Dart exists? it's got a much saner syntax, even if it _does_ compile to bytecode
dynamic typing is disgusting
no one fucking cares about your pet features gaylord
for i := range [5]struct{}{} { ... }
shouldn't use any storage space for the array as far as i know. want a generator? write one.
machine code
>dynamic
what is dartlang.org
>who makes every class type-parametric for "future flexibility" please go somewhere else.
>thinking in classes
Dumb bitch.
Also anyone who understands functional programming and is using a proper language writes code almost all the time that will be composable with no conscious effort and has uses beyond the one it was designed for.