• 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
  • Tim Cooke
  • paul wheaton
  • Liutauras Vilda
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Devaka Cooray
  • Paul Clapham
Saloon Keepers:
  • Scott Selikoff
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
  • Frits Walraven
Bartenders:
  • Stephan van Hulst
  • Carey Brown

Java 8 vs Scala vs Javascript.

 
Ranch Hand
Posts: 338
Scala Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
HI All,

I have 4 yrs experience into java based techs like Core java 1.5, Jsp, servlets, Struts1, Spring(IOC,AOP,ORM,MVC), and liferay portal.

Now-a-days, market is slowly moving towards, functional programming languages like scala, groovy, javascript.
Javascript having made an entry into serverside programming languages with the invention of node.js and is taking on the market rapidly..
Java also slowly tried to make an entry into Functional Programming with Lambda expression...

So in future, will java be able the defend its status.. or Java will die.?
what should I choose ? Should I stay with Java? or should I move to other functional languages?
Which Functional language is recommended?

Scala, Groovy, Javascript?

Please give me your valuable suggestions.

Regards,
-Pankaj.
 
Rancher
Posts: 989
9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
While it is possible to go through your career knowing only Java it's probably easier for you in the long run if you learn a popular functional language to add to your toolbox.
It's unlikely that Java will die soon so you don't have to do it for that fear. It's just that you will encounter projects using those languages more likely than was before because more people (ab)use them these days.
If anything learn one just to ease your mind, it's just a matter of if you have the time.
 
Bartender
Posts: 10780
71
Hibernate Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Pankaj Shet wrote:Scala, Groovy, Javascript?
Please give me your valuable suggestions.


Simple answer: Don't know.

But of the three I think I'd probably go for JavaScript, simply because it's such a ubiquitous part of web-based apps these days; not because it's "functional".

Winston
 
Pankaj Shet
Ranch Hand
Posts: 338
Scala Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Winston, what about Enterprise Apps?
 
Bartender
Posts: 15737
368
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
If you want to learn a functional language to broaden the way you think about programming languages, I would recommend Haskell. It's strongly and statically typed, so it will force you to think a lot about the types (of higher order functions) you are using. It's also very pure, which means that it really requires you to think about a problem in a functional way. JavaScript on the other hand allows you to use procedural programming, which can distract you from actually learning functional programming.

I'm with Winston that JavaScript is a very useful language to learn regardless.
 
Winston Gutkowski
Bartender
Posts: 10780
71
Hibernate Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Pankaj Shet wrote:Winston, what about Enterprise Apps?


What about them? I don't think a knowledge of either Scala or Groovy is going to make you any more marketable as an "enterprise" programmer than a good knowledge of Java and JS, and the various alphabet soups of available frameworks.

But then again, "enterprise" seems to be one of these cool buzzwords that everyone loves these days. If it simply means "big", or "complex", or "distributed", or "lots of users", then I've written plenty of 'em; but I didn't need to know any frameworks to do it.

Winston
 
Pankaj Shet
Ranch Hand
Posts: 338
Scala Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Armitage ,

Thanks for your valuable suggestion,

What I think is as I am already into java, I will keep java as my main language, Scala and javascript add..on...!!

If I know Java and Javascript, I can think of Liferay portal technology as my career?

I want to transition from developer to architect, I came to that As far as architect is concerned, He need not know coding.. ? How is it possible to be an architect without knowing the coding?

Is it a right time to think of becoming an architect...?

If yes, how can I approach the same..?

What are the roles and responsiblities of Architect?

I know there are too many questions, but I have them in my mind, so I am asking them here..

Regards,
-Pankaj.





 
Pankaj Shet
Ranch Hand
Posts: 338
Scala Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Winston for your reply..
 
Winston Gutkowski
Bartender
Posts: 10780
71
Hibernate Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Pankaj Shet wrote:Thanks Winston for your reply...


You're welcome. And I hope you don't interpret my replies as meaning "don't learn Scala [or Groovy or Python or Ruby...]".

The functional paradigm is an important one, but it requires quite a seed change in the way you think about programs (in the same way that OO does), so don't think you can just "learn Scala".

You might find this article worth a read.

Winston
 
Pankaj Shet
Ranch Hand
Posts: 338
Scala Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes winston, thanks a lot..
 
Pankaj Shet
Ranch Hand
Posts: 338
Scala Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Sorry stephan I read your reply now..
If you recommend Haskell, I will wish to learn Haskell too..
Can I get any idea on how to learn haskell?

Thanks for the same..!!!
 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Pankaj Shet wrote:Sorry stephan I read your reply now..
If you recommend Haskell, I will wish to learn Haskell too..
Can I get any idea on how to learn haskell?
Thanks for the same..!!!


You could try the free online course in Haskell which starts in a couple of months.
Or you could start with Learn You A Haskell For Great Good.
There's some background material on FP in our Functional Programming forum.

Right now, Scala and F# seem to be the most popular FP languages (there are plenty of others e.g. Erlang, Clojure etc), and from what I've seen Scala is growing fast, so if you want to learn pure FP with static typing, you could start with Haskell then move to Scala or F#.
But if you want to gain skills that are marketable right now, learn JavaScript as it is far more widely used.
 
author & internet detective
Posts: 42056
926
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Also keep in mind that Java 8 has some functional programming constructs. You won't be writing the entire program functionally, but it can make some tasks more efficient. Not learning it is like not learning regular expressions - you can manage, but less efficiently.
 
Pankaj Shet
Ranch Hand
Posts: 338
Scala Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Hi Jeanne ,

Thanks a lot for your reply.

I am awaiting the reply for below.


Pankaj Shet wrote:Hi Armitage ,

Thanks for your valuable suggestion,

What I think is as I am already into java, I will keep java as my main language, Scala and javascript add..on...!!

If I know Java and Javascript, I can think of Liferay portal technology as my career?

I want to transition from developer to architect, I came to that As far as architect is concerned, He need not know coding.. ? How is it possible to be an architect without knowing the coding?

Is it a right time to think of becoming an architect...?

If yes, how can I approach the same..?

What are the roles and responsiblities of Architect?

I know there are too many questions, but I have them in my mind, so I am asking them here..

Regards,
-Pankaj.



Regards,
-Pankaj.
 
chris webster
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Pankaj Shet wrote:If I know Java and Javascript, I can think of Liferay portal technology as my career?


No. You should not think of any technology as your career. Liferay is fine for what it does, but it's just a specific application of fairly standard (and in some respects slightly out-dated) enterprise Java technologies. You cannot expect to build a 30-year career on such a narrow basis. I'd be surprised if Liferay were still around 10 years from now, let alone 20 or 30 years.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic