• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Programming Scala: Scalability = Functional Programming + Objects

 
Ranch Hand
Posts: 572
2
  • Number of slices to send:
    Optional 'thank-you' note:
Hi,
Different programming languages have different strengths and weaknesses.
I was wondering what does Scala do or why is it better than other languages like Java or Python ?  

thanks,
Paul
 
Author
Posts: 23
8
  • Number of slices to send:
    Optional 'thank-you' note:
Scala has these pros and cons:

Pros:
1. You can write code on the spectrum from "totally" OOP to FP, using whatever patterns and idioms from each "paradigm" you want. Lot's of FP enthusiasts, who would love to use FP languages like Haskell, use Scala professionally, because it's a viable option for them.
2. Scala is proven in production settings, everything from reliability of Scala's output byte code, libraries, and development tooling.
3. You can use it as a JVM, JS, or natively-compiled language (the latter is newer and less "proven").

Cons:
1. Being general purpose, you might prefer a language like Go for infrastructure (especially in Kubernetes), Typescript for web dev, or Python for data science, which are more tailored to their target environments.
2. Not everyone wants to use the advanced features Scala offers.

Java has improved a lot in the last ~14 years since I started with Scala. I can understand what some teams believe it's "good enough". As someone who works in the data science world, but who isn't doing data science day to day, I would prefer to use Scala for data science, but Python is a more natural choice (even though there are ways to use Python libraries from Scala...).
 
paul nisset
Ranch Hand
Posts: 572
2
  • Number of slices to send:
    Optional 'thank-you' note:
Thank you for your perspective. I didn't know Scala had a natively compiled option .
I've been working with Java for ages but it seems like new iterations of it are just trying to mimic features from other languages.
 
Dean Wampler
Author
Posts: 23
8
  • Number of slices to send:
    Optional 'thank-you' note:
Brian Goetz, who is Java's amazing language architect (amazing because of his brilliant balancing of backwards compatibility vs. the need to evolve), once joked that Scala is the laboratory for new features in Java. That's not too far off ;)
 
paul nisset
Ranch Hand
Posts: 572
2
  • Number of slices to send:
    Optional 'thank-you' note:
That's a good point . There is just so much Java code out there that a lot of businesses would collapse if their code stopped working after a JVM upgrade for hardware or security reasons.
Kind of the same problem as Microsoft had with Windows.
 
Sheriff
Posts: 17652
300
  • 1
  • Number of slices to send:
    Optional 'thank-you' note:

Dean Wampler wrote:Brian Goetz... once joked that Scala is the laboratory for new features in Java. That's not too far off ;)


Seems like some really useful Scala features like array slicing, destructuring, and tail recursion optimization are still (way?) far off though
reply
    Bookmark Topic Watch Topic
  • New Topic
vceplus-200-125    | boson-200-125    | training-cissp    | actualtests-cissp    | techexams-cissp    | gratisexams-300-075    | pearsonitcertification-210-260    | examsboost-210-260    | examsforall-210-260    | dumps4free-210-260    | reddit-210-260    | cisexams-352-001    | itexamfox-352-001    | passguaranteed-352-001    | passeasily-352-001    | freeccnastudyguide-200-120    | gocertify-200-120    | passcerty-200-120    | certifyguide-70-980    | dumpscollection-70-980    | examcollection-70-534    | cbtnuggets-210-065    | examfiles-400-051    | passitdump-400-051    | pearsonitcertification-70-462    | anderseide-70-347    | thomas-70-533    | research-1V0-605    | topix-102-400    | certdepot-EX200    | pearsonit-640-916    | itproguru-70-533    | reddit-100-105    | channel9-70-346    | anderseide-70-346    | theiia-IIA-CIA-PART3    | certificationHP-hp0-s41    | pearsonitcertification-640-916    | anderMicrosoft-70-534    | cathMicrosoft-70-462    | examcollection-cca-500    | techexams-gcih    | mslearn-70-346    | measureup-70-486    | pass4sure-hp0-s41    | iiba-640-916    | itsecurity-sscp    | cbtnuggets-300-320    | blogged-70-486    | pass4sure-IIA-CIA-PART1    | cbtnuggets-100-101    | developerhandbook-70-486    | lpicisco-101    | mylearn-1V0-605    | tomsitpro-cism    | gnosis-101    | channel9Mic-70-534    | ipass-IIA-CIA-PART1    | forcerts-70-417    | tests-sy0-401    | ipasstheciaexam-IIA-CIA-PART3    | mostcisco-300-135    | buildazure-70-533    | cloudera-cca-500    | pdf4cert-2v0-621    | f5cisco-101    | gocertify-1z0-062    | quora-640-916    | micrcosoft-70-480    | brain2pass-70-417    | examcompass-sy0-401    | global-EX200    | iassc-ICGB    | vceplus-300-115    | quizlet-810-403    | cbtnuggets-70-697    | educationOracle-1Z0-434    | channel9-70-534    | officialcerts-400-051    | examsboost-IIA-CIA-PART1    | networktut-300-135    | teststarter-300-206    | pluralsight-70-486    | coding-70-486    | freeccna-100-101    | digitaltut-300-101    | iiba-CBAP    | virtuallymikebrown-640-916    | isaca-cism    | whizlabs-pmp    | techexams-70-980    | ciscopress-300-115    | techtarget-cism    | pearsonitcertification-300-070    | testking-2v0-621    | isacaNew-cism    | simplilearn-pmi-rmp    | simplilearn-pmp    | educationOracle-1z0-809    | education-1z0-809    | teachertube-1Z0-434    | villanovau-CBAP    | quora-300-206    | certifyguide-300-208    | cbtnuggets-100-105    | flydumps-70-417    | gratisexams-1V0-605    | ituonline-1z0-062    | techexams-cas-002    | simplilearn-70-534    | pluralsight-70-697    | theiia-IIA-CIA-PART1    | itexamtips-400-051    | pearsonitcertification-EX200    | pluralsight-70-480    | learn-hp0-s42    | giac-gpen    | mindhub-102-400    | coursesmsu-CBAP    | examsforall-2v0-621    | developerhandbook-70-487    | root-EX200    | coderanch-1z0-809    | getfreedumps-1z0-062    | comptia-cas-002    | quora-1z0-809    | boson-300-135    | killtest-2v0-621    | learncia-IIA-CIA-PART3    | computer-gcih    | universitycloudera-cca-500    | itexamrun-70-410    | certificationHPv2-hp0-s41    | certskills-100-105    | skipitnow-70-417    | gocertify-sy0-401    | prep4sure-70-417    | simplilearn-cisa    |
http://www.pmsas.pr.gov.br/wp-content/    | http://www.pmsas.pr.gov.br/wp-content/    |