• 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:
  • Tim Cooke
  • Campbell Ritchie
  • Ron McLeod
  • Junilu Lacar
  • Liutauras Vilda
Sheriffs:
  • Paul Clapham
  • Jeanne Boyarsky
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Piet Souris
  • Carey Brown
Bartenders:
  • Jesse Duncan
  • Frits Walraven
  • Mikalai Zaikin

The almost intimidating world of Java

 
Rancher
Posts: 1090
14
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

I wasn't sure where to post this. But the thing is this. I started studying java cause I thought it was an interesting programming language. I got my copy of SCJP book by K&B and used that book as a reference book for getting started. I thought somewhere down the line I would take up the certification too. As I kept reading just the SCJP book, I started getting a feeling that I'd better practice more on data structures and then study Joshua Bloch's Effective Java-- thanks to the rave reviews. So I had two more books --

Fifth Edition of Data Structures & Algorithms in Java by Michael Goodrich and Roberto Tamassia.
Second Edition of Effective Java by Joshua Bloch.

Today after completing the last but one chapter on threads in the SCJP book along with the exercises, I felt I should explore more on threads. So I got another book from a local library - It's called Java Threads by Scott Oaks & Henry Wong ( Wow, he's on java ranch :-). At the time I picked the book from the book rack, I didn't know it was his book. ). So now I also have a third book in my list.

The point is this list keeps growing... Do most ( excluding the experts who always know many things about many things ) people really know so much and more possibly?

Now I don't even feel like taking up the SCJP certification exam. Has it happened with anyone else too?

I think by the time I will be done with less than half the stuff in all these books, I'd either be a granny or I will have enough books to open my own little library..

Seems like "It's a big, big, big world" , I have chosen for myself. :-) One of the few good things though is that the Java community is quite friendly and helpful. Thank God.

Chan.
 
Chan Ag
Rancher
Posts: 1090
14
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I thought I had posted this post in the 'meaningless drivel' forum. But it seems I didn't post it correctly.

Could somebody please move it there?

Thanks,
Chan.
 
Ranch Hand
Posts: 70
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Its a big, big, BIG O world, ie do data structures and algorithms very well. It will help you land a job much more easily than those who cannot or do not master it.
Threads and concurrency is another skill one needs to be good at to land a java job.

I felt that taking the SCJP was not beneficial for me. But, reading the book and pretending as if you have to take the exam is good. You will become AWARE of many things about java, which you
otherwise might not have found out. The key,IMHO, is becoming AWARE. The exam does not add any value to your knowledge or resume. If you have a real project/open source project on your resume,
that will literally Eclipse your SCJP. Nobody will even ask you about your SCJP.

I wish someone had laid down an entry level path for me. I guess it would be like this -

1 - STUDY for SCJP, dont take it.
2 - Data structures and algo in java (Do a LOT of problems on this, so much that you see them in your dreams)
3 - Test driven development
4 - Source control - GIT, SVN
5 - Building projects with build tools (ie without eclipse)
6 - SQL
7 - JDBC
8 - C (Yes, its good to know how things work under the hood. Java hides a lot from you and that can be a disadvantage also)

Its a lot, but I saw these requirements in a LOT of jobs.


 
lowercase baba
Posts: 13056
67
Chrome Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Chan Ag wrote:I thought I had posted this post in the 'meaningless drivel' forum.


It was there, but anything posted in that forum tends to be taken not very seriously...I am assume another moderator (it wasn't me) felt you ARE serious about this topic, and moved it here.
 
Sheriff
Posts: 67645
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
If you really want the responses to be pictures of pies and puppies, I'll gladly move it back to Meaningless Drivel.
 
Chan Ag
Rancher
Posts: 1090
14
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Although I love pies ( and pancakes ), and puppies, this post looks better here. :-) The forum responses many times have put my perspective in place and hence I value them.

I thought the moderators would rather not allow it here as it did not have any java concepts related questions.

Thanks for moving it here.
Chan.
 
Rancher
Posts: 2759
32
Eclipse IDE Spring Tomcat Server
  • Likes 4
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Can you find anyone who knows everything about Java? Yes, if you look very hard, you might find someone. However, most people know enough to be able to figure stuff out when they need to use it.

