Ask HN: Are some languages better than others for learning CS fundamentals? - The_Workplace
======
necovek
If we are being pedantic, yes. Eg. learning to program in "brainfuck” will
teach you the real fundamentals of the Turing machines. Programming in
assembly will teach you the background for any more complex paradigms in
higher level languages. C will similarly teach you about memory management and
data types.

But in practice, if you can understand the core abstractions and principles
behind higher level constructs (loops, functions, objects and their
representations), you do _not_ need to internalize their details to a level
that you can do daily work with them.

I know this is not what you were looking for, but basically, my advice is to
go with whatever language you like.

I like to say that you are allowed to use anything that you have an idea of
how would _you_ implement it yourself (maybe not as optimally, and with
infinite time :)). Eg, if you understand hash tables, just go ahead and use a
language that has them as built-ins. That makes you a CS guy, rather than just
a developer!

