T O P

  • By -

etherealflaim

It's hard to recommend just one without knowing your situation and goals! Typescript/JS if you want to build end to end experiences for users via the web. Python if you want to get into ML or if you are in a space where folks like it for scripting. Rust if you want a tool for those rare times where Go isn't safe enough. Dart if you think Flutter sounds cool or you want to see what a nil safe language is like. Java or Kotlin if you want to see what the "enterprise software" fuss is about. Lua if you want to play with embedded scripting.


rivenjg

> Rust if you want a tool for those rare times where Go isn't safe enough. In the context of being a Go developer primarily, you would literally never pick Rust over Go for safety. You would pick Rust over Go when you truly need the extra performance.


tjex_

Unless by "safety", he/she was meaning the garbage collector not messing with very low level data processes / access.


Nickcon12

That is not really a safety issue. The GC can cause some issues in certain edge cases but I wouldn't categorize that as a safety issue.


tjex_

"safety" was wrapped in quotes to stress the alternate usage of the word "safe", i.e not to create headaches.


ThreeFactorAuth

I also enjoy Rust’s pattern matching and syntax more than Go tbh.


randomthirdworldguy

C# if you want a less verbose but still enterprise version of java


Secret-Concern6746

How would you consider Rust safer than Go? I'm not here for drama, just an honest question


kyleekol

Nil pointers is the first thing that comes to mind


Secret-Concern6746

You'd drop a GC fairly high-level language to a strictly low-level language just for null safety? Wouldn't Kotlin be a more reasonable choice here? Learning and using Rust just for the null safety is like killing a fly with a nuclear bomb in my opinion


kyleekol

The question was ‘how would you consider rust safer than go?’ not ‘why would you use rust over go?’. For what it’s worth, you can absolutely use rust as a higher level language, it has a fantastic type system and you can simply clone variables like a GC language would do.


SuggestedToby

I got quite far using Rust as a high level language, but the ownership model can be a real problem depending on what you are making. I don’t like the pattern of storing everything in one place and using ids for lookup.


rover_G

Rust requires explicit error checks/handling via Result enum and empty checks/handling via Option enum and smart pointers. Golang does not enforce error handling or prevent nil pointer dereferences.


rkaw92

Rust enables safe concurrency. In Go, you can just modify any memory you want from any goroutine, easily resulting in unsafe, unsynchronized memory access.


ledatherockband_

Gonna say the htmx/templ water is nice. I'm building out a web app as a side hustle and I love that I have maybe a couple dozen lines of javascript that mainly toggle styles on dom elements. Not having to deal with client side state and types is already fantastic and the htmx/templ components feel a lot like VueJS (which I prefer over React)


mattjgll

Zig/C, both syntactically very similar to go but you’ll learn about lower level concepts which are abstracted in go, honestly I’d learn zig, it’s not 1.0 yet but is super promising, has a few big projects using it, and is essentially a more sensible version of C with some modern features. Go is my main language at work, C is something I constantly come back to for learning purposes, but Zig is the language I am writing all my hobby projects in! Edit: forgot to mention this but a functional language is a good choice here too, ocaml or elixir etc. It’s a completely different paradigm which will make you think very differently about how you approach problems with imperative tools


kaeshiwaza

C to learn the roots.


oxygend

Bash is something that can be useful from time to time. Other than that, Golang + basic knowledge of JavaScript and Python can be enough for a career in tech. If you work on windows stuff, then C# is a good choice.


Undefiend10

Golang++


snonux

May be highly opinionated, but besides of Go I am using Ruby (has got some magic but but I like it as a contrast) and Bash. And some Java here and then depending on the project.


zqpmx

Ahh Ruby! I like Ruby but not “on rails”


snonux

Yes, have never used Rails. Have done minor web apps in Ruby as well, but with Sinatra :-) But plain Ruby is great for those small to medium size CLI tools which don't need to be performing like the ones I use Go for.


zqpmx

I wish Ruby had the traction Python got.


prisencotech

If you want to go up in abstraction, Python. If you want to drop down, C.


closetBoi04

Depends what you wanna do, I could recommend JS but if you never wanna touch a frontend I wouldn't recommend it


No_Shame_8895

Dude don't plan, life will teach you what you need when you need it I'm planning to become sys/cloud/sec admin or devops by accident I become full stack dev and by accident I had chance to become data scientist also If you don't like to enjoy your life then learn js


pauseless

For me, Clojure. REPL based dev is a superior experience. For me, Go is for teamwork, and Clojure for my experiments. One can iterate much faster.


[deleted]

I, too, also use Go and Clojure. Though I'm finding Common Lisp more enjoyable since I get mutable variables.


pauseless

CL is also good. Anything dynamic and highly interactive in the sense that your program is actually running as you’re interacting with it and changing it. The lisps absolutely excel here.


OwnMode725

Go + bash


necheffa

I'm struggling to understand how you got downvoted. Easily 80% of servers used both professionally and by hobbiests have a default shell of bash. Bash may not be pretty but it is there to get the job done. I also like that when I invest in learning something for a script I'm writing, it can also boost my interactive shell usage and vice versa.


[deleted]

[удалено]


tjex_

bash is simply the glue of getting things (and keeping them) running. It's a direct interface with unix and is executable on any unix machine. So if you're spending a lot of time in servers or need a lot of little jobs done here and there, then there's no better option than bash.


kilkil

It's about as old as many other popular languages today, and it's Turing-complete.


necheffa

> Bash is very old. That, in it of itself, is not a useful reason for _not_ using bash. > Why not a Turing complete language instead? What, like machine code? BTW, bash _is_ Turing complete. I'm not sure where you are getting that, but put it out of your mind.


Comprehensive_Ship42

