Meaningless Drivel is fun!*
The moose likes Meaningless Drivel and the fly likes What have you done for Java ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Other » Meaningless Drivel
Bookmark "What have you done for Java ?" Watch "What have you done for Java ?" New topic
Author

What have you done for Java ?

Myke Enriq
Ranch Hand

Joined: Feb 13, 2012
Posts: 102
You were given this great programming language called Java , and with it you managed to earn your pay check. The bad thing is that:
1) other languages are competing with it for the same market - and they are winning
2) a lot of new programmers are trained every year

We need to find a way to make Java very competitive and the #1 choice in developing an application. Otherwise in the following years many of us will lose their jobs.
If you do not want to end up in a situation where you start from 0 learning some new language, competing with some teenager that only wants a fifth of your pay check... do something today.

What can we do to make Java more popular ?
Maneesh Godbole
Saloon Keeper

Joined: Jul 26, 2007
Posts: 9990
    
    7

1) Is that your gut feeling or you got any data to back up that statement
2) As you found out in your other related topic, thats not really true


[How to ask questions] [Donate a pint, save a life!] [Onff-turn it on!]
Jaikiran Pai
Marshal

Joined: Jul 20, 2005
Posts: 9327
    
109

Myke Enriq wrote:
2) a lot of new programmers are trained every year

...
If you do not want to end up in a situation where you start from 0 learning some new language, competing with some teenager that only wants a fifth of your pay check... do something today.



Get trained in that whatever new language you think is going to put your pay check at risk?


[My Blog] [JavaRanch Journal]
Chan Ag
Bartender

Joined: Sep 06, 2012
Posts: 839
    
  14
On a side note- are you trying to imply that the seniors here should stop sharing their knowledge with us? Just asking..

That is indeed mean - if 'at all' there was the slightest indication of it in your post.

I have known people who are not very willing to part with knowledge and I have also known people ( like the ones we have here ) who despite sharing knowledge with the rest of the world are able to keep up with
the pace at which technology changes and the pace at which new programmers are trained. They are UNAFFECTED by it and are greatly respected.

Chan.
Chan Ag
Bartender

Joined: Sep 06, 2012
Posts: 839
    
  14
Haven't most other languages that are doing well in the industry currently derived directly/indirectly from Java? In that case, wouldn't experienced Java programmers always have an edge over others?

We chose programming knowing that we are in a field where things keep changing and we need keep learning cause newer things keep coming. With time and experience, you also learn the art to adapt to technological changes and perhaps the ability to beat its pace too.

Just - my opinion....

Chan.
Myke Enriq
Ranch Hand

Joined: Feb 13, 2012
Posts: 102
Each year thousands of new programmers finish college... in each country. Maybe a million more programmers are thus created each year.

If some snob and ignorant fool of a programmer here actually believes that these new programmers are not "actual" programmers because they do not know much , let me remind you:
- each new rookie starts as a junior , then in 1 - 2 years of work he will have good enough knowledge of php to produce a cheap replica of your project for a fraction of the price
- if each year 1 million new programmers finish college , and it will take them 2 years before they will be able to do your job, then this also means that each year 1 million new people that can do your job are competing with you;

More than that , the general opinion in poor countries is that programming is easy and gets you a well payed job. Thus young people flood the computer science related universities.
Online training becomes better and better every year. Outsourcing is an ever growing phenomenon , especially in our field of work. The teachers in 3rd world countries are getting better themselves.

What more proof do you need that our pay checks on average will only go down as time passes ?


As for learning a new language , it does have a few setbacks:
- when you take a job on that new language , you will be almost a junior competing with other juniors , and those other juniors will work for much less.
- that new language will itself be replaced by some other popular one.
- your years of experience with Java will count for nothing. The corporations will get to pay you less , while you work just as much.
- you have learned Java and you have earned your living with it. Contribute something , even in a minor way, to improve this program , do not just move to the next one hoping you will adapt.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 39549
    
  27
