File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Beginning Java and the fly likes Real Code -  What gets written in Java and how? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Real Code -  What gets written in Java and how?" Watch "Real Code -  What gets written in Java and how?" New topic
Author

Real Code - What gets written in Java and how?

Terry Wynn
Greenhorn

Joined: Dec 18, 2009
Posts: 17
I am starting to learn Java in preparation to get a software engineering job. I researched the jobs available and talked to people in the industry and they say that Java and J2EE are the disciplines in most demand.


I am a few months into learning things, and I am starting to wonder exactly what software Jave builders build. I realize that most jobs AREN'T making consumer software, but B2B software, but the software I see as a consumer are the only frame of reference I have. And the things I see are:


- Consumer Apps I buy at BestBuy like Word or smaller Apps.
- Games I buy at BestBuy.
- Apps I buy thru download, like Thunderbird or Avira.
- Applications I use thru a browser, like Bank of America online banking, or Ticketmaster.
- Games I play on a browser like AddictingGames or Evony.
- Games I play on wii and xbox
- Apps I use on my Iphone.


My question is simply, which of those are typically written in Java. Not could be written, TYPICALLY are written.

And my 2nd question is for those that aren't written in Java, what ARE those written in.

My 3rd and final question is, for those in the above that ARE written in Java, what OTHER languages/tools are needed to be known/used to get them in the form which is a finished product.



I appreciate your answers. Thank you.


David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

    - Consumer Apps I buy at BestBuy like Word or smaller Apps.

Infrequently. C/C++, .NET but I don't know how prevalent that is yet. Not including Mac apps, but you don't specify. Mac apps are generally Objective-C.

    - Games I buy at BestBuy.

Games are apps. Same answer.

    - Apps I buy thru download, like Thunderbird or Avira.

Downloaded apps are apps. Same answer.

    - Applications I use thru a browser, like Bank of America online banking, or Ticketmaster.

Very, very, very frequently.

    - Games I play on a browser like AddictingGames or Evony.

No idea what those are. Back end could be anything, including Java. Front end is almost never Java, generally Flash. For now.

    - Games I play on wii and xbox

"Never." C, C++.

    - Apps I use on my Iphone.

Never. Objective-C. Java not supported. On *other* cel phones, Java is much more prevalent, in the form of JavaME (for now). Blackberry (until the new stuff coming out soon, at least) is primarily Java. Android dev is very Java-like.
Terry Wynn
Greenhorn

Joined: Dec 18, 2009
Posts: 17
So apps thru a browser are typically Java.


Apps not thru a browser are typically c++ ./NET.


My research shows that Java jobs are about 3:2 more avail than c++ jobs. Are the "thru a browser" apps a large enough percentage of Business apps that would support the 3:2 number? If not, what are those 3:2 developers writing?

Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18896
    
  40

Terry Wynn wrote:So apps thru a browser are typically Java.


On the browser? Not much. Applets are not very common. However, on the backend, the webserver that generates the pages that go to the browser, java is common.

Henry


Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
Paul Sturrock
Bartender

Joined: Apr 14, 2004
Posts: 10336

Terry Wynn wrote:
Apps not thru a browser are typically c++ ./NET.


Not my experience. Both server and desktop applications get written in a whole plethora of technologies - I'd be surprised if any one technology had a dominant market share on any specific platform.


JavaRanch FAQ HowToAskQuestionsOnJavaRanch
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18896
    
  40

Terry Wynn wrote:Apps not thru a browser are typically c++ ./NET.


While I do agree that most apps (games, office tools, etc.) are done in C/C++, I don't agree that .NET is all that common.

Henry
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

Terry Wynn wrote:So apps thru a browser are typically Java.

That's not what I said. They're *often* Java, but could also be .NET, PHP, Ruby, etc.
Are the "thru a browser" apps

Web apps.
a large enough percentage of Business apps that would support the 3:2 number? If not, what are those 3:2 developers writing?

Yes, although there's a minor percentage writing Swing desktop apps. (Very minor.)

Here's the thing: you said you are "learning Java to get a job in software engineering." To me, that seems bass-ackwards. To get a job in software engineering you should learn software engineering--the language is secondary. If you're just trying to throw yourself at the area where the "most" jobs are, then software engineering on its own probably doesn't hold any real interest for you. Making it even *less* important which language you learn.

What do you *want* to write?
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18896
    
  40

Terry Wynn wrote:
My research shows that Java jobs are about 3:2 more avail than c++ jobs. Are the "thru a browser" apps a large enough percentage of Business apps that would support the 3:2 number? If not, what are those 3:2 developers writing?


