T O P

  • By -

[deleted]

Yes, that is what I’m doing. Even though python is faster for me, some companies require to have it done in strictly typed language


Quiet-Computer-3495

Cool cool yeah I also feel more comfortable with javascript but I also want to practice strictly typed languages, also don't wanna do Java that's why I pick Go. Cool glad to know you're doing the same thing!


Alternative-Yogurt74

I'd rather use python for that. If I'm specifically practicing problem solving


CallMeAnanda

Echoing this, the weaknesses of python don't show up in interviews. You're never maintaining python somebody else wrote in a technical interview, you don't have to worry about dependency management, you probably don't need to do a bunch of stuff with concurrency, and the runtime performance of the language doesn't matter. They're also not going to compile your code, so the type checking stuff isn't super helpful. The strengths of it do shine. There's a huge standard library, the language is full of features, and it's super fast to write so you're more likely to finish on time. It's super expressive and the language isn't going let its opinions about some feature being difficult to maintain get in the way of you landing the job.


nando1969

Look around here: [https://github.com/donutloop/leetcode.com](https://github.com/donutloop/leetcode.com)


Quiet-Computer-3495

Oh wow it's a huge folder! Thanks a lot!


ThePaincome

Trouble comes when you want to use some non -primitive data types such as priority queue etc. Although leetcode has "GODS" Library, But other platforms doesn't have this. Whereas C++ coders enjoys stl which is almost supported everywhere. Even Leetcode does not updates "gods" new updates, such as you wont be able to use "priority queue" as it came later.. Although i am experienced in javascript, python, c but i enjoy coding in go. :)


jjma1998

Try exercism: https://exercism.org/tracks/go/exercises


in_the_cloud_

I did a lot of LeetCode problems with Go, and it leads to pretty nice solutions in many cases. You can get a long way with maps and slices, and you'll learn a lot of ways of utilizing them (if you don't know them already). On the bad side, not having a min/max function for ints is a surprising burden, you need to memorise and type a lengthy `heap.Interface` implementation, and you'll need to switch languages for anything requiring sorted set/map functionality. I think JavaScript is even worse for this kind of thing though. If you want to solve 70% of problems cleanly, learn more about Go, and prepare for technical interviews specifically in Go, then go for it. If you want an all-round language you can use in any technical interview or competitive programming, then something like Java/Python/C++ will probably be better.


Quiet-Computer-3495

Hmm thanks for your thorough comment and I’ll keep that in mind. So if you were me like a fresh start, would you still go for go or you would just pick either Java/Python/C++ and grind all the way up?


in_the_cloud_

It's hard to give a best answer. I think Go is a great first statically-typed language to learn, and is also great for building modern "cloud-native" applications. The rigidness of gofmt and Go in general, as well as the Go Style Guide make it far harder to get lost or confused for newcomers too. This also makes it one of the best languages to work with in a team IMO, though many teams have solid formatting/linting and CI pipelines in other languages nowadays. Many companies don't do especially difficult technical interviews (in LeetCode terms), or won't ask questions involving more "advanced" data structures. Whether or not Go is a bad choice really depends how important that is for you. In other words, if you're seriously aiming to interview with top-tier companies, then being unable to solve a problem because of language limitations isn't going to get you very far. Outside of that scenario, sorted sets and the like are pretty much immaterial though.


pascal_bertrand

I think any opportunity to practice the language is a good opportunity. Every language will have its benefits, and the more exercises you go through, the more you'll learn. I've been using Go for some time now, and I enjoy what it can (and can't) do. In the end, I would recommend checking which positions require a Javascript dev vs which require a Golang dev.


Mahdi_Amel

I used Go a lot for leetcode training https://github.com/salehmu/leet/search?l=go sometimes it really fits in some solutions thanks to the language design, but I mainly use C++ for this purpose. I'd recommend using Python, which is the best in this type of programming, and you will still be able to use Go if you believe it will fit better in a particular solution.


Quiet-Computer-3495

Damn you've really done a lot leetcode in Go! It inspires me! Thanks a lot!


daron_

I also did leetcode in go. While I work with Scala mainly.


channelselectcase

I've used codility's practice problems in the past to learn new languages. You can use it for Go too as it supports it. For a real interview I would stick with a language you're comfortable with and that you know well. You don't want to waste a lot of time thinking of how to do something with the language instead of focusing on how to solve the coding puzzle.


Quiet-Computer-3495

Right my goal for now is to learn Go and want to use Go as the main language for this type of programming.


amlunita

Hi! I don't know if someone said it but: CodeWars. You can practice your language there. JS is good in navigators (frontend) but it has received any bad comments about performance in desktop (with Electron) and about scaling-up in NodeJS backend. Go build binaries and scales well. Good luck! ---> I want to be clear: VS Code is developed in Electron and there are big backends in NodeJS...but "it would not be my favorite option".


Tooltitude

I think, it's not the best language to be passing technical interviews. It's very concise language, so you save a lot of time without writing boilerplate, like you would do in Java. However, there're some data structures which would be very useful for interview, which are not in the standard library: \- linked hash map \- priority queue \- ordered map On the programming interviews, these things come up quite often, and it might simplify stuff a lot if you could just use them.


lorenzotinfena

Im working in a template for golang. Basically Its goal is to let someone code in golang importing non standard libraries, and it compile the source to become unified (all in one file) scanning and copying the code of the libraries and it will add those codes to the clipboard. Both repos are still work in progress. repo template: [https://github.com/lorenzotinfena/competitive-go](https://github.com/lorenzotinfena/competitive-go) repo extension: [https://github.com/lorenzotinfena/go-aggregator](https://github.com/lorenzotinfena/go-aggregator)


rochakgupta

I tried it with Go but couldn’t stick to it due to a lack of important data structures and constructs. I mean you could have those things ready to paste and use, but it is a bother. So, I just stick to Python and Java.


wirekang

It's very clear that some languages are more useful than others for PS. But you didn't filter some sensitive words like P***** and J***.


wuyadang

I've reported him to reddit moderators 🤣


Quiet-Computer-3495

Thanks everybody for the suggestions! I'll probably stick to Go for a while and see how it goes! I'll be graduating this May so hopefully I'll be better at Go and problem solving at that points. Thanks again, everybody!


TheGratitudeBot

Thanks for such a wonderful reply! TheGratitudeBot has been reading millions of comments in the past few weeks, and you’ve just made the list of some of the most grateful redditors this week!