3 ms·
Of the things that can expand your problem solving skills as a programmer, learning a language that's extremely unlike languages you already know is extremely p
by Bjartr 1y ago
Of the things that can expand your problem solving skills as a programmer, learning a language that's extremely unlike languages you already know is extremely powerful. It gives you new ways to think about problems, even if you never touch the language again.
- charcircuit 1y agoWhy does it have to be via a new language? Why not instead do it via teaching about constraints solvers?
- adgjlsfhk1 1y agoIMO it is important to learn that the world of programming languages is bigger than bcpl descendents where they statement correspondence to a few assembly instructions.
- Jtsummers 1y ago> Why does it have to be via a new language? Prolog is not a new language, it's been around for 53 years. > Why not instead do it via teaching about constraints solvers? Prolog is used for more than just constraint solving. If that's all you think it does, perhaps you could consider studying it and finding out what it can do.
- charcircuit 1y agoI meant new to the person learning about it. I have no interest in studying prolog to extract what knowledge from it would be practical.
- Bjartr 1y agoWell, there are many ways to learn about things, there's no "have to" about it. Learning principles in the context of a language is learning in the context of application rather than pure theory. For some, this helps ground ideas by connecting them to others they already understand. Of course, no advice is universal, and each person needs to decide if it applies to them. This advice most applicable in the context of deciding what language to learn next. Assuming you want to improve your ability to tackle more kinds of problems, rather than fulfill a particular checkbox. Like learning Java when you already know C# is going to contribute to personal growth less than a LISP or prolog or Rust.
- charcircuit 1y agoMandatory means "have to." My comment was that there are more practical alternatives than just programming languages.
- Bjartr 1y agoAh, I see, I thought the last sentence in your original post was making a comment more generally, not still tied to the classroom setting. Sorry.
- crustycoder 1y agoBecause learning a new language with a different world model gets you to think about problems on a different way. A library for a language you already know will not do that to anything like the same degree.
- charcircuit 1y agoWhy? Libraries and grammar are both abstractions. The important part is how one can reframe problems and not how exactly it is written.
- crustycoder 1y agoI suggest you actually try the exercise before making assertions like that. Mind you, there's the old saying, "Real programmers can write FORTRAN in any language"...
- Timwi 1y agoI'm a fairly competent programmer and problem solver and I'm curious about a wide variety of programming paradigms (Haskell, Lisp, etc.), esoteric programming languages, and even abstract concepts such as Turing machines and lambdas calculus. Despite, I have not benefited from being shown Prolog in classes. I did not understand it (nor did the teacher) and I never became curious about it again.