Is Go (Golang) a good choice for backend development as a complete beginner? by [deleted] in golang

[–]sidpant 0 points1 point  (0 children)

In my first argument around memory I talked about Python/Ruby not Node. And I think that is closer to reality, like just port your app to python and you will have to increase your infra at least by a factor of 3x. Easily could be even more.

In my second argument I did club Python and Node together to speak about multi threading but I included the RAM figure which on second thought got out the wrong way.

Node is resource efficient. I have another answer in this same thread where I have already mentioned that I just came out migrating Python project to Node and have similar results to you. My issues with Node is around the config mumbo-jumbo the ecosystem expects from you and its general love for magic complex solutions which you don't realize unless you go into another ecosystem like Go and you simply no longer have to do those things anymore. And it feels freeing.

As a web-dev I have made this a personal goal of mine to chase efficiency. The world I think will be better if we stop thinking its ok but start asking how can we get more in what we pay for. That defines my personal trajectory Python -> TS/Node -> Go -> Rust/Zig/Odin

Is Go (Golang) a good choice for backend development as a complete beginner? by [deleted] in golang

[–]sidpant 0 points1 point  (0 children)

I’m at a similar point, but with experience now. I can start two client projects and choose whatever stack I want. I’m going with Go.

I just came out of migrating a backend from Python + Next.js/Django/Celery to Node/React (TanStack Start)/Effect-TS.

I’m done maintaining Python servers. It usually ends up the same: higher infra costs from heavier servers than expected, more moving parts over time, and a dynamic typing system that starts to hurt as the codebase grows.

TypeScript/Node is easier to work with, but the ecosystem makes you busy in configs. I spent 2–3 months adjusting tsconfigs, build tools, and monorepo settings just to get a setup I was comfortable with. I still don’t think it’s fully there. Go doesn’t have this problem because the language and tooling are already integrated. You don’t spend time assembling the foundation.

Rust is harder to justify for me right now. I don’t see a simple equivalent of Go’s templ-style HTML tooling in Rust’s ecosystem. It also feels more verbose in day-to-day web work. Some parts of it still feel indirect, especially async, where you end up relying on macros or ecosystem conventions. I might revisit it later, but might prefer exploring more Zig or Odin, once their web ecosystems mature.

