Go was intentionally and explicitly designed to not have any features that would allow your retarded coworkers to make a clusterfuck. Hence no inheritance, no exceptions, garbage collection, mandatory explicit type casting, and very limited reflection capabilities.
Conversation
Notices
-
gentoobro (gentoobro@shitpost.cloud)'s status on Thursday, 23-Jan-2025 09:16:07 JST gentoobro -
† top dog :pedomustdie: (dcc@annihilation.social)'s status on Thursday, 23-Jan-2025 09:16:06 JST † top dog :pedomustdie: @gentoobro @waltercool @PalePimp @sun @genmaicha @newt @ageha Btw what lang is the best for a static web backend? / being able to interface with a db?. -
gentoobro (gentoobro@shitpost.cloud)'s status on Thursday, 23-Jan-2025 09:22:19 JST gentoobro Oh, and I would use Node for the first case only because I have a lot of years of professional experience with it. You might prefer Python or whatever you have experience with.
† top dog :pedomustdie: likes this. -
gentoobro (gentoobro@shitpost.cloud)'s status on Thursday, 23-Jan-2025 09:22:20 JST gentoobro A loaded question.
If I want something quick and dirty that uses websockets, I'll whip it up in Node (ES5 only) using Express and like 5 other packages.
These days I've been writing a git web hosting platform in C. With some macros and garbage collection, you can make pages quickly and in few lines of code.
For something at a job where retards might touch it one day, hard to beat Go.
† top dog :pedomustdie: likes this. -
† top dog :pedomustdie: (dcc@annihilation.social)'s status on Thursday, 23-Jan-2025 09:25:12 JST † top dog :pedomustdie: @gentoobro @waltercool @PalePimp @sun @genmaicha @newt @ageha I should give you the use case then, vps biz (mine) and i need to create a front end (allows payment, acess to vm) and the backend to support that. Can c be used in such way or should i just use go? -
gentoobro (gentoobro@shitpost.cloud)'s status on Thursday, 23-Jan-2025 09:39:11 JST gentoobro Prolly should use Node or Python, honestly, due to the payment processing. There will be existing modules to handle whatever API your processor uses, including all the encryption and stuff. Go could do it, but you really just need something quick and dirty it sounds like.
Personally, I would do it in C, but to be fair I'm somewhat of a jaded, grumpy developer who is increasingly annoyed with having to touch glitchy bullshit and is willing to wade through OpenSSL documentation at 2am to avoid it.
† top dog :pedomustdie: likes this. -
† top dog :pedomustdie: (dcc@annihilation.social)'s status on Thursday, 23-Jan-2025 09:43:28 JST † top dog :pedomustdie: @gentoobro @waltercool @PalePimp @sun @genmaicha @newt @ageha > should use Node or Python
No way, i need to make sure this works "forever". Now i do know some c i just don't know if i could the get the static web pages to. (i would like be done in a month or two) -
gentoobro (gentoobro@shitpost.cloud)'s status on Thursday, 23-Jan-2025 09:48:04 JST gentoobro Then go with Go. They have some sort of backwards compatibility guarantee in their spec.
If you just know "some C", then you'll get bogged down nearly immediately trying to make a proper threaded SCGI handler.
† top dog :pedomustdie: likes this. -
† top dog :pedomustdie: (dcc@annihilation.social)'s status on Thursday, 23-Jan-2025 09:48:44 JST † top dog :pedomustdie: @gentoobro @waltercool @PalePimp @sun @genmaicha @newt @ageha Can't use just implement that using cgi? -
gentoobro (gentoobro@shitpost.cloud)'s status on Thursday, 23-Jan-2025 09:54:51 JST gentoobro CGI involves spawning a new process every time there's a request. SCGI listens to nginx on a persistent socket, and as such allows everything to stay in a single process. This means you can do simple, in-process synchronization between threads rather than having to fuck around with clunky IPC.
† top dog :pedomustdie: likes this. -
† top dog :pedomustdie: (dcc@annihilation.social)'s status on Thursday, 23-Jan-2025 09:57:35 JST † top dog :pedomustdie: @gentoobro @waltercool @PalePimp @sun @genmaicha @newt @ageha (i'm using apache fuck nginks) anyways, i might just go since i know of more examples for this use case (and p knows go) so it might be the right stuff for rn. And i can always chnage the backend for whatever i like since i'm either going to use sqlite or libsql -
gentoobro (gentoobro@shitpost.cloud)'s status on Thursday, 23-Jan-2025 10:03:36 JST gentoobro Apache
Or whatever you're using for SSL termination. Same difference.
With Go, you're probably best off to use a full web server module and set Apache up as a reverse proxy. Threading is trivial in Go.
† top dog :pedomustdie: likes this. -
† top dog :pedomustdie: (dcc@annihilation.social)'s status on Thursday, 23-Jan-2025 10:05:08 JST † top dog :pedomustdie: @gentoobro @waltercool @PalePimp @sun @genmaicha @newt @ageha >up as a reverse proxy
P much, as db things go i have a total of no idea about how to add remove or interplace (allow access or not) so that is going to be fun, -
gentoobro (gentoobro@shitpost.cloud)'s status on Thursday, 23-Jan-2025 10:11:21 JST gentoobro Learn about joins and "database normalization". It will save you headaches later on when you suddenly need to support having multiple phone numbers or email addresses for some reason.
† top dog :pedomustdie: likes this. -
Angry Sun (sun@shitposter.world)'s status on Thursday, 23-Jan-2025 12:38:10 JST Angry Sun @gentoobro @waltercool @PalePimp @genmaicha @newt @ageha that's fair. I don't think I am a genius but damn Go is way too restrictive for me. Elixir is kind of hard but I can do it. -
gentoobro (gentoobro@shitpost.cloud)'s status on Thursday, 23-Jan-2025 12:38:11 JST gentoobro I agree, but the problem is retarded managers who can't tell good devs from bad ones, and "architecture astronauts" who think the entire app should be implemented using template metaprogramming.
-
Angry Sun (sun@shitposter.world)'s status on Thursday, 23-Jan-2025 12:38:12 JST Angry Sun @gentoobro @waltercool @PalePimp @genmaicha @newt @ageha if you are too stupid to handle typing a vector class then you should get a different job. it blows my mind this was made for googlers, who are supposed to be some of the best -
gentoobro (gentoobro@shitpost.cloud)'s status on Thursday, 23-Jan-2025 12:38:50 JST gentoobro I find that most functional programming languages have too high of a cognitive base load to do sophisticated things with them. It feels cool to map-reduce-filter everything, but a for loop uses less brain power, which means more brain power is left over for the actual task. When you're making trivial web apps it doesn't matter too much, but the cognitive load becomes prohibitive when you can barely understand a complicated task in the first place.
C in bare form has a similar problem in that there are no data structures included. The first task for anyone using C is to make or include a good, capable, terse data structure library that has dynamic arrays and hash tables (arbitrary key and value) at a bare minimum. Anything less is an exercise in insanity.
-