[ home / rules / faq ] [ overboard / sfw / alt ] [ leftypol / siberia / edu / hobby / tech / games / anime / music / draw / AKM ] [ meta / roulette ] [ cytube / wiki / git ] [ GET / ref / marx / booru / zine ]

/tech/ - Technology

"Technology reveals the active relation of man to nature" - Karl Marx
Name
Options
Subject
Comment
Flag
File
Embed
Password (For file deletion.)

Join our Matrix Chat <=> IRC: #leftypol on Rizon


File: 1671188868595.png (9.16 KB, 215x234, 1616179433994.png)

 No.17973

I'm not a huge fan of go because the language is essentially the fixed gear hipster bicycle of programming language. The whole golang started as essentially another version of the Plan 9 version of C started in the early 1980s. Even the golang mascot is literally a copy of "glenda" the plan 9 mascot:
https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs
The designers of go essentially decided to eschew every advance in programming language theory from after the 1970s and just recreate another version of C: an imperative, structured language with no FP/OOP features, generics, etc. with a focus on distributed systems. Go also has some significant drawbacks, like the fact that concurrency is pretty difficult and error prone, just as it would be in C. That's fine for some use cases but the idea that this could be a generally applicable programming language is nuts. Golang could probably be used in a lot of places where C, C++, Rust, etc. could be used.

But the idea of writing general purpose back end enterprise/web software in it is pretty unappealing to me. I sincerely hope it doesn't catch on in these spaces.

 No.17974

Since when has been fixed gear been a hipster thing

 No.17975

File: 1671190627511.png (373.54 KB, 625x692, hipster.png)

>>17974
fixed gear bikes were a hipster stereotype, along with the, PBR, indie rock, and the "urban counterculture" of the 2000s/2010s.

 No.17976

>>17973
I have to learn go soon for a job. It very much is becoming a general purpose back end language. I don't really see the appeal to it. Manual memory management is very error prone. Memory is cheap, CPU cycles are usually the biggest limitation. JVM languages in general perform well enough and bring with them nice features including type safety, or even relatively strong type systems with languages like scala.

Basically, why use a less powerful tool for the job? What is the positive side of Go besides it being maybe easy to learn? I only see drawbacks.

 No.17977

>>17975
I see, didn't know since hipsters didn't spread here till the late 2010s

 No.17980

>>17976
>What is the positive side of Go besides it being maybe easy to learn? I only see drawbacks.

shorter compile times, which is important for google because they have massive systems which take hours and sometimes days to compile.

AFAIK go also has memory management, which is partly why it doesn't "quite" perform as well as C/C++/Rust.

Golang is really not needed outside FAANG scale systems, just another trend of every company larping as google.

Google uses golang -> we use golang
Google does SRE style devops -> we do SRE
Google does leetcode interviews -> so do we

Basically a bunch of companies want to LARP as google or somehow think that if they do everything just like google they can cargo cult it's success.

 No.17981

>>17980
It's terrifying how many "engineering decisions" are based on superstitions and cargo cult.

 No.17982

>>17980
I have a friend in google. He told me there's a huge huge project where many teams work on. Apparently they developed some incremental compilation and continuous compilation. To my knowledge, google doesn't use Go that much, at least not as much as you'd expect given its their language. They have a bunch of internal languages for single purposes AFAIK.
>>17981
Yep. Or the head of engineering once had a bad experience with X technology or didn't understand how to use Y technology so it is essentially banned in the entire org.

Or the myth of functional programming being extremely hard. Many places have a ban on functional programming because then its hard to get people to maintain them. There's some merit, but for JVM functional programming languages, not really. At least not the virulent allergy. Some ban Kotlin even.

 No.17983

>>17982
>Some ban Kotlin even.
thats absolutely retarded.
>the head of engineering once had a bad experience with X technology or didn't understand how to use Y technology so it is essentially banned in the entire org.
This is basically why lisp is banned at NASA JPL lol

 No.17984

>>17982
Are you talking about Bazel?

 No.17985

>>17983
>thats absolutely retarded.
But then it's so hard to find people to maintain it :^) because kotlin is so ✨functional✨.
Drives me nuts.
>This is basically why lisp is banned at NASA JPL
lmao. What happened?

 No.17990

>>17985
kotlin is just another java google hyped so they dont have to pay oracle money for android.
>lmao. What happened?
some sort of concurrency bug on the mars rover bricked it back in the 90s and cost NASA millions of dollars. It was written in LISP and that got blamed resulting in LISP being banned and now everything's back to being written in C++.

 No.18002

>>17990
Did they expect C++ to have fewer concurrency bugs? Now you have to deal with memory errors, too.

 No.18004

>>17990
>>18002
I can’t find anything on this, except for this webpage where a former lisp programmer at JPL that began working there in the late 80s mentions that it was dropped because of a recommendation at a meeting
https://flownet.com/gat/jpl-lisp.html
I assume it’s because most programmers in the 90s were more familiar with newer languages like C++ and Java and Perl

 No.18023

>>17990
>everything's back to being written in C++.

lmao

 No.18024

>>18023
Why didn't the use Rust?

 No.18039

>>18024
this was in the early 90s before rust was invented. As for today who knows but Rust is probably still too underground and non mainstream, plus now they have people with decades of experience writing cpp

 No.18599

>>17983
>>17990
Would it be a good idea to encourage NASA to use Ada so it will take more good Ada programmers away from programming military shit?

 No.18602

>>18002
The only portable threading library until c++11 was boost::thread, though they probably had a posix environment where pthreads were available to avoid such a beast. I wonder how both compare to the common-lisp quasi-standard bordeaux-threads.
>>18024
They would avoid any language with only a single implementation and no formal language specification whatsoever.
JPL follows a subset of the C++ MISRA coding standards. You can't write such a thing for rust, because it doesn't have the guarantees that let you know what unspecified behaviour to avoid or account for.
The limited hardware support and heavyweight toolchain (compared to C or Lisp) may also factor into the lack of adoption.
>>18039
Please say cxx instead of cpp. Cpp is the c pre-processor.

 No.18797

ugh, I'm less than 0.3 hours into learning this language and I already hate it.

 No.18800

>>18797
why are you learning it

 No.18807

>>18800
I'll be using it at my next job.


Unique IPs: 16

[Return][Go to top] [Catalog] | [Home][Post a Reply]
Delete Post [ ]
[ home / rules / faq ] [ overboard / sfw / alt ] [ leftypol / siberia / edu / hobby / tech / games / anime / music / draw / AKM ] [ meta / roulette ] [ cytube / wiki / git ] [ GET / ref / marx / booru / zine ]