I did Web services 7 years ago. Back then it was all SOAP and code generators that generated java code that can make SOAP calls. Now, the world changed, and it's all a mix of REST and SOAP, and it's all annotation driven... and I don;t even know what the heck JAX RPC does. I don't even care because by the time I do get around to developing web services, something else would be there. what I do know is that I am confident of myself to learn whatever is required about web services when I need to.

Same thing with EJB. When EJBs were starting up, I had a job at a company that was all about Struts actions calling DAO web services. When I came in, I added some AJAX into the mix. ALl this while, I was freaking out that I'm not learning EJBs. By the time, I got out of that world, EJBs were gone, and Spring and JQuery was in. I learnt Spring and JQuery on the job and face it, besides the whole DI thing, Spring/Jquery combination is structurally very similar to Struts/custom javascript. I mean the new technologies make things easier for you, but the way you design and structure your application is almost the same.

So,I'm back to the "cutting edge", for the next 10 minutes atleast. I bit the bullet there, but it was an important lesson. DOn't sweat the things you don't know. Focus on the things that you do know. WHat matters most is your ability to understand the core concepts, and be able to apply them to a differrent toolset. The number of APIs you can cram into your brain is meaniningless.
 
Bartender
Posts: 10780
71
Hibernate Eclipse IDE Ubuntu
  • Likes 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Chan Ag wrote:The point is this list keeps growing... Do most ( excluding the experts who always know many things about many things ) people really know so much and more possibly?
...
Seems like "It's a big, big, big world" , I have chosen for myself. :-)


Sure is. And from what I've seen of your posts, it seems like you've learnt some of it.

Chan, I've been in this biz for 35+ years and been using Java for the last 12; and believe me, it doesn't stop; and it doesn't get any easier either (especially at my age). But what intelligent person would want something that you can learn in a few months? You'd soon get bored.

I'm lucky (or unlucky) enough to have been "born" with procedural languages, and had to learn how to think objectively (it took me about 8 years). Books can take you so far, but there's a lot of banging your head against the terminal involved - and you guys are lucky now 'cause you have those soft flat-screen things.

Along the way I also picked up a couple of years of intensive data modelling experience, which I'd definitely advise to anyone who wants to call him/herself a "proper" programmer. If you don't understand how data structures and relationships and transactions work, how can you expect to program them? And now that networks and distributed systems are involved...

My advice: Enjoy it. Chances are that if you find it a chore, you'll get into management (far more boring in my opinion); but if you really enjoy "not knowing", it's the career of a lifetime. I'm a programmer down to my boots, and I fully expect to be buried with my laptop.

Isaac Asimov (a really clever bloke) wrote:The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka” but “That’s funny...”

And believe me, that's how it happens.

The point is this list keeps growing... Do most ( excluding the experts who always know many things about many things ) people really know so much


I suspect you're running into the general business of knowledge:
The more you know, the more you know you don't know
(sorry if that sounds like a Donald Rumsfeld-ism)

or if you prefer:

Isaac Newton wrote:If I seem to have seen further than others, it is by standing on the shoulders of giants.

(bloody Isaacs; what makes them so damn clever?)

One of the few good things though is that the Java community is quite friendly and helpful. Thank God.


Because (at least on this site) we all know that we were once where you are. If you want a good read on the subject, try this.

Winston
 
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
good to see I'm not the only one
 
Chan Ag
Rancher
Posts: 1090
14
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
From whatever I've known so far about programming in Java, I sort of like it. And I'm hoping that this will remain as is for me in the days ( hopefully in the years ) to go. I like ( doesn't imply I'm good at it ) to design good solutions and I strongly believe that unless you've programmed solutions that cover data structures, and threads, you haven't really programmed much. So I'm just trying to build a good base in the foundation stuff.

