I can see how web and mobile would make a programmer even more attractive. But as a new programmer hoping to build up to freelance and eventually remote salaried work I thought the wisdom was to specialize.
What do you guys think: prioritize web technologies or diversify into mobile as well?
Are you proficient with the web yet? If not, I’d suggest stay the course. Without a solid foundation in anything, everything you build on top will be shaky if you know what I mean
I would definitely prioritize learning one thing well first. After that, if you specifically want to develop Apple applications, then by all means learn that technology (be aware that you need to own a mac in order to develop for iOS and will need a paid developer license to test your apps, even on your own iOS device).
Just on learning languages in general: Getting very good at one language is important. Being able to quickly read others code, being able to accurately identify and debug issues with complex applications, that takes longer to master than it takes to just get comfortable with a language. And once you can wield one language very well, then learning another language is much easier (and this is cumulative, the next language is even easier, and so on). So it’s not specialising per se, it’s more that getting very good at using one tool before branching out tends to work out pretty well.
That being said do learn another language, it will only help you even if you don’t end up using it. You are learning a scripting language (JS), so if you do try, Swift is different enought to seem a good choice (strongly typed OO). IMO unless it’s specifically for a job, if you want to just learn, pick something that’s different to what you already know (eg a typed OO language like Swift or Kotlin or C#, a systems programming language like C or C++ or Rust, a functional language like OCaml or Elixir or Haskell, a lisp like Clojure or Racket). It will definitely make you a better programmer if nothing else