Python is a good language to start with as it has simple syntax and contains almost everything you'll ever use in programming. Up until Swift came out it was the preferred language for this very reason.
Writing print "Some line of text" in python 2 or print("Some line of text") in python 3 was pretty easy to remember and it was straightforward.
Since the emergence of Swift, the tides have changed a bit as Swift is provided as the language for one of the largest, if not largest, App ecosystem out there. It has simple syntax just like Python and in some cases it's easier to read. It is missing some arithmetic functions such as GCD and LCM along with support for BigIntegers, but outside of that there really isn't much to complain about.
The main advantage of Swift is that you only have to learn Swift and you can start production work on an App that is distributed to millions of devices. With python you have to learn a few more tools to get it ready for distribution.
As for C# and Java, while they are fairly simple in syntax, they can become more difficult to work with in larger projects and sometimes the syntax doesn't make sense without further reading. (e.g. IEnumerable in C#)
I don't have a preference on which is the best programming language, I just look at it like this, whatever sinks in the concept of programming best is a good first language. (i.e. creating and initializing a variable before you use it, proper statement order of loops, functions, if and switch statements, error handling, classes , and memory management.)
As far as getting a job goes, I will say that the most common open positions have been for C, C++, Java, and Ruby developers. If you learn Swift or Python, you'll get a good idea of how programming works then I suggest you move on to Java or C++ as a second language just to widen your job opportunities.
One of my college professors once told me, "the second programming language you learn is the hardest programming language to learn." This is all because after learning one language you get these preconceived ideas of how things should be done and you assume that another language is the same.
Writing print "Some line of text" in python 2 or print("Some line of text") in python 3 was pretty easy to remember and it was straightforward.
Since the emergence of Swift, the tides have changed a bit as Swift is provided as the language for one of the largest, if not largest, App ecosystem out there. It has simple syntax just like Python and in some cases it's easier to read. It is missing some arithmetic functions such as GCD and LCM along with support for BigIntegers, but outside of that there really isn't much to complain about.
The main advantage of Swift is that you only have to learn Swift and you can start production work on an App that is distributed to millions of devices. With python you have to learn a few more tools to get it ready for distribution.
As for C# and Java, while they are fairly simple in syntax, they can become more difficult to work with in larger projects and sometimes the syntax doesn't make sense without further reading. (e.g. IEnumerable in C#)
I don't have a preference on which is the best programming language, I just look at it like this, whatever sinks in the concept of programming best is a good first language. (i.e. creating and initializing a variable before you use it, proper statement order of loops, functions, if and switch statements, error handling, classes , and memory management.)
As far as getting a job goes, I will say that the most common open positions have been for C, C++, Java, and Ruby developers. If you learn Swift or Python, you'll get a good idea of how programming works then I suggest you move on to Java or C++ as a second language just to widen your job opportunities.
One of my college professors once told me, "the second programming language you learn is the hardest programming language to learn." This is all because after learning one language you get these preconceived ideas of how things should be done and you assume that another language is the same.
Last edited: