Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Fast Native Eclipse with GTK+ Looks

CmdrTaco posted more than 11 years ago | from the get-your-gui-on dept.

Programming 300

Mark Wielaard writes "The gcj team created a natively compiled build of the Eclipse IDE. The resulting binary starts up faster then with any traditional JVM since there is no virtual machine to initialize or slow byte code interpreter or just in time compiler involved. This means that gcj got a lot better since the last Slashdot story in December about gcj and Eclipse. Red Hat provides RPMs for easy installation. Footnotes has screenshots by Havoc Pennington of the Eclipse IDE with GTK+ widgets."

Sorry! There are no comments related to the filter you selected.

RKZ IS THE ASSMASTER (-1)

Anonymous Coward | more than 11 years ago | (#6600192)

yo yo yo niglets, fo shizzle

Re:RKZ IS THE ASSMASTER (-1, Troll)

Anonymous Coward | more than 11 years ago | (#6600848)

Shut yourmouth Robbie. Your fetish with anime is displaced urges for the "younger" types of females. I think we all know what I mean, by Younger. You guys probably rub wads off to this shit, and its sick man.

. No, We, the prefects of the will of the Light-Good "God," the wu wei, tao, chi. It flows through us. Then the vitriolic black oil-blood that flows through Malda's dark heart came to crush us, to smother our light, to quell sarcastic, funny expressions of self.

We are superior, more clever, and must work around Malda and the Shit Editors (TM) to bring light, humor and freedom of expression back here.

Malda is like Satan, with his evil minions crushing the resistance with temptation, the Apple of Eden, MODERATOR POINTS. This makes normally cynical and funny nerds turn into fuckin' losers policing Slashdot for anyone who thinks for themselves.

From Caesar, to Goebbels and Goering, to the progenitors of the Office of Fatherland Security and the un-Patriot Act, to the morons who "blame guns" for gun crime and destroy gun crime, to Rob Malda and the "editors"[term used loosely, I don't want to offend any professional editors].

For Caesar it was the Savages. For Goebbels and the Nazi regime it was the Jews and non-Aryans. For Fatherland Security, it's the "terrorist". And for Slashdot it's the TROLLS.

This is an unseen enemy, a loose miasma of people being funny and expressive being LABELED and HERDED to be KILLED in to ovens of moderations. This is sick how "power" corrupts.[term again used loosely, the only power rob has is to shut down Slashdot, get more ads to annoy us or delete comments he doesn't like. he isn't rich, doesn't make much money and has a fat wife, so Saddam Hussein is much cooler than him on the power scale.] Power corrupts, and absolute power corrupts absolutely!

Malda snickers in his evil mind, "Vae Victus!" We will prevail, we will wait. One day, he will be vanquished, defeated and have the most dreadful epiphany. he is an agent of darkness, a destroyer of light. A pathetic, lost creature whose existence is nothing now and his identify will was away in the sands of time. To this we can all say, " Sic Semper Tyrannus."

The Future of SLASHDOT.

2002. Slashdot publishes 1,000,000th rumor passed off as actual story. The story generates 480 comments, 263 of which agree with the article, and 107 of which point out it's a rumor and are modded down as redundant. The remaining comments are all "first posts." or posts that contain any rational insight are modded "troll."

2004. CmdrTaco married to a human female, reports are that she does not have 46 chromosomes, however. Fent does display tendency to retardation.

2004. Slashdot parent corporation VA Research^W Linux^W Software stock worth 35 cents. Rumors that AOL, Microsoft, or even Jimmy the hobo who lives under the Longfellow Bridge may buy it.

2005. VA Software bought by Microsoft for a cup of coffee and a donut. All Microsoft-critical articles mysteriously disappear from Slashdot. Bill Gates as Borg logo replaced with Bill Gates as God. (Taco suggested that in order to be "God," or his vision of God, Gates would have to be seen in a NAMBLA T-shirt. Luckily good taste prevails in favor of the old man image in glowing aura)

2005. CmdrTaco loses virginity, well, not sex with men virginity, that's long since gone, and not sex with anime blow up dolls, this time, real sex.

2005. The WIPO Troll returns again, showering Slashdot in 45,000 copies of the same post: "Lick my crotch hairs." Slashdot, despite
running on 18 redundant IIS/8.0Beta6 servers, buckles under the load. The term "Slashdotted" is replaced with "WIPO-Trolled."

2004. Slashdot officially shut down. Millions of screaming, unwashed geeks invade Redmond campus and lynch Bill Gates.

2005. Linus Torvalds and Anal Cox found dead along with six penguins, a tub of crisco and several used condoms. FreeBSD users are glad the insanity is dying.

2005. CmdrTaco rumored to have had sex again, even with constant Viagra therapy, it took this long. He complains, I can be ready to go again in five minutes if I was looking at a nude man, to the dyslexic Fent.

2006. CowboiKneel found dead in hotel room with 56 pizza boxes covering his bloated corpse. Three suffocated gay prostitutes are extracted from beneath his body as police remove it with a backhoe.

2007. CmdrTaco actually has sex again, this time plugging Fent in the ass for a more manlike feel.

2007. BSD is still officially "dying." No word on when its demise will take place. FreeBSD 9 is delivered in perfect working order in a coherent superior, commercially viable and useable fashion with real documentation, the same practice followed since inception. Linux lunatics, after the death of Cox, are still trying to perfect the Trident driver while ignoring the existence of the GeForce 9. Netcraft dies along with all the surveys they held on Microsoft and Linux servers are lost as well.

2007. CmdrTaco starts new weblog to replace Slashdot, creatively named Dotslash. Remainder of Linux users flock to the site and immediate WIPO-Troll it out of existence.

2007. Box running FreeBSD for 6 years sets world record for Unix uptime on consumer hardware.

2008. CmdrTaco has sex with his wife for the first time without thinking of men. He has dawned on the extra sexual pick me up for his twisted mind, small children.

2010 Marcelo Tosatti finally releases a version of the 2.4 Linux Kernel that is useable 2.4.29-RC2099.alpha.stage.99 (not -STABLE!). Fuck you Marcelo, YOU SUCK as a MAINTAINER.

Is genital-too, I mean Gentoo fixed yet? Last time it made me perform all these stupid, fucking easily scriptable mindless tasks to get it installed, with everything installed perfectly the stupid thing didn't work. Death to OS X, death to lame Linux distributions, I want a COHERENT Linux distribution and FREEBSD or DIE, baby.

A long long fucking time from now. Malda, fat, poverty-stricken, unrespected and unremembered and living in an appliance box in Michigan with a pickle jar for a toilet comes to a series of epiphanies. The 8.3 file system that made him truncate his nick to an 8 letter series of characters has long been forgotten, and he finally realizes he looks like a fag using it. He also realizes that men's asses look like tacos, especially with the beef pouring out and that his name sounds more like Commander of Ass, since one can command asses because the belong potentially to sentient or living things, it is difficult to command inanimate objects such as food , so one can only conclude he was commanding ass.

He also realized his site was a lame, fad, he sold out, he needed to refactor his shit code and never did it. He also realized that communites such as Fark don't have this complete asshole running it with gay lameness and compression filters and lame IP blocking bullshit and cheating, pissing and whining and barely anyone trolls it.

We hate you, Fucking Robbie;

he remembers as reams of pages of trolls cry for his expulsion. He also realizes he cant have a computer anymore because he hates the RIAA and MPAA but ran out and gave George Lucas and other shit media companies tons of money to ruin the laws in favor of the omnicorps. He also realizes his socialist and fascist fucking moderation system squelched all the real comments out of view. He also realizes that a full time crew "working" at Slashdot did a shittier job than anyone thought possible.

He also realized he didn't do SHIT for subscribers and punished them as he would anyone else with page limits, IP blocks, compression and lameness filters. He also realizes Signal 11 is a better man than him and that he is a fucking loser for throwing out S11. He realizes despite being an Open Source advocated, his horrible, unusable unreadable pile of shit called Slashcode was one of the worst projects ever. He realized that retarded journalists are better at reporting the news than Slashdot, that Slashdot news was often inaccurate and unverified.

He also realizes that Aprils fools jokes were really stupid and everyone hated them. He realizes bitchslapping, banner ads, ^H and ^W to show deletion and moderation $rtbl are fucking gay and lame. He realizes this all in a flash as the totalitarian regime he was a small part of constructing (through teaching mobocracy, populism as a rule, hordes of untrained and meritless swarms of people allowed to crucify those who would oppose the thinking of the state) determines his body is a waste of government resources and that he needs to be expelled to a concentration area of the worthless. I figures he would have been the first resident in the camp of the beings deemed worthless to society, along with Jon Katz, but the government, even as a fascist totalitarian regime takes a while to getting around to things.



GTK to be released under new license (-1)

Anonymous Coward | more than 11 years ago | (#6600197)

END-USER LICENSE AGREEMENT IMPORTANT-READ CAREFULLY: This End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single legal entity) and the manufacturer ("Manufacturer") of the computer system or computer system component ("HARDWARE") with which you acquired the Microsoft software product(s) identified above ("SOFTWARE"). The SOFTWARE includes Microsoft computer software, and may include associated media, printed materials, "online," or electronic documentation and Internet based services. Note, however, that any software, documentation, or web services that are included in the SOFTWARE, or accessible via the SOFTWARE, and are accompanied by their own license agreements or terms of use are governed by such agreements rather than this EULA. The terms of a printed, paper EULA, which may accompany the SOFTWARE, supersede the terms of any on-screen EULA. This EULA is valid and grants the end -user rights ONLY if the SOFTWARE is genuine and a genuine Certificate of Authenticity for the SOFTWARE is included. For more information on identifying whether your software is genuine, please see http://www.microsoft.com/piracy/howtotell. By installing, copying, downloading, accessing or otherwise using the SOFTWARE, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, you may not use or copy the SOFTWARE, and you should promptly contact Manufacturer for instructions on return of the unused product(s) in accordance with Manufacturer's return policies. SOFTWARE PRODUCT LICENSE The term "COMPUTER" as used herein shall mean the HARDWARE, if the HARDWARE is a single computer system, or shall mean the computer system with which the HARDWARE operates, if the HARDWARE is a computer system component. 1. GRANT OF LICENSE. Manufacturer grants you the following rights, provided you comply with all of the terms and conditions of this EULA: * Installation and Use. Except as otherwise expressly provided in this EULA, you may install, use, access, display and run only one (1) copy of the SOFTWARE on the COMPUTER. The SOFTWARE may not be used by more than one (1) processor at any one time on the COMPUTER, unless a higher number is indicated on the Certificate of Authenticity. You may permit a maximum of five (5) ("Connection Maximum") computers or other electronic devices (each a "Device") to connect to the COMPUTER to utilize the services of the SOFTWARE solely for File and Print services, Internet Information services, and remote access (including connection sharing and telephony services). The five (5) Connection Maximum includes any indirect connections made through "multiplexing" or other software or hardware which pools or aggregates connections. Except as otherwise permitted below, you may not use the Device to use, access, display or run the SOFTWARE, the SOFTWARE's User Interface or other executable software residing on the COMPUTER. * Software as a Component of the Computer - Transfer. THIS LICENSE MAY NOT BE SHARED, TRANSFERRED TO OR USED CONCURRENTLY ON DIFFERENT COMPUTERS. The SOFTWARE is licensed with the HARDWARE as a single integrated product and may only be used with the HARDWARE. If the SOFTWARE is not accompanied by new HARDWARE, you may not use the SOFTWARE. You may permanently transfer all of your rights under this EULA only as part of a permanent sale or transfer of the HARDWARE, provided you retain no copies, if you transfer all of the SOFTWARE (including all component parts, the media and printed materials, any upgrades, this EULA and the Certificate of Authenticity), and the recipient agrees to the terms of this EULA. If the SOFTWARE is an upgrade, any transfer must also include all prior versions of the SOFTWARE. * Mandatory Activation. THIS SOFTWARE CONTAINS TECHNOLOGICAL MEASURES THAT ARE DESIGNED TO PREVENT UNLICENSED OR ILLEGAL USE OF THE SOFTWARE. The license rights granted under this EULA are limited to the first thirty (30) days after you first run the SOFTWARE unless you supply information required to activate your licensed copy in the manner described during the setup sequence (unless Manufacturer has activated for you). You can activate the SOFTWARE through the use of the Internet or telephone; toll charges may apply. You may also need to reactivate the SOFTWARE if you modify your HARDWARE or alter the SOFTWARE. * Security Updates. Content providers are using the digital rights management technology ("Microsoft DRM") contained in this SOFTWARE to protect the integrity of their content ("Secure Content") so that their intellectual property, including copyright, in such content is not misappropriated. Owners of such Secure Content ("Secure Content Owners") may, from time to time, request MS, Microsoft Corporation or their subsidiaries to provide security related updates to the Microsoft DRM components of the SOFTWARE ("Security Updates") that may affect your ability to copy, display and/or play Secure Content through Microsoft software or third party applications that utilize Microsoft DRM. YOU THEREFORE AGREE THAT, IF YOU ELECT TO DOWNLOAD A LICENSE FROM THE INTERNET WHICH ENABLES YOUR USE OF SECURE CONTENT, MS, MICROSOFT CORPORATION OR THEIR SUBSIDIARIES MAY, IN CONJUNCTION WITH SUCH LICENSE, ALSO DOWNLOAD ONTO YOUR COMPUTER SUCH SECURITY UPDATES THAT A SECURE CONTENT OWNER HAS REQUESTED THAT MS, MICROSOFT CORPORATION OR THEIR SUBSIDIARIES DISTRIBUTE. MS, Microsoft Corporation or their subsidiaries will not retrieve any personally identifiable information, or any other information, from your COMPUTER by downloading such Security Updates. * Back-up Copy. IF MANUFACTURER HAS NOT INCLUDED A BACK-UP COPY OF THE SOFTWARE WITH THE COMPUTER ON PHYSICAL MEDIA (e.g. CD OR PARTITIONED HARD DRIVE), YOU MAY MAKE A SINGLE BACK-UP COPY OF THE SOFTWARE. You may use the back-up copy solely for your archival purposes and to reinstall the SOFTWARE on the COMPUTER. Except as expressly provided in this EULA or by local law, you may not otherwise make copies of the SOFTWARE, including the printed materials accompanying the SOFTWARE. You may not loan, rent, lease, lend or otherwise transfer the CD or back-up copy to another user. * Reservation of Rights. Manufacturer, Microsoft Licensing, Inc. ("MS") and its suppliers (including Microsoft Corporation) reserve all rights not expressly granted to you in this EULA. 2. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS. * NetMeeting/Remote Assistance Features. SOFTWARE may contain NetMeeting and Remote Assistance technologies that enable the SOFTWARE or other applications installed on the COMPUTER to be used remotely between two or more computers, even if the SOFTWARE or application is installed on only one COMPUTER. You may use NetMeeting and Remote Assistance with all Microsoft products; provided however, use of these technologies with certain Microsoft products may require an additional license. For Microsoft and non-Microsoft products, you should consult the license agreement accompanying the applicable product or contact the applicable licensor to determine whether use of NetMeeting or Remote Assistance is permitted without an additional license. * Consent to Use of Data. You agree that MS and Microsoft Corporation and their affiliates may collect and use technical information gathered in any manner as part of the product support services provided to you, if any, related to the SOFTWARE. MS, Microsoft Corporation and their affiliates may use this information solely to improve their products or to provide customized services or technologies to you. MS, Microsoft Corporation and their affiliates may disclose this information to others, but not in a form that personally identifies you. * Internet Gaming/Update Features. If you choose to utilize the Internet gaming or update features within the SOFTWARE, it is necessary to use certain COMPUTER system, hardware, and software information to implement the features. By using these features, you explicitly authorize MS, Microsoft Corporation and/or their designated agent to use this information solely to improve our products or to provide customized services or technologies to you. MS or Microsoft Corporation may disclose this information to others, but not in a form that personally identifies you. * Internet-Based Services Components. The SOFTWARE contains components that enable and facilitate the use of certain Internet-based services. You acknowledge and agree that MS, Microsoft Corporation or their subsidiaries may automatically check the version of the SOFTWARE and/or its components that you are utilizing and may provide upgrades or supplements to the SOFTWARE that may be automatically downloaded to your COMPUTER. * Language Version Selection. Manufacturer may have elected to provide you with a one-time selection of two or more language versions of the SOFTWARE as part of the SOFTWARE setup process. In such event, you are licensed to use only one of the language versions provided. Once you have used a language version, you are not licensed to use any of the other language versions that Manufacturer may have included with the COMPUTER. * Operating System Selection. Manufacturer may have elected to provide you with a selection of Microsoft operating system software for the COMPUTER. If the SOFTWARE PRODUCT includes more than one (1) Microsoft operating system ("Microsoft OS"), you are licensed to use only one of the Microsoft OS selections provided. As part of the setup process for the SOFTWARE you will be given a one-time option to select one (1) Microsoft OS. Upon selection, the one Microsoft OS selected by you will be set up on the COMPUTER, and the other Microsoft OS(s) not selected by you will be automatically and permanently deleted from the hard disk of the COMPUTER. * Additional Software/Services. The terms of this EULA apply to Microsoft updates, supplements, add-on components, or Internet-based services components of the SOFTWARE ("Supplemental Components") that Manufacturer, MS, Microsoft Corporation or their subsidiaries may provide to you or make available to you after the date you obtain your initial copy of the SOFTWARE, unless other terms are provided along with such Supplemental Components. If other terms are not provided along with such Supplemental Components and the Supplemental Components are provided to you by MS, Microsoft Corporation or a Microsoft subsidiary then you will be licensed by such entity under the same terms and conditions of this EULA, except that the MS, Microsoft Corporation or Microsoft subsidiary entity providing the Supplemental Components will be the licensor with respect to such components in lieu of the "Manufacturer" for the purposes of the EULA, including, without limitation the Limited Warranty Appendix. THE LIMITED WARRANTY (IF ANY) INCLUDED WITH OR IN THIS EULA APPLIES TO SUCH SUPPLEMENTAL COMPONENTS (IF ANY) PROVIDED THAT YOU LICENSED THE SUPPLEMENTAL COMPONENTS WITHIN THE ORIGINAL TERM OF THE LIMITED WARRANTY. HOWEVER, PROVISION OF THE SUPPLEMENTAL COMPONENTS DOES NOT EXTEND THE TIME PERIOD FOR WHICH THE LIMITED WARRANTY IS PROVIDED. ALL OTHER DISCLAIMERS, EXCLUSIONS OF DAMAGES, AND LIMITATIONS OF LIABILITY AND REMEDIES SET FORTH IN THIS EULA SHALL APPLY TO SUCH SUPPLEMENTAL COMPONENTS. Manufacturer, MS, Microsoft Corporation and their subsidiaries reserves the right to discontinue any Microsoft Internet-based services provided to you or made available to you through the use of the SOFTWARE. This EULA does not grant you any rights to use the Windows Media Format Software Development Kit ("WMFSDK") components contained in the SOFTWARE to develop a software application that uses Windows Media technology. If you wish to use the WMFSDK to develop such an application, visit http://msdn.microsoft.com/workshop/imedia/windowsm edia/sdk/wmsdk.asp, accept a separate license for the WMFSDK, download the appropriate WMFSDK, and install it on your system. * Limitations on Reverse Engineering, Decompilation and Disassembly. You may not reverse engineer, decompile, or disassemble the SOFTWARE, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation. * Separation of Components. The SOFTWARE is licensed as a single product. Its component parts may not be separated for use on more than one computer. * Single EULA. The package for the SOFTWARE may contain multiple versions of this EULA, such as multiple translations and/or multiple media versions (e.g., in the user documentation and in the software). In this case, you are only licensed to use one (1) copy of the SOFTWARE. * Termination. Without prejudice to any other rights, Manufacturer or MS may cancel this EULA if you do not abide by the terms and conditions contained herein. In such event, you must destroy all copies of the SOFTWARE and all of its component parts. * Trademarks. This EULA does not grant you any rights in connection with any trademarks or service marks of Manufacturer, MS or its suppliers (including Microsoft Corporation). 3. UPGRADES. If the SOFTWARE is labeled as an upgrade, you must be properly licensed to use a product identified by MS or Microsoft Corporation as being eligible for the upgrade in order to use the SOFTWARE ("Eligible Product"). For the purpose of upgrade(s) only, "HARDWARE" shall mean the computer system or computer system component with which you received the Eligible Product. SOFTWARE labeled as an upgrade replaces and/or supplements (and may disable, if upgrading a Microsoft software product) the Eligible Product which came with the HARDWARE. After upgrading, you may no longer use the SOFTWARE that formed the basis for your upgrade eligibility (unless otherwise provided). You may use the resulting upgraded product only in accordance with the terms of this EULA and only with the HARDWARE. If the SOFTWARE is an upgrade of a component of a package of software programs that you licensed as a single product, the SOFTWARE may be used and transferred only as part of that single product package and may not be separated for use on more than one computer. 4. INTELLECTUAL PROPERTY RIGHTS. All title and intellectual property rights in and to the SOFTWARE (including but not limited to any images, photographs, animations, video, audio, music, text and "applets," incorporated into the SOFTWARE), the accompanying printed materials, and any copies of the SOFTWARE, are owned by MS or its suppliers (including Microsoft Corporation). The SOFTWARE is licensed, not sold. All title and intellectual property rights in and to the content that is not contained in the SOFTWARE, but which may be accessed through use of the SOFTWARE is the property of the respective content owner and may be protected by applicable copyright or other intellectual property laws and treaties. Use of any on- line services which may be accessed through the SOFTWARE may be governed by the respective terms of use relating to such services. If this SOFTWARE contains documentation that is provided only in electronic form, you may print one copy of such electronic documentation. You may not copy the printed materials accompanying the SOFTWARE. 5. PRODUCT SUPPORT. SOFTWARE support for the SOFTWARE is not provided by MS, Microsoft Corporation, or their affiliates or subsidiaries. For product support, please refer to Manufacturer's support number provided in the documentation for the HARDWARE. Should you have any questions concerning this EULA, or if you desire to contact Manufacturer for any other reason, please refer to the address provided in the documentation for the HARDWARE. 6. EXPORT RESTRICTIONS. You acknowledge that the SOFTWARE is subject to U.S. export jurisdiction. You agree to comply with all applicable international and national laws that apply to the products, including the U.S. Export Administration Regulations, as well as end-user, end-use and destination restrictions issued by U.S. and other governments. For additional information, see http://www.microsoft.com/exporting/. 7. U.S. GOVERNMENT LICENSE RIGHTS. All SOFTWARE PRODUCT provided to the U.S. Government pursuant to solicitations issued on or after December 1, 1995 is provided with the commercial rights and restrictions described elsewhere herein. All SOFTWARE provided to the U.S. Government pursuant to solicitations issued prior to December 1, 1995 is provided with RESTRICTED RIGHTS as provided for in FAR, 48 CFR 52.227-14 (JUNE 1987) or FAR, 48 CFR 252.227- 7013 (OCT 1988), as applicable. 8. ADDITIONAL PROVISIONS. FOR THE LIMITED WARRANTIES, LIMITATION OF LIABILITY, AND OTHER SPECIAL PROVISIONS, PLEASE REFER TO THE ADDITIONAL PROVISIONS PROVIDED BELOW AND/OR OTHERWISE WITH THE SOFTWARE. SUCH LIMITED WARRANTIES, LIMITATION OF LIABILITY AND SPECIAL PROVISIONS ARE AN INTEGRAL PART OF THIS EULA. APPENDIX WARRANTY AND SPECIAL PROVISIONS FOR AUSTRALIA, NEW ZEALAND OR PAPUA NEW GUINEA EXPRESS LIMITED WARRANTY CONSUMER RIGHTS. Consumers may have the benefit of certain rights or remedies pursuant to the Trade Practices Act and similar state and territory laws in Australia or the Consumer Guarantees Act in New Zealand, in respect of which certain liability may not be excluded. LIMITED EXPRESS WARRANTY. Manufacturer warrants that: (a) the SOFTWARE will perform substantially in accordance with the accompanying Product Manual(s) for a period of 90 days from the date of receipt; and (b) any Microsoft hardware accompanying SOFTWARE will be free from defects in materials and workmanship under normal use and service for a period of 1 year from the date of receipt. CUSTOMER REMEDIES. To the maximum extent permitted under applicable law, Manufacturer's and its supplier's entire liability and your exclusive remedy under the express warranty is, at Manufacturer's option, either (a) return of the price paid; or (b) repair or replacement of the SOFTWARE or Microsoft hardware which does not meet the warranty and which is returned to Manufacturer with a copy of your receipt. The warranty is void if failure of the SOFTWARE or Microsoft hardware has resulted from accident, abuse or misapplication. Any replacement SOFTWARE and/or Microsoft hardware will be warranted for the remainder of the original warranty period or 30 days, whichever is longer. LIMITATION OF LIABILITY. To the maximum extent permitted by applicable law, any conditions or warranties imposed or implied by law are hereby excluded. Consumers may nevertheless have the benefit of certain rights or remedies pursuant to the Trade Practices Act and similar state and territory laws in Australia or the Consumer Guarantees Act in New Zealand, in respect of which liability may not be excluded. Insofar as such liability may not be excluded, then to the maximum extent permitted by law, such liability is limited, at the exclusive option of Manufacturer, to either (a) replacement of the SOFTWARE (and any accompanying hardware supplied); or (b) correction of defects in the SOFTWARE; or (c) payment of the cost of having defects in the SOFTWARE (and any accompanying hardware supplied). EXCLUSION OF LIABILITY/DAMAGES. The following is without prejudice to any rights you may have at law which cannot legally be excluded or restricted. You acknowledge that no promise, representation, warranty or undertaking has been made or given by Manufacturer and/or Microsoft Corporation (or related company of either) to any person or company on its behalf in relation to the profitability of or any other consequences or benefits to be obtained from the delivery or use of the SOFTWARE and any accompanying Microsoft hardware, software, manuals or written materials. You have relied upon your own skill and judgement in deciding to acquire the SOFTWARE and any accompanying hardware, manuals and written materials for use by you. Except as and to the extent provided in this agreement, neither Manufacturer and/or Microsoft Corporation (or related company of either) will in any circumstances be liable for any other damages whatsoever (including, without limitation, damages for loss of business, business interruption, loss of business information or other indirect or consequential loss) arising out of the use or inability to use or supply or non-supply of the SOFTWARE and any accompanying hardware and written materials. Manufacturer's and/or Microsoft Corporation (or related company of either) total liability under any provision of this agreement is in any case limited to the amount actually paid by you for the SOFTWARE and/or Microsoft hardware. This agreement is governed by the laws of New South Wales, Australia or, where supplies are made in New Zealand, by the laws of New Zealand. APPENDIX WARRANTY AND SPECIAL PROVISIONS FOR ENGLAND, SCOTLAND, WALES AND IRELAND LIMITED WARRANTY LIMITED WARRANTY. Manufacturer warrants that (a) the SOFTWARE will perform substantially in accordance with the accompanying written materials for a period of ninety (90) days from the date of receipt, and (b) any Microsoft hardware accompanying the SOFTWARE will be free from defects in materials and workmanship under normal use and service for a period of one (1) year from the date of receipt. Any implied warranties on the SOFTWARE and Microsoft hardware are limited to ninety (90) days and one (1) year, respectively. Some states/jurisdictions do not allow limitations on duration of an implied warranty, so the above limitation may not apply to you. CUSTOMER REMEDIES. Manufacturer's and its suppliers' entire liability and your exclusive remedy shall be, at Manufacturer's option, either (a) return of the price paid, or (b) repair or replacement of the SOFTWARE or hardware that does not meet this Limited Warranty and which is returned to Manufacturer with a copy of your receipt. This Limited Warranty is void if failure of the SOFTWARE or hardware has resulted from accident, abuse, or misapplication. Any replacement SOFTWARE or hardware will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer. NO OTHER WARRANTIES. To the maximum extent permitted by applicable law, Manufacturer and its suppliers disclaim all other representations, warranties, conditions or other terms, either express or implied, including, but not limited to implied warranties amd/or conditions of merchantability and fitness for a particular purpose, with regard to the SOFTWARE, the accompanying written materials, and any accompanying hardware. This limited warranty gives you specific legal rights. You may have others which vary from state/jurisdiction to state/jurisdiction. NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To the maximum extent permitted by applicable law, in no event shall Manufacturer or its suppliers be liable for any damages whatsoever (including without limitation, direct or indirect damages for personal injury, loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this product, even if Manufacturer has been advised of the possibility of such damages. In any case, Manufacturer's and its suppliers' entire liability under any provision of this agreement shall be limited to the amount actually paid by you for the SOFTWARE and/or Microsoft hardware. Because some states/ jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you. SPECIAL PROVISIONS Reverse Engineering: If you acquired the SOFTWARE in the European Community, you may not reverse engineer, decompile, or dissassemble the SOFTWARE except to the extent and for the express purposes authorized by applicable law. This Software License Agreement is governed by the laws of England. APPENDIX WARRANTY AND SPECIAL PROVISIONS FOR CANADA LIMITED WARRANTY LIMITED WARRANTY. Manufacturer warrants that (a) the SOFTWARE will perform substantially in accordance with the accompanying written materials for a period of ninety (90) days from the date of receipt, and (b) any Microsoft hardware accompanying the SOFTWARE will be free from defects in materials and workmanship under normal use and service for a period of one (1) year from the date of receipt. Any implied warranties or conditions on the SOFTWARE and Microsoft hardware are limited to ninety (90) days and one (1) year, respectively. Some states/jurisdictions do not allow limitations on duration of an implied warranty, so the above limitation may not apply to you. CUSTOMER REMEDIES. Manufacturer's and its suppliers' entire liability and your exclusive remedy shall be, at Manufacturer's option, either (a) return of the price paid, or (b) repair or replacement of the SOFTWARE or hardware that does not meet this Limited Warranty and which is returned to Manufacturer with a copy of your receipt. This Limited Warranty is void if failure of the SOFTWARE or hardware has resulted from accident, abuse, or misapplication. Any replacement SOFTWARE or hardware will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer. NO OTHER WARRANTIES. To the maximum extent permitted by applicable law, Manufacturer and its suppliers disclaim all other warranties, either express or implied, including, but not limited to implied warranties of merchantability and fitness for a particular purpose, with regard to the SOFTWARE, the accompanying written materials, and any accompanying hardware. This limited warranty gives you specific legal rights. You may have others which vary from state/jurisdiction to state/jurisdiction. NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To the maximum extent permitted by applicable law, in no event shall Manufacturer or its suppliers be liable for any damages whatsoever (including without limitation, direct or indirect damages for personal injury, loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this product, even if Manufacturer has been advised of the possibility of such damages. In any case, Manufacturer's and its suppliers' entire liability under any provision of this agreement shall be limited to the amount actually paid by you for the SOFTWARE and/or Microsoft hardware. Because some states /jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you. This Software License Agreement is governed by the laws of the Province of Ontario, Canada. Each of the parties hereto irrevocably attorns to the jurisdiction of the courts of the Province of Ontario and further agrees to commence any litigation which may arise hereunder in the courts located in the Judicial District of York, Province of Ontario. ANNEXE GARANTIE ET DISPOSITIONS PARTICULIERES POUR LE CANADA GARANTIE LIMITEE Si vous vous etes procure ce produit Microsoft(r) ou ce materiel Microsoft(r) au CANADA, la garantie suivante s'adresse a vous. GARANTIE LIMITEE. Le Fabricant garantit que (a) la performance du LOGICIEL sera substantiellement en conformite avec les documents ecrits qui l'accompagnent pour une periode de quatr e-vingt-dix (90) jours a compter de la date de reception, et que (b) tout materiel de Microsoft fourni avec le LOGICIEL sera exempt de defaut de matiere premiere ou de vice de fabrication dans des conditions normales d'utilisation et d'entretien pour une periode d'un (1) an a compter de la date de reception. Toutes garanties ou conditions implicites concernant le LOGICIEL et le materiel Microsoft sont limitees a quatre-vingt-dix (90) jours et un (1) an, respectivement. RECOURS DU CLIENT. La seule obligation du Fabricant et de ses fournisseurs et votre recours exclusif seront, au choix du Fabricant, soit (a) le remboursement du prix paye ou (b) la reparation ou le remplacement du LOGICIEL ou du materiel qui n'est pas conforme a la Garantie limitee et qui est retourne au Fabricant avec une copie de votre recu. Cette Garantie limitee est nulle si la defectuosite du LOGICIEL ou du materiel est causee par un accident, un traitement abusif ou une mauvaise application. Tout LOGICIEL ou materiel de remplacement sera garanti pour le reste de la periode de garantie initiale ou pour trente (30) jours, selon laquelle de ces deux periodes est la plus longue. EXCLUSION DE TOUTE AUTRE GARANTIE. Selon la portee maximale autorisee par la loi applicable, le Fabricant et ses fournisseurs renoncent a toutes autres garanties ou conditions, expresses ou implicites, y compris mais ne se limitant pas aux garanties implicites de la qualite marchande ou un usage particulier en ce qui concerne le LOGICIEL, la documentation ecrite et tout materiel qui l'accompagnent. Cette garantie limitee vous accorde des droits specifiques reconnus par la loi. ABSENCE DE RESPONSABILITE POUR LES DOMMAGES INDIRECTS. Selon la portee maximale autorisee par la loi applicable, le Fabricant ou ses fournisseurs ne pourront etre tenus responsables en aucune circonstance de tous dommages quels qu'ils soient (y compris mais non de facon limitative les dommages directs ou indirects causes par des lesions corporelles, la perte de benefices commerciaux, l'interruption des affaires, la perte d'information commerciale ou toute autre perte pecuniaire) decoulant de l'utilisation ou de l'impossibilite d'utilisation de ce produit, et ce meme si le Fabricant a ete avise de l'eventualite de tels dommages. En tout etat de cause, la seule responsabilite du Fabricant et de ses fournisseurs en vertu de toute disposition de cette Convention se limitera au montant que vous aurez effectivement paye pour l'achat du LOGICIEL et/ou du materiel Microsoft. La presente Convention de droits d'utilisation de logiciel est regie par les lois de la province d'Ontario, Canada. Chacune des parties aux presentes reconnait irrevocablement la competence des tribunaux de la province d'Ontario et consent a instituer tout litige qui pourrait decouler des presentes aupres des tribunaux situes dans le district judiciaire de York, province d'Ontario. APPENDIX WARRANTY AND SPECIAL PROVISIONS FOR THE UNITED STATES OF AMERICA AND ANY OTHER COUNTRY LIMITED WARRANTY LIMITED WARRANTY. Manufacturer warrants that (a) the SOFTWARE will perform substantially in accordance with the accompanying written materials for a period of ninety (90) days from the date of receipt, and (b) any Microsoft hardware accompanying the SOFTWARE will be free from defects in materials and workmanship under normal use and service for a period of one (1) year from the date of receipt. Any implied warranties on the SOFTWARE and Microsoft hardware are limited to ninety (90) days and one (1) year, respectively. Some states/jurisdictions do not allow limitations on duration of an implied warranty, so the above limitation may not apply to you. CUSTOMER REMEDIES. Manufacturer's and its suppliers' entire liability and your exclusive remedy shall be, at Manufacturer's option, either (a) return of the price paid, or (b) repair or replacement of the SOFTWARE or hardware that does not meet this Limited Warranty and which is returned to Manufacturer with a copy of your receipt. This Limited Warranty is void if failure of the SOFTWARE or hardware has resulted from accident, abuse, or misapplication. Any replacement SOFTWARE or hardware will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer. NO OTHER WARRANTIES. To the maximum extent permitted by applicable law, Manufacturer and its suppliers disclaim all other warranties, either express or implied, including, but not limited to implied warranties of merchantability and fitness for a particular purpose, with regard to the SOFTWARE, the accompanying written materials, and any accompanying hardware. This limited warranty gives you specific legal rights. You may have others which vary from state/jurisdiction to state/jurisdiction. NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To the maximum extent permitted by applicable law, in no event shall Manufacturer or its suppliers be liable for any damages whatsoever (including without limitation, special, incidental, consequential, or indirect damages for personal injury, loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this product, even if Manufacturer has been advised of the possibility of such damages. In any case, Manufacturer's and its suppliers' entire liability under any provision of this agreement shall be limited to the amount actually paid by you for the SOFTWARE and/or Microsoft hardware. Because some states/jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you. SPECIAL PROVISIONS U.S. GOVERNMENT LICENSE RIGHTS. All SOFTWARE provided to the U.S. Government pursuant to solicitations issued on or after December 1, 1995 is provided with the commercial license rights and restrictions described in this EULA. All SOFTWARE provided to the U.S. Government pursuant to solicitations issued prior to December 1, 1995 is provided with "Restricted Rights" as provided for in FAR, 48 CFR 52.227-14 (JUNE 1987) or DFAR, 48 CFR 252.227-7013 (OCT 1988), as applicable. Manufacturer is responsible for ensuring the SOFTWARE is marked with the "Restricted Rights Notice" or "Restricted Rights Legend," as required. All rights not expressly granted are reserved. If you acquired the SOFTWARE in the United States of America, this Software License Agreement and Warranty are governed by the laws of the State of Washington, U.S.A. If you acquired the SOFTWARE outside the United States of America, local law may apply.

Looks great! (-1, Insightful)

geeveees (690232) | more than 11 years ago | (#6600198)

One little comment, I still think MS makes the best IDE's there are. I tried Eclipse but it wasn't quite as intuitive as VC++ for example. How do you singlestep trough code with Eclipse? Never found it out. vim + gcc + gdb still fulfills my daily coding needs!

Re:Looks great! (-1, Troll)

Anonymous Coward | more than 11 years ago | (#6600223)

Looks like you need to play with Eclipse a little more... It doesnt even come near VStudio in terms of features, etc.

Re:You sir are a troll.... (1)

botzi (673768) | more than 11 years ago | (#6600238)

Is Run->Debug too complicated????
Are Step into, Step over and Step return dificult to find?????
Or is it so different from the way VS 6.0 managed things?????
Whatever. Nice troll.

Re:You sir are a troll.... (0, Flamebait)

geeveees (690232) | more than 11 years ago | (#6600297)

I tried those I remember somehow it didn't do anything :) Do not confuse my stupidity with trolling!

Re:You sir are a troll.... (1)

csnydermvpsoft (596111) | more than 11 years ago | (#6600311)

Did you set a breakpoint?

Re:You sir are a troll.... (0)

Anonymous Coward | more than 11 years ago | (#6600348)

Do not confuse my stupidity with trolling :)
Whatever, troll.

Re:You sir are a troll.... (1)

botzi (673768) | more than 11 years ago | (#6600371)

What do you mean didn't do anything?? If you're familiar with debugging you should know about setting breakpoints and stuff??? The fact that you have advanced debugging tools, doesn't mean the code debugs itself all alone....

Re:You sir are a troll.... (2, Insightful)

millenium (689108) | more than 11 years ago | (#6600571)

Why is it that people like to abuse Moore's law as a lame excuse for lousy engineering?

Re:Looks great! (1, Interesting)

Timesprout (579035) | more than 11 years ago | (#6600249)

After using IntelliJ [intellij.com] for a couple of years I hate having to go back to VS for C#. I'm hoping dearly that IDEA produce a C# IDE. I've never been a huge fan of Eclipse for various reasons, its Visual Age heritage, performance, general look and feel, nothing overwhelming, I just prefer IntelliJ.

Re:Looks great! (1)

tshak (173364) | more than 11 years ago | (#6600339)

Have you used VS.NET? I always stayed away from VS, but was then given VS.NET to try at work a couple years ago. I absolutely loved it - it is nothing like the cruft that VS6 and below was.

On the flip side, most of my Java coding counterparts claim that Eclipse crushes VS.NET. I've tried Eclipse, and although it was good (and free) I wasn't extremely impressed (no offense to OSS, but my experience has always been that a commercial IDE is far better than it's OSS counterpart). I'll have to try out IntelliJ based on your recommendation to see how it compares - although it ain't cheap! (VS.NET is cheaper when you consider all of the software you get with MSDN. Individually VS.NET is the same or more expensive depending on what version you get).

Re:Looks great! (2, Interesting)

Timesprout (579035) | more than 11 years ago | (#6600422)

I was actually talking about VS.NET :-). I agree its a huge improvement over its predecessor, especially when it comes to larger projects. VS was almost unusable on the last VC++ project I worked on if the whole workspace was loaded. Both IntelliJ and Eclipse offer far more in terms of editor power and ease of refactoring code than VS.NET though.

Unfortunately one of the reasons IntelliJ has got more expensive is because of its success. Its about 100$ more expensive now than when I purchased it. If you are doing a lot of Java development and dont have a compelling requirement for a GUI builder then I strongly recommend IntelliJ.

Re:Looks great! (1, Insightful)

Anonymous Coward | more than 11 years ago | (#6600623)

Eclipse may be open source, but it was (and is) developed primarily by IBM software developers as a foundation for the IBM Websphere Studio suite of products. VS.NET is fine, if you are a new programmer who hasn't had a lot of time to experiment with more advanced systems, but the Websphere Studio suite (which, although based on Eclipse are closed source) leaves it in the dust.

Re:Looks great! (0)

Anonymous Coward | more than 11 years ago | (#6600292)

repeat after me, vcc++ is only for win doze pee cees, it's useless for anyone else

Microsoft's IDEs? You have GOT to be kidding (2, Offtopic)

MichaelCrawford (610140) | more than 11 years ago | (#6600393)

Using Microsoft's IDEs - I have VC++ both 6 and 7 - is like pounding nails with my fists.

Have you used Metrowerks Codewarrior [metrowerks.com] ? Now there's an IDE. It's a joy to use. Runs on Mac and Windows. I think there is a Linux version that uses gcc, but I haven't tried it.

(I admit I haven't tried Eclipse yet, but I would be very surprised if it were better than CodeWarrior.)

Everything Just Works in CodeWarrior. I've even got my wife, a web designer who prefers to hand-code her HTML, to use it to write her web pages.

CodeWarrior supports C, C++, Java and inline assembly. If you prefer makefiles, there are command line tools that provide the same compiler. Old versions of CodeWarrior also supported Pascal, but I don't think they do anymore.

The ISO compliance of CodeWarrior's C++ is far superior to Visual C++'s, and has been quite compliant for a very long time. I've been happily using the Standard Template Library in very complex ways, as well as writing my own fancy templates, for several years.

Alexei Alexandrescu [moderncppdesign.com] used CodeWarrior to develop the heavily templated source code for Modern C++ Design. Visual C++ can't compile it because of its poor compliance to the standard.

It is also available for many embedded systems. Metrowerks was acquired by Motorola a while back, who makes the ColdFire and PowerPC processors that are important in the embedded world.

Re:Looks great! (2, Funny)

Anonymous Coward | more than 11 years ago | (#6600441)

Top four reasons VC++ is better than any open source IDE:

1) Lead developer has a cool name, like "Anders Heljborg".

2) Lead developer earns a cool salary, like $1,000,000+ a year.

3) Lead developer has legion of microsoft's code monkeys implementing and testing features out the yang, and they still can't burn up all the money they extort from, err, i mean charge, their customers.

4) Anders Heljsborg rewite and maintainence has been going on for four or five years. Give eclipse a chance to ketchup.

Java...Java....Java.... (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#6600202)

the best way to speed it up is to remove the alleged best feature, cross-platform compatibility.

Java continues to be the dead-end that so many smart people predicted 8 years ago.

And it continues to be hyped, and is being used less and less, as the speed continues to hamper it.

Re:Troll...Troll...Troll... (5, Informative)

gumpish (682245) | more than 11 years ago | (#6600365)

And [Java] continues to be hyped, and is being used less and less, as the speed continues to hamper it.

Java is still some 40 times faster than Python. As hardware speed continues to obey Moore's law, performance per clock cycle becomes less important. (For many areas of computing anyway.)

Re:Troll...Troll...Troll... (0)

Anonymous Coward | more than 11 years ago | (#6600494)

At what magical speed does Java become faster than a compiled language?

Answer...none.

It will always be slower, and thus unusable.

Re:Troll...Troll...Troll... (1, Insightful)

Anonymous Coward | more than 11 years ago | (#6600510)

At what magical speed does Java become faster than a compiled language?

Development time.

Re:Troll...Troll...Troll... (0)

Anonymous Coward | more than 11 years ago | (#6600568)

Try Delphi then.

I would rather wait for compiles in C++, than have users wait for buttons to draw on Pentium 4s.

Re:Troll...Troll...Troll... (1)

khuber (5664) | more than 11 years ago | (#6600670)

Delphi isn't cross-platform. C++ is ridiculously complicated. Java is a lot easier to get stuff done with for the work I do.

-Kevin

Re:Troll...Troll...Troll... (1)

AntiOrganic (650691) | more than 11 years ago | (#6600514)

I've found JSP/Servlets very usable on the web front. Java performs very quickly when doing computational tasks, such as database access, etc. as opposed to drawing things onscreen. GUI applications are horribly slow in Java still, and this is where it needs the most improvement. Maybe native code will eventually help this out a lot, too.

Re:Troll...Troll...Troll... (1)

darthscsi (144954) | more than 11 years ago | (#6600530)

Yes, but its memory usage is also 40 times higher than python (ok, more like 4x). Take a look at the great computer language shootout for some really scary benchmarks on java memory usage!

Of corse, OCaml does better than both. :)

Re:Troll...Troll...Troll... (1)

baywulf (214371) | more than 11 years ago | (#6600538)

Part of the problem with Java was the hype that it was the ultimate computer language which could replace everything. We know that Java is faster than Python and Perl for example. But these two languages never claimed they were the fastest. Java made the claim that it could replace C and C++ so it better live up to the performance of C and C++.

Websphere Application Developer (1, Funny)

Anonymous Coward | more than 11 years ago | (#6600206)

Hey! Does this mean that i can now use Websphere applcation developer without the 20 minute wait?

GTK to be released under new license (-1, Flamebait)

Anonymous Coward | more than 11 years ago | (#6600208)

END-USER LICENSE AGREEMENT

IMPORTANT-READ CAREFULLY: This End-User
License Agreement ("EULA") is a legal agreement between you
(either an individual or a single legal entity) and the
manufacturer ("Manufacturer") of the computer system or computer
system component ("HARDWARE") with which you acquired the
Microsoft software product(s) identified above ("SOFTWARE"). The
SOFTWARE includes Microsoft computer software, and may include
associated media, printed materials, "online," or electronic
documentation and Internet based services. Note, however, that
any software, documentation, or web services that are included in
the SOFTWARE, or accessible via the SOFTWARE, and are
accompanied by their own license agreements or terms of use
are governed by such agreements rather than this EULA. The
terms of a printed, paper EULA, which may accompany the
SOFTWARE, supersede the terms of any on-screen EULA. This
EULA is valid and grants the end -user rights ONLY if the
SOFTWARE is genuine and a genuine Certificate of
Authenticity for the SOFTWARE is included. For more
information on identifying whether your software is genuine,
please see http://www.microsoft.com/piracy/howtotell.

By installing, copying, downloading, accessing or otherwise using
the SOFTWARE, you agree to be bound by the terms of this EULA.
If you do not agree to the terms of this EULA, you may not use or
copy the SOFTWARE, and you should promptly contact Manufacturer
for instructions on return of the unused product(s) in accordance
with Manufacturer's return policies.

SOFTWARE PRODUCT LICENSE

The term "COMPUTER" as used herein shall mean the HARDWARE, if
the HARDWARE is a single computer system, or shall mean the
computer system with which the HARDWARE operates, if the
HARDWARE is a computer system component.

1. GRANT OF LICENSE. Manufacturer grants you the following
rights, provided you comply with all of the terms and
conditions of this EULA:

* Installation and Use. Except as otherwise expressly
provided in this EULA, you may install, use, access,
display and run only one (1) copy of the SOFTWARE on
the COMPUTER. The SOFTWARE may not
be used by more than one (1) processor at any one time
on the COMPUTER, unless a higher number is indicated
on the Certificate of Authenticity. You may permit a
maximum of five (5) ("Connection Maximum") computers
or other electronic devices (each a "Device") to connect
to the COMPUTER to utilize the services of the SOFTWARE
solely for File and Print services, Internet Information
services, and remote access (including connection sharing
and telephony services). The five (5) Connection Maximum
includes any indirect connections made through
"multiplexing" or other software or hardware which pools
or aggregates connections. Except as otherwise permitted
below, you may not use the Device to use, access, display
or run the SOFTWARE, the SOFTWARE's
User Interface or other executable software residing
on the COMPUTER.

* Software as a Component of the Computer - Transfer. THIS
LICENSE MAY NOT BE SHARED,
TRANSFERRED TO OR USED CONCURRENTLY
ON DIFFERENT COMPUTERS. The SOFTWARE
is licensed with the HARDWARE as a single integrated
product and may only be used with the HARDWARE. If the
SOFTWARE is not accompanied by new HARDWARE, you may
not use the SOFTWARE. You may permanently transfer all
of your rights under this EULA only as part of a
permanent sale or transfer of the HARDWARE, provided
you retain no copies, if you transfer all of the SOFTWARE
(including all component parts, the media and printed
materials, any upgrades, this EULA and the Certificate
of Authenticity), and the recipient agrees to the terms
of this EULA. If the SOFTWARE is an upgrade, any
transfer must also include all prior versions of the
SOFTWARE.

* Mandatory Activation. THIS SOFTWARE
CONTAINS TECHNOLOGICAL MEASURES THAT
ARE DESIGNED TO PREVENT UNLICENSED
OR ILLEGAL USE OF THE SOFTWARE.
The license rights granted under this EULA are limited
to the first thirty (30) days after you first run the
SOFTWARE unless you supply information required to
activate your licensed copy in the manner described
during the setup sequence (unless Manufacturer has
activated for you). You can activate the SOFTWARE
through the use of the Internet or telephone; toll
charges may apply. You may also need to reactivate the
SOFTWARE if you modify your HARDWARE or alter the
SOFTWARE.

* Security Updates. Content providers are using the digital
rights management technology ("Microsoft DRM") contained
in this SOFTWARE to protect the integrity of their
content ("Secure Content") so that their intellectual
property, including copyright, in such content is not
misappropriated. Owners of such Secure Content ("Secure
Content Owners") may, from time to time, request MS,
Microsoft Corporation or their subsidiaries to provide
security related updates to the Microsoft DRM components
of the SOFTWARE ("Security Updates") that may affect
your ability to copy, display and/or play Secure Content
through Microsoft software or third party applications
that utilize Microsoft DRM.
YOU THEREFORE AGREE THAT, IF YOU
ELECT TO DOWNLOAD A LICENSE FROM
THE INTERNET WHICH ENABLES YOUR USE
OF SECURE CONTENT, MS, MICROSOFT
CORPORATION OR THEIR SUBSIDIARIES
MAY, IN CONJUNCTION WITH SUCH
LICENSE, ALSO DOWNLOAD ONTO YOUR
COMPUTER SUCH SECURITY UPDATES THAT
A SECURE CONTENT OWNER HAS REQUESTED
THAT MS, MICROSOFT CORPORATION OR
THEIR SUBSIDIARIES DISTRIBUTE. MS,
Microsoft Corporation or their subsidiaries will not
retrieve any personally identifiable information, or
any other information, from your COMPUTER by downloading
such Security Updates.

* Back-up Copy. IF MANUFACTURER HAS NOT
INCLUDED A BACK-UP COPY OF THE
SOFTWARE WITH THE COMPUTER ON
PHYSICAL MEDIA (e.g. CD OR
PARTITIONED HARD DRIVE), YOU MAY
MAKE A SINGLE BACK-UP COPY OF THE
SOFTWARE. You may use the back-up copy solely for your
archival purposes and to reinstall the SOFTWARE on the
COMPUTER. Except as expressly provided in this EULA
or by local law, you may not otherwise make copies of
the SOFTWARE, including the printed materials
accompanying the SOFTWARE. You may not loan, rent,
lease, lend or otherwise transfer the CD or back-up copy
to another user.

* Reservation of Rights. Manufacturer, Microsoft Licensing,
Inc. ("MS") and its suppliers (including Microsoft
Corporation) reserve all rights not expressly granted
to you in this EULA.

2. DESCRIPTION OF OTHER RIGHTS AND
LIMITATIONS.

* NetMeeting/Remote Assistance Features. SOFTWARE may
contain NetMeeting and Remote Assistance technologies
that enable the SOFTWARE or other applications installed
on the COMPUTER to be used remotely between two or more
computers, even if the SOFTWARE or application is
installed on only one COMPUTER. You may use NetMeeting
and Remote Assistance with all Microsoft products;
provided however, use of these technologies with certain
Microsoft products may require an additional license.
For Microsoft and non-Microsoft products, you should
consult the license agreement accompanying the applicable
product or contact the applicable licensor to determine
whether use of NetMeeting or Remote Assistance is
permitted without an additional license.

* Consent to Use of Data. You agree that MS and Microsoft
Corporation and their affiliates may collect and use
technical information gathered in any manner as part
of the product support services provided to you, if any,
related to the SOFTWARE. MS, Microsoft Corporation and
their affiliates may use this information solely to
improve their products or to provide customized services
or technologies to you. MS, Microsoft Corporation and
their affiliates may disclose this information to others,
but not in a form that personally identifies you.

* Internet Gaming/Update Features. If you choose to utilize
the Internet gaming or update features within the
SOFTWARE, it is necessary to use certain COMPUTER system,
hardware, and software information to implement the
features. By using these features, you explicitly
authorize MS, Microsoft Corporation and/or their
designated agent to use this information solely to
improve our products or to provide customized services
or technologies to you. MS or Microsoft Corporation
may disclose this information to others, but not in a
form that personally identifies you.

* Internet-Based Services Components. The SOFTWARE contains
components that enable and facilitate the use of certain
Internet-based services. You acknowledge and agree that
MS, Microsoft Corporation or their subsidiaries may
automatically check the version of the SOFTWARE and/or
its components that you are utilizing and may provide
upgrades or supplements to the SOFTWARE that may be
automatically downloaded to your COMPUTER.

* Language Version Selection. Manufacturer may have elected
to provide you with a one-time selection of two or more
language versions of the SOFTWARE as part of the SOFTWARE
setup process. In such event, you are licensed to use
only one of the language versions provided. Once you
have used a language version, you are not licensed to
use any of the other language versions that Manufacturer
may have included with the COMPUTER.

* Operating System Selection. Manufacturer may have elected
to provide you with a selection of Microsoft operating
system software for the COMPUTER. If the SOFTWARE
PRODUCT includes more than one (1) Microsoft operating
system ("Microsoft OS"), you are licensed to use only
one of the Microsoft OS selections provided. As part
of the setup process for the SOFTWARE you will be given
a one-time option to select one (1) Microsoft OS. Upon
selection, the one Microsoft OS selected by you will
be set up on the COMPUTER, and the other Microsoft OS(s)
not selected by you will be automatically and permanently
deleted from the hard disk of the COMPUTER.

* Additional Software/Services. The terms of this EULA apply
to Microsoft updates, supplements, add-on components,
or Internet-based services components of the SOFTWARE
("Supplemental Components") that Manufacturer, MS,
Microsoft Corporation or their subsidiaries may provide
to you or make available to you after the date you obtain
your initial copy of the SOFTWARE, unless other terms
are provided along with such Supplemental Components.
If other terms are not provided along with such
Supplemental Components and the Supplemental Components
are provided to you by MS, Microsoft Corporation or a
Microsoft subsidiary then you will be licensed by such
entity under the same terms and conditions of this EULA,
except that the MS, Microsoft Corporation or Microsoft
subsidiary entity providing the Supplemental Components
will be the licensor with respect to such components
in lieu of the "Manufacturer" for the purposes of the
EULA, including, without limitation the Limited Warranty
Appendix. THE LIMITED WARRANTY (IF
ANY) INCLUDED WITH OR IN THIS EULA
APPLIES TO SUCH SUPPLEMENTAL
COMPONENTS (IF ANY) PROVIDED THAT
YOU LICENSED THE SUPPLEMENTAL
COMPONENTS WITHIN THE ORIGINAL TERM
OF THE LIMITED WARRANTY. HOWEVER,
PROVISION OF THE SUPPLEMENTAL
COMPONENTS DOES NOT EXTEND THE TIME
PERIOD FOR WHICH THE LIMITED WARRANTY
IS PROVIDED. ALL OTHER DISCLAIMERS,
EXCLUSIONS OF DAMAGES, AND
LIMITATIONS OF LIABILITY AND REMEDIES
SET FORTH IN THIS EULA SHALL APPLY
TO SUCH SUPPLEMENTAL COMPONENTS.

Manufacturer, MS, Microsoft Corporation and their
subsidiaries reserves the right to discontinue any
Microsoft Internet-based services provided to you or
made available to you through the use of the SOFTWARE.

This EULA does not grant you any rights to use the Windows
Media Format Software Development Kit ("WMFSDK")
components contained in the SOFTWARE to develop a
software application that uses Windows Media technology.
If you wish to use the WMFSDK to develop such an
application, visit
http://msdn.microsoft.com/workshop/imedia/windowsm edia/sdk/wmsdk.asp,
accept a separate license for the WMFSDK, download the
appropriate WMFSDK, and install it on your system.

* Limitations on Reverse Engineering, Decompilation and
Disassembly. You may not reverse engineer, decompile,
or disassemble the SOFTWARE, except and only to the
extent that such activity is expressly permitted by
applicable law notwithstanding this limitation.

* Separation of Components. The SOFTWARE is licensed as a
single product. Its component parts may not be separated
for use on more than one computer.

* Single EULA. The package for the SOFTWARE may contain
multiple versions of this EULA, such as multiple
translations and/or multiple media versions (e.g., in
the user documentation and in the software). In this
case, you are only licensed to use one (1) copy of the
SOFTWARE.

* Termination. Without prejudice to any other rights,
Manufacturer or MS may cancel this EULA if you do not
abide by the terms and conditions contained herein.
In such event, you must destroy all copies of the
SOFTWARE and all of its component parts.

* Trademarks. This EULA does not grant you any rights in
connection with any trademarks or service marks of
Manufacturer, MS or its suppliers (including Microsoft
Corporation).

3. UPGRADES. If the SOFTWARE is labeled as an upgrade, you must
be properly licensed to use a product identified by MS or
Microsoft Corporation as being eligible for the upgrade in
order to use the SOFTWARE ("Eligible Product"). For the
purpose of upgrade(s) only, "HARDWARE" shall mean the
computer system or computer system component with which you
received the Eligible Product. SOFTWARE labeled as an
upgrade replaces and/or supplements (and may disable, if
upgrading a Microsoft software product) the Eligible
Product which came with the HARDWARE. After upgrading, you
may no longer use the SOFTWARE that formed the basis for
your upgrade eligibility (unless otherwise provided). You
may use the resulting upgraded product only in accordance
with the terms of this EULA and only with the HARDWARE. If
the SOFTWARE is an upgrade of a component of a package of
software programs that you licensed as a single product,
the SOFTWARE may be used and transferred only as part of
that single product package and may not be separated for
use on more than one computer.

4. INTELLECTUAL PROPERTY RIGHTS. All title
and intellectual property rights in and to the SOFTWARE
(including but not limited to any images, photographs,
animations, video, audio, music, text and "applets,"
incorporated into the SOFTWARE), the accompanying printed
materials, and any copies of the SOFTWARE, are owned by
MS or its suppliers (including Microsoft Corporation). The
SOFTWARE is licensed, not sold. All title and intellectual
property rights in and to the content that is not contained
in the SOFTWARE, but which may be accessed through use of
the SOFTWARE is the property of the respective content
owner and may be protected by applicable copyright or other
intellectual property laws and treaties. Use of any on-
line services which may be accessed through the SOFTWARE
may be governed by the respective terms of use relating to
such services. If this SOFTWARE contains documentation
that is provided only in electronic form, you may print one
copy of such electronic documentation. You may not copy
the printed materials accompanying the SOFTWARE.

5. PRODUCT SUPPORT. SOFTWARE support for the
SOFTWARE is not provided by MS, Microsoft Corporation, or
their affiliates or subsidiaries. For product support,
please refer to Manufacturer's support number provided in
the documentation for the HARDWARE. Should you have any
questions concerning this EULA, or if you desire to contact
Manufacturer for any other reason, please refer to the
address provided in the documentation for the HARDWARE.

6. EXPORT RESTRICTIONS. You acknowledge
that the SOFTWARE is subject to U.S. export jurisdiction.
You agree to comply with all applicable international and
national laws that apply to the products, including the U.S.
Export Administration Regulations, as well as end-user,
end-use and destination restrictions issued by U.S. and
other governments. For additional information, see
http://www.microsoft.com/exporting/.

7. U.S. GOVERNMENT LICENSE RIGHTS. All
SOFTWARE PRODUCT provided to the U.S.
Government pursuant to solicitations issued on or after
December 1, 1995 is provided with the commercial rights and
restrictions described elsewhere herein. All SOFTWARE
provided to the U.S. Government pursuant to solicitations
issued prior to December 1, 1995 is provided with
RESTRICTED RIGHTS as provided for in
FAR, 48 CFR 52.227-14 (JUNE 1987) or FAR, 48 CFR 252.227-
7013 (OCT 1988), as applicable.

8. ADDITIONAL PROVISIONS. FOR THE LIMITED
WARRANTIES, LIMITATION OF LIABILITY,
AND OTHER SPECIAL PROVISIONS, PLEASE
REFER TO THE ADDITIONAL PROVISIONS
PROVIDED BELOW AND/OR OTHERWISE WITH
THE SOFTWARE. SUCH LIMITED WARRANTIES,
LIMITATION OF LIABILITY AND SPECIAL
PROVISIONS ARE AN INTEGRAL PART OF THIS
EULA.

APPENDIX

WARRANTY AND SPECIAL PROVISIONS FOR
AUSTRALIA, NEW ZEALAND OR PAPUA NEW GUINEA

EXPRESS LIMITED WARRANTY

CONSUMER RIGHTS. Consumers may have the benefit of certain
rights or remedies pursuant to the Trade Practices Act and
similar state and territory laws in Australia or the Consumer
Guarantees Act in New Zealand, in respect of which certain
liability may not be excluded.

LIMITED EXPRESS WARRANTY. Manufacturer
warrants that: (a) the SOFTWARE will perform substantially in
accordance with the accompanying Product Manual(s) for a period
of 90 days from the date of receipt; and (b) any Microsoft
hardware accompanying SOFTWARE will be free from defects in
materials and workmanship under normal use and service for a
period of 1 year from the date of receipt.

CUSTOMER REMEDIES. To the maximum extent permitted under
applicable law, Manufacturer's and its supplier's entire
liability and your exclusive remedy under the express warranty
is, at Manufacturer's option, either (a) return of the
price paid; or (b) repair or replacement of the SOFTWARE or
Microsoft hardware which does not meet the warranty and which is
returned to Manufacturer with a copy of your receipt. The
warranty is void if failure of the SOFTWARE or Microsoft hardware
has resulted from accident, abuse or misapplication. Any
replacement SOFTWARE and/or Microsoft hardware will be warranted
for the remainder of the original warranty period or 30 days,
whichever is longer.

LIMITATION OF LIABILITY. To the maximum
extent permitted by applicable law, any conditions or warranties
imposed or implied by law are hereby excluded. Consumers may
nevertheless have the benefit of certain rights or remedies
pursuant to the Trade Practices Act and similar state and
territory laws in Australia or the Consumer Guarantees Act in New
Zealand, in respect of which liability may not be excluded.
Insofar as such liability may not be excluded, then to the
maximum extent permitted by law, such liability is limited, at
the exclusive option of Manufacturer, to either (a) replacement
of the SOFTWARE (and any accompanying hardware supplied); or (b)
correction of defects in the SOFTWARE; or (c) payment of the cost
of having defects in the SOFTWARE (and any accompanying hardware
supplied).

EXCLUSION OF LIABILITY/DAMAGES. The
following is without prejudice to any rights you may have at law
which cannot legally be excluded or restricted. You acknowledge
that no promise, representation, warranty or undertaking has been
made or given by Manufacturer and/or Microsoft Corporation (or
related company of either) to any person or company on its behalf
in relation to the profitability of or any other consequences or
benefits to be obtained from the delivery or use of the SOFTWARE
and any accompanying Microsoft hardware, software, manuals or
written materials. You have relied upon your own skill and
judgement in deciding to acquire the SOFTWARE and any
accompanying hardware, manuals and written materials for use by
you. Except as and to the extent provided in this agreement,
neither Manufacturer and/or Microsoft Corporation (or related
company of either) will in any circumstances be liable for any
other damages whatsoever (including, without limitation, damages
for loss of business, business interruption, loss of business
information or other indirect or consequential loss) arising out
of the use or inability to use or supply or non-supply of the
SOFTWARE and any accompanying hardware and written materials.
Manufacturer's and/or Microsoft Corporation (or related company
of either) total liability under any provision of this agreement
is in any case limited to the amount actually paid by you for the
SOFTWARE and/or Microsoft hardware.

This agreement is governed by the laws of New South Wales,
Australia or, where supplies are made in New Zealand, by the laws
of New Zealand.

APPENDIX

WARRANTY AND SPECIAL PROVISIONS FOR
ENGLAND, SCOTLAND, WALES AND IRELAND

LIMITED WARRANTY

LIMITED WARRANTY. Manufacturer warrants that (a) the
SOFTWARE will perform substantially in accordance
with the accompanying written materials for a period of
ninety (90) days from the date of receipt, and (b) any
Microsoft hardware accompanying the SOFTWARE will be free
from defects in materials and workmanship under normal use
and service for a period of one (1) year from the date of
receipt. Any implied warranties on the SOFTWARE and
Microsoft hardware are limited to ninety (90) days and
one (1) year, respectively. Some states/jurisdictions do
not allow limitations on duration of an implied warranty,
so the above limitation may not apply to you.

CUSTOMER REMEDIES. Manufacturer's and its suppliers' entire
liability and your exclusive remedy shall be, at Manufacturer's
option, either (a) return of the price paid, or (b) repair or
replacement of the SOFTWARE or hardware that does not meet this
Limited Warranty and which is returned to Manufacturer with a
copy of your receipt. This Limited Warranty is void if failure
of the SOFTWARE or hardware has resulted from accident, abuse, or
misapplication. Any replacement SOFTWARE or hardware will be
warranted for the remainder of the original warranty period or
thirty (30) days, whichever is longer.

NO OTHER WARRANTIES. To the maximum extent permitted by
applicable law, Manufacturer and its suppliers disclaim all other
representations, warranties, conditions or other terms, either
express or implied, including, but not limited to implied
warranties amd/or conditions of merchantability and fitness for a
particular purpose, with regard to the SOFTWARE, the accompanying
written materials, and any accompanying hardware. This limited
warranty gives you specific legal rights. You may have others
which vary from state/jurisdiction to state/jurisdiction.

NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To
the maximum extent permitted by applicable law, in no event shall
Manufacturer or its suppliers be liable for any damages
whatsoever (including without limitation, direct or indirect
damages for personal injury, loss of business profits, business
interruption, loss of business information, or any other
pecuniary loss) arising out of the use of or inability to use
this product, even if Manufacturer has been advised of the
possibility of such damages. In any case, Manufacturer's and its
suppliers' entire liability under any provision of this agreement
shall be limited to the amount actually paid by you for the
SOFTWARE and/or Microsoft hardware. Because some states/
jurisdictions do not allow the exclusion or limitation of
liability for consequential or incidental damages, the above
limitation may not apply to you.

SPECIAL PROVISIONS

Reverse Engineering: If you acquired the SOFTWARE in the
European Community, you may not reverse engineer, decompile, or
dissassemble the SOFTWARE except to the extent and for the
express purposes authorized by applicable law.

This Software License Agreement is governed by the laws
of England.

APPENDIX

WARRANTY AND SPECIAL PROVISIONS FOR
CANADA

LIMITED WARRANTY

LIMITED WARRANTY. Manufacturer warrants that (a) the
SOFTWARE will perform substantially in accordance
with the accompanying written materials for a period of
ninety (90) days from the date of receipt, and (b) any
Microsoft hardware accompanying the SOFTWARE will be free
from defects in materials and workmanship under normal use
and service for a period of one (1) year from the date of
receipt. Any implied warranties or conditions on the
SOFTWARE and Microsoft hardware are limited to
ninety (90) days and one (1) year, respectively. Some
states/jurisdictions do not allow limitations on duration
of an implied warranty, so the above limitation may not
apply to you.

CUSTOMER REMEDIES. Manufacturer's and its suppliers' entire
liability and your exclusive remedy shall be, at Manufacturer's
option, either (a) return of the price paid, or (b) repair or
replacement of the SOFTWARE or hardware that does not meet this
Limited Warranty and which is returned to Manufacturer with a
copy of your receipt. This Limited Warranty is void if failure
of the SOFTWARE or hardware has resulted from accident, abuse, or
misapplication. Any replacement SOFTWARE or hardware will be
warranted for the remainder of the original warranty period or
thirty (30) days, whichever is longer.

NO OTHER WARRANTIES. To the maximum extent permitted by
applicable law, Manufacturer and its suppliers disclaim all other
warranties, either express or implied, including, but not limited
to implied warranties of merchantability and fitness for a
particular purpose, with regard to the SOFTWARE, the accompanying
written materials, and any accompanying hardware. This limited
warranty gives you specific legal rights. You may have others
which vary from state/jurisdiction to state/jurisdiction.

NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To
the maximum extent permitted by applicable law, in no event shall
Manufacturer or its suppliers be liable for any damages
whatsoever (including without limitation, direct or indirect
damages for personal injury, loss of business profits, business
interruption, loss of business information, or any other
pecuniary loss) arising out of the use of or inability to use
this product, even if Manufacturer has been advised of the
possibility of such damages. In any case, Manufacturer's and its
suppliers' entire liability under any provision of this agreement
shall be limited to the amount actually paid by you for the
SOFTWARE and/or Microsoft hardware. Because some states /jurisdictions do not allow the exclusion or limitation of
liability for consequential or incidental damages, the above
limitation may not apply to you.

This Software License Agreement is governed by the laws of the
Province of Ontario, Canada. Each of the parties hereto
irrevocably attorns to the jurisdiction of the courts of the
Province of Ontario and further agrees to commence any litigation
which may arise hereunder in the courts located in the Judicial
District of York, Province of Ontario.

ANNEXE

GARANTIE ET DISPOSITIONS PARTICULIERES
POUR LE CANADA

GARANTIE LIMITEE

Si vous vous etes procure ce produit Microsoft(r) ou ce materiel
Microsoft(r) au CANADA, la garantie suivante s'adresse a vous.

GARANTIE LIMITEE. Le Fabricant garantit que (a) la performance
du LOGICIEL sera substantiellement en conformite avec les
documents ecrits qui l'accompagnent pour une periode de quatr
e-vingt-dix (90) jours a compter de la date de reception, et que
(b) tout materiel de Microsoft fourni avec le LOGICIEL sera
exempt de defaut de matiere premiere ou de vice de fabrication
dans des conditions normales d'utilisation et d'entretien pour
une periode d'un (1) an a compter de la date de reception.
Toutes garanties ou conditions implicites concernant le LOGICIEL
et le materiel Microsoft sont limitees a quatre-vingt-dix (90)
jours et un (1) an, respectivement.

RECOURS DU CLIENT. La seule obligation du Fabricant et de ses
fournisseurs et votre recours exclusif seront, au choix du
Fabricant, soit (a) le remboursement du prix paye ou (b) la
reparation ou le remplacement du LOGICIEL ou du materiel qui
n'est pas conforme a la Garantie limitee et qui est retourne au
Fabricant avec une copie de votre recu. Cette Garantie limitee
est nulle si la defectuosite du LOGICIEL ou du materiel est
causee par un accident, un traitement abusif ou une mauvaise
application. Tout LOGICIEL ou materiel de remplacement sera
garanti pour le reste de la periode de garantie initiale ou pour
trente (30) jours, selon laquelle de ces deux periodes est la
plus longue.

EXCLUSION DE TOUTE AUTRE GARANTIE. Selon la
portee maximale autorisee par la loi applicable, le Fabricant et
ses fournisseurs renoncent a toutes autres garanties ou
conditions, expresses ou implicites, y compris mais ne se
limitant pas aux garanties implicites de la qualite marchande ou
un usage particulier en ce qui concerne le LOGICIEL, la
documentation ecrite et tout materiel qui l'accompagnent. Cette
garantie limitee vous accorde des droits specifiques reconnus par
la loi.

ABSENCE DE RESPONSABILITE POUR LES DOMMAGES
INDIRECTS. Selon la portee maximale autorisee par la loi
applicable, le Fabricant ou ses fournisseurs ne pourront etre
tenus responsables en aucune circonstance de tous dommages quels
qu'ils soient (y compris mais non de facon limitative les
dommages directs ou indirects causes par des lesions corporelles,
la perte de benefices commerciaux, l'interruption des affaires,
la perte d'information commerciale ou toute autre perte
pecuniaire) decoulant de l'utilisation ou de l'impossibilite
d'utilisation de ce produit, et ce meme si le Fabricant a ete
avise de l'eventualite de tels dommages. En tout etat de cause,
la seule responsabilite du Fabricant et de ses fournisseurs en
vertu de toute disposition de cette Convention se limitera au
montant que vous aurez effectivement paye pour l'achat du
LOGICIEL et/ou du materiel Microsoft.

La presente Convention de droits d'utilisation de logiciel est
regie par les lois de la province d'Ontario, Canada. Chacune des
parties aux presentes reconnait irrevocablement la competence des
tribunaux de la province d'Ontario et consent a instituer tout
litige qui pourrait decouler des presentes aupres des tribunaux
situes dans le district judiciaire de York, province d'Ontario.

APPENDIX

WARRANTY AND SPECIAL PROVISIONS FOR
THE UNITED STATES OF AMERICA AND ANY OTHER
COUNTRY

LIMITED WARRANTY

LIMITED WARRANTY. Manufacturer warrants that (a) the
SOFTWARE will perform substantially in accordance
with the accompanying written materials for a period of
ninety (90) days from the date of receipt, and (b) any
Microsoft hardware accompanying the SOFTWARE will be free
from defects in materials and workmanship under normal use
and service for a period of one (1) year from the date of
receipt. Any implied warranties on the SOFTWARE and
Microsoft hardware are limited to ninety (90) days and
one (1) year, respectively. Some states/jurisdictions do
not allow limitations on duration of an implied warranty,
so the above limitation may not apply to you.

CUSTOMER REMEDIES. Manufacturer's and its suppliers' entire
liability and your exclusive remedy shall be, at Manufacturer's
option, either (a) return of the price paid, or (b) repair or
replacement of the SOFTWARE or hardware that does not meet this
Limited Warranty and which is returned to Manufacturer with a
copy of your receipt. This Limited Warranty is void if failure
of the SOFTWARE or hardware has resulted from accident, abuse, or
misapplication. Any replacement SOFTWARE or hardware will be
warranted for the remainder of the original warranty period or
thirty (30) days, whichever is longer.

NO OTHER WARRANTIES. To the maximum extent permitted by
applicable law, Manufacturer and its suppliers disclaim all other
warranties, either express or implied, including, but not limited
to implied warranties of merchantability and fitness for a
particular purpose, with regard to the SOFTWARE, the accompanying
written materials, and any accompanying hardware. This limited
warranty gives you specific legal rights. You may have others
which vary from state/jurisdiction to state/jurisdiction.

NO LIABILITY FOR CONSEQUENTIAL DAMAGES. To
the maximum extent permitted by applicable law, in no event shall
Manufacturer or its suppliers be liable for any damages
whatsoever (including without limitation, special, incidental,
consequential, or indirect damages for personal injury, loss of
business profits, business interruption, loss of business
information, or any other pecuniary loss) arising out of the use
of or inability to use this product, even if Manufacturer has
been advised of the possibility of such damages. In any case,
Manufacturer's and its suppliers' entire liability under any
provision of this agreement shall be limited to the amount
actually paid by you for the SOFTWARE and/or Microsoft hardware.
Because some states/jurisdictions do not allow the exclusion or
limitation of liability for consequential or incidental damages,
the above limitation may not apply to you.

SPECIAL PROVISIONS

U.S. GOVERNMENT LICENSE RIGHTS. All SOFTWARE
provided to the U.S. Government pursuant to solicitations issued
on or after December 1, 1995 is provided with the commercial
license rights and restrictions described in this EULA. All
SOFTWARE provided to the U.S. Government pursuant to
solicitations issued prior to December 1, 1995 is
provided with "Restricted Rights" as provided for in FAR, 48 CFR
52.227-14 (JUNE 1987) or DFAR, 48 CFR 252.227-7013 (OCT 1988),
as applicable. Manufacturer is responsible for ensuring the
SOFTWARE is marked with the "Restricted Rights Notice" or
"Restricted Rights Legend," as required. All rights not expressly
granted are reserved.

If you acquired the SOFTWARE in the United States of America,
this Software License Agreement and Warranty are governed by the
laws of the State of Washington, U.S.A. If you acquired the
SOFTWARE outside the United States of America, local law
may apply.

Grammar (-1, Troll)

Anonymous Coward | more than 11 years ago | (#6600215)

The resulting binary starts up faster then with any traditional JVM
You mean "than". Use "than" for comparisons. Sorry, it's one of my grammar peeves.

Wrong (-1, Troll)

Anonymous Coward | more than 11 years ago | (#6600242)

"then" represents a temporal relationship, "starts up faster" definitely qualifies as a time comparison.

Re:Wrong (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#6600255)

You're on crack. Of course it's supposed to be than. Then is _never_ used for comparisons.

Re:Wrong (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#6600324)

It's "then." For example, consider the sentence "I have more then 500 money." The 'then' indicates a temporal comparison.

If you wanted to use a unit, then 'than' is appropriate: consider "I have more than 500 monies."

Re:Wrong (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#6600343)

Um... No. What part of "then is never used for comparisons" don't you understand here?

Re:Wrong (0)

Anonymous Coward | more than 11 years ago | (#6600468)

Probably the word 'never,' since your statement is wrong. Then is often used for comparisons, as in "I went to the store, then I went to the beer."

If you'd like to talk about it, please look it up in your grammar, then email it.

Re:Wrong (0)

Anonymous Coward | more than 11 years ago | (#6600525)

Well, you go to the beer then, with your monies, smart guy.

Re:Wrong (0)

Anonymous Coward | more than 11 years ago | (#6600820)

I think you mean "go to the beer than."

Re:Wrong (0)

Anonymous Coward | more than 11 years ago | (#6600361)

Repeat after me: Engrish is NOT English.

Re:Wrong (0, Troll)

Call Me Black Cloud (616282) | more than 11 years ago | (#6600368)

Hahahahahah... I suggest you go back to your "English as a second language" teacher and ask for a refund.

The people respoding to you know better than you, so learn how to write correctly then come back and post.

Re:Wrong (0)

Anonymous Coward | more than 11 years ago | (#6600484)

The people respoding to you know better then you, so learn how to write correctly than come back and post.

What does "respoding" mean?

I like eclipse (1)

eyeye (653962) | more than 11 years ago | (#6600217)

It takes a while to load true... I have noticed it eats my cpu but I think thats to do with the EPIC perl plugin I use rather than eclipse itself.

Been pretty happy with it though I found optiperl to be an amazing looking perl IDE (not free in any sense though!).

Startup sure, but how fast does it run? (3, Interesting)

iamacat (583406) | more than 11 years ago | (#6600220)

From what I heard so far, gcj has problems with garbage collection and doesn't generate very good code. Did I miss any dramatic improvements recently? Also, how complete is the class library?

Re:Startup sure, but how fast does it run? (2, Flamebait)

millenium (689108) | more than 11 years ago | (#6600254)

GCJ uses the same backend as GCC (C/C++). Its code should therefore be as good or as bad as for that one.

The class library is certainly complete enough to write nice, crisp, fast and beautiful native GUIs with SWT.

The true question is: What can you do with GCJ?

The answer is: everything you can't do with the JDK, because the JDK starts up too slowly, because Swing suffers from obesity, and because both memory and disk footprints of the JRE are a disaster.

Re:Startup sure, but how fast does it run? (5, Insightful)

Call Me Black Cloud (616282) | more than 11 years ago | (#6600347)

From your comments it's apparent you're not a Java programmer then, because you merely repeat old complaints that are no longer valid. Ok, sure, the JRE takes up a bit of space but compared to the size of hard drives today the amount is trivial. Having the JRE on disk is like installing the MS or Borland libraries (or Linux counterparts) that some applications use - once it's there other applications don't have to include the code as part of the executable.

Swing suffers from obesity - what does that mean?

I've been developing Java applications for years (including a stint as project lead on a weather satellite imagery analysis program) and I know firsthand how much Java has improved. Spend some time writing applications in Java, using Swing (I use Netbeans for my IDE)...you'll see how sporty applications can be. Also check out Sun's Java Games [java.net] community for some links to games that really exhibit excellent performance.

Re:Startup sure, but how fast does it run? (1, Flamebait)

millenium (689108) | more than 11 years ago | (#6600423)

"From your comments it's apparent you're not a Java programmer"

Of course, I don't see myself as a "Java programmer" or a "carpenter" or a "brick layer". I wouldn't take any pride in that. I have a degree in computer science. The day you will get a college degree, or at least some formal qualification, you won't need to go around saying: I am a "Java programmer".

Otherwise, your arguments don't hold water: "startup times are not important", "size is not important". Who are you that you can say what can be important in someone else situation?

Because of the startup time issues you can't use Java programs in shell scripts. Now you're probably going to say that shell scripts are not important ...

Because of the size and footprint issues, you can't do embedded with Java. Now you're probably going to say that embedded applications are not important ...

Re:Startup sure, but how fast does it run? (2, Insightful)

Binary Gibbon (413182) | more than 11 years ago | (#6600447)

I think you miss the point; Java is not designed for the sort of speed and efficiency necessary for, say, startup scripts. So, in the context of Java's purpose, those features are not really important. Java is designed for portability and the ease-of-use (from a programmer's standpoint) that comes with the very large amount of memory management that the virtual machine takes care of. Does this result in a larger footprint, and slower operating times? Undoubtedly. But if those things are mission critical, do not program in Java.

Re:Startup sure, but how fast does it run? (1, Flamebait)

millenium (689108) | more than 11 years ago | (#6600535)

Very good. You can use the JRE for things that don't need to start up fast, that can do with sluggish user interfaces, that cannot be used in fork(), and so on. Who's stopping you?

In the meanwhile, we can do everything that you can do and everything that you can't as well.

Re:Startup sure, but how fast does it run? (1)

JohnwheeleR (662355) | more than 11 years ago | (#6600618)

In the meanwhile, we can do everything that you can do and everything that you can't as well.

Like writing programs plagued with buffer overflows? Why anyone uses C/C++ to write anything besides system software is beyond me. Especially when safe languages like Java, .NET, and Python exist. Java is fine on the desktop. Its even better on the server. Its definetly here to stay, and gets faster all the time. Quit yer yowling and go here [sun.com] .

Re:Startup sure, but how fast does it run? (1)

minkwe (222331) | more than 11 years ago | (#6600864)

Why peole who have never done a sizeable efficient application in Java/Python like complaining about C/C++ and comparing it to Java/Python is beyond me. You cannot have a toolbox with only one tool. Every tool has its purpose. Suggesting that C/C++ is only appropriate for system software is naive. What language is Java/Python etc written in, C/C++ undoubtably.

Re:Startup sure, but how fast does it run? (2, Insightful)

be-fan (61476) | more than 11 years ago | (#6600842)

Interestingly, Python is a much higher level (as a language, not necessarily libraries) language than Java, yet the Python VM takes no time at all to start up.

Re:Startup sure, but how fast does it run? (1, Insightful)

Anonymous Coward | more than 11 years ago | (#6600493)

No, of course you can't "do embedded" with Java. That's why there's a multitude of phones out there, and some handheld devices that are already using it. Because you know, it can't be done.

You're a fucking moron. That is all.

Re:Startup sure, but how fast does it run? (4, Informative)

red_gnom (545555) | more than 11 years ago | (#6600632)


Of course, I don't see myself as a "Java programmer" or a "carpenter" or a "brick layer". I wouldn't take any pride in that. I have a degree in computer science...

...Because of the size and footprint issues, you can't do embedded with Java.

To further extend your knowledge in computer science, look into the Internet tool called "Google". Using it can save you from ridiculing yourself by publicly posting uneducated statements:

Embedded Java [google.ca]

Re:Startup sure, but how fast does it run? (1)

csnydermvpsoft (596111) | more than 11 years ago | (#6600784)

Because of the size and footprint issues, you can't do embedded with Java.

Complete and utter BS. I know for a fact that there are quite a few auto manufacturers currently working on Java in-car computing systems. I should know - I work with the team at IBM that is developing the technologies for them (and close to the team that originally wrote Eclipse).

Also, have you heard of Java running on cellphones? It's been all over the news lately.

Re:Startup sure, but how fast does it run? (4, Interesting)

iapetus (24050) | more than 11 years ago | (#6600792)

I have a degree in computer science. The day you will get a college degree, or at least some formal qualification, you won't need to go around saying: I am a "Java programmer".

What utter garbage. I'd describe myself primarily as a Java programmer, and I've got a college degree, a masters degree and a bucketful of professional qualifications.

Who are you that you can say what can be important in someone else situation?

I don't know. Who are you that you can say the same? There are plenty of cases where Java can be used in shell scripts, or where the same functionality can be achieved using a tool such as Ant (which is very widely used these days). Startup time isn't always the be all and end all of what people need from their programs. If it is, then obviously there are better tools than Java. I'd have hoped that at some point they'd have taught you in your college degree that there are plenty of tools out there and that there's such a thing as picking the right tool for a given job. That tool may be Java, it may be perl, it may be lovingly hand-crafted assembly code.

The fact that you seem to ignore that means that you also ignore the things that you can do with the JDK that you can't do with gcj, and ignore the requirements people may have that your preferred way of working doesn't address. And also, it seems, the fact that some people [sun.com] don't agree with your blanket generalisations.

Re:Startup sure, but how fast does it run? (2, Interesting)

krumms (613921) | more than 11 years ago | (#6600828)

Gee whiz, you're a raving spastic.

I have a degree in computer science. The day you will get a college degree, or at least some formal qualification, you won't need to go around saying: I am a "Java programmer".

Right, and the day you get around to pulling your head out of your own ass - or at least do something to stop you talking so much shit all the time - you won't need to go around pompously saying, "I have a degree in computer science."

Who are you that you can say what can be important in someone else situation?

Has it ever occurred to you that not everybody needs the speed? Anyway, it's you yourself who is trying to say what's important for everyone else.

Because of the startup time issues you can't use Java programs in shell scripts.

Think Bash, think Perl, think Python, think Ruby. You'd use any of the former before you'd think about using Java OR C++. At least, being a CS grad, I hope you would - unless you had good reason to do otherwise.

And just to be picky, it's only the larger Java applications that will noticibly kill your startup times (Tomcat springs to mind).

Because of the size and footprint issues, you can't do embedded with Java. Now you're probably going to say that embedded applications are not important ...

GOOGLE FFS [google.com.au]

Re:Startup sure, but how fast does it run? (1)

be-fan (61476) | more than 11 years ago | (#6600832)

There are lots of things you can't do with Java. Little CLI apps like 'ls', 'cd', etc, would be painful to use if they were written in Java, because of the startup costs of the VM. It takes GCC 0.004 seconds (ie: within measurement error) to startup and give me the usage message. It takes javac 0.330 seconds to do the same.

Re:Startup sure, but how fast does it run? (1)

iamacat (583406) | more than 11 years ago | (#6600780)

Ok, but this doesn't quite answer my question. Eclipse is a good example of application that itself takes up a lot of memory and disk space. The question is how well does it run under GCJ once it gets started? To be honest, JRE is not great for desktop applications, but I certainly wouldn't want GC UI lag to get any worse.

Woot! 10th Comment (-1, Offtopic)

jesboat (64736) | more than 11 years ago | (#6600221)

Please don't mod me down. :-|

Re:Woot! 10th Comment (-1)

Anonymous Coward | more than 11 years ago | (#6600244)

Aww... :(

increases the credibility of GCJ (4, Insightful)

millenium (689108) | more than 11 years ago | (#6600229)

GCJ aka "native Java" now really seems to be ready for its day under the spotlights.

load times (3, Interesting)

khuber (5664) | more than 11 years ago | (#6600245)

I still don't understand why load times are such a big deal. Do people sit there and start and exit applications continuously?

I leave stuff like mozilla, eclipse, and xemacs running for weeks on end.

Re:load times (-1, Flamebait)

Anonymous Coward | more than 11 years ago | (#6600261)

When the java app keeps crashing (like all java apps), you have to restart it, over and over.

Re:load times (1)

awfwal (596968) | more than 11 years ago | (#6600472)

Like Windows?

Re:load times (3, Funny)

aled (228417) | more than 11 years ago | (#6600315)

Yes! I love so much all those modal splash windows, in fact I'm recompiling all my apps to exit inmediately after showing them...

Re:load times (1)

burnetd (90848) | more than 11 years ago | (#6600318)

Some people believe in saving energy and actually switch electical devices off when not in use.

Re:load times (1)

csnydermvpsoft (596111) | more than 11 years ago | (#6600323)

Some people compromise, and put their electrical devices to sleep instead of turning them off.

Re:load times (0)

Anonymous Coward | more than 11 years ago | (#6600367)

Not everyone has loads of ram to keep the things running all the time. Plus, mozilla leaks.

Re:load times (0)

Anonymous Coward | more than 11 years ago | (#6600394)

They have this new thing called virtual memory in Linux now.

Re:load times (0)

Anonymous Coward | more than 11 years ago | (#6600419)

Brilliant! How do I tell it to totally swap eclipse out to disk when I want it to and free up more Real Memory for things I want to work with. Oh I can't? I suppose the workaround is to shut the program off... This works fairly well, especially if the program leaks memory.

Re:load times (2, Informative)

iabervon (1971) | more than 11 years ago | (#6600527)

It's not such a big deal for Eclipse, but it matter a whole lot for command-line programs like jar and javadoc, where the amount of time spend running the program is less than the amount of time spend starting the program; this makes correspondingly more of a difference to programs using the traditional UNIX philosophy.

Of course, java tends toward handling this differently, where java programs invoke each other inside the same runtime, but it makes mixing java and non-java tools annoying.

Re:load times (4, Informative)

khuber (5664) | more than 11 years ago | (#6600610)

Java was never designed to start up quickly, though they did a lot of work on startup in 1.4.x. Startup time is slow due primarily to what is executed, not the JVM speed.

I wrote a simple JVMPI method tracer. It's mind-blowing what all happens before your code is actually run. Here's a method trace I just ran with 1.4.2 for a simple program. [visi.com]

-Kevin

Modified GCJ Required (for now) (3, Interesting)

SilentMajority (674573) | more than 11 years ago | (#6600252)

I found this info at http://gcc.gnu.org/java/

"A team of hackers from Red Hat has released RPMS for a version of Eclipse, a free software IDE written in Java, that has been compiled with a modified gcj. You can find more information here. We'll be integrating the required gcj patches into cvs in the near future."

ps

Slashdot preview is buggy today...can't do HTML format preview and links one or more spaces get embedded in URLs (like the one below).

---
My most underrated Slashdot post is http://slashdot.org/comments.pl?sid=68610&cid=6276 748

What is yours?

Another FOSS IDE. (4, Interesting)

Black Parrot (19622) | more than 11 years ago | (#6600272)


There is another FOSS IDE called gps [act-europe.fr] . They call the unsupported version the "academic edition", but you can download the source, and a peak at a few files shows that it's GPL'd. (Their economic model is to give it away for free and sell support for those who need it.)

It's a cross-platform IDE, with binaries available for Linux, Solaris, and various versions of Windows, and in principle you should be able to build it on any *n*x system where you can get GTK2 to run.

The bad news is that language support is still limited. It has full support for Ada and partial support for C and C++, which are lower priorities for the authors. It comes with instructions for setting up support for your language, but that looks like a non-trivial task.

I've just started playing with it so I can't give a good review, but so far it has been very helpful. The features listed at their Web site are:

  • Language-sensitive editor
  • Automatic generation of body files
  • Source code reformatting
  • Intelligent source code navigation
  • Context-sensitive search and replace
  • Application builder
  • Automatic code fixing
  • Version control (CVS, ClearCase, etc.)
  • Visual file comparison
  • Graphical source-level debugger
  • Project and program entities explorer
  • Project wizard
  • Types and program entities graphs
  • Call graphs
  • File dependency graphs
  • Project dependency graphs
You can use the built-in editor or make it pop up your favorite editor. If you use the gnuclient Emacs interface you get the same kind of language-sensitive pop-up menus you get with the built-in editor.

Screenshots are available at the link above.

Hmm, slow (1, Interesting)

Anonymous Coward | more than 11 years ago | (#6600278)

This seems to be quite slow, as is my experience with most gcj-compiled applications. It produces native code but they haven't quite gotten it to the level of optimisation the sun JVM can do when it compiles sections into native code - but it will get there, I'm sure. I still like gcj because of its licencing. Has anybody tried compiling it with array bounds checking turned off? If it doesn't depend on it, that should give a really nice speed improvement. And if it doesn't itt'l crash ;)

Plugins? (4, Interesting)

connsmythe96 (576445) | more than 11 years ago | (#6600331)

The eclipse IDE is supposed to be extremely pluggable. How does natively compiling it affect that? Do you have to compile the plugins with the IDE? Or can you still just drop the .class files somewhere?

Re:Plugins? (4, Informative)

Anonymous Coward | more than 11 years ago | (#6600481)

I believe run-time loading works. GCJ also includes a bytecode interpreter, so it will use that (it'll be slower than a normal JVM, but if you know you'll be loading it, you can compile the plugin natively, I think).

That was the case last time I looked at GCJ about a year ago. I ended up being unable to use it because of lack of windowing toolkit support. Anyone know the status on all that?

Total GCJ performance (4, Insightful)

jfengel (409917) | more than 11 years ago | (#6600342)

The intriguing idea behind JIT compilers is that the result can be optimized for your exact configuration (AMD vs Intel, particular kinds of RAM, etc.) It can even (conceptually) optimize the same program differently at different times depending on usage. At, of course, a startup penalty and runtime compilation overhead.

I don't know how much of this potential is actually realized in JITs (it's insanely hard to do) and how much of a difference it makes in the end. How substantial would the difference between a specialized AMD vs Intel optimziation be, for example (which would presumably depend on the task)?

I suppose the best possible world would be to have the optimization run exactly once, the first time you install a program. (Yeah, you could conceptually move the same installation to a different CPU, or add more RAM, or some such, but let's not make an already messy issue even messier.)

I doubt such things are easy to benchmark, and the best test may well be something like this (gcj'd Eclipse), where the end result to the user is "which one feels faster?" and "which one actually runs faster?"

Isn't that how .NET languages like C# work? (2, Informative)

MichaelCrawford (610140) | more than 11 years ago | (#6600410)

My understanding (I may be wrong) is that the way that Microsoft's "managed code" works is that the installer creates a native compile of your application on your computer right when it installs.

I don't know how well it works but I can see the potential.

Optimizing JITs are very common (2, Insightful)

Anonymous Coward | more than 11 years ago | (#6600495)

> The intriguing idea behind JIT compilers is that the result
> can be optimized for your exact configuration (AMD vs
> Intel, particular kinds of RAM, etc.) It can even
> (conceptually) optimize the same program differently at
> different times depending on usage. At, of course, a
> startup penalty and runtime compilation overhead.

True, the optimization for hardware platforms are less significant than the overall optimizations.

> I don't know how much of this potential is actually
> realized in JITs (it's insanely hard to do) and how much of
> a difference it makes in the end. How substantial would
> the difference between a specialized AMD vs Intel
> optimziation be, for example (which would presumably
> depend on the task)?

Its huge, Java is already faster than C++ is some benchmarks (very slightly) but the problem is that this feature doesn't benchmark well.
Technically optimizing JIT's aren't all that hard to write since this subject is far from new and has been studied in smalltalk for ages (IBM was strong in smalltalk and Sun just hired everyone else).

As an example these two opimizations are a part of both the Sun and IBM JDKs:

1. Virtual method inlining - where a call to a virtual method can be made inline since at runtime we know for sure the instance we perform invocations upon.

2. Runtime loop unroling - loop unroling is mostly useless in C++ since you need to know the size of the iteration in advance. Even if it never changes.

In Java there are many language restrictions (no pointer arithmetics, bound arrays etc...) that allow the JIT to assume things that a C++ compiler can't assume. Java has in that sense the potential to be much faster then Fortran and simpler than C/C++.

> I suppose the best possible world would be to have the
> optimization run exactly once, the first time you install a
> program. (Yeah, you could conceptually move the same
> installation to a different CPU, or add more RAM, or some
> such, but let's not make an already messy issue even
> messier.)

This level of opimization produces some but relatively little benefit. You can do this with open source applications written in C, the advantage in JIT is allowing the application to be profiled according to your specific use case and adapted to it. After all we only use 10% of a programs functionality. When a programmer profiles a C/C++ application he only profiles the way he used it not the way his user will.

Re:Total GCJ performance (2, Interesting)

Anonymous Coward | more than 11 years ago | (#6600505)

The intriguing idea behind JIT compilers is that the result can be optimized for your exact configuration (AMD vs Intel, particular kinds of RAM, etc.) It can even (conceptually) optimize the same program differently at different times depending on usage. At, of course, a startup penalty and runtime compilation overhead.

That's not nearly as interesting as using runtime feedback to further optimize code. Static optimizing compilers need to make guesses about things, like how often loops are expected to run and which branches to to be taken more often. I don't expect to see a dramatic difference in Pentium IV vs. Athlon optimizations.

I don't know how much of this potential is actually realized in JITs (it's insanely hard to do) and how much of a difference it makes in the end. How substantial would the difference between a specialized AMD vs Intel optimziation be, for example (which would presumably depend on the task)?

I can tell you that it's not insanely difficult to do. Conceptually, compilers are compilers and optimization isn't that tough to do. JIT is just a tradeoff task, you set hard limits on how long optimizations can take and that changes the set of optimizations you can do. Pretty simple really, if you know how to build an optimizer you can probably build a JIT compiler and then you just tune the sets of optimizations to fit your task, ie run really fast. Bigger problem is we know a ton more about static optimization and compiling than dynamic so there are far more sophisticated static optimizations. We're just now doing things like exploring lowpower optimization, building research compilers to select instruction sequences that result in lower power consumption and stuff like that; I think that people also need to understand that optimization isn't a panacea. There is only so much that you can really expect no amount of optimization is going to make java code perform like C++ code right now, you need to make it take a lot less memory first, make it fit in to caches, etc... the -O20 flag isn't going to do that. Then there is marketing. I wouldn't expect a huge difference between 2 classes of x86 processors, x86 optimization is kind of a joke, there could be dramatic difference on PowerPC and other registery RISCy architectures but 90% of the market runs x86.

Re:Total GCJ performance (0)

Anonymous Coward | more than 11 years ago | (#6600539)

.NET already does this (it can JIT some IL and then store a copy of the produced native code for future use).

Yes, Microsoft do have some cool technologies :-)

Re:Total GCJ performance (2, Insightful)

Iffy Bonzoolie (1621) | more than 11 years ago | (#6600548)

GCJ, as far as I know, is not a JIT compiler, but a AOT compiler (Ahead of Time) - basically a normal compiler. So there is no greater opporunity to optimise per platform at runtime here. JITs are found tightly integrated in JVM implementations, such as Sun's HotSpot VM.

That's what makes GCJ so interesting: it's a Java compiler that, unlike most other Java compilers, compiles directly to native code without the VM in between. Thus, you potentially lose some of the advantages that the VM can provide you (and I don't know if it restricts language runtime features like dynamic class loading or not) and, in theory, you gain a good deal of performance.

-If

Re:Total GCJ performance (3, Interesting)

Anonymous Coward | more than 11 years ago | (#6600613)

The intriguing idea behind JIT compilers is that the result can be optimized for your exact configuration (AMD vs Intel, particular kinds of RAM, etc.) It can even (conceptually) optimize the same program differently at different times depending on usage. At, of course, a startup penalty and runtime compilation overhead.

Oh, but there are a few fallacies associated with that.

The first and bigggest one, a pet peeve of mine, is that people claim that they can reoptimize the application repeatedly on the fly to make it run faster (your It can even (conceptually) optimize the same program differently at different times depending on usage). yes, while this is theoretically possible, the end result will be slower than a normal compilation. Why? Because since you want to check that the usage hasn't changed, you basically have to be running a profiled version all the time. Yes light-weight profiling exists, but it'll be slower than a fairly generic optimized version with no profiling.

Second, You don't need JIT to optimize for your specific setup. Think Gentoo. You can use all of the GCC optimization flags with GCJ and optimize for whatever flavor of processor you have. Of course, that makes hardware upgrades a pain, as you have to recompile everything, but whatever.

Third, I doubt any JIT compilers nowadays do anything different for different processor families, simply to keep complexity down. Heck, I'd be surprised if they used any streaming instructions or anything like that.

Fourth, how much time are you willing to give the JIT compiler to do its thing? With a compile-once system, you can let the compiler crunch on your large a pplication for hours if you want, and then distribute the binary to your clients. That is just not feasible in a JIT context, so the optimizations that can be done are limited (unless you do it in parallel with the app, which introduces profiling (see 1), and adds complexity to the JIT compiler (see 3).

Fifth, the only two situations where you care about speed are
- Batch programs, where theprogram runs continuously and you want it to finish quickly, so you don't want to waste any time on profiling and/or reoptimizing anyway.
- GUI responsiveness, where optimization is not as important as the desing of the GUI toolkit (For some reason every java app I've ever touched seems more sluggish than a similar (or any) windows app).
The third place where speed is important is games, but we're talking java here :-)

Sixth, if you're interested in optimizing towards your personal usage style (which loops will be executed more often depends of which features you use, and how, etc) you still don't need JIT. Look up information on profiled-directed optimization. Basically you build a version of the app with -fprofiler-arcs and use it for a while (it'll be slow) then recompile by feeding those profiles to the compiler (I forget the flag) and voila. The compiler knows the real probabilities of each branch being taken and can optimize accordingly. This works on gcc and g++, but I'm not sure whether gcj can do it yet (last time I tried using -fprofile-arcs with gcj it crashed because internally the profiling code in the back end tried to add a function with a variable parameter list (...), which java doesn't have, so the front end crashed).

There are more objections I had to the whole "JIT is the best ever" mentality, but this rant has grown too long, and I forgot the rest already.

(oh, yeah. Seventh, every program has bugs, and some only show up under certain very specific circumstances (using system.identityHashCode() will make the program depend on the memory layout to the point that some bugs will appear only some times. also race conditions and resource leaks). If you have a different version of your executables, you will hve bugs appearing only under certain configurations of processor, memory, etc. and dissapear suddently as the program reoptimizes, which makes it hell to track down or even come up with a meaningful statistic of the reliability of your software (mean time to failure, etc.). If you have to recommend to your clients to use a Pentium III with 256 MB of DDR RAM and no ther applications running to make sure your program doesn't crash then what's the point?)

(Sorry for the rant).

Re:Total GCJ performance (1)

iabervon (1971) | more than 11 years ago | (#6600643)

On modern processors, the performance of a program is affected greatly by the success of the branch-prediction system, which gets hints from the compiler. This means that a compiler that knows what the flow control of the program is actually like is going to generate substantially better code. Traditional compilers have some information about flow control (e.g., most loops are run a lot of times; some are run either not at all or lots of times; few are run exactly once), but JIT compilers have the benefit that they actually get to run the program for a bit and watch what happens.

Probably the best idea would be to cache the compiled result from the JIT, and use that (maybe with a bit of profiling left to notice if you change the system characteristics significantly). But there are actually substantial benefits from doing the optimization the first time you run the program, rather than when you install it.

Re:Total GCJ performance (1)

be-fan (61476) | more than 11 years ago | (#6600805)

You can get most of the benifets of that from profile-guided optimizations. It would be unusual to see something whose flow patterns were too irregular to benifet from PGO, but were regular enough to allow the JIT to make good optimizations.

Branch prediction and OO languages (3, Insightful)

Earlybird (56426) | more than 11 years ago | (#6600836)

  • On modern processors, the performance of a program is affected greatly by the success of the branch-prediction system, which gets hints from the compiler.

There's an interesting claim I have seen made: Apparently the late binding feature of object-oriented languages -- virtual methods in C++, any non-static method in Java -- works against branch prediction, effectively resetting the prediction state whenever such a call is made, because the target jump address must be resolved -- read from a memory location -- only at the time of the jump. If this claim is accurate, this means typical OO code is inherently slower to execute than non-OO code on modern processors. Of course, the problem will equally apply to any language that supports function pointers, and in particular to C programs "emulating" OO with structs and function-pointer tables.

GTK? (-1, Flamebait)

Anonymous Coward | more than 11 years ago | (#6600358)

GTK. What the hell's that? Use a proper GUI framework like Qt.

waaaaaa!!!!1!!! (0)

Anonymous Coward | more than 11 years ago | (#6600429)

"waaaa.... why dont they use my crappy toolkit of choice?!?! waaaaaa!!!"

Good for QNX (2, Informative)

Animats (122034) | more than 11 years ago | (#6600398)

This will be useful for QNX, for which Java support is weak.

Re:Good for QNX (0)

Anonymous Coward | more than 11 years ago | (#6600524)

Only weak Java support is good Java support.

obligatory pun (5, Funny)

1nv4d3r (642775) | more than 11 years ago | (#6600411)

Thanks to the expected slashdotting, this is just one more eclipse I can't look directly at.

Where the **** is the Gentoo Ebuild for this? (1, Interesting)

His name cannot be s (16831) | more than 11 years ago | (#6600425)

Heh... It's not really done, until I can emerge it like real software :P

Seriously tho, I use VS.NET and Eclipse all the time. I find that both are extremely powerful when understood, both of their limitations and of their features.

For my java work, there's not really any point in using anything else 'cause Eclipse is what java IDE's are supposed to be. :p

JVM still a good idea. (1, Interesting)

BohKnower (586304) | more than 11 years ago | (#6600499)

Oh My God, you did it. You just slashdotted my favorite gnome site.

To stay on topic, Eclipse is very usable if you have enough RAM and CPU power.

On the company where I work we use Eclipse running on Pentium IV 2.4 with 1 Gb RAM, six developers can use it thought LTSP.

Re:JVM still a good idea. (0)

Anonymous Coward | more than 11 years ago | (#6600565)

I personally have alot of trouble with my cable provider in that somtimes the internet disconnects for like 15 minutes and then comes back for no reason. I believe a bad cable or somthing.

Anyway, my homepage is gnomedesktop.org, so whenever I bring up the browser I know if I have a descent internet connection by looking if the page loads.

Well here I am for the past half hour trying to get the internet back up again, only to find that it is up, and my homepage slashdotted...

Maybe I should set up slashdot as my homepage?

Nahhh....

Annoyed with the post (1, Insightful)

swordgeek (112599) | more than 11 years ago | (#6600562)

OK, this is just a minor vent here. Feel free to ignore it if you want.

I didn't understand a single bit of what the original post was saying. Why? Because there was no context!

Now because of it's nature, I don't expect to deeply comprehend every article on /.. I'm not a developer, so deep coding articles whiz past me. I don't have a problem with that--articles on biotech and/or legal intricacies most certainly go past other people who don't have the background in those fields.

But seriously, would it kill the poster to include the tiny little fact that gcj stands for "Gnu Compiler for Java?" Those words would have established a context for the article, and given TONS of information about what the remaining stuff was all about.

As I said, a minor rant--but a really common problem on /..

Re:Annoyed with the post (4, Insightful)

roystgnr (4015) | more than 11 years ago | (#6600752)

But seriously, would it kill the poster to include the tiny little fact that gcj stands for "Gnu Compiler for Java?"

Probably not. Nor would it have kill him to explain that a compiler turns source code into a binary executable for a particular architecture, or that IDE stands for Integrated Development Environment, or that a JVM is a Java Virtual Machine, or that RPM stands for Redhat Package Manager, or that GTK+ stands for GIMP ToolKit, or that now it is now used for far more than just GIMP, or that GIMP stands for GNU Image Manipulation Program, or that the included acronym stands for Gnu's Not Unix, or that GNU is a project to write free implementations of operating system components derived around the POSIX model, or that POSIX is a collection of operating system standards based around tradional Unix interfaces.

Doing all of these at once, however, would probably piss everyone off. Explaining just the particular missing piece of information that a specific reader is going to need would be better, but would require Slashdot readers to be more homogenous and Slashdot posters to be more psychic than they are.

The compromise, wherein the word "gcj" is linked to a web page entitled "The GNU compiler for Java", seems to be hard to improve upon.

ha ha (1, Funny)

teknokracy (660401) | more than 11 years ago | (#6600589)

Damn! For a second there I thought /. actually had an interesting article... on a fast Mitsubishi car!

bah (-1, Troll)

Anonymous Coward | more than 11 years ago | (#6600691)

Real men use pico.

Not a strong selling point for Java (-1, Troll)

Saint Stephen (19450) | more than 11 years ago | (#6600762)

Swing and all other "modern kewl Java tools that run gobs of native code look sweet and fly!!!" are not exactly bolstering my image of Java as fast code.

The latest ultra-rad GUI from BEA, this, well, the only time performance really sucks is when... they're actually executing Java code! But when they run in C++, well, then, they're totally awesome!

Okay, this is kind of easy, piling on, pouring salt in the wound. People write server-side code in Java, and a network roundtrip to the database dwarfs time spent executing code in the middleware, so if Java promotes maintainable code in the middle, that's "A Good Thing". And the .NET team has admitted the current runtime only really scales to 2 processors (maybe 4), definitely not 8 (look for that to change). But whatever, actually DOING STUFF in Java is SLOW....

oh my (-1, Flamebait)

Anonymous Coward | more than 11 years ago | (#6600765)

"Fast" and "GTK+" in the same sentence? I don't think my brain is equipped to parse those things at the same time.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?