Believe it or not, most applications are not consumer products. And even though it may be prevelant in the office with cubicles, most people don't run their companies on microsoft office.

Most applications are doing their work in the data centers, never to be seen by consumers, and only seen my a handful of employees, as backend systems are generally hidden by front end systems.

Henry
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18896
    
  40

David Newton wrote:Here's the thing: you said you are "learning Java to get a job in software engineering." To me, that seems bass-ackwards. To get a job in software engineering you should learn software engineering--the language is secondary. If you're just trying to throw yourself at the area where the "most" jobs are, then software engineering on its own probably doesn't hold any real interest for you. Making it even *less* important which language you learn.

What do you *want* to write?


agree++
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19718
    
  20

Terry Wynn wrote:thru

<nitpicking_mode>
Please UseRealWords. That should be "through"
</nitpicking_mode>


SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6
How To Ask Questions How To Answer Questions
Terry Wynn
Greenhorn

Joined: Dec 18, 2009
Posts: 17
OK.

Henceforth, I will effort to elucidate in the King's English.


Terry Wynn
Greenhorn

Joined: Dec 18, 2009
Posts: 17
Henry Wong wrote:
Terry Wynn wrote:
My research shows that Java jobs are about 3:2 more avail than c++ jobs. Are the "thru a browser" apps a large enough percentage of Business apps that would support the 3:2 number? If not, what are those 3:2 developers writing?


Believe it or not, most applications are not consumer products. And even though it may be prevelant in the office with cubicles, most people don't run their companies on microsoft office.

Most applications are doing their work in the data centers, never to be seen by consumers, and only seen my a handful of employees, as backend systems are generally hidden by front end systems.

Henry


Can you give me a couple of examples, so that I may ask followup questions?

David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

Service layers, batch jobs, schedulers, ad infinitum. Front end apps might interact with any of these.
Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 18650
    
    8

Terry Wynn wrote:Can you give me a couple of examples, so that I may ask followup questions?


I live in a city, and my garbage is collected once a week by unionized city employees. There's a requirement to figure out who gets to drive the trucks on what day, based on the union contract, and I'm pretty sure this scheduling would be done by a computer program.

That's just one of the hundreds of applications that my city's government would use on a day-to-day basis.

I work for a multinational company with offices around North America. Office workers like me get to use the usual range of Microsoft products (although I'm typing this in Firefox). But the company gets its real work (which is selling consumer products to retailers) done by what's called an ERP system. It isn't based on anything which came from Microsoft; there's a couple of thousand programs involved which do all the grunt work involved in keeping track of stuff and making sure orders come in and go out and paying for things and getting paid for things and so on and so on.

Could these things be done in Java? Sure, they could. Are they done in Java? Sometimes they are.
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18896
    
  40


Another story... but probably very typical.

I went to a customer site (related to pharma, but not relevant) to talk about application consolidation. This customer has a few Java programs, written internally, for testing theories, optimizing solutions, etc. etc. etc. These were all special one-off, written from scratch, solutions that did a specific task that they needed.

I asked them how many are currently in use. The answer? More than 3000.... I can't even imagine how many of these applications have been retired over the years.

Henry

Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14266
    
  21

I've worked as a professional Java developer for the past 11 years. I do projects for big or middle-sized companies, most of them internal business applications that are used inside the company. Some of the projects I did:

  • Web application for a package delivery service to track and account for the money that drivers collect for cash-on-delivery packages. Server-side Java (Java EE, EJBs etc.).
  • Middleware software for an energy company: in 2002, the market for electricity was opened up here in the Netherlands, which means you can choose your own energy company. Switching customers from one to the other company is a mostly automatic process, with electronic messages being exchanged between the energy companies. I worked on the system that processes those messages and that has to make all kinds of changes in other computer systems (databases, administrative systems etc.). Also a lot of Java EE.
  • Java desktop application for a European government organisation, which they use for lots of things, from tracking documents to filling in timesheets and planning work. Contains more than 100 screens (programmed in Swing).
  • Traveller information system for a railway company. This system receives information from a number of back-end systems such as the train planning and train traffic control and transforms all that information to messages for travellers which is shown on the stations, teletext and on Internet.

  • Java's main success is in server-side software for businesses. It has never been very succesful for consumer desktop applications.


    Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 8 API documentation
     
    I agree. Here's the link: http://aspose.com/file-tools
     
    subject: Real Code - What gets written in Java and how?