DEV Community

Discussion on: What language would you recommend for a beginner?

Collapse
 
delta456 profile image
Swastik Baranwal

If you really want to understand core concepts then start with C and cover the basic topics like printing, input, variables, primitives, macros, command line, arrays, struct, union, function, pointers and DMA then start implementing Data Structures and Algorithms in C. Shift to Traditional C++ and learn about OOP Concepts after covering all that do Modern C++ (Modern C++ doesn't have proper documentation so this would be hard) then look at the code of open source projects and try to understand them. Have a language reference by your side and find something if you don't understand. Join communities if you can't get help online.

If you want to take the easy way then start with Python. Its syntax is easily to understand. But it doesn't really explain all concepts in depth (at least I couldn't understand the concepts of it much).

Disclaimer: I am not discouraging anyone. Its up to you if you are able to understand the core concepts in any language. C was my first language so I mostly tell people to learn that first.

Collapse
 
stereobooster profile image
stereobooster

Depends on how you define "core concepts"

Collapse
 
delta456 profile image
Swastik Baranwal

Those concepts which are normally in any language and could be used to relate real life probelms.

Thread Thread
 
stereobooster profile image
stereobooster

Yes, but this is very wide surface. Some languages are ver far away from each other, for example, Prolog, Agda, C, TLA+

Thread Thread
 
delta456 profile image
Swastik Baranwal

Yes things may differ because of different purposes but terminology from which it derives is same (sort of).

Thread Thread
 
stereobooster profile image
stereobooster

Not quite. When people learn type system from C/C++ they end up with wrong mental model about types (often hate types), you need to get introduced on types with good type system and type checker with nice error messages, for example, Elm.

Thread Thread
 
delta456 profile image
Swastik Baranwal

Agreed