Hacker News new | ask | show | jobs
by cyneox 1442 days ago
Speaking for myself: For someone who didn't have a software engineering background (for the last decade I was mainly doing offensive Security stuff) probably the main choice would be Python. However, at some point I've felt in love with statically typed languages: The compiler became my biggest friend and I learned about the benefits of having "contracts" (in form of interfaces, strict parameter types for methods etc.) between (software) components.

That's why I've spent the last years learning Go. It taught me how to design bigger projects and how to tackle architectural problems in an easy/comprehensive way. I didn't try Rust yet because I didn't have to. I mainly code software/tools to work in cloud environments and HTTP/gRPC technologies. Under these circumstances Golang performs quite well.

For me it's true that Go "is better for getting things done": You'll get one statically linked binary that can be executed almost everywhere (without further dependencies). I'm a big fan of serverless and I wrote simple applications that currently run in AWS Lambda and Netlify (they also used Lambda under the hood). And more recently I got into web development where Golang is again my main choice (at least for the backend part). For frontend I would rather go for VueJS/React. And that's one reason why I've started to learn TypeScript.

I don't have that much experience in TS but I guess I could easily replace Golang by TS to do simple things (HTTP requests, JSON parsing etc.), especially in a Serverless environment.

While my Golang journey was accompanied by this "Golang vs Rust" debate, I do plan to learn Rust as well. But as I've mentioned before, currently I don't have any needs to do so. My advice would be: Learn both (for backend) and some TypeScript (for frontend).

Just my 2 cents...

1 comments

Thanks! Interesting to hear from someone who started with Go and transitioned to TS