I buy a lot of the Java producer's products in various forms, so I reckon I've done a lot for them. Their products go great with pie, by the way.


Ping & DNS - updated with new look and Ping home screen widget
Chan Ag
Bartender

Joined: Sep 06, 2012
Posts: 839
    
  14
And here I was feeling that I shouldn't have said this!

That is indeed mean


I did not read beyond
some snob and ignorant fool of a programmer
.

Basic courtesy and respect for all is what we need learn before we learn any programming.




Maneesh Godbole
Saloon Keeper

Joined: Jul 26, 2007
Posts: 9990
    
    7

Myke Enriq wrote:
If some snob and ignorant fool of a programmer here


source
Hussein Baghdadi
clojure forum advocate
Bartender

Joined: Nov 08, 2003
Posts: 3476

Myke Enriq wrote:

We need to find a way to make Java very competitive and the #1 choice in developing an application.



I would evaporate and die if I'm going to develop every thing in Java. No programming language is perfect for every problem -except Lisp :evil: -

Do yourself a favor and start learning something new. Do you really want to tie yourself with only with thing?

Learning Ruby, Scala, Clojure will make you a better Java programmer.
Hussein Baghdadi
clojure forum advocate
Bartender

Joined: Nov 08, 2003
Posts: 3476

Myke Enriq wrote:
Otherwise in the following years many of us will lose their jobs.


That is why you need to learn new programming languages constantly. It will make you a better programmer in general, it will secure your professional career and it will open doors you won't imagine.
Hussein Baghdadi
clojure forum advocate
Bartender

Joined: Nov 08, 2003
Posts: 3476

Well and ...
Don't ask what you can do for Java, ask what Java can do for you.
Tim Cooke
Rancher

Joined: Mar 28, 2008
Posts: 526
    
  23

Myke,

I disagree with most of what you have said so far. And what you have said so far has come across quite aggressively opinionated and ranty. I get that we're in the Meaningless Drivel forum so 'all bets are off' with respect to the normal rules but I think a bit of civility wouldn't go amiss.

But anyway, back to the discussion.

The only thing that I agree with you on, but not for the same reason, is when you say that Java developers "Otherwise in the following years many of us will lose their jobs". This is true. If we cling onto Java until the bitter end then all but a select few, who will be unlucky enough to remain to support some long serving legacy applications, will lose our jobs eventually.

The sentiment I get from your discussion is this: "I am a Java Developer. This is my domain. Get off my land!" I think you're missing the point by a mile. As a professional you should not think of yourself as a Java Developer. but rather as a Software Engineer who's current software building toolkit contains the Java programming language.

The Java programming language will decline in popularity eventually, the same as most other languages have done in the past. C, C++, Pascal, COBOL, etc. etc. Just take a look back through history and you'll see a rise in popularity followed by a plateau followed by a decline. I believe Java is currently just coming off the plateau and heading into the decline phase. As a Software Engineer I'm keeping a lookout for what languages are now on the rise that I should be learning next. Languages such as Scala, Clojure (paradigm change required for this one), Groovy, etc. etc. In order to remain relevant in our field we need to "surf the wave" of language popularity (thanks to Bob Martin for that analogy). If your toolkit only contains Java, then your career will become quite limited in the not too distant future.

You mention also that if we were to switch to learning another language then we would essentially be throwing away everything we have learned and must start again as a Junior developer. This is not true. A lot of our gained knowledge is about building software in general, designing, refactoring, testing, patterns, deploying, maintaining, procedural programming, OO programming, functional programming, none of which are tied to a particular language. These are transferrable skills.


Tim Driven Development
Kaustubh G Sharma
Ranch Hand

Joined: May 13, 2010
Posts: 1268

Maneesh Godbole wrote:1)
2) As you found out in your other related topic, thats not really true


are you spying on him ?


No Kaustubh No Fun, Know Kaustubh Know Fun..
Chan Ag
Bartender

Joined: Sep 06, 2012
Posts: 839
    
  14
