On Mon, 2009-07-13 at 20:24 -0700, Jason Dagit wrote: > On Mon, Jul 13, 2009 at 3:37 PM, Daniel Herrington <[email protected]>wrote: > > > All, > > > > I'm embarking on a voyage of discovery with Java and I'm looking into > > picking up a couple of books. Does anybody have some good suggestions from > > what they've read/used? I've been exposed to OO programming through PHP and > > Perl. Also and web resources and mailing lists would be helpful as well. > > > The best way that I've found to learn any language is to embark on making a > compiler or interpreter for the language, preferably in the language.
Doesn't this require that you know assembly language??? Compile to what...?? Interpret to what..??? Linux-yug > get the knowledge of how the language works by skipping the parser and the > code generation. > > Try this approach: > * Read up on the language, whatever resource you like that covers the > language in depth is fine. This serves to give you a background on what the > language is like and how it works at a high level. > > * Build data types and classes to represent expressions in the language. > The representation doesn't have to be 100% correct or complete, just close > enough that you get a feel for how to represent it. This is an opportunity > to learn also how people structure data types and programs in your > language. Find a mailing list for users of your language and share your > code with them and ask for feedback. > > * Write classes/functions/etc that act on your data types and evaluate them > the way the language is supposed to be evaluated. This teaches how and why > the language works the way it does. You can do this without knowing > anything about code generation or compiling to bytecode. > > If you do the above things, you'll walk away with a fairly deep > understanding of the language. And the more time you spend getting > feedback, the faster you'll learn and the more wisdom you can build on from > experts. > > Next step is probably to read/debug other people's code. Someone else here > recommended reading the Google Collection's list and I think that's great > advice too. > > Just remember: You don't have to finish this project, nor do you really > need to spend time on the boring parts. Just the parts that help you > understand the language and how people typically solve problems when using > it. > > Good luck, > Jason > _______________________________________________ > PLUG mailing list > [email protected] > http://lists.pdxlinux.org/mailman/listinfo/plug > _______________________________________________ PLUG mailing list [email protected] http://lists.pdxlinux.org/mailman/listinfo/plug
