All good to know. Just take it one thing at a time—divide and conquer. IMHO you don't really need to become an expert at all of the things in George's list, but it will be valuable to get the basics of them all down so you can learn the in-depth stuff once you have a need to use them on a project. For developers XML is pretty handy to know because it's used for XHTML, Flex and Ant as well.
Also I forgot to mention JUnit for unit testing, and Javadoc for documentation. Knowledge of either/both of these will help with your coding knowledge and also producing better code in Java. On 11/12/2009, at 8:52 PM, George Dickson wrote: > I'm also just starting out in Java programming - and its a bit > daunting. I was sketching a diagram in my head the other day with > all the connections - I'll try to describe it > > 1. Start of with knowledge of HTML the basis of any web page > 2. Then you can put Javascript into the HTML > 3. You can wrap the HTML up as a JSP > 4. Then you can throw in some Java > 5. Wrap it all up in a Model View Controller Design pattern.... > 6. which you could implement with something like Struts > 7. Which is glued together with XML > 8. Spring also seems to be important > 9. then you need to learn the development tools like Eclipse IDE > 10. and build tools like Ant/Maven and CVS > 11. finally know about deploying it on webservers like Tomcat or > JBoss. > > so as I said ... all a bit daunting > > > On Fri, Dec 11, 2009 at 6:28 AM, Nic Fox <[email protected]> wrote: > Hi > The best thing to do to work on large applications is to either get > a developer job in an organisation or to contribute to an open > source project. Most jobs in Java development these days seem to > require J2EE/Java EE, and usually that also means familiarity with > SQL/database technologies, and HTML/CSS is also required. It is also > common to see Struts, Spring, JBoss or ZK frameworks being employed > which extend Java EE capabilities. Hibernate is another popular > framework used for implementing persistence/database features. There > are quite a few other frameworks—I've just listed the ones that I > see most often in job adverts for Java developers—so you might like > to look at others such as Google Web Toolkit and Tapestry for example. > > The use of algorithms or maths really depends on the type of > programming you intend to do. You would find them used more in > fields like games, simulation, scientific applications, artificial > intelligence and statistical analysis. Proof of correct operation > and application efficiency are also areas where maths and knowledge > of algorithms count. Boolean logic is pretty important to computer > programming in general, so it's always good to have an understanding > of that no matter what you do in programming. Another useful thing > to practice is coding existing algorithms or mathematical formulas > in Java, because you will often be applying existing algorithms or > theory anyway. > > If you're looking for more general skills to gain as a developer I > suggest finding out more about the following: > > - Design principles: > - don't repeat yourself (DRY) > - "keep it simple, stupid" (KISS) and "you aren't gonna need > it" (YAGNI) > - tight cohesion > - loose coupling > - favour composition over inheritance > - encapsulate what varies > > - UML: good for building models of class/object relationships and > interactions, as well as the flow of program logic. > > - Design patterns: I can't offer much advice as these can be hard > to understand and I've only scratched the surface in learning these > myself. They are ways of implementing common programming tasks. You > will find knowing about abstract classes, interfaces and UML to be > handy in learning about design patterns. > > Cheers > Nic > > On 11/12/2009, at 7:40 AM, Rammohan Vadlamani wrote: > >> Hi all, >> I have been practising java programming for the past one >> year and have learnt pretty much of it. But I want to program >> really big stuff. Can any one tell me how should I proceed. I have >> also heard that algorithms and mathematics play a big role in >> programming. Can any one let me know the significance of algorithms >> and maths in the field of computer programming. >> >> Rammohan >> >> -- >> To post to this group, send email to >> [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> For more options, visit this group at >> http://groups.google.com/group/javaprogrammingwithpassion?hl=en > > > -- > To post to this group, send email to > [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/javaprogrammingwithpassion?hl=en > -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/javaprogrammingwithpassion?hl=en
