• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Real Code - What gets written in Java and how?

 
Terry Wynn
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
    - 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
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Marshal
Pie
Posts: 21185
80
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Paul Sturrock
Bartender
Posts: 10336
Eclipse IDE Hibernate Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Henry Wong
author
Marshal
Pie
Posts: 21185
80
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Marshal
Pie
Posts: 21185
80
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Marshal
Pie
Posts: 21185
80
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Pie
Posts: 20545
56
Chrome Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Terry Wynn wrote:thru

<nitpicking_mode>
Please UseRealWords. That should be "through"
</nitpicking_mode>
 
Terry Wynn
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
OK.

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


 
Terry Wynn
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Service layers, batch jobs, schedulers, ad infinitum. Front end apps might interact with any of these.
 
Paul Clapham
Sheriff
Posts: 21113
32
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Marshal
Pie
Posts: 21185
80
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

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
Posts: 15354
39
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
     
    • Post Reply
    • Bookmark Topic Watch Topic
    • New Topic