Python Programmng

Shelldon

Active Member
Joined
May 30, 2012
Messages
53
Reaction score
0
Hi all. I've been slowly teaching myself a variety of computer languages, but enjoy Python the most. I'm still a noob, but enjoy the learning. I'm also seriously thinking about a career change, maybe not now, but perhaps in a year or two (I'm in no hurry). Would Python be a good language to learn or as someone else suggested, should I rather focus on Java? And if neither of these are suitable, what would be a good language to learn?
 
Hi all. I've been slowly teaching myself a variety of computer languages, but enjoy Python the most. I'm still a noob, but enjoy the learning. I'm also seriously thinking about a career change, maybe not now, but perhaps in a year or two (I'm in no hurry). Would Python be a good language to learn or as someone else suggested, should I rather focus on Java? And if neither of these are suitable, what would be a good language to learn?

Python is a great language with some great tools and libraries.

However if you are looking for a language that is directly applicable in the job market then Python might not be ideal as it is sadly still a very niche language in South Africa.

Personally I don't see that as a concern as once you are comfortable with Python picking up another language will be relatively easy. And you really want to spend as little time as possible doing anything with Java.
 
yeah man, Python is the shiznit but you should definitely get to know one of the "heavy hitter" languages like Java or C# because you'll probably end up doing more work with them. Every dev needs a good scripting language and that is where Python comes in.
 
I'm hoping not to have to learn C#, I've tried a few tutorials but I'm really struggling. Would Java be the next best thing to C#, and where would Ruby fit in? And if Python is a niche market, does that mean not much work is being done in Python or that there aren't many python developers?
 
Stellenbosch University they have been teaching us Python and I'm really enjoying it and won't stop when the semester ends. I find its a easy language to pick up. I checked out careerjunction and there are jobs for python skilled developers so I say continue improving yourself.
 
I also know that the guys doing a diploma in IT through UNISA does python. The Bsc students do not do it at UNISA though, we do c++ and some very basic delphi.
 
I'm hoping not to have to learn C#, I've tried a few tutorials but I'm really struggling. Would Java be the next best thing to C#

Java and C# are very similar but C# is probably the better language.

and where would Ruby fit in?

Ruby is similar to Python in scope.

And if Python is a niche market, does that mean not much work is being done in Python or that there aren't many python developers?

Both. The market demand for Python developers in SA is tiny compared to Java & C# so there are generally less developers focusing on it. However if you have a look at world trends you will see that it is just a matter of time until SA catches up.
 
Get yourselves a proper book to teach you c#. Avoid the advanced stuff like wpf and wcf for now - that'll come. But it really isn't that difficult at all.
 
would it be a good move job wise to focus on just one language like Python and become an expert, or would it be better to have a good general knowledge of two languages, say Java and Python? Like I mentioned, I am looking for a career change, and am prepared to work on a language for a year or so before making a move, but don't want that year to be wasted on the wrong discipline.

My way of thinking, is to work on being an expert in Python (not saying I will be, that's just the plan) and maybe do contract work in the future? What do you guys think?
 
would it be a good move job wise to focus on just one language like Python and become an expert, or would it be better to have a good general knowledge of two languages, say Java and Python? Like I mentioned, I am looking for a career change, and am prepared to work on a language for a year or so before making a move, but don't want that year to be wasted on the wrong discipline.

My way of thinking, is to work on being an expert in Python (not saying I will be, that's just the plan) and maybe do contract work in the future? What do you guys think?

It's always a good to be an expert in something but you will notice that the best developers in the company are usually those that are more technology agnostic. There is no one language out there that can do everything. They do become easier to pick up, but like I said you would be better off focusing on something like Java and .NET and having Python compliment that. Even if you are hell bound on learning only one language, in South Africa I would pick C# (.NET).

Either way, a "one-trick pony" developer will never get anywhere. That's almost like being a handyman that only uses a screwdriver.
 
It's always a good to be an expert in something but you will notice that the best developers in the company are usually those that are more technology agnostic. There is no one language out there that can do everything. They do become easier to pick up, but like I said you would be better off focusing on something like Java and .NET and having Python compliment that. Even if you are hell bound on learning only one language, in South Africa I would pick C# (.NET).

Either way, a "one-trick pony" developer will never get anywhere. That's almost like being a handyman that only uses a screwdriver.

What you say makes loads of sense, even in my current industry (which ironically enough involves screwdrivers) have a broad general knowledge is better than just a specialized knowledge. I've tried C# over and over again but just can't seem to pick it up, so I think I'll just start learning Java, and continue to play with Python. Maybe later when I know what I'm doing I'll try C# again.

Thanks for everyone's input fella's.
 
There has been many good points made in this thread, so I will just add what has not been said already.

While knowledge of the language that you are working with is important, of vital importance is being a developer. Anyone can pick up a book and write working code, but that does not make him/her a developer. You must have (at least) basic knowledge of algorithms, design patterns, data structures, OOP (or whatever paradigm you'll be using), etc. If you have the basics down, you can create theoretical solutions without focusing on the language it will be implemented in. Please, for the love of R2-D2, don't learn a language's syntax and call yourself a developer; we have enough of those. As it is often said that programming languages are tools; use the right one for the job. Good craftsmen are good at their jobs despite their tools, not because of it.

On a different point which might have an influence on your decision: the language you choose to specialise in will likely influence the kind of work that you end up doing. I have observed some trends with regards to Java/C# (and similar) jobs when compared to Python/Ruby (and similar) jobs. Java/C# jobs tend to be at larger companies where "enterprisey" software is developed and mostly in Gauteng. Python/Ruby jobs tend to be at smaller, start-up kind of companies and more common in the Cape region. Now, before I start a flame war for my generalisations, please understand it as exactly that: generalisations. I have, myself, worked at a larger company in Pretoria where I worked on a financial system, developed in Python, so I know that there are exceptions. It is not important to everyone, but the business domain in which I work (which dictates the kind of problems that you will have to solve) is a very important factor to me: I would rather work at a smaller company, with a slightly smaller salary, which operates in an interesting domain, than at a larger company, for a bigger salary, working on some kind of financial system. Again, these correlations are not universal.

In the end, the answer to your question depends heavily on what (more precisely) you want to achieve.
 
Top
Sign up to the MyBroadband newsletter
X