|
> Programming languages on the other hand have been a much different experience, not nearly as difficult to pick up. I haven't considered exactly why it's so different until now. Well, general purpose, procedural, imperative languages -- the first programming languages we typically learn -- are all essentially the same. In many ways, they're all re-imaginings of Fortran, COBOL, Pascal, ALGOL, BASIC and C. They're really different dialects that express ideas in basically the same ways. All languages that derive from this family work in essentially the same ways. Sure, they have different features, syntax, abstractions, paradigms, etc., but Python, Go, Rust, C#, Java and JavaScript are all essentially the same way of thinking and express things in nearly the same ways. When you start to work with languages that increasingly deviate from that common general purpose, procedural, imperative paradigm, you start to see people struggle. That's when you're actually learning a different language. Established programmers have a notoriously difficult time picking up declared languages like SQL and XSLT, for example, and domain-specific languages like LaTeX can give others difficulty, while functional languages like Lisp seem to be either something you love or hate. |