Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Data Structures, Algorithms and design patterns in Java EE programming ?

 
David Blaine
Ranch Hand
Posts: 70
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was wondering if the guys who do this "spring, hibernate, XML, REST, Servlet" kind of development really need to know data structures, algorithms and design patterns very well and if they encounter
them frequently on the job.

I wanted to know what kind of Data structures and algorithms are most commonly used in Java EE programming. More importantly, does one encounter algorithms frequently in EE ?
What are the most commonly used design patterns used in EE ?

 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65115
89
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Why do you think that it would be different from any other type of Java programming? What other types of programming are you thinking about that you are comparing against?
 
David Blaine
Ranch Hand
Posts: 70
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Bear Bibeault wrote:Why do you think that it would be different from any other type of Java programming? What other types of programming are you thinking about that you are comparing against?


Okay this might be very naive. I am under the impression that Java EE jobs would only require application of data structures, ie using them in your code instead of creating/implementing old or new types of data structures.
As regards algorithms, I am not sure if EE developers would ever need them. Probably the people who do things like image processing, search technologies, parallel processing and such would need to be experts in algorithms
and would make use of them a lot in their job.

Can you give me some examples of Java EE programming which involve a lot of data structures and algorithms ?

 
Devaka Cooray
ExamLab Creator
Marshal
Pie
Posts: 4588
302
Chrome Eclipse IDE Google App Engine IntelliJ IDE jQuery Postgres Database Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
David Blaine wrote:Can you give me some examples of Java EE programming which involve a lot of data structures and algorithms ?

What is the most efficient way to sort friends of each user of a social network having over 10 million users?
 
David Blaine
Ranch Hand
Posts: 70
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Devaka Cooray wrote:
David Blaine wrote:Can you give me some examples of Java EE programming which involve a lot of data structures and algorithms ?

What is the most efficient way to sort friends of each user of a social network having over 10 million users?


Thanks. Can you also give me an example from the "boring" types of programs - Banking, financial, Shopping cart apps that EE is usually used for ?
 
arulk pillai
Author
Ranch Hand
Posts: 3388
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
With excellent libraries available, rarely do I come across algorithms. Design patterns and data structures are important. In terms of algorithms, some basic knowledge is good to have.
 
Ulf Dittmer
Rancher
Posts: 42968
73
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think there's some confusion in this topic because the terms "data structure" and "algorithm" are not clearly defined. When it comes down to it, code is nothing BUT algorithms and data structures.

Whether the data structures are primitive, complex, language-defined or user-defined is another matter. With respect to Java you could say that most classes are data structures (which happen to have methods to go with them). So you need a good understanding of what's out there, what's not out there, why the stuff that's out there works the way it does, etc.

As regards algorithms, when arulk says he rarely comes across them, that uses a non-standard definition of algorithms - maybe he means standard algorithms for sorting or something like that (which, indeed, you probably won't have to implement). But really any code you write implements an algorithm, so being able to design them is an important skill. Studying standard algorithms can help you learn that skill.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic