Java Forum / General / March 2007
Book recommendations
gordon.is.a.moron@gmail.com - 09 Mar 2007 23:09 GMT Hello, what books do you generally have in your arsenal? I'm looking for suggestions with regards to algorithms, design patterns and SQL which all need buffing up. Preferably Java based, but doesn't have to be. First I'd say the GoF Design patterns book, but I'm not sure what else I should get, especially algorithms.
Cheers,
Gordy.
Daniel Pitts - 09 Mar 2007 23:15 GMT On Mar 9, 3:09 pm, gordon.is.a.mo...@gmail.com wrote:
> Hello, what books do you generally have in your arsenal? I'm looking > for suggestions [quoted text clipped - 7 lines] > > Gordy. Good design pattern books: Refactoring, by Fowler Refactoring to Patterns, by Kerievsky Design Patterns, by Gamma, Helm, Johnson, and Vlissides
Overall good resources: Google: http://www.google.com Java API docs: http://java.sun.com/j2se/1.5.0/docs/api/index.html This newsgroup.
:-) Good luck
gordon.is.a.moron@gmail.com - 10 Mar 2007 23:25 GMT On Mar 10, 12:15 pm, "Daniel Pitts" <googlegrou...@coloraura.com> wrote:
> On Mar 9, 3:09 pm, gordon.is.a.mo...@gmail.com wrote:> Hello, what books do you generally have in your arsenal? I'm looking > > for suggestions [quoted text clipped - 20 lines] > :-) > Good luck Thanks, I'll look at those books. I already have used the Java API's etc., but since I'm abroad just now I only have access via net cafe's etc., hence my reason for book suggestions (I should've mentioned this initially, really.)
Gordy
John T - 10 Mar 2007 02:48 GMT > Hello, what books do you generally have in your arsenal? I'm looking > for suggestions [quoted text clipped - 7 lines] > > Gordy. Oracle Database Programming with Java and Web Services Kuassi Mensah ISBN: 1555583296
Head First Design Patterns ISBN: 0596007124
Thinking In Java ISBN: 0131872486
Design Patterns In Java ISBN: 0321333020
Head First Object-Oriented Analysis And Design ISBN: 0596008678
Ashoka! - 10 Mar 2007 04:09 GMT > gordon.is.a.mo...@gmail.com wrote: > > Hello, what books do you generally have in your arsenal? I'm looking [quoted text clipped - 19 lines] > > Head First Object-Oriented Analysis And Design ISBN: 0596008678 Books are passe, :-) If you want to be up to date internet is a much better resource because you can get to the information you want quickly. I would like to qoute my Systems instructor in college Dr Umar Saif (Who by the way has tought in MIT) "Books are written to make money not to make you learn something, if you want to learn something look a latest research papers and journals"
regards Usman
Casey Hawthorne - 10 Mar 2007 15:46 GMT Nothing "makes" you learn anything!
So, buy lots of "nothing"! : )
>Books are passe, :-) If you want to be up to date internet is a much >better resource because you can get to the information you want [quoted text clipped - 5 lines] >regards >Usman -- Regards, Casey
Chris Uppal - 10 Mar 2007 16:49 GMT > Books are passe, :-) I see the smiley...
> If you want to be up to date internet is a much > better resource because you can get to the information you want > quickly. It depends on what you are looking for. For the subjects the OP mentions, I don't think that resources other than books are any real use at all.
> I would like to qoute my Systems instructor in college Dr > Umar Saif (Who by the way has tought in MIT) "Books are written to > make money not to make you learn something, if you want to learn > something look a latest research papers and journals" That is /terrible/ advice. If Saif were addressing a class of post-graduate students then it would have made some sense (especially as they would probably be too poor to pay for books, so saying "don't" would be a good way to grab their attention). But for a well-established field like basic CS algorithms and design techniques, the valuable stuff was worked out decades ago (more than half a century in many cases), and the relevant stuff simply won't be /in/ the "latest research papers and journals".
Also, the papers -- except for the occasional review paper -- don't even attempt to give a balanced overview of a field (or subfield). So even if you are working in one of the areas where the important stuff is still under active research (and there are plenty of those); the working programmer who just wants to get a job done this week rather than make a multi-year study of the available papers, will find it very difficult to "navigate" the field to find the results which are /actually/ relevant to the job at hand.
-- chris
Patricia Shanahan - 10 Mar 2007 17:09 GMT >> Books are passe, :-) > [quoted text clipped - 19 lines] > half a century in many cases), and the relevant stuff simply won't be /in/ the > "latest research papers and journals". I think it depends on what you are doing, just as much as who you are. I am a Ph.D. student. A few weeks ago I needed to learn SQL. The latest research papers on query optimization would have been absolutely useless for my purpose. The local book store had several introductory how-to books on SQL, and the one I picked worked fine for what I needed.
On the other hand, when working in industry, with plenty of money for books, I've had situations in which I already had the general picture, but needed to know about the latest research results. For that, there is no substitute for reading academic papers.
Patricia
Mark Space - 10 Mar 2007 07:23 GMT > Hello, what books do you generally have in your arsenal? I'm looking > for suggestions [quoted text clipped - 7 lines] > > Gordy. I found the books from MySql Press to be pretty good.
http://dev.mysql.com/books/mysqlpress/
They are obviously focused on MySql, but concepts do bleed over. And I like the MySQL software anyway... ;)
Concrete Mathematics is good for basic discrete maths. There's a PDF available free, of an early edition, Google for it.
Some guy named Knuth wrote a book on algorithms, you might check it out. ;)
Lew - 10 Mar 2007 14:07 GMT > I like the MySQL software anyway... ;) De gustibus non disputandum est, praeter in Usenet.
I have used MySQL in production work, and it works, but I prefer other DBMS products.
MySQL syntax has non-standard elements, and if you forget and leave tables as type "Engine=MyISAM" you lose many relational features (like foreign keys).
-- Lew
Mark Space - 10 Mar 2007 15:39 GMT >> I like the MySQL software anyway... ;) > [quoted text clipped - 6 lines] > tables as type "Engine=MyISAM" you lose many relational features (like > foreign keys). What I liked about the beginning MySQL book was that they started by talking about normalization. I had that in my college text books (long since sold back) but it was nice to see someone try to start from first principles.
Good point about non-standard extensions, that could trip somebody up.
And yes, you have to specify the engine, be the default one is pretty bad.
gordon.is.a.moron@gmail.com - 11 Mar 2007 23:49 GMT > gordon.is.a.mo...@gmail.com wrote: > > Hello, what books do you generally have in your arsenal? I'm looking [quoted text clipped - 20 lines] > > Some guy named Knuth wrote a book on algorithms, you might check it out. ;) Knuth, that's the one. You see I do have references for these things, but they're 10.5k miles away, so I can't remember them. The MYSQL stuff might be interesting, I've used MYSQL with J2EE, but my database desig wasn't up to much really, so they may be useful. Cheers.
Gordy.
Chris Uppal - 10 Mar 2007 16:50 GMT > Hello, what books do you generally have in your arsenal? I'm looking > for suggestions with regards to algorithms I found that Sedgewick's 1-volume books on algorithms (in various languages) were pitched about right for me. A good balance between being so introductory that you read it once and then never look at it again, and so comprehensive as to be unusable for a beginner.
> design patterns Don't expect too much from books on design patterns -- they aren't a good place to learn design.
There are good books with the words "design patterns" in there titles, but they aren't good /because/ of "design patterns" (in fact they tend to be good in inverse proportion to the emphasis they place on patterns).
Read the GoF book, by all means, because it is part of the standard vocabulary of the programming world.
> and SQL No idea. If you want a small suggestion, then if you get a chance to browse several books, then look at how each explains outer-joins. If an author can't explain them clearly and simply, and in a way that gives you an understanding of why you would /want/ to use them, then s/he probably isn't all that good at explaining other stuff. Also the books should be /short/ -- there is nothing in SQL (especially SQL used from a programming language rather than as a report generator) to justify a long book.
-- chris
gordon.is.a.moron@gmail.com - 11 Mar 2007 23:47 GMT On Mar 10, 8:50 am, "Chris Uppal" <chris.up...@metagnostic.REMOVE- THIS.org> wrote:
> gordon.is.a.mo...@gmail.com wrote: > > Hello, what books do you generally have in your arsenal? I'm looking [quoted text clipped - 9 lines] > Don't expect too much from books on design patterns -- they aren't a good place > to learn design. I take it you simply learn by experience, or practice?
> There are good books with the words "design patterns" in there titles, but they > aren't good /because/ of "design patterns" (in fact they tend to be good in [quoted text clipped - 12 lines] > in SQL (especially SQL used from a programming language rather than as a report > generator) to justify a long book. There's a bookshop that has a book like this, not sure how good the explanation of outer joins is, I'll take another look. It does cover normalisation but no BCNF, not that the latter is particularly important.
Chris Uppal - 13 Mar 2007 19:00 GMT [me:]
> > Don't expect too much from books on design patterns -- they aren't a > > good place to learn design. > > I take it you simply learn by experience, or practice? I think that must be it. Of course, you start to gain experience the minute you first even think about how to write your very first program; and every time you write a line of code, or read a line of someone else's code, you are gaining experience and putting in the practise.
Naturally, if you are in a position to write moderately substantial programs (ones big enough that you can see design /options/ and think about which is best and why) then you'll learn faster. Similarly if you work with existing designs (good designs, that is ;-)
(As an aside, why do so many shops insist on putting beginner programmers -- ones without a practised design sense -- onto maintenance work ? When (a) their lack of design intuition will mean they are likely to miss the existing design (and thus fail to follow it in their replacement code), and (b) it is putting then in a poor position to /gain/ a design intuition. It seems dumb to me -- maintenance is a /skill/ and if a person can't at least design and write new code (under some supervision) then s/he is likely to make an unholy mess of changing existing code.)
-- chris
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|