aspose file tools*
The moose likes Cattle Drive and the fly likes Map I found it !! Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » This Site » Cattle Drive
Bookmark "Map I found it !!" Watch "Map I found it !!" New topic
Author

Map I found it !!

Johannes de Jong
tumbleweed
Bartender

Joined: Jan 27, 2001
Posts: 5089
see What makes Java Difficult.
What took you ??. Did not check youre e-mail hey
Pauline McNamara
Sheriff

Joined: Jan 19, 2001
Posts: 4012
    
    6
Hi Johannes. Those are some really interesting conversations. Makes me wonder too if there's a tiny little advantage to learning this java thing *without* much programming background.

[This message has been edited by Pauline McNamara (edited July 11, 2001).]
Johannes de Jong
tumbleweed
Bartender

Joined: Jan 27, 2001
Posts: 5089
Personally I think there is an advantage NOT having the baggage of the old for learning OO, learning Java as a language is no problem for me. Though I must confess that the whole API, think is very foreign to me. see my embarrassing posting on that.
If one looks at my "problems" with the API it comes down to the OO thing. I have to learn to seach the API thinking in OO terms.
I wonder if it might not be better to get into OO design before even attempting to learn Java.
Pauline McNamara
Sheriff

Joined: Jan 19, 2001
Posts: 4012
    
    6
