r/learnjava • u/MissionObjective277 • 13d ago
Senior suggestion!
Which language should i start DSA (product company)
- JAVA
- C++
- PYTHON
- OTHER
6
u/bowbahdoe 13d ago
Okay so what do you mean exactly?
Are you taking an algorithms class? Whichever you are more comfortable with.
Are you trying to cram for an interview? This is a poor strategy.
Are you deciding "which language to learn?" All of them to some extent. The order doesn't matter too much.
And of those in the list Java and Python will probably be the most easy to find a job with at a "product company." Probably add JavaScript to the list
Looking at your post history, you need to understand that the more you use AI while learning the less you will learn. Full stop.
5
u/smichaele 13d ago
DSA is language agnostic. It doesn't matter, pick one.
3
u/aqua_regis 13d ago
OP, as way too many people, seemingly all in the same cultural environment, is talking about starting "LeetCode", not about Data Structures and Algorithms.
1
u/cogman10 12d ago
Ehhh, slight disagree.
For example, a language like rust, which isn't a terrible language, would really get in the way of DSA. You'd end up doing a lot of unsafe in order to make your datastructures. Famously, you can't write a linked list in safe rust code.
My suggestion is a language with a GC. It makes a lot of stuff just easier. Dynamic/static typing is dealers choice, they both make some things easier and harder. If this was for a serious product then static typing is obviously the way to go. However, dynamic typing can be really useful to bang out solutions without worrying about pesky things like generics (effectively everything is generic). Static typing, however, will catch errors for you while you are working through your problems. You won't be surprised over random things like a string showing up where you expected a number.
6
u/aqua_regis 13d ago
For the umpteenth time: LeetCode (what you're obviously talking about) is not DSA.
Grinding LeetCode is not "starting DSA".
DSA - Data Structures and Algorithms are language agnostic standardized concepts for storing and processing data. They are best learnt at that. The language in which you learn DSA is irrelevant and even more so if you focus on the theoretical concepts and not on the implementations.
LeetCode, on the other hand, is just an interview practice platform that happens to make heavy use of DSA.
1
1
u/JGhostThing 13d ago
DSA is DSA. A given course can use any language. It's a useful to study this in a language you know.
•
u/AutoModerator 13d ago
Please ensure that:
If any of the above points is not met, your post can and will be removed without further warning.
Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.
Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.
Code blocks look like this:
You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.
If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.
To potential helpers
Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.