Index chap01 Nauka o fotografii Chalker Jack L Polnoc przy Studni Dusz abc.com.pl 7 function.posix geteuid 2 (39) rozdzial 07 (153) Orson Scot Card Cien Endera Bezsenni John Gray Mezczyzni sa z Marsa a kobiety z Wenus |
[ Pobierz całość w formacie PDF ] .Pick a small group for indoctrination, preferably one composed of peoplewho are curious, work well together, and can function as their own supportnetwork while they’re learning Java.An alternative approach that is sometimessuggested is the education of all company levels at once, including overviewcourses for strategic managers as well as design and programming courses forproject builders.This is especially good for smaller companies makingfundamental shifts in the way they do things, or at the division level of largercompanies.Because the cost is higher, however, some may choose to start withproject-level training, do a pilot project (possibly with an outside mentor),and let the project team become the teachers for the rest of the company.[ Add Comment ]2.Low-risk projectTry a low-risk project first and allowfor mistakes.Once you’ve gained some experience, you can either seedother projects from members of this first team or use the team members as an OOPtechnical support staff.This first project may not work right the first time,so it should not be mission-critical for the company.It should be simple,self-contained, and instructive; this means that it should involve creatingclasses that will be meaningful to the other programmers in the company whenthey get their turn to learn Java.[ Add Comment ]3.Model from successSeek out examples of good object-orienteddesign before starting from scratch.There’s a good probability thatsomeone has solved your problem already, and if they haven’t solved itexactly you can probably apply what you’ve learned about abstraction tomodify an existing design to fit your needs.This is the general concept ofdesign patterns, covered in Thinking in Patterns with Java,downloadable atwww.BruceEckel.com.[ Add Comment ]4.Use existing class librariesThe primary economic motivation forswitching to OOP is the easy use of existing code in the form of class libraries(in particular, the Standard Java libraries, which are covered throughout thisbook).The shortest application development cycle will result when you cancreate and use objects from off-the-shelf libraries.However, some newprogrammers don’t understand this, are unaware of existing classlibraries, or, through fascination with the language, desire to write classesthat may already exist.Your success with OOP and Java will be optimized if youmake an effort to seek out and reuse other people’s code early in thetransition process.[ Add Comment ]5.Don’t rewrite existing code in JavaIt is not usually the best use of yourtime to take existing, functional code and rewrite it in Java.(If you must turnit into objects, you can interface to the C or C++ code using the Java NativeInterface, described in Appendix B.) There are incremental benefits, especiallyif the code is slated for reuse.But chances are you aren’t going to seethe dramatic increases in productivity that you hope for in your first fewprojects unless that project is a new one.Java and OOP shine best when taking aproject from concept to reality.[ Add Comment ]Management obstaclesIf you’re a manager, your job is toacquire resources for your team, to overcome barriers to your team’ssuccess, and in general to try to provide the most productive and enjoyableenvironment so your team is most likely to perform those miracles that arealways being asked of you.Moving to Java falls in all three of thesecategories, and it would be wonderful if it didn’t cost you anything aswell.Although moving to Java may be cheaper—depending on yourconstraints—than the OOP alternatives for a team of C programmers (andprobably for programmers in other procedural languages), it isn’t free,and there are obstacles you should be aware of before trying to sell the move toJava within your company and embarking on the move itself.[ Add Comment ]Startup costsThe cost of moving to Java is more thanjust the acquisition of Java compilers (the Sun Java compiler is free, so thisis hardly an obstacle).Your medium- and long-term costs will be minimized ifyou invest in training (and possibly mentoring for your first project) and alsoif you identify and purchase class libraries that solve your problem rather thantrying to build those libraries yourself.These are hard-money costs that mustbe factored into a realistic proposal.In addition, there are the hidden costsin loss of productivity while learning a new language and possibly a newprogramming environment.Trainingand mentoring can certainly minimize these, but team members must overcome theirown struggles to understand the new technology.During this process they willmake more mistakes (this is a feature, because acknowledged mistakes are thefastest path to learning) and be less productive.Even then, with some types ofprogramming problems, the right classes, and the right development environment,it’s possible to be more productive while you’re learning Java (evenconsidering that you’re making more mistakes and writing fewer lines ofcode per day) than if you’d stayed with C.[ Add Comment ]Performance issuesA common question is,“Doesn’t OOP automatically make my programs a lot bigger andslower?” The answer is, “It depends.” The extra safetyfeatures in Java have traditionally extracted a performance penalty over alanguage like C++.Technologies such as “hotspot” and compilationtechnologies have improved the speed significantly in most cases, and effortscontinue toward higher performance.[ Add Comment ]When your focus is on rapid prototyping,you can throw together components as fast as possible while ignoring efficiencyissues.If you’re using any third-party libraries, these are usuallyalready optimized by their vendors; in any case it’s not an issue whileyou’re in rapid-development mode.When you have a system that you like, ifit’s small and fast enough, then you’re done.If not, you begintuning with a profiling tool, looking first for speedups that can be done byrewriting small portions of code [ Pobierz całość w formacie PDF ] |
||||
Wszelkie Prawa Zastrzeżone! Kawa była słaba i bez smaku. Nie miała treści, a jedynie formę. Design by SZABLONY.maniak.pl. | |||||