..."thinking in OO terms." Now THAT's a tough one. Now that I've "graduated" to the OOP part of the cattle drive I've decided to take some time to try and absorb these concepts.
Some days something clicks, but I suspect it's the sound of my brain trying to resettle itself in my head after being twisted around so much. For me, it really feels like an exercise in thinking conceptually like I've rarely had to before.
OO design first, then Java? I like wrestling with the "why" concepts, but the concrete "how" coding exercises help my understanding too (and it's fun)...but then again, I don't have to unlearn the specific stuff.
Johannes de Jong
tumbleweed
Bartender

Joined: Jan 27, 2001
Posts: 5089
I've decided to take some time to try and absorb these concepts.
Thats the stage I'm at right now. Should I stop and re-read everything again or do I actually need a real project where I can discuss and learn with/from others.
By the way Pauline what is your background, it's most probarly here somewhere on the site, but I'm to lazy to look , and are you Swiss or do you only stay there ?
[This message has been edited by Johannes de Jong (edited July 11, 2001).]
Manju Jain
Ranch Hand

Joined: Feb 08, 2001
Posts: 168
Hi friends,
Your link was quite interesting. From the conversations it looks like , designing and coding in OO involves lot more creativity and imagination. For eg., reusability code demands imagination for future requiremnts. One could go on-on-on about pros and cons of procedural vs OO.
Personally, I'm a fan of 'C' but I like coding in OO too.
Cheers,
jytsika
Richard Boren
Ranch Hand

Joined: Mar 01, 2001
Posts: 233
I'm a procedural kind of guy and I know for a fact that I am having a harder time grasping the OOP concepts. In the strictly procedural world once you had learned the language syntax and the different construct you could write programs. With just a little more effort and a little critiquing you could write, structured, reliably, maintainable, robust... programs. For me I had classes in BASIC, COBOL, and C. Total focused time invested in learning how to program in three languages was about three months. I spent more time learning accounting than I did programming. I was able to code a report in COBOL for my first employer the first week I was employed with very little help. I don't have libraries of books on COBOL and I don't need them. I've got one COBOL book and I have never needed any other book for coding in COBOL.
It is true that Java is relatively simple to learn, in fact I would goes as far to say it is easier then COBOL. But the whole OOP thing is a pretty big pill to swallow. So fare I have worked through a Learn Java in 21 days book, taken C++ classes at a community college, and now I am working through The Cattle Drive and reading Just Java. This has involved nearly a year of learning. So where am I? For me the defining answer was the SortNames assignment. I was totally lost when I started that assignment. I read every post I could find, studied the API, studied the source for the Collections class, worked through Sun's tutorial on interfaces and Collections not to mention reading Just Java on the subject. I was amazed when I got that one to work and passed only after a few attempts. However, I could not sit down and code the SortNames assignment without looking at the API, books, tutorials etc. even though I have already coded it. I never felt that way with the procedure stuff. Once I learned something I always felt confident that I could code it without the need of a resource book. The whole interface, implementing, overriding thing is still not very intuitive to me.
I do feel OOP is the way to go and that Java is a great tool for implementing it. I don�t think it is fair to say OOP concepts are not much harder to learn than procedural concepts. And I don�t think having a back ground in procedural programming makes the learning process more or less difficult since the procedural concepts still exist in OOP. Every method you write is procedural in nature. I don�t feel like I�m unlearning anything, only learning more and more and more and more�.
Pauline McNamara
Sheriff

Joined: Jan 19, 2001
Posts: 4012
    
    6
"Should I stop and re-read everything again or do I actually need a real project where I can discuss and learn with/from others."
Here's a scene that keeps repeating itself with me when I'm reading java stuff: I turn to something and think, "Oh, here's something I should be getting familiar with." Then I read a couple pages and discover my own notes in the margin or my own highlighting. OOPs! (pun intended) Guess I read that before!
Rereading seems almost inevitable.
Projects? For me, just getting through the cattle drive (that's my speed for now). Bill Bozeman's javaworkshop.net hasn't had much activity lately, but something like that looks like the ideal solution...
Pauline
ps JdJ, I live in Switzerland but I'm not Swiss. My latest "official background" is geographer, but I've worn a lot of different hats.
[This message has been edited by Pauline McNamara (edited July 11, 2001).]
jason adam
Chicken Farmer ()
Ranch Hand

Joined: May 08, 2001
Posts: 1932
I agree with the statement that coming from a background that is not in programming makes it easier to learn OOP and Java in general (easier being an extremely relative term). I'll be the first to admit that my mind does not work in the logical A to B pattern. It also seems to me that programming this way takes a very technical area and turns it somewhat into an art. You have to have the ability to think outside the predefined box and can pull all of this wackiness together into one cohesive program.
SortNames is a nice hump to get over, however I feel after getting that program to work that when I read tutorials or pages that have OOP concepts on them, I have a much better grasp of where things are being pulled from, and feel that I could use inheritance and polymorphism concepts better in my code.
Of course, I just sent mine in to be nitpicked, so I could have a complete reversal of this view based on how much Marilyn decides to shred my new-found understanding
Jason
Amber Woods
Ranch Hand

Joined: Mar 28, 2001
Posts: 111
JDJ, Thanks for sharing the discussion with us. Now I will feel a little more comfortable to say that I know java after I finish the cattle drive. Great comments on OO Design!


"Happiness is a way to Travel, <b>Not</b> a Destination" -- Unknown
Matthew Phillips
Ranch Hand

Joined: Mar 09, 2001
Posts: 2676
Originally posted by jason adam:
It also seems to me that programming this way takes a very technical area and turns it somewhat into an art. You have to have the ability to think outside the predefined box and can pull all of this wackiness together into one cohesive program.

I think one of the reasons that I enjoy programming so much is due to the fact that I am an artist that loves to apply logic to my art. I've been a musician for a little over 10 years and I have always tried to apply logic to the music that I create. I think that the way my brain works makes programming a lot of fun and hopefully good at it as well.
Matthew Phillips


Matthew Phillips
Mapraputa Is
Leverager of our synergies
Sheriff

Joined: Aug 26, 2000
Posts: 10065
Personally I think there is an advantage NOT having the baggage of the old for learning OO
I agree with the statement that coming from a background that is not in programming makes it easier to learn OOP and Java in general
The notion that people without prior programming experience have advantage may be our first impression, but I believe in the long run it is not true. I do not believe that absence of knowledge can be an advantage.
That reminds me an old joke about a team of blind people investigating problem "what is an elephant" by touching different (currently accessible ) parts of an elephant. They all got different concepts of elephantness according to what part they happened to investigate. When we learn something, we are these blind people, and on different stages of learning we are exposed to different part of elephantness. We can touch a leg first and a trunk later, and of course, this last knowledge will change our conception (or preconception ) about what an elephant is. But I do not think those who skipped legs and started from a trunk have any advantage. They may grasp what is a trunk quicker, but who has fuller understanding about an elephant? Seems to me that more experienced investigators.
Basically, the only argument supporting "novice advantage" hypothesis is that novices do not need to "unlearn". The problem with "unlearning", however, is that there is no evidence such thing exists - is it really possible to "unlearn" something? Is it really what happens when we learn OOP? I can realize that what I knew before was not the whole truth, but only part of it, so I need to re-arrange pieces of knowledge. But I would not call it "unlearning", I would use something like "re-shuffling" instead Um, this term isn't particularly insightful either... The process is not linear,
knowledge != knowledge + oneMorePiece;
when we add a piece of knowledge, it should afect all we knew before. I would use the term "chain reaction" - I re-think all what I learnt before because now I see things from yet another point of view.
Recently I learnt a new language - XSLT, the language designed with a narrow proposal to transform XML documents. It belongs to another programming paradigm - functional programming, different from both procedural and OOP. This new language affected the way I think about programming in general. With FP languages you have to have clear understanding what you want to achieve - then programming becomes trivial. I realized that with "normal" procedural languages I often did not have this clear understanding, the programming itself was a way to figure out what I want to get Here new skills enhanced meta-skills. I would never call it "unlearning"
And what bothers me, that I still did not get such non-linear effect with OO programming. It exists as an isolated set of sole facts and techniques in my head. I tend to attribute it to the fact, that I do not feel OOP as a whole.
What I (and maybe not only I ) need is a uniting metaphor. Functional programming uses "function" metaphor: results of one function can be used as an argument for another and so on... After you got this idea the whole process is pretty clear. OOP IMHO lacks such metaphor.

Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
 
 
subject: Map I found it !!