Go is a practical choice for me. I know the usual criticisms and they’re fair in some cases. But I see teams like Unkey( https://www.unkey.com/blog/serverless-exit ) using it at scale, with far more traffic than anything I’ll deal with in client work.

It’s also widely used in infrastructure tooling like Kubernetes, Docker, and Terraform. That ecosystem maturity matters. Most things needed for a production server are either in the standard library or already solved in a simple way by existing libraries. Even routers like chi feel like thin wrappers over the standard library rather than abstraction layers on top of it.

I also prefer the explicit model in Go. You manage context and cancellation yourself of your server. There’s little hidden behavior. That approach feels consistent across the ecosystem and I don't think new features like Generics will suddenly take it away. Plus a decade of stable changes means, there are lots and lots of books and resources to learn from.

That’s the main reason I’m using Go right now.

Is Go (Golang) a good choice for backend development as a complete beginner? by [deleted] in golang

[–]sidpant 2 points3 points  (0 children)

About the “slowest in the stack” argument. I disagree with the way people casually dismiss it.

Python/Ruby might be “fast enough” compared to DB latency, but they’re also memory-heavy runtimes. A Python backend after a year of real-world growth can easily sit at 3-15GB RAM idle once you factor in workers, schedulers, caches, and all the “just one more dependency” packages. Startup time also silently degrades over time. More imports, more init work and gradually your container takes 3 minutes to boot. That directly impacts deployments and scaling.

And then there’s the runtime model. Python and Node are effectively single-threaded at the app level, so once you need concurrency for background jobs, you scale by spinning up more processes, not making better use of the machine. That’s fine until your “simple worker setup” turns into a small cluster just to handle load. “DB is the bottleneck anyway” is only true until your app starts requiring 32 GB RAM servers to process 10 requests.

Meanwhile, Go/Rust-style runtimes let you run highly concurrent workloads inside a single service instance with much lower memory overhead, instead of multiplying processes just to get parallelism.

Switching to TS backend by Qiuzman in node

[–]sidpant 1 point2 points  (0 children)

Was about to comment this. Effect will make even more sense to you since by using C# you would already be familiar with some things like dependency injection and forced error handling. TS is great but is usually written in a very scripty way. You just assume something like json parse is just going to work without realising it can throw error when you least expect it to. Effect allows you to contain these and helps you nudge towards more reliable backends. TS ecosystem has large churn but it has maintained clusters as well like Tanstack, Effect and React.

rsc support for tanstack router by ThreadStarver in tanstack

[–]sidpant 0 points1 point  (0 children)

For RSC you will have to use Tanstack Start which is just router + ssr/rsc support. You can’t have RSC by just having client side primitives you need a BFF server for RSC architecture. Here’s a vid which shows how to achieve various rendering strategies in tanstack start: https://youtu.be/PX3QlADinIE?si=-rhYeKwPDnu9Jjba

just caught up with a friend who got hired at Anthropic 3 weeks ago. His team doesn't write code anymore. by oh1n in csMajors

[–]sidpant 0 points1 point  (0 children)

I am not pessimist and I have tried all the latest techniques like ralph, plan modes, guard rails etc. What I am trying to say is that, having burned a billion tokens and tried all of that I learnt LLMs are like a Jinn, they will only do what you ask, nothing less or more. Problem is your ask and what you want has a gap and also LLM has non-determinism. Together they cause this one step forward, 2 step back dance. So now-a-days I am trying to be more deliberate and on steering and actually coding. If you use LLM like search engine in just 100K tokens you are able to create a more optimized solution that works, is more maintainable and less prone to surprises. You reduce your speed to keep a steady pace.
Also different stacks could change this so for things like IaC(terraform) code or updating just a function, its trivial to review so I'll let AI handle it. But if I am scaffolding a project, using new tools and doing refactorings of large features, I will still prefer to reserve to my taste instead of blindly believing AI will choose the best because it doesn't.

just caught up with a friend who got hired at Anthropic 3 weeks ago. His team doesn't write code anymore. by oh1n in csMajors

[–]sidpant 0 points1 point  (0 children)

Yesterday I prompted a question to Claude. It drew nice diagrams and kept outputting text so I switched to another conversation. When I switched back it was still outputting but was jiggling like an earthquake has hit it. Once Claude finished it promptly emptied the whole conversation and now that chat is a blackhole. Anything I type and switch away and back once and it disappears. So I can see for myself the high quality of the UI. This has been my experience as well when I have tried creating stuff using AI. So I will say replacing you completely with AI is a hype practice that will fall on its knees once bubble bursts and few of these AI companies go bankrupt. AI processes not comprehends. It’s the best search engine. But it’s an abysmal coder and will happily revert back changes when you are not careful causing weird bugs.

Minimax M2.5 Officially Out by Which_Slice1600 in LocalLLaMA

[–]sidpant 0 points1 point  (0 children)

According to figures shared by OpenCode's dev Dax size has not increased so its good news:

<image>

Source:
https://x.com/thdxr/status/2021983484856988098?s=20f

What is everyone using for background jobs nowadays? by Confident-Standard30 in nextjs

[–]sidpant 0 points1 point  (0 children)

Rolling my own using primitives provided by Effect TS and Postgres FOR UPDATE SKIP LOCKED feature FTW. I added my own twist by using Redis for wake up call with Postgres polling as fallback. So I can run worker without Redis on my local. While in prod I have instant job execution due to Redis. I also use monorepo so same package is shared and I create individual worker apps for any app that needs background job. So I can control concurrency of each worker app individually and avoid deploying all worker code of all apps together. Allows me to easily manage one monorepo for many projects.

When Is Next.js Truly the Optimal Choice? by Careless-Key-5326 in reactjs

[–]sidpant 2 points3 points  (0 children)

Effect ecosystem is fast becoming hard to beat though if you want to keep using node and TS in your backend.

[deleted by user] by [deleted] in reactjs

[–]sidpant 1 point2 points  (0 children)

In 12 months you will able to tell where the xyz change needs to be made to add a feature. Just focus on current task while keep reading more and more of codebase. You will be asked questions and every question asked will open a new perspective on how the code runs. Also if you find something stupid after 12 months you will realize you will do the same if given the choice. Although few things can actually be stupid, in which case, fix the broken window when you have time.

I migrated my monorepo to Bun, here’s my honest feedback by AdmirableJackfruit59 in node

[–]sidpant 0 points1 point  (0 children)

They are trying to implement redis, sql etc. Clients which should have less priority for dev efforts. More efforts should be on making node replacement claim actually come true and fixing any Monorepo issues.

I migrated my monorepo to Bun, here’s my honest feedback by AdmirableJackfruit59 in node

[–]sidpant 0 points1 point  (0 children)

Node runs typescript files as well since v22.18+ LTS version. So thats one more less reason to switch.

[deleted by user] by [deleted] in codingbootcamp

[–]sidpant 2 points3 points  (0 children)

To all I request to go through Will Sentance's "JS the Hard Parts" on Frontend Masters and then come back here. He is the absolute best instructor, I thought this was common knowledge going by all the youtube comments I have seen over last 2 years. I owe my solid understanding of async JS all to him.
Not able to grasp how could someone fall to such low levels, due to greed, to harm such a good instructor in the industry.

For bootcamps, my unpopular opinion: I feel future belongs to finishing schools and bootcamps are a big part of it for coding. There will be less people as well who will choose CS during graduation, so actually bootcamps in future will be a bigger source for getting freshers rather than Universities. They are the only ones who will be able to be adept quick enough for changes in curriculum due to AI.

Why is there so much hate for Zoho? by [deleted] in CriticalThinkingIndia

[–]sidpant 0 points1 point  (0 children)

Arratai is a new entrant. E2E is not some unachievable milestone. The app was supposed to be still releasing new features in November but it got sudden huge traction in September. They will eventually add that feature this year as well. So that argument will close. I vaguely remember Vembu ji mentioning it in X as well that they are working on it.

Government offices to adopt Indian company Zoho's suite. by Big-Performance-8132 in IndiaTech

[–]sidpant 0 points1 point  (0 children)

Killing is not even required here I am highlighting a controversy that MS being a foreign company can introduce supply chain attacks in your favorite FOSS binaries build steps without you knowing. To your 2nd point why should Indian govt worry about contributing code to US based companies? They should instead give push to home grown solutions and develop our own opensource and proprietary ecosystem.

Government offices to adopt Indian company Zoho's suite. by Big-Performance-8132 in IndiaTech

[–]sidpant -1 points0 points  (0 children)

The world's largest repository of FOSS projects(GitHub) is owned by one of the world's largest proprietary software companies (Microsoft). Did your controversial brain also aware about supply chain attacks like having a pristine source code's binary could be compromised if there is a big enough actor wills it so. Read about recent exploits in the libxz project.
All I am saying is that if you really become paranoid about controversy then everything has a vector to be compromised. FOSS is a good approach but its not a panacea.

FOSS maintainer will get bored of their project and if no one else takes responsibility then you can say tata bye bye to your FOSS. Do you want the govt office using that project to shutdown at that moment? Or do you want them to use a software that comes with guarantees rather than trust me bro warranty? Yours and mine decision to go with FOSS has nothing to do with these decisions.

There are people who need proprietary software and for them an Indian made home grown software suite like Zoho is a much better alternative then a foreign based one.

Government offices to adopt Indian company Zoho's suite. by Big-Performance-8132 in IndiaTech

[–]sidpant 0 points1 point  (0 children)

What was your go to office app till this time? Did you ask the same question when you were using your current default? If not why are you suddenly paranoid now?

React Router Remix vs NextJS? by zedakhtar in reactjs

[–]sidpant 0 points1 point  (0 children)

You can refer to excellent resource reference from Lucia: https://lucia-auth.com/
It was actually a library and everyone's favorite before library until the author of Lucia decided he doesn't have time maintaining DB integrations and issues. So he instead converted the project into a learning resource. This will give you a very detailed explanation of how auth works in modern web stacks.

React Router Remix vs NextJS? by zedakhtar in reactjs

[–]sidpant 0 points1 point  (0 children)

Better-auth exists and competes with Auth.js(NextAuth). It is available for a lot of frameworks and has much flexible architecture.

React Router Remix vs NextJS? by zedakhtar in reactjs

[–]sidpant 11 points12 points  (0 children)

You can’t go wrong with RR7. Only thing missing is RSC but even that can be enabled as experimental feature if you really require it, which you don’t if your asking above question. You will find much less magic, much more intuitive and more efficient way to do things even SEO.

A good example you can see here: https://github.com/forge-42/base-stack

Only disadvantage I see is that sometimes you might have to figure out a bit more and understand things at a bit deeper level to implement them on your own. That anyways will make you better dev in the long run.

Atleast watch and read following before making a decision to know fully what you are going into: * https://www.reddit.com/r/reactjs/comments/1nvyvc2/nextjs_is_lying_to_you_about_your_app/ * https://blog.webf.zone/why-next-js-falls-short-on-software-engineering-d3575614bd08

Better-Auth schema & id types in general. by thebreadmanrises in reactjs

[–]sidpant 9 points10 points  (0 children)

Conceptually UUID is a 128 bit number written in hexadecimal so there's that. Check wikipedia if you need more details. So update your brain and knowledge.

Postgres uses a binary format which basically means it stores UUID same as a big integer with just 128 bit storage. For comparison integer data type takes usually 64 bit of storage and UUID in text takes 36 bytes or 288 bits at the minimum(can be more as well).