I disagree that every new engineer is that bright. And for the ones who are that bright, Java's decline is not that significant a factor as to why they'd earn a better/equivalent pay-check. They'd earn it anyway.
I've read that many new programmers are being offered ten times more than what most other programmers at an equivalent experience are drawing/being offered. Don't think the decline in Java's popularity has got much to do with it.

As to them being decent enough programmers to replace an experienced programmer, that is a phenomenon I have seen with thriving technologies too. People, regardless of their experience,
take similar/comparable time to understand a new application/project/requirement/system, and skill-building to cater to a requirement must take a finite time. Often a subset of what you know is applicable in the field.
Organizations need a mix of people within a budget. So this is something everybody has to deal with at some time or the other.

Yes, there are many who are trained every year and yes the intelligence level, in general, of new students/engineers has increased. But it takes experience to understand systems, and build them.
Every engineer, regardless of his experience, needs to keep learning.

Last, I believe opinions are also greatly affected by our personal biases, and other subjective factors.

Oh, and am I inviting abuse here!

Chan.


Arun Giridhar
Ranch Hand

Joined: Mar 10, 2012
Posts: 142

I use C , Obj C.. and never used Java as these people say it's mere technology lately i was building a white hat thingy but couldn't do in java


Join IRC freenode ##javaee channel.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4637
    
    5

Chan Ag wrote:I disagree that every new engineer is that bright. And for the ones who are that bright, Java's decline is not that significant a factor as to why they'd earn a better/equivalent pay-check. They'd earn it anyway.


Well, the ones that will succeed are bright, because that is a requirement for success in this career. Its not a job. You don't go to university and learn a trade, and get a job that you keep for the next 45 years. If you want a job that you can keep for life with ever increasing salary, go into some other field. Computer Science doesn't work that way.

The Apple iPhone is only six years old (The first generation iPhone was released on June 29, 2007;). It has totally redefined computing for most people on the planet. Its given a computer and internet access to billions of people who never used a computer before, and most had never considered that a computer would be important in their lives. Compared to the initial iPhone, modern phones like the Galaxy S4 or HTC One are from another universe, they are improved so much.

Its guarenteed that if you are using Java in ten years, you won't be using it the way you do today. Ten years ago, people thought that Swing, AWT and J2EE were useful.

@Myke I find the fundamental assumptions of your initial post to be ungrounded. It comes across as a rant, and not a topic for discussion. This is a friendly place. I think you should rethink your approach.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60057
    
  65

Myke Enriq wrote:
1) other languages are competing with it for the same market - and they are winning