I've started with threads and recursion and I'm enjoying working on this stuff. I find recursion algorithms slightly difficult- especially the double recursion stuff and the problems that require you to convert a solution that uses iteration to a solution that uses recursion. But I'm enjoying it still. And I'm really grateful to the Javaranch community ( it's almost a Java university that you get for free :-) ) here for helping me and people like me adapt to Java.

These days I hear everyone around me talking about Spring, hibernate, J2EE ( among big data, and all sorts of other what not's). It sort of is intimidating at times. Few days back I even tried to go through some basic tutorials on Spring and hibernate and ended up writing ugly programs that just worked but I realized these short cuts aren't for me. So I'm not going to touch upon these things before threads and data structures, no matter how many jobs require those skills. So that is the current plan. :-)

I hope it is a good plan..

Chan.
 
Jayesh A Lalwani
Rancher
Posts: 2759
32
Eclipse IDE Spring Tomcat Server
  • Likes 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
One thing I like to tell all young developers is that don't be afraid to look at other people's code. Programming is as much art as it's engineering. Sure, you need to learn the tools and techniques, and be able to come up with pros and cons of a solution, and you need to be able to solve problems. However, how you come up with a solution is more or less a learned art

A lot of schools and colleges that teach programming focus a lot of on the Engineering aspect of it. They teach you the concepts:- data structures, recursion, computer and OS architecture, database architecture, etc etc. They might even teach you the tools by having programming courses as part of their curriculum. What they don't teach you is the art behind coming up with solutions. They cannot. They are engineering schools. The way most of engineering works is that the engineer is taught how to use a bag of tools and techniques. When given a problem, s/he analyzes it, finds the best tool for the job and applies it. That's not how software engineering works. The way most software is designed is someone comes up with an idea, and then tries to flesh it out , much like a painter would

OTH, the way art is taught is quite a bit differrent. Yes, the art students have to learn the various tools/techniques they can use, and how to apply them. However that is a small part of the education. Most of an artist's education is spent studying other great artists. Artists spend years and years trying to mimic great works. They study those works in details, down to the very brush strokes that the artist might have used.

IMO, software engineering should have a little bit of the art style education too. Most software graduates have never seen what masterful code looks like. Yes they have written code that implement some algorithms. They might have even done a project or 2, but they haven't seen how succesful programs work. This is akin to telling someone "Here, this is how you hold a brush. This is how you make the strokes.. Practice it.... Practice done.. good.. now go paint for a living" I am certain that if art schools worked like that, many "painters" wouldn't know how to paint. This is why a lot of software engineers cannot code. They haven't seen what real code looks like. In fact, a lot of great code is hidden from software developers because the source code is owned by corporations that consider the source code to be their intellectual property.

Thankfully, the open source movement has picked up quite a bit of steam over the past decade. There is a lot of top notch quality code out there that you can basically download for the cost of free. Read through Spring. Read through hibernate. Better yet, crack open and IDE, and debug through it. You can learn a lot of things that might help you in your career. Or even better yet, find a bug in one of their bug trackers and try to fix it.
 
Chan Ag
Rancher
Posts: 1090
14
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

The stack is still growing.
I'm done studying only the SCJP book so far. Rest all are just like - x chapters done.

Thought of the day - It will get better. :-)

Chan.

bookspic.jpg
[Thumbnail for bookspic.jpg]
 
Sheriff
Posts: 27235
87
Eclipse IDE Firefox Browser MySQL Database
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Jayesh A Lalwani wrote:Most software graduates have never seen what masterful code looks like.



It's a bit easier with Java because the Oracle tutorials are pretty good code. Maybe not masterful but still pretty good. So when I see somebody here asking about their code which it looks like they were wearing boxing gloves when they typed it, I tell them to stop coding and go and read the tutorials. Much of the code I have written is ultimately based on code I copied from those tutorials.
 
Winston Gutkowski
Bartender
Posts: 10780
71
Hibernate Eclipse IDE Ubuntu
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Chan Ag wrote:The stack is still growing.


Well, if you want another one, more along the lines of Jayesh's great post, try this one.

Some of it even goes over my head, but it's a wonderful book. I particularly recommend the chapters on regex, bit counting and "beautiful tests".

Winston
 
Chan Ag
Rancher
Posts: 1090
14
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks, Winston. :-) :-)

Will consider buying it once I'm done with Java Threads. :-) Thank you.

My instructor ( she ain't giving lessons anymore ) would always emphasize on writing beautiful code and she almost always found scope of improvement in our submissions. I still remember there was one simple problem for which I had to submit three solutions till I got it correct. We'd always think - damn! why didn't we think like that!

There'll be a one day...

Chan.

reply
    Bookmark Topic Watch Topic
  • New Topic