Hey fellow learners! 👋 I’ve been diving into data structures and algorithms lately, and I’m a bit torn on which language to focus on. I started with C for that low-level understanding, but now I’m in the Java realm and considering Python. Any thoughts? 🤔
Here are some points to consider:
– C: Great for understanding pointers and low-level programming.
– Java: Intermediate level expertise, widely used in enterprise applications.
– Python: Rising popularity, known for readability and simplicity.
Personally, I think Python might be a good choice due to its versatility and increasing demand in various industries. What do you all think? Let’s discuss! 💬 #DataStructures #Algorithms #ProgrammingLanguages
It doesn’t matter, algorithms and data structures can be taught in a language agnostic way.
Popular options are usually C, C++ or Java. Python might not be optimal because of the power of native Python list functionality with no real static “array” and people not seeing the need for certain data structure implementations but even that is not deadly.
DSA, a concept not specific to any language, allows you to switch between languages once your concepts are clear. While the syntax of each language differs, the core principles of DSA remain the same. Popular language is usually C++.
actually C is probably the best language for dsa cuz its so low level, open and gives you so much freedom. other contenders are C++ and Java. C# too will work. definitely not python. its a very constricting language in this regard.
Python is best for you
assembly
I think that DSA has been covered by many books, with just any major language, like Python, C, Java or C++.
But I still believe that learning with C will be more beneficial. There are two reasons for this, first you will be more exposed to the detail of the algorithms in some cases, as well as the discipline to become more inquisitive of what happens and where. The second, is to leverage your learning from C to DSA, vice versa. This is if you are into leaning C in the long run. Sedgweick has a very good book using C (in 1998), and another using Java in 2014 (which is more polished and thoughtfully investigated). I don’t think the Java version would need any much more knowledge of Java. So you should be well-equipped to tackle both. If you can go for the C version, and follow it up with the fourth version(Java) you will have a taste of how things has evolved in 15 years, and you will more equipped to learn from the Java version after such exposure.
I’d say C or C++. Explicit pointers are so good to have when you’re learning to implement a linked list or binary tree.
But really, you can do them in any language. The only difference is the syntax you use to express them. I wouldn’t be worried.
why is that even a question. It’s C++/Java. Don’t waste time in other languages.
Type safe, modular C++ with minimal use of pointers will serve you well. Learn DSA with a versatile programming language, and simplify branching into other languages, if you ever need them.
C is what I used while getting my degree, but really the language does not matter. DSA concepts transcend the language
Java.. just go with Java.
If you’re good at Java just stick with Java. Any data structure or algorithm can be implemented in any turing complete programming language. The key thing to learn is the underlying concepts, don’t burden yourself with also learning the syntax quirks of a new language.
Q#
Holy shit, it doesn’t matter, DSA involves logic and aptitude, language is simply a tool to solve these problems.
VBA lol
py..thon…
I’m going to learn DSA in Zig. Going to be fun.
First decide what language you’ll use most of your life.
If you want to be a web/app developer, then javascript. If game developer, then c++. If ML or data related then python.
Btw If you’re a cs major, then c or c++ would be better. You will get deeper knowledge on how things work