I have two reactions to this:
  • 95% of all statistics are made up.
  • Even if true, so what?


  • We need to find a way to make Java very competitive and the #1 choice in developing an application

    Hogwash. Why?

    Java is good for a lot of things, but not all. Use the right tool for the job. And Java is not the right tool for every job.

    And if something better comes along for what Java is good at, it should replace Java.

    Otherwise in the following years many of us will lose their jobs.

    As I've said elsewhere, if you are a carpenter and all you know how to use is a hammer, yeah, your future job prospects are grim.

    If all you know is Java, get off your butt and familiarize yourself with more languages.

    What can we do to make Java more popular ?

    Realistically, as in-the-trench developers, not a damn thing in the world. Each tool will live and die according to its own merits. And that is, as Martha would say, a Good Thing™.

    Java is evolving to meet modern demands, but time will tell if it will be enough.

    Tim Cooke wrote:I get that we're in the Meaningless Drivel forum so 'all bets are off' with respect to the normal rules ...

    Tim made a great post (I gave it a thumbs up!), but this is not quite correct. Even here in Meaningless Drivel, the "be nice" rule is in effect.

    And the line of "being nice" is being pushed quite a bit already. I'd advise taking heed of this part of Tim's post:
    Tim Cooke wrote:... but I think a bit of civility wouldn't go amiss.


    [Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
    Pat Farrell
    Rancher

    Joined: Aug 11, 2007
    Posts: 4637
        
        5

    Bear Bibeault wrote:If all you know is Java, get off your butt and familiarize yourself with more languages.


    In the spirit of being helpful, if all you know is Java, I say do as @bear says, and learn at least:

    1) JavaScript
    2) php
    3) python

    Not necessarily in that order.
    vishal saha
    Ranch Hand

    Joined: Jul 27, 2013
    Posts: 30
    Pat Farrell wrote:
    Bear Bibeault wrote:If all you know is Java, get off your butt and familiarize yourself with more languages.


    In the spirit of being helpful, if all you know is Java, I say do as @bear says, and learn at least:

    1) JavaScript
    2) php
    3) python

    Not necessarily in that order.


    chris webster
    Bartender

    Joined: Mar 01, 2009
    Posts: 1479
        
      11

    It's probably true that a lot of new "Java programmers" are being churned out every year, but from what I've seen only some of these are any good or interested in going beyond Java. Which is good news for the rest of us.

    In any case, I'm not really interested in making "Java competitive and the #1 choice in developing an application". I don't work for Oracle and I don't owe them a living, so I'm not interested in promoting Java where it's not appropriate, and I've seen several projects crippled by choosing the wrong technology - including Java - for their needs, based on ideology or fashions. Java has its merits, but so do other technologies, including the new JVM-based languages.

    So if Java is losing out to other languages, then that means more opportunities for those of us who are prepared to learn new stuff.

    FWIW, I've already been through the process of being unable to find work because I stayed too long in a particular shrinking niche, and I'm sure as hell not doing that again. Right now I'm refreshing my Java skills, because it's my least-worst option for breaking back into the job market around here and I have bills to pay. But I'm aiming to move beyond Java programming at the earliest opportunity, because to be perfectly honest, Java bores the pants off me and given the choice I'd much rather be doing more interesting work with a more modern and productive language.

    YMMV of course, so if you want to stay with Java come hell or high water, good luck to you.
    vishal saha
    Ranch Hand

    Joined: Jul 27, 2013
    Posts: 30
    chris webster wrote:YMMV of course, so if you want to stay with Java come hell or high water, good luck to you.


    remember *Apocalyptica" film
    Hussein Baghdadi
    clojure forum advocate
    Bartender

    Joined: Nov 08, 2003
    Posts: 3476

    Pat Farrell wrote:
    Bear Bibeault wrote:If all you know is Java, get off your butt and familiarize yourself with more languages.


    In the spirit of being helpful, if all you know is Java, I say do as @bear says, and learn at least:

    1) JavaScript
    2) php
    3) python

    Not necessarily in that order.


    If all what some one knows is Java then learning JS, PHP or Python isn't going to expand his/her horizon.

    Scala or Haskell is a must due the typing system. Lisp due its unique nature. Erlang/Elixir due its (let is crash) design philosophy.

    Ruby is a good balance though (metaprogramming capabilities, easy to learn and understand, a lot of jobs).
    Pat Farrell
    Rancher

    Joined: Aug 11, 2007
    Posts: 4637
        
        5

    Hussein Baghdadi wrote:If all what some one knows is Java then learning JS, PHP or Python isn't going to expand his/her horizon.


    I strongly disagree with this statement. Sure, these three are far more similar to Java (or C++) than Haskel, Scala, Lisp, etc., so your suggestions will expand his/her horizon a lot farther than my three will. But the first thing that a professional software developer must do is understand that knowing one language is not enough, and that learning another one is simply not that hard.

    This thread is really about jobs for software developers and tools they use. There are lots of jobs today for Ruby and Ruby on Rails developers. There are far fewer for Scala, Lisp or Erlang, today. Lisp is an ancient language, it has stayed in the lists because it does cool stuff and encourages a radically different view of how to approach problems, but it has never been a mainline professional development language. I don't expect Lisp to ever have the widespread usage of a Java, C#, or PHP.

    By all means, seriously learn @Hussein's languages as well, they are important, but I would put them lower on the priority list, and would not pick any as a second language.
    Bear Bibeault
    Author and ninkuma
    Marshal

    Joined: Jan 10, 2002
    Posts: 60057
        
      65

    Hussein Baghdadi wrote:If all what some one knows is Java then learning JS, PHP or Python isn't going to expand his/her horizon.

    Scala or Haskell is a must due the typing system. Lisp due its unique nature. Erlang/Elixir due its (let is crash) design philosophy.

    Ruby is a good balance though (metaprogramming capabilities, easy to learn and understand, a lot of jobs).

    Disagree; and I strongly disagree that any one language is a "must".

    Knowing any other language, even if it's similar to Java, is a huge leap from knowing one language only.

    And I don't know any of Haskell or Erlang or Elixir or Ruby. I know a little Scala.

    Any of those would be worthwhile to study, but so are any on Pat's list*. There are no "musts".



    * And Pat's list contains languages that are actually being widely used.
    Hussein Baghdadi
    clojure forum advocate
    Bartender

    Joined: Nov 08, 2003
    Posts: 3476

    Bear Bibeault wrote:
    Hussein Baghdadi wrote:If all what some one knows is Java then learning JS, PHP or Python isn't going to expand his/her horizon.

    Scala or Haskell is a must due the typing system. Lisp due its unique nature. Erlang/Elixir due its (let is crash) design philosophy.

    Ruby is a good balance though (metaprogramming capabilities, easy to learn and understand, a lot of jobs).

    Disagree; and I strongly disagree that any one language is a "must".

    Knowing any other language, even if it's similar to Java, is a huge leap from knowing one language only.

    And I don't know any of Haskell or Erlang or Elixir or Ruby. I know a little Scala.

    Any of those would be worthwhile to study, but so are any on Pat's list*. There are no "musts".



    * And Pat's list contains languages that are actually being widely used.


    I agree, word "must" is not the best one and it is biased but I picked it mainly due Hindley-Milner Type System.

    Personally, learning Clojure and Haskell expanded my horizon to degrees I never imagined.
    Myke Enriq
    Ranch Hand

    Joined: Feb 13, 2012
    Posts: 102
    It seems to me like most of you just learn Java , do not intend to contribute anything to it, and when it becomes challenged by other languages , you just move to the next one.

    And you believe this makes you better programmers. It is kind of a sad joke though , you have the option to contribute and to improve java , yet you sit on your butts and wait for someone else to work hard to code the next language. It is not sad because you are lazy , or because you do not want to improve the world you are living in.

    It is sad because you are not thinking about your future lowered pay check. It is sad because you do not have an efficient plan of where you want to be in 5 years. It is sad because you saw the USA high wage programmers being fired , and their jobs moved to Asia , and you believe that if you yourself live in Asia or some other poor part of the world , the corporations will still give you a pay check in the future.

    If you can afford to work for half (even less) the pay at some point in the future , well I can not. Or at least I am trying to predict that future and plan to do the most out of it.
    So if you are mature enough to have actually though about this issue before , please post some solutions if you found some.

    Otherwise keep posting optimist but non realistic phantasies like "a programmer that only knows Java is a carpenter that only knows how to use a hammer". Keep lying to yourselves and see where that gets you. Because the lay offs and the pay cuts are coming , no matter how much you wish otherwise.

    Ulf Dittmer
    Marshal

    Joined: Mar 22, 2005
    Posts: 39549
        
      27
    I know you're just trolling, but if you think that by merely improving Java and its ecosystem you'll have a Java job forever then you're just setting yourself up for failure. Which, ironically, is exactly what you're trying to avoid if I understand the gist of your posts correctly.

    While I have no idea what is supposed to be unrealistic about being proficient at several languages -I know many more developers that are proficient in more than one language than I do know developers than only know and use a single one- it is of course your prerogative to believe so. Luckily, there's an easy way to find out: just wait for 20 years, and let's see who has had a good career, and who hasn't.
    Hussein Baghdadi
    clojure forum advocate
    Bartender

    Joined: Nov 08, 2003
    Posts: 3476

    @Myke
    Please feel free to contribute to Java platform and make it the #1 programming language in the universe. No one is holding you from doing that.
    Here is the source code: http://hg.openjdk.java.net/jdk8/jdk8
    Henry Wong
    author
    Sheriff

    Joined: Sep 28, 2004
    Posts: 18120
        
      39

    Ulf Dittmer wrote:
    While I have no idea what is supposed to be unrealistic about being proficient at several languages -I know many more developers that are proficient in more than one language than I do know developers than only know and use a single one- it is of course your prerogative to believe so. Luckily, there's an easy way to find out: just wait for 20 years, and let's see who has had a good career, and who hasn't.



    Agreed. What's unrealistic about being proficient at several languages? It is not like a natural language, where there are thousands of words to memorize. It's a dozen keywords (which most are similar). It is a language syntax. It is a library (which most are similar). The hard part is probably memorizing the "best practices", so that you can deal with the quirks of the language, and be able to communicate well with your fellow developers.

    Also, your experience are your design skills, your coding skills (particularly defensive coding from experience), your debugging skills, your technology based skills (databases, messaging, web stuff), your domain skills, and of course, your soft skills. Changing languages doesn't make any of those skills obsolete.


    Technology has always been about change. Adapt or die. I had this debate 20 years ago. And obviously, it is still happening today. Most of the developers who embrace the change are still around (well, the ones who retired due to the dot com boom are currently laying on the beach somewhere). And the ones who couldn't embrace change are no longer developers -- interesting, most of them are doing really well (in their new roles), with a couple being CxOs, but I digress.

    Henry

    Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
    Jayesh A Lalwani
    Bartender

    Joined: Jan 17, 2008
    Posts: 2054
        
      22

    Henry Wong wrote:


    Agreed. What's unrealistic about being proficient at several languages? It is not like a natural language, where there are thousands of words to memorize. It's a dozen keywords (which most are similar). It is a language syntax. It is a library (which most are similar). The hard part is probably memorizing the "best practices", so that you can deal with the quirks of the language, and be able to communicate well with your fellow developers.


    Yes, mostly, unless there is a significant differrence in the language's syntax. It's easy to move between C, C++, Java, Javascript. But going from Java to Scala is a much bigger change. Scala looks completely alien. I've worked JAva for almost 12 years, and in C++ for 6 years, and it was a easy shift to go from C++ to Java. I wrote a Scala program a year ago, and I swear I cannot read my own program now. The syntax is so completely alien that it requires a lot of brain to just parse each sentence.

    It's like going from English to French is simple. It's a differrent grammar, and new words, but because the roots of the both language are close and the script is very similar, it's easy to make the switch. OTH, going from Java to Scala (atleast to me) is like going from English to Hindi. It takes a lot of effort to simply work out what each word sounds like.

    Maybe I'm just getting old
    Pat Farrell
    Rancher

    Joined: Aug 11, 2007
    Posts: 4637
        
        5

    Jayesh A Lalwani wrote: It's easy to move between C, C++, Java, Javascript. But going from Java to Scala is a much bigger change.


    Actually, I found that going to JavaScript was a huge change. JavaScript is much more "functional" that Java or C++. I think programming in Javascript using Java style is both (1) bad JS and (2) missing the power of JS.
    Bear Bibeault
    Author and ninkuma
    Marshal

    Joined: Jan 10, 2002
    Posts: 60057
        
      65

    Myke Enriq wrote:It seems to me like most of you just learn Java , do not intend to contribute anything to it

    Your post is so full of fallacies that it makes the head spin, but I'll respond to a few of the points that actually seem to try and make a point.

    As to the above ad hominem fallacy, lot's of people here have "contributed". Your claiming that we have not does not make it so. I've written many articles promoting ways to do things better with Java, I've written a front controller framework that makes it easier to create Java web apps, and I've answered countless questions here promoting Java -- seen my post count lately? My thumbs count? Cows? So don't go around falsely accusing people of "not contributing".

    Even just helping people here on the Ranch to learn to write Java better is a major form of contributing for all members that answer questions on the Ranch, including those that have been posting in this topic.

    and when it becomes challenged by other languages , you just move to the next one.

    You keep saying "one" -- as if there can be only one true language. This is not Highlander; there are many languages that are useful and can be used to get the job done.

    I use many languages and tools on a daily basis to get my job done; Java is just one of them. You seem to be treating Java like a religion, not like a tool. "Java is the One True Language and Thou Shall Hast No Other False Languages Before Me".

    Hogwash. It's just a tool, and it's just one of many tools on our tool belts. Blasphemy and eternal damnation are not a consequence of using something other than Java for what it's not the best tool for.

    And you believe this makes you better programmers.

    We know it makes us better programmers. I've been doing this 35 years. I've seen languages come and go; I know many languages. Knowing them all makes me a better developer.

    you have the option to contribute and to improve java , yet you sit on your butts

    This ad hominem fallacy has been proved incorrect above.

    because you do not want to improve the world you are living in.

    By the way, there's more to the world than programming. How do you know how the other members here contribute to improving the world around them?

    It is sad because you are not thinking about your future lowered pay check.

    False cause and slippery slope fallacy. Even if Java were to disappear from the face of the Earth today, I can assure that I would suffer no lowered paycheck. Neither would any of the other senior members here who have been responding.

    It is sad because you do not have an efficient plan of where you want to be in 5 years.

    Please provide the data you have used to determine that you know what my 5-year plan is. Or Ulf's. Or Pat's.

    If you can afford to work for half (even less) the pay at some point in the future , well I can not.

    In that case I would highly recommend you take the advice of the senior members here who have been urging you to remove your blinders and expand your horizons beyond Java.

    So if you are mature enough to have actually though about this issue before , please post some solutions if you found some.

    We already have. Diversify. Learn new things. Be prepared for positions that require expertise beyond just Java.

    non realistic phantasies like "a programmer that only knows Java is a carpenter that only knows how to use a hammer".

    That is a very realistic phrase. If you call yourself a developer, and all you can write is Java, then you are just like a carpenter who wields one tool.

    Keep lying to yourselves and see where that gets you.

    Ignoring the fallacy of claiming that we are lying, it has gotten me a good-paying job, doing interesting work, acclaim and respect within the developer community, 5 books in print, and a fairly comfortable life. Not sure I'm seeing the problem.

    Because the lay offs and the pay cuts are coming , no matter how much you wish otherwise.

    A false cause fallacy. The rise of new tools in no way presages layoffs and pay cuts, except of course, for those that have buried their heads in the sand and assume that they are going to make a career out of a single language or technology. If I started counting all the professional languages and technologies that I have used in my professional life, I'd quickly run out of fingers and toes.

    And by the way, been there done that. It happens in cycles. It has nothing to do with the rise and fall of languages, and nothing at all to do with worship of Java as The One Language to Rule Them All.

    Don't get me wrong; I like Java just fine for what it is. I just have enough experience and perspective to realize that it's just a handy tool, and not one that solves all problems.
    chris webster
    Bartender

    Joined: Mar 01, 2009
    Posts: 1479
        
      11

    Myke, if you really want to become a better programmer, and perhaps even contribute to programming language design - for Java or any other language - you need to know more than one programming language. You can't call yourself a serious "linguist" if the only language you know is English, and you really shouldn't call yourself a serious programmer if the only programming language you know is Java or the only programming approach you know is OO. Even in the Java ghetto, there are lots of changes coming along in the near future, many of which have their origins in other languages - closures/lambdas for example, which come from the functional languages (and ultimately from the lambda calculus). If you want to be able to use these new ideas intelligently in Java, you should at least try to familiarise yourself with how they work in other languages too. Otherwise you're just like the stereotypical English guy hoping to communicate with the rest of the world simply by shouting louder in English.

    If your'e interested in going beyond Java and the familiar OO paradigm, try the free online course from Coursera on Programming Languages presented by Prof. Dan Grossman of the University of Washington. This outstanding course runs again in October and will really open your mind to new ideas and hopefully help to prepare you for future developments instead of finding yourself marooned in Java legacy maintenance for the rest of your career.
    chris webster
    Bartender

    Joined: Mar 01, 2009
    Posts: 1479
        
      11

    Myke Enriq wrote:If you can afford to work for half (even less) the pay at some point in the future ...

    I am working for half my previous pay right now. And it's primarily because for various reasons I found myself trapped in a shrinking niche in a market that had changed so far that many of my skills and experience were no longer sufficiently marketable to sustain my earlier income. If you think that sticking with Java will protect you, think again, because this industry changes too fast for anybody to last long as a one-trick pony.
    Henry Wong
    author
    Sheriff

    Joined: Sep 28, 2004
    Posts: 18120
        
      39

    Pat Farrell wrote:
    Actually, I found that going to JavaScript was a huge change. JavaScript is much more "functional" that Java or C++. I think programming in Javascript using Java style is both (1) bad JS and (2) missing the power of JS.


    Agreed. Despite the similar name, I also found JS to be pretty different from Java. Maybe it was because the project used jquery, which is pretty unique (in a good way). Maybe it was because I was porting XSLT (and of course, lots of XML), so that was pretty unique (in a bad way). Perhaps raw JS is very similar to Java. I guess I won't know yet, as I moved on from that project -- maybe I'll take another JS project in the future...


    But back to the debate...

    Myke Enriq wrote:when it becomes challenged by other languages , you just move to the next one.


    Most of the professional programmers here (speculating as I can't speak for everyone else) are not concerned about languages being "challenged by other languages"; nor are we "moving to the next one". We work on projects, and we work with multiple languages because it's the project requirement (for many very large environment/systems). In my case, I am *not* switching languages every few years, actually, in some cases I am switching languages every day. For example, this week I am investigating stuff coded in C and Java. Last week, it was C#.... once, many years ago, I had to connect Java to a .NET library -- and wound up working in Java, C#, and some managed C++ -- switching languages every hour or so. Now, admittedly, that was bad. I think my English skills degraded after that project...

    Anyway, to repeat, what's wrong with switching languages? I think it is fun. It is certainly not boring...

    Henry
    Andrew Monkhouse
    author and jackaroo
    Marshal Commander

    Joined: Mar 28, 2003
    Posts: 11279
        
      59

    Thanks for the humor Myke. It is a long time since I have laughed this hard.

    Myke Enriq wrote:- if each year 1 million new programmers finish college , and it will take them 2 years before they will be able to do your job, then this also means that each year 1 million new people that can do your job are competing with you;


    They are all competing for my job? If I am the only person with a programming job left in the world that everybody is competing for, then I need a pay raise! Or a holiday!

    "I think there is a world market for maybe five computers" - misquote from Thomas J. Watson

    Buy I think I understand what you are saying ...
  • Decades ago I should have stuck with Cobol jobs
  • Decades ago I should have stuck with IBM RPG jobs
  • A decade ago I should have stuck with C jobs


  • And those other languages learned along the way - complete waste of time.

    For that matter - why did I ever learn to ride a bike, or drive a car, or drive a truck. I should have stuck with walking!
    Sumit Bisht
    Ranch Hand

    Joined: Jul 02, 2008
    Posts: 329

    Well for the java, I've mostly fed its executable with such code that If it were human, it would've come after me with a shotgun.
     
    I agree. Here's the link: http://aspose.com/file-tools
     
    subject: What have you done for Java ?
     
    Similar Threads
    Future of IT professional ?
    Easy way to learn computer languages
    Bare Essential skill combinations for various job profiles?
    When Java 5 will go to mainstream?
    Java V's PHP for Building Websites