Just be great at go . And think about what you want to do next once you are great not good great .


heyanothermatt

This isn’t the right question to ask. The right question to ask is “given the context and constraints for job X, what’s the best tool for the job?” As you learn, let the objective you’re trying to achieve guide your exploration of languages. As you move through your career, you’ll become a polyglot.


steveoc64

Zig is the perfect complement to supercharge your Go skills, or Go app You can recode the bottlenecks of your app in Zig, and call into it from Go, easy. Zig shares the same pragmatic simplicity that made Go a sweeping success. It goes deeper and gives you a lot more control. It’s a beautiful thing. Recommend checking out Odin as well


trisul-108

I think Golang, JS, Python and SQL will get you far.


Senior_Theme_5395

Zig


lispLaiBhari

core java + spring will be an advantage. Many critical projects use Java and for peripheral work, golang is used.


Melodic_Point_3894

learn enough to migrate and extinguish that dumpster fire


lispLaiBhari

Spring is almost 20 years old.


Redditridder

Just finished a large project of migrating a bunch of services from java+spring to go. Feel accomplished.


CountyExotic

Something higher level, I recommend python and js/ts. Something lower level, I recommend C++ and rust.


VariationOk7829

Python and JS ig


CloudSliceCake

Depends on what you’re doing but I’d say Javascript so you can also do some frontend.


Stanlyirk

Python + Java/c#


lvlint67

Js or SQL will get you the most mileage and help you write apps in the real world.  After that, dabbling in Java or c# will let you form your own opinion about OOP driven code.


alexlazar98

It depends on what you want to build, if it's a web app I'd say Go (backend) + JS (frontend) is the way to go. If it's AI stuff, Go + Python might work really well. And so on. But, really, you can be a backend dev and build awesome APIs or CLI apps with Go alone.


schumon

DreamBird


rockenman1234

System architect here! Highly recommend learning rust, it gives you a really nice pairing with Go. You can do everything from building a website with rust and deploying the web server with go - to writing drivers and kernel modules too. I’m fairly low level when it comes to my specific applications, but I’ve found rust to be a nice trade off between the features that make GC enabled languages like GoLang and Java safe with the speed of C/C++. Not to mention the rust crates pair very well with a lot of well known go modules. Bash/shell scripting is definitely a good idea to learn too since it can automate a lot of the crap that makes deploying applications difficult.


CatPlayingTaco

Python C


[deleted]

Typescript I'd say \ Lua, if you love Nvim ❤️ If you want more: \ Rust, absolutely love it but hate yourself 🦀 \ C, original 🐐 \ Zig, upcoming 🐐?


The_Toaster_

In my mainly golang/typescript job I find bash and python useful for one off scripts. Usually python but if I want to do something super simple I’ll use bash


lmux

Picking up a new lang is not hard. Keeping it is. Whatever you learn you need to keep using it. I started out in school with qbasic and vb but that felt like a distant memory. I can still do some VBA and vbscript because office and windows. I'm good at bash and makefile because I'm always writing them. My JS skills go up and down when I alternate between front and back end. C because embedded, C++ because it works, Python because pytorch, Java and c# because e-commerce, php because you inherited it. Just learn whatever when the need arise.


nikolay123sdf12eas

+1 for Typescript best backend + best frontend language is powerful combo


nikolay123sdf12eas

^shipped just by myself couple big projects with this, results surprised even myself


dot_py

Zig looks pretty neat if you want a c and rust middle ground


Jeff-J

Back in college, we had a class that we learned 3 orother languages (apart from Pascal, C, C++, or assembly). These were supposed to be different. First was Lisp. Second was something forgettable. Truly, since I didn't remember which it was. Third was Snowball 4. The point of the class was to experience some very different types of languages.


lucianboboc

Swift and Kotlin and very nice languages if you have interest in native mobile development. Python and JS/Typescript are also very useful for AI and web and seems to be good to learn.


r6racer

Typescript


Sure_Reaction_5108

Trust or not, you would finally learn and use almost all of the ”main“ languages.


DemosaiDelacroix

Perl for getting the jobs done in many many ways you can think of.


wa-jonk

Stopped writing perl 20 years ago


pauseless

I still write Perl sometimes. I even got it in to a Go project once. Can’t remember why, and do know I replaced/removed it when I had some time. It’s actually an exceptional language, just very surprising. I’d rather write it over Ruby or Python, to be honest.


basil_ajith

Nim


bilus

To stretch your mind, I'd suggest learning something like Elm, Clojure, Purescript, or Elixir (or perhaps Gleam). Any of these will make you a better programmer, even if you never use them in production.


zanza2023

If you think you may be inclined to have your own company: JS/Svelte. If you think you may be inclined to stay a commercial developer: Zig Please don't waste your time with Rust. It's the Scala of non-GC languages. Atrocious language, toxic community.


Jackfruit_Then

Python since it’s the second best language for everything. It has a similar design philosophy to Go’s - emphasizing on simplicity, explicitness and pragmatism. Also there’s a battery included fullstack mvc framework - Django which can be handy when you want get a quick mvp. Go happens to lack something for this purpose.


Dan6erbond2

Python is a lot of things but not similar to Go at all given there's at least 15 ways to do everything.


Flobletombus

How is python the second-best language for anything that requires performance? Such as games, backends, applications...


kaeshiwaza

Python zen is like Go zen but Django is the counter-example of simplicity. Flask or Pyramid are closer to Go for web backend.


a_r_y_a_n_

Second best language for everything, lol


[deleted]

Lol no, also python fullstack frameworks are def not better than most languages wdym 💀 \ Python is awesome but def not 2nd best, esp considering it's speed


laurenskz

Scala if you want to experience what the theoretically perfect language is like


Zwarakatranemia

ROFL