In "Effective C++ Rules", Scott Myers gives 50 rules for C++ programmers to follow. Which of these rules apply to Java as well as to C++? Less than half, in my opinion: 1. no 2. no 3. no 4. maybe 5. no 6. no 7. no 8. no 9. no 10. no 11. no 12. maybe 13. maybe 14. no 15. no 16. no 17. no 18. yes 19. maybe (static and dynamic yes, but no friends in Java) 20. yes 21. maybe (with "final" for "const") 22. no (Java doesn't give you this choice) 23. no (Java doesn't give you this choice) 24. no (Java doesn't have default parameters) 25. no (Java doesn't permit this) 26. yes 27. yes 28. maybe (with "class" for "struct") 29. no 30. no (Java doesn't permit this mistake) 31. no (Java doesn't permit this mistake) 32. no (Java doesn't have enums) 33. maybe (Java doesn't permit this to be specified directly) 34. yes 35. yes 36. yes 37. no 38. no (Java doesn't have default parameters) 39. yes 40. yes 41. maybe (I'm not sure this even makes sense for Java) 42. no (Java doesn't have templates, yet) 43. no (Java doesn't permit multiple inheritance) 44. yes 45. yes (with "Java" for "C++", of course) 46. yes 47. yes (with "static" for "global") 48. yes 49. maybe (how are you supposed to know what they are?) 50. maybe (with "JLS" for "ARM")