bookmarks  34

  •  

    Quantum computers would be able to process information in ways that standard computers cannot by tapping the unusual properties of quantum mechanics, but an analysis suggests that quantum computers would outclass conventional machines only by a slight degree for most computing problems, writes MIT professor Scott Aaronson. Evidence now indicates that quantum machines would be susceptible to many of the same algorithmic restrictions as classical computers, and these restrictions are totally independent of the practical problems of constructing quantum computers. A solid quantum computer algorithm would guarantee that computational paths leading to an incorrect answer neutralize while paths reading to a right answer reinforce, Aaronson says. The discovery of an efficient quantum algorithm to solve NP-complete problems remains elusive despite much effort, but one definite finding is that such an algorithm would have to efficiently take advantage of the problems' structure in a manner that is outside the capabilities of present-day methods. Aaronson points out that physicists have yet to come up with a final theory of physics, which gives rise to the possibility that a physical way to efficiently solve NP-complete problems may one day be revealed by a future theory. "People speculate about yet more powerful kinds of computers, some of which would make quantum computers look as pedestrian as vending machines," he notes. "All of them, however, would rely on speculative changes to the laws of physics." Aaronson projects that the difficulty of NP-complete problems will someday be perceived as a basic principle that describes part of the universe's fundamental nature.
    16 years ago by @gwpl
     
     
  •  

    In "Augmenting Human Intellect: A Conceptual Framework," Doug Engelbart, head of the Augmentation Research Center at Stanford Research Institute, presented a philosophy that favored efficiency over ease-of-use in human-computer interaction, notes Richard Monson-Haefel. In essence, Engelbart felt that basing computer interactions on the most efficient systems was the best way to achieve an optimal human-computer symbiosis. Monson-Haefel thinks the best embodiment of Engelbart's views is his five-finger keyboard, which is designed for use with one hand and carries out very rapid data entry and computer interactions when combined with a computer mouse, which Engelbart also conceived of. The keyboard-mouse combination was very tough to learn, which points to the crux of Engelbart's dilemma: More efficient and potentially more powerful human-computer interfaces have a very steep learning curve. Monson-Haefel says the modern approach to human-computer interaction stresses ease-of-use and usability without training, which runs counter to Engelbart's philosophy, which led to some of the most exceptional computer technologies in use today. The author does not think Engelbart's preference for efficiency is a completely unsound notion, and he reasons that "perhaps, like the violin, people could reach a new level of synergy with computers if they followed Engelbart's philosophy and focused on efficiency over ease-of-use."
    16 years ago by @gwpl
     
     
  •  

    An Interview With Bjarne Stroustrup - Dr. Dobb's Journal (03/27/08) Buchanan, James C++ creator Bjarne Stroustrup says in an interview that next-generation programmers need a thorough education that covers training and understanding of algorithms, data structures, machine architecture, operating systems, and networking. "I think what should give is the idea that four years is enough to produce a well-rounded software developer: Let's aim to make a five- or six-year masters the first degree considered sufficient," he says. Before writing a software program, Stroustrup recommends that a programmer consult with peers and potential users to get a clear perspective of the problem domain, and then attempt to build a streamlined system to test the design's basic ideas. Stroustrup says he was inspired to create a first programming course to address what he perceived as a lack of basic skills for designing and implementing quality software among computer science students, such as the organization of code to ensure it is correct. "In my course I heavily emphasize structure, correctness, and define the purpose of the course as 'becoming able to produce code good enough for the use of others,'" he says. Stroustrup thinks programming can be vastly improved, especially by never losing sight of how important it is to produce correct, practical, and well-performing code. He describes a four-year undergraduate university course in computer science he helped design as having a fairly classical CS program with a slightly larger than usual software development project component in the first two years of study. Courses would cover hardware and software, discrete math, algorithms and data structures, operating and network systems, and programming languages, while a "programming studio" would be set up to expose students to group projects and project management.
    16 years ago by @gwpl
     
     
  •  

    Most people today are only users of the information technology systems provided, making changes only when prompted, using "creativity" tools that stifle innovation, and accepting failures, disappointments, and crashes as inevitable and expected, writes Bill Thompson. In general, he says users accept the lack of programming tools or encouragement to engage in writing code, possibly because of the increasing complexity of modern computer systems. With so many users completely ignorant on how to program, it becomes difficult to have a serious debate about the core technical issues that affect the development and deployment of IT systems in our lives. The applications that support all aspects of society are all built by programmers, and there is a startling lack of programmers entering the software industry. Universities have seen applications for computer science degrees drop off, and computing is considered a non-essential subject in high school. Thompson says children need to see that programming is a useful skill that can be applied to a variety of careers. He says if more children were provided with suitable languages and tools for programming at school or at home, there would be at least some chance that those with an aptitude for coding would discover it early enough to become interested in the field.
    16 years ago by @gwpl
     
     

publications  229