R & Python, which one has better job prospects?

Nipponho

Senior Member
Joined
Nov 18, 2011
Messages
647
Reaction score
10
Hi,

Between R and Python, which one is more in demand? Any idea? I know it is best to learn both, but we need to prioritise in case our heads explode if we try to master both simultaneously, and in the end we know a bit of both but none in depth, and worse still, might mix up the codes.

Also, is machine learning field alive in singapore? Is there demand for such skills here? Anyone knows? It seems like Python is more common for machine learning than R. Reason why i am asking is because it will affect my choice of between R and Python.

Thanks
 

Nipponho

Senior Member
Joined
Nov 18, 2011
Messages
647
Reaction score
10
Since i already created a thread, might as well ask one more question. I've got a certificate for Scala, but is it in demand here? ykgoh, David or anyone knows?
 

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,547
Reaction score
1,301
That will depends on what you want to do. Do you think the type of work you will be doing will requires R more or Python more? They are just tools. At the end of the day, it is what you do that matters, not which programming languages you choose.

If you know Scala, then it is good, it means you have some knowledge in functional programming. The question is is scala a helpful tool in what you are going to embark in?

If you are interested in Machine Learning, then join the right firm that gives you tasks and assignments in this area. Machine Learning is definitely an area into the future. I am not in this field, so I can't comment much. :) IMHO machine learning is very much domain specific. Depending on which industry you are and hence what type of problem you are solving where application of machine learning may differs. On it's own, it is just a set of knowledge, like learning what Data structures and Algorithms are, but to utilise it effectively you have to know more about the domain you are solving problem.
 

Nipponho

Senior Member
Joined
Nov 18, 2011
Messages
647
Reaction score
10
That will depends on what you want to do. Do you think the type of work you will be doing will requires R more or Python more? They are just tools. At the end of the day, it is what you do that matters, not which programming languages you choose.

If you are interested in Machine Learning, then join the right firm that gives you tasks and assignments in this area. Machine Learning is definitely an area into the future. I am not in this field, so I can't comment much. :) IMHO machine learning is very much domain specific. Depending on which industry you are and hence what type of problem you are solving where application of machine learning may differs. On it's own, it is just a set of knowledge, like learning what Data structures and Algorithms are, but to utilise it effectively you have to know more about the domain you are solving problem.

Thanks for your reply. We won't know what is needed until we land on a job that requires these. But before they offer a job, they will look at whether u have the language they are looking for. So it is a chicken and egg case, once u have chicken, u will have eggs. No chicken means no eggs, no eggs means no more chicken.

If you know Scala, then it is good, it means you have some knowledge in functional programming. The question is is scala a helpful tool in what you are going to embark in?
I learn Scala because i was learning an execution engine called Spark. Ya, functional programming is good. In the course, they showed us codes for Scala, Python and Java side by side. Scala codes are much shorter and simpler than Java. As to whether it is useful, I won't know until i embark on a job, so again it is chicken and egg.
 

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,547
Reaction score
1,301
Thanks for your reply. We won't know what is needed until we land on a job that requires these. But before they offer a job, they will look at whether u have the language they are looking for. So it is a chicken and egg case, once u have chicken, u will have eggs. No chicken means no eggs, no eggs means no more chicken.

Since you understand it is a chicken and egg problem, why don't you think out of the box and not get trapped in this dilemma ? You ask a different question, you get a different problem solving approach and you get a different answer :)

You are locked in the thoughts that learning between any programming languages really makes the differences in your prospect. If I tell you it doesn't really matters, will you think differently ?
To me it doesn't matter, because what I considered what really matters are "Aptitude" and "Attitude".

You focus on these 2 As, you will see that programming languages are just one of the many tools you will need to know in your line of work. When you see a job ad with a certain set of requirements, with the right attitude, you will know what you need to do. Your aptitude comes helpful passed down by your parental genetics. Ultimately you need to learn how to pair up these 2 qualities in your life to make things work the way you want. With less aptitude, you make up with better attitude. With good aptitude, you can climb even higher and reach out even further with good attitude. That is how I will measure one's prospect, not which programming languages you need to learn. You need to learn what you need to learn, there is no shortcut.

The company I am working with are mostly Java developers, but that doesn't makes them all having good prospects because each of them have their own aptitude and attitude to work. Even so, Java is just one of the many tools we use in our work and it would be narrow minded to consider it any more important than simple unix tools like "tcpdump" and "find".

Throughout my career I have an arsenal of tools at my finger tips and this is not limited to just programming languages I know ranging from Java, C/C++, Perl, Javascript, Groovy, Lisp and some casually touched on Python, Ruby. There still some less usually touched on programming language and I can tell you I haven't even master Java, which I have learned since year 2004. I have to learn how lambda and closures are implemented and designed in Java despite I already knew about them in other programming languages like Lisp, Javascript and Perl. Have I touch on a lot more other tools which you can easily find when you list out the binaries under /usr/(local/)?s?bin [if you understand regular expression]

With that, programming languages only comprise of less than 20% of the knowledge I need to function in my job. So when you come across job requirements listed, be aware what you know and what you are expected to know. Measure your prospect in the way you approach problem, not what you knew. What you knew are just skill to let you do your job. How you do your job is where it really matters in your prospect. :)

I learn Scala because i was learning an execution engine called Spark. Ya, functional programming is good. In the course, they showed us codes for Scala, Python and Java side by side. Scala codes are much shorter and simpler than Java. As to whether it is useful, I won't know until i embark on a job, so again it is chicken and egg.

Simple often comes with cost. Streams introduced in Java makes writing a number of codes easier on the eyes and elegant but comes with a cost of roughly 30% slower than a simple longer looking for-loop. Scala also suffer from similar issues. One can write Scala running faster than Java, but one can also write Scala working much slower than Java. https://dzone.com/articles/benchmarking-scala-against

Still there are good use for Scala just like there are good use for Groovy. Your knowledge around things enable you to make the most suitable decision in your assignments to choose one over the other. This choice is beyond just technical aspect of things, they involves human and commercial side of things too :)

Everything seems like Chicken and Egg, but if you have heard about connecting the dots, you will realise that it is all a matter of perspective. Sometimes you just need to look things backwards from the future, and the way to do it is to believe in yourself. :)
 
Important Forum Advisory Note
This forum is moderated by volunteer moderators who will react only to members' feedback on posts. Moderators are not employees or representatives of HWZ Forums. Forum members and moderators are responsible for their own posts. Please refer to our Community Guidelines and Standards and Terms and Conditions for more information.
Top