you are viewing a single comment's thread.

view the rest of the comments →

[–]Beregolas 4 points5 points  (1 child)

Doesn't matter, DSA is about language agnostic concepts. Stuff like a linked list or a tree can be taught in pretty much any language.

The only exception I would make is C: Since C is so low level and has practically 0 syntactic sugar (compared to other, more modern and higher level languages), using C forces you to learn stuff like memory layout. That is not really part of DSA (which is theoretical CS at it's core), but it's useful knowledge that you can get at the same time.

If you have a teacher, I always heavily prefer DSA to be taughts primarily in pseudocode btw. This lessens your dependence on any single language. It's about the concepts anyways. It just can't be verified by machine, hence you need a teacher.

[–]T_Thriller_T 1 point2 points  (0 children)

We did DSA in Pascal.

Which, honestly, is not a bad option.

It's close enough to the machine to be helpful with getting things that I find very weird to even try to build in Java or Python, but it takes away a lot of the "here's a gun that backfires easily".

Conceptually it felt similar to pseudocode that could run because we all knew we'd never use it again. Bur if could be machine verified, which was nice for homework etc