UPUP                        
                        UPUPUPUPUP    UPUP                        
                  UPUPUPUPUPUPUP      UPUP      UPUP              
          UPUPUPUPUPUPUP              UPUP        UPUP            
                      UP              UPUP        UPUPUP          
                      UP              UPUP          UPUP          
                      UP              UPUP                        
                      UP              UPUP                        
                      UP              UPUP              UPUP      
        UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP      
                      UP              UPUP                        
                      UP              UPUP          UP            
                      UP              UPUP          UPUP          
                      UP              UPUP        UPUPUP          
                      UP      UPUP    UPUP        UPUP            
                      UPUPUPUP        UPUP      UPUP              
                  UPUPUPUP              UPUP  UPUPUP              
          UPUPUPUPUPUPUP                UPUPUPUPUP                
      UPUPUPUPUP      UP                UPUPUPUP                  
        UPUP          UP                UPUPUP                    
                      UP                UPUPUP                    
                      UP              UPUPUPUPUP                  
                      UP          UPUPUP    UPUPUP          UP    
                      UP        UPUP          UPUPUP        UP    
                    UPUP    UPUP                UPUPUPUP    UP    
            UPUPUPUPUPUPUP                        UPUPUPUPUPUP    
                UPUPUPUP                              UPUPUPUPUP  
                  UPUP                                    UPUPUP  
                                                                  
                                                                  
                                                                  
                                                                  
                                                        UPUPUP    
                        UPUP  UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP    
      UPUPUPUPUPUPUPUPUPUPUP              UPUP                    
                  UP                      UPUP                    
                  UP                      UP                      
                  UP                      UP                      
                  UP            UPUPUPUPUPUPUPUPUPUPUPUPUPUP      
                  UP            UPUP                    UPUP      
                  UP            UPUP                    UP        
                  UP            UPUP                    UP        
                  UP            UPUP        UPUP        UP        
                  UP            UPUP        UPUP        UP        
                  UP            UPUP        UPUP        UP        
                  UP            UPUP        UPUP        UP        
                  UP            UPUP        UPUP        UP        
                  UP            UPUP        UPUP        UP        
                  UP            UPUP        UPUP        UP        
                  UP            UPUP        UP          UP        
                  UP            UPUP      UPUP          UP        
                  UP            UPUP      UPUP          UP        
                  UP                      UPUP                    
          UP    UPUP                      UP                      
            UPUPUPUP                    UPUP      UPUP            
              UPUPUP                  UPUP          UPUPUP        
                                    UPUP              UPUPUP      
                                  UPUP                  UPUPUP    
                              UPUPUP                      UPUP    
                          UPUP

解决方案 »

  1.   

    许多语言在设计时就已考虑到了复杂性的问题。但从另一角度看,实际设计时肯定会有另一些问题浮现出来,需把它们考虑到这个复杂性的问题里。不可避免地,其他那些问题最后会变成最让程序员头痛的。例如,C++必须同C保持向后兼容(使C程序员能尽快地适应新环境),同时又要保证编程的效率。C++在这两个方面都设计得很好,为其赢得了不少的声誉。但它们同时也暴露出了额外的复杂性,阻碍了某些项目的成功实现(当然,你可以责备程序员和管理层,但假如一种语言能通过捕获你的错误而提供帮助,它为什么不那样做呢?)。作为另一个例子,Visual Basic(VB)同当初的BASIC有关的紧密的联系。而BASIC并没有打算设计成一种能全面解决问题的语言,所以堆加到VB身上的所有扩展都造成了令人头痛和难于管理和维护的语法。另一方面,C++、VB和其他如Smalltalk之类的语言均在复杂性的问题上下了一番功夫。由此得到的结果便是,它们在解决特定类型的问题时是非常成功的。
    在理解到Java最终的目标是减轻程序员的负担时,我才真正感受到了震憾,尽管它的潜台词好象是说:“除了缩短时间和减小产生健壮代码的难度以外,我们不关心其他任何事情。”在目前这个初级阶段,达到那个目标的后果便是代码不能特别快地运行(尽管有许多保证都说Java终究有一天会运行得多么快),但它确实将开发时间缩短到令人惊讶的地步——几乎只有创建一个等效C++程序一半甚至更短的时间。这段节省下来的时间可以产生更大的效益,但Java并不仅止于此。它甚至更上一层楼,将重要性越来越明显的一切复杂任务都封装在内,比如网络程序和多线程处理等等。Java的各种语言特性和库在任何时候都能使那些任务轻而易举完成。而且最后,它解决了一些真正有些难度的复杂问题:跨平台程序、动态代码改换以及安全保护等等。换在从前,其中任何每一个都能使你头大如斗。所以不管我们见到了什么性能问题,Java的保证仍然是非常有效的:它使程序员显著提高了程序设计的效率!
      

  2.   

    请教 zhang1976(被大风刮的到处跑):
    麻烦请非常简单介绍一下,你们做什么样的项目或产品的时候,换到Java后比原来的哪种语言效率提高了多少?
    多谢!