Support Questions

Find answers, ask questions, and share your expertise

Should I learn Scala or Python

avatar
Expert Contributor

I am from java background and want to shift my carrier in Big Data world . Which one will give me the mileage - Scala or Python ?

1 ACCEPTED SOLUTION

avatar
Super Guru

@Arkaprova Saha

It depends on you feel about yourself and your future. If you consider yourself a software engineer that has solid Java background and wants to deliver highly optimized and scalable software products based on Spark then you may want to focus more on Scala. If you are more focused on data wrangling, discovery and analysis, short-term use focused studies, or to resolve business problems as quick as possible then Python is awesome. Python has such a large community and code snippets, applications etc. Don't get me wrong, but Python could also be used to deliver enterprise-level applications, but it is more often to use Java and Scala for highly optimized. Python has some culprits, which we will not debate here. Anyhow, I would say that Python is kind of a MUST HAVE and Scala is NICE TO HAVE. Obviously, this is my 2c and I would be amazed that any of these responses in this thread is the ANSWER.

View solution in original post

6 REPLIES 6

avatar
Super Collaborator

Hi Arkaprova,

Every programming languages have their own purpose and advantages are there ex. COBOL (Common Bussiness Oriented Language) used for bussiness oriented purposes, FORTRAN (Formula Translation) using in scientific research puposes etc. Big Data domain again has few specific fields are there like BigData developer, BigData analytics, Data Scientist etc. Based on your interest in these fields you can choose language for Bigdata developer you need to learn stuffs like Hadoop, MapReduce, Pig, Hive, Flume, Sqoop etc for analytics you need to learn Python or Scala, SAS etc. so depending on fields these technologies will matter. Hope this will give at least some basic idea about Big Data world.

avatar
Expert Contributor

@Mahesh Mallikarjunappa Thanks for your reply

avatar
Master Guru

scala is native for spark and runs for flink. it also leverages your java skills. i did scala first and now i am learning a little python for tensorflow and sentiment analysis

avatar
Expert Contributor

@Timothy Spann Thanks for your reply

avatar
Super Guru

@Arkaprova Saha

I'm a huge fan of Python myself. I think you'll find it is useable across a broad range of scenarios in and outside of Big Data. Python is very popular among Data Scientists. If you search Google for "python data science", you will find there are a number of online courses available to you. While Scala is native for Spark, Python is very well supported.

It's also a very good language for data manipulation. You can use Python in NiFi. You an use Python with Hive and Pig for UDFs (User Defined Functions). Python is used for Ambari service scripts.

avatar
Super Guru

@Arkaprova Saha

It depends on you feel about yourself and your future. If you consider yourself a software engineer that has solid Java background and wants to deliver highly optimized and scalable software products based on Spark then you may want to focus more on Scala. If you are more focused on data wrangling, discovery and analysis, short-term use focused studies, or to resolve business problems as quick as possible then Python is awesome. Python has such a large community and code snippets, applications etc. Don't get me wrong, but Python could also be used to deliver enterprise-level applications, but it is more often to use Java and Scala for highly optimized. Python has some culprits, which we will not debate here. Anyhow, I would say that Python is kind of a MUST HAVE and Scala is NICE TO HAVE. Obviously, this is my 2c and I would be amazed that any of these responses in this thread is the ANSWER.