Programming Languages as Sets of Features
People that don’t know how to program view Programming Languages as pretty distinct things (and, say the distinction between Python and Java is more important than the style in which you write programs in both).
As in:
- Learning a programming language is mostly like learning a natural language, only with less vocabulary and harder.
Most programmers probably would—if you prompt them directly—concede that this isn’t how it works: When you’ve already learned a few programming languages, learning another one is (on average) relatively easy. Implicitly, however, they do operate on the underlying assumption that languages are pretty distinct (and that this distinction matters.). People describe themselves as “Python programmers”, and put a list of programming languages on their CV skills section.
Writing in here is haphazardous, disjointed and sketchy.
It's probably a good idea to come back later.
Since that is a model, is is wrong—but how useful is it?
And I’d argue it’s mostly not.
Things that are actually distinct are the features those programming languages have available, and which of those features the programmers can use effectively.
Writing in here is haphazardous, disjointed and sketchy.
§ End
- Languages exist & are important
- But when we talk about languages, we actually want to talk about features, the ecosystem surrounding the language, and the culture surrounding the language. Those are the important parts.