Changing Climates for Microsoft and Google
ReadWriteWeb writes "Weather metaphors abound as this article looks at the evolving software environment — and in particular the competition between Microsoft and Google. Milan says that while Google enjoys relative dominance on the Web platform today, two fissures exist that will force them to move. The first is Microsoft's ability to use the exact same HTML based strategy as Google (like Microsoft's current Live initiative); and secondly Microsoft leapfrogging the current environment by solving rich application installation/un installation and enforcing an acceptable contract regarding what rich apps can do on a user's machine.
Unfortunately for Google, Microsoft is a lot closer to solving these two issues than people think. Microsoft has the best virtual machine with .NET, the best development tool with Visual Studio and the best access to developers with their MSDN programs. And they have a notion. Steve Ballmer himself has started touting the exact strategy they need — Click Once and Run."
... respect.
That's just about the worst possible news. Microsoft's strategy of making it all-too-easy to install and run questionably-trustworthy code is why the email virus, web browser malware, and -- worst of all -- botnet problems have become the unsolveable epidemics that they are. Does anyone believe that Microsoft will actually get it right this time, in terms of introducing some practically workable mechanism for allowing only trustworthy code? (Not to mention the difficulty of meaningfully defining "trustworthy" in this context...)
A completely flammable post, before I even commented! Tighten your seatbelts!
I'd have to say that Visual Studio pretty much rocks. I use it for c++ development only, and am very happy with it. If linux had any dev environment that was ANYWHERE NEAR as good as VC++, maybe I wouldn't despise working on it.
It was written like a monkey on crack. And damn those "global warming" analogies.
Might as well had the Enzyte "Knock on wood" guy there as well shaking his stick...
You can argue about .NET, and about Visual Studio dude, but there is NOTHING that compares to MSDN, and the resources Microsoft makes available to developers. On this, there is no contest.
AdBlock has blocked 19 out of 39 items
so nearly 50% of the page is adverts
sad
Run where? Screaming from the room? For the border?
Click once and run, sure, but run what? The program I wanted, or some spyware installing, DRM-adding beast app? Google has a huge competitive advantage in that they don't need to lock people in with that stuff in order to enjoy success. They simply make apps that perform well, and for some reason people continue to use those. Over time, .Net's massive overhead and microsoft's high licensing costs will cripple upstart developers. These developers will turn to OSS alternatives for cost and other benefits, it's only a matter of time. Microsoft may maintain a large market share, but Google will not "lose" because they're doing something different, even if the end result is a similar set (from a stratospherically high-level view) of apps.
stuff |
Click Once is the biggest problem with MS software. Already we have zero click and back door click software installs. It is the bane of my daily chores to remove and recover from web based installs and applications. As a system administrator, having to run in a windows environment I struggle daily to remind the users to NOT INSTALL SOFTWARE FROM THE INTERNET.
I hate Google Toolbar, Yahoo Toolbar and all the others not because those two are not useful, because they are, but rather because they condition the user to install EVERY FREAKING "IE Toolbar" out there. No Toolbars, period!
Your average user is a clueless idiot, and will click install all sorts of crap as long as he thinks it is okay. IT IS NOT OKAY! IE7 is the latest and greatest FOOBAR automatic install from Microsoft. Hey Microsoft, having IE7 automatically install with automatic updates is a really stupid idea, fire the asshat who signed off on that one. Not everyone is running PIV with a gig of ram necissary to run IE7.
So, as for the "click once and run" crap, keep it to yourselves!
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
This article, part one even, outright dismisses Linux. Not even Oracle is doing that... not much more I need to read in that article even if they do have a valid point or two. Google doesn't even have to release its own OS, all it has to do is begin favoring Linux distributions strongly and MS loses that section of the market, how ever big that might be or might not be.
The point is that anyone that outright dismisses Linux is missing the point altogether... anyone can use it and in using it, it is not like starting your own OS to compete with MS.
Support NYCountryLawyer RIAA vs People
If this is true we must have a KLOC tax.
Myself, I think the internet has a naturally occurring pattern of variability, but if it turns out the internet is indeed manmade, then a KLOC tax can mitigate the negative externality of global porning.
> Microsoft has the best virtual machine with .NET,
;-)
Sorry but the Java Virtual machine is more performant.
> the best development tool with Visual Studio
Sorry but Intellij IDEA is the greatest IDE
Hi, I'm Al Gore and I do not approve of this message.
I, the undersigned do hereby declare that any fool can install any crap on my machine over the internet and make it run like treacle.
Oh arse
An advertizing company with a search engine [and other tools] to drive traffic to its advertizements.
[Microsoft has the best virtual machine and IDE.]
.NET is a suite of tools, some old, some new. Each has a set of strength and/or weakness depending on your point of view. For example, C# and its ability to sidestep strong typing and security server/client side, VBA client side and its ability to drive a lot of client side integration (Office Automation), complicated by the fact most enterprise make this almost impossible with default desktop security, Studio with a serious bent on good integration with anything Microsoft but not so good with anything else... coupled with documentation that is completely outdated on MSDN (OLE Object Stream initialization for embedded controls). There are some serious architectual flaws in the whole attempt to integrate OLE/OCX with web pages and services (including support of archaec pre-web stuff.) Extended clip board support... Complexity injected via SOAP/XSL...
Using persuasive language without a qualification comes accross as marketing FUD. Please qualify "best" for us.
So please qualify "best". Because its not reduced complexity, increased quality, best reliablity, best scalability, best security, shortest delivery time, easy integration, or fastest performance...
/\/\icro/\/\uncher
No Shit.. but you're asking a question that was already answered in the summary. You know, that "second problem" they mentioned: "enforcing an acceptable contract regarding what rich apps can do on a user's machine"
<br><br>
Hey, I didn't RTFA either, but at the very least I RTFAS.
"Click Once And Run"...Away?
Why can't all fpga/microcontroller manufacturers just release free optimizing compilers???
Eclipse? KDevelop? Emacs?
Again.. If linux had any dev environment that was ANYWHERE NEAR as good as VC++, maybe I wouldn't despise working on it.
I agree that Microsoft does have a very nice development approach, but to claim that ClickOnce is comparable to todays HTML/Javascript applications is really reaching. Corporate Users will likely have this ability (once the organization deploys .NET 2.0 runtime), but expecting Windows Live or Yahoo to give up on the AJAX binge for ClickOnce deplyoments is not likely. ClickOnce is more like Java Web Start. We've had that technology for years now, but for some reason, these web apps persist.
Technology Consulting & Free Downloads
Given, Microsoft has a lot of legacy technology and platforms that give them an edge moving forward. But you cannot ignore the other part of the momentum this technology carries with it. All the bugs, limiting architectures, and requirements for legacy support makes it harder to go into a new direction.
My prediction is that the more the environment changes, the bigger an advantage the newer players gain over the large, legacy companies that build their company on incremental products, like Microsoft does with Windows.
who | grep -i blond | date cd ~; unzip; touch; strip; finger; mount; gasp; yes; uptime; umount; sleep
Spoken like a true troll who has used neither .NET, nor Visual Studio or MSDN. All three statements are absolutely true and tens of thousands of architects, developers and testers would back me up on that.
Quality, performance, value; you get only two, and you don't always get to pick.
What I am getting at is that we have no real idea what Microsoft can and will do in a now hostile marketplace. While they have always had people nipping at their heels, this marks the first time they have another powerhouse to compete with. Microsoft will have evolve and innovate to stay with and ahead of Google. I for one welcome this change of scenery. Competition is only to yield better products faster from both companies. Look at the price wars between Intel and AMD and tell me that the consumers are not winning in that.
I would make a free market comment here, but I was just talking about Microsoft so that really does not fit now does it :)
Invexi - a Phoenix, AZ based web design and web development company.
They have .NET which is greta and all, but for the Web they leverage ASP.net which is still a dinosaur of an idea.
Google has GWT, which only about 100 people on Earth get right now. Google has an understanding for the Web, Web applications and how users should interact in the World Wide Web far surpassing MS's "reactive" method of toolkit design.
I see two companies. One which is using old methods, not innovating or developing new ideas and assuming stability in something as fast moving and cutting edge as the WWW. I see another company challenging old ideas (relatively old anyways) and proving the WWW is more than Web Pages and stateless client/server communication.
I see a company that think they get this but only see flashy UI's as the means to the end here. I see another company that understand the UI is just a view to this new idea that the Web is a series of intercommunicating applications users can access from anywhere.
But then, I don't expect many people, especially a monolith who's made their fortunes through brute strength rather than new ideas, to see this until it's apparently obvious. The search for the holy grail of the Web's next "killer app" is right in front of peoples faces.
"If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer
Click once and an annoying animation comes up asking you what you really wanted to do.
/\/\icro/\/\uncher
You can try for yourself:
on www.google.com search for 'microsoft':
Results 1 - 10 of about 393,000,000
on search.live.com search for 'google':
google page 1 of 751 results
I like my search results 'unbiased', so I choose google.
and Run For Cover
Ever notive how many meaningless pages you get in Google searches? By page 3 or 4 you are down to trash ... ad-ridden meaningless link pages. Search results beyond 100 are mostly meaningless. live.com does a better job of filtering out the garbage, probably because it is less popular and hasn't been 'gamed' as much as google.com has.
Google provides software services. You go to Google to get directions, information, maps, images, etc. You use their rich web apps.
.Net framework, which competes excellently against Java. (And that competition will force BOTH VM's to continue to improve!)
MS provides tools for creating rich web apps. Sure, they produce some of their own apps (MSN Search, Live, etc...) to compete with Google. But their tool-set for the most part the best IDE in the industry. This allows any Joe-Schmoe coder to kick out rich web apps. They have an an amazingly robust VM in the
So comparing the two companies is slightly irrelevant. Comparing MS's apples to Google's apples, Google wins, no questions asked. Comparing MS's oranges to Google's oranges... well, Google doesn't have much for oranges.
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
"Dominance" is easy as long as you don't intend to charge for it. If Google puts a price on Google's free-as-in-beer service offerings, alternatives will start to look more attractive.
(I don't run Google ad/spyware software (e.g., the Google toolbar) here because I don't like other people's software phoning home; I don't think the "advertising on everything" gambit will work on my dev tools either.)
An advertizing company with a search engine [and other tools] to drive traffic to its advertizements.
Google's goal is to make information available and useful to people. They do so through a variety of means, and currently their profit model is based on advertising. It's tempting to reduce companies down to soundbytes, but it's not really useful for understanding how they operate or what they'll do in the future.
Read the EFF's Fair Use FAQ
Except that Sun solved all these problems some time ago with Java, which Google is a heavy user of. I'm not sure how you can claim .NET has the best VM (best in what sense) - it only works on Windows which makes it completely useless for anything I want a JVM for (yes I know about MONO but don't care - if I have to re-write my code to have it work on Linux it is of no more use to me than c++). In contrast Java has had Web Start (which is what Click Once does for .NET) for years, and applets, of course, which I've used on a couple of recent corporate projects (one to handle printing duties, the other as a mainframe emulator) quite successfully. And Java already runs on most things, like my Linux box, my mobile phone and my Windows desktop at work, which is nice. It also has the best IDE by miles in IDEA for its re-factoring and code reviewing capabilities alone, and two very good free alternatives in Eclipse and Net Beans. There's not too much trouble finding MSDN like documentation for Java from a variety of sources including Sun either.
I will say the MSDN is a great resource and Visual Studio 6 is the best C++ development environment around
You make a solid argument for your positions.
Nope.
You've presented good alternatives.
Nope
Look, I agree with some of your sentiments, but at least back up what you say.
Yeap.
You say things that offend me and I can deal with it. Can you?
Have you actually used visual studio? it degrades to a useless piece of rubbish after a few months.
.NET I would say that they are on equal footing, except Java is more mature, open source has things like EJB etc....
It may be better than Googles offering (nothing) but probably isn't better than eclipse/jbuilder.
And after using both Java and
thank God the internet isn't a human right.
How the fuck is this flamebait? It's not parent that's flaimebait, it's grandparent!
Some idiots shouldn't be allowed to mod...
"Click once and run," that sounds like what I used to do on my floppy-based Macs in the 1980s. OK, so it was a double-click, sue me.
I have used IDEs from many sources and M$ has the best when it comes to visual studio. It integrates with the OS, is customizable for drivers and tools and beats them all!
MSDN is the best developers tools on the planet.
.NET leaves a lot to be desired.
Google has the best people and a far better working environment that nurtures innovation.
Athiesm is a religion like not collecting stamps is a hobby.
Microsoft has the best virtual machine with .NET
If it's the best then why doesn't it work on a Mac or Linux?
Summation 2
You mean, like Java Webstart?
*ducks*
You are checking your backups, aren't you?
Microsoft has the best virtual machine with .NET, the best development tool with Visual Studio and the best access to developers with their MSDN programs.
.NET/Visual Studio environment is first-in-class when you are deploying data-aware Web pages onto a Windows-only environment.
Presumably, the author means best as in 'best for deploying Google-type web applications.' In that case, he is probably correct that MSDN is the strongest developer support program, but on the other points he is verging on fantasy.
Google's web applications are very successful because it has employed a bunch of really bright back-end/modeling architects, and becuse it deploys onto a highly scalable customized Linux cluster.
The
When you want to use AOP, dependency injection, advanced ORM and MVC tools, and you want to be able to deploy into arbitrary environments, Microsoft is running way behind Java. I get the sense that Seattle-based John Milan really has very little idea of what goes into making a working Google app.
I really wish they would include the canvas tag in their next version of Internet Explorer. This would make the door wide open for an endless number of thin applications using cool graphics. But alas, there is not yet a standard for browser rendering of pixel graphics. It wouldn't be surprising if Microsoft tried to sabotage the inclusion of the canvas tag in web pages because using such powerful features in the browser would be against their rich client policy.
Have currently been using the canvas tag myself in IE using google's excanvas and it rocks! Please give us Canvas!
I'll concede on the third allegation which I interpreted as the denial of access to the source code. This is one of the reasons that I have Linux running on my home box since I like to know how things tick on the inside. But I develop with M$ at work and I wanted to point a few things:
Actually, I don't know if I could say that it is the best ever but it is a damn good virtual machine! It can run as well or even better of its equivalent JVM http://www.gotdotnet.com/team/compare/Benchmark_rJust b/c it's made by M$ doesn't mean that it is a horrible product. The company itself makes some really shady ethical decisions but there are a lot of developers working for M$ just like us who want to release a great product.
Microsoft has the best virtual machine with .NET, the best development tool with Visual Studio and the best access to developers with their MSDN programs.
.NET only runs on Windows. Therefore, .NET could not be the best virtual machine for any platform other than Windows.
1) The best virtual machine runs on my platform and preferably others.
2) The best development tool runs on my platform and allows me to write applications that run on my platform an preferably others. Visual Studio does not run on anything other than Windows and makes it difficult to write application that will run on any platform other than Windows. Therefore, Visual Studio could not be the best development tool.
3) The developers I look for write software for my platform and preferably others. The majority of developers available through MSDN are focused on developing Windows software using Windows development tools. Therefore, MSDN is not the best way to access developers.
Having to work for a living is the root of all evil.
You need to search for both Google and Microsoft in both search engines. If you did this you will notice Google returns many more results on both queries, which makes it a bit difficult to deduce that search.live.com is biased.
My Karma: ran over your Dogma
Funny you should mention that. I just saw a Thomas Dolby concert last night at the Gothic Theater in Denver. One of his new songs is 'Your Karma Ran Over My Dogma'. Great song, but you can only hear it at a live performance I believe since it hasn't been released on any CDs yet.
Aaaawww, this is one of the worst written TFAs i have ever read!!
>Microsoft has the best virtual machine with .NET, the best development tool with Visual Studio and the best access to
.NET and VS the best? Eclipse is far better than VS and not tied to an MS-only environment.
>developers with their MSDN programs. And they have a notion. Steve Ballmer himself has started touting the exact
>strategy they need -- Click Once and Run."
I can't believe people say things like this.
"Click once and run" -- more like "Click once and flee".
BALDRICK: Er, My Lord, they're coming from the hills.
BLACKADDER: Oh, sorry. Run away from the hills! Run away from the hills! If you see the hills, run the other way!
Good thing YOU aren't in control of anything important.
... if you only knew.
snicker
Most of Microsoft software is not crossplatform, and this makes it a _bad_ choice.
Light fuse...run away.
-- www.globaltics.net
Political discussion for a new world
Consider two classic applications for two platforms. One is more or less owned by Microsoft, the other more or less owned by Google. The apps are familiar to every programmer: 'Hello World' done in C++ and HTML.
Repeat after me:
HTML is not code.
HTML is not code.
HTML is not code.
What is not shown is the C++ compiler and linker that turns code into executable. Also not shown is the web browser which takes HTML and makes it presentable. And that's really the only difference between these two programs.
That and, I don't know, Turing completeness?
If Microsoft introduced some whitelisting scheme, where code has to be approved by them before being allowed to run, they can keep it under control. This means there's potential for locking out competitors, but also malware.
To get the scheme right, they would allow anyone to provide the authorization. That way, multiple organizations could compete on trustworthiness, quality and quantity of approved software, etc.
Please correct me if I got my facts wrong.
Try searching with options google {mtch=0} {popl=0} {frsh=0} Page 1 of 66,413,099 results
I use Visual Studio all the time. It's not terrible, but it was far better in 6.0 before they fucked up the UI beyond all recognition. And .NET might be the best if you think the only VMs in existence are JVM and CLR, but the .NET VM can't hold a candle to some others in many respects. Wake me up when the CLR does a fraction of the high-level optimizations something like Sun's Strongtalk or Self VMs do.
The CLR gets good performance by punting on the whole OO thing and making the programmer use non-objects like integers and structures when performance matters. Those other VMs get a good fraction of the performance of C (often 50-90%), all the while using an object model where everything is fully general. That means your loop counter is a full, boxed, heap-allocated object that automatically upgrades to an infinite-precision integer instead of overflowing, at least as far as the programmer knows. If the integer is used as something like a loop counter, the VM is smart enough to unbox it and stick it in a register. When the CLR can do that, let me know, and well talk about throwing the word "best" around.
A deep unwavering belief is a sure sign you're missing something...
Write an application that uses an OS-standard GUI to access any database. I'll use Visual Studio. You can use anything else. I can write a working application in a matter of minutes. I'm not aware of anything else out there that comes close to speed and ease-of-use for such things.
It takes Milan 892 words to get to his fundamental point: that that Web Browsers are virtual machines, but .Net is better. Most of the 892 words could be described as unnecessary and a sizeable minority are definitely purple, but no matter, at least we've found a point to the article. (The rest of tha rtiocle is 1257 words - a 40% intro! My old editor would have fired him on the spot)
.Net. Microsoft more or less owns C++ and Google more or less owns HTML (sic).
What follows the intro is the creaking sound of an analogy being stretched to catastrophic failure. To save anyone the bother here's the gist:
* HTML and C++ are programming languages and they can run in virtual machines called (respectively) web browsers and
* People will install HTML applications (bear with me here, I'm only precis-ing) because you can uninstall them easily and they have a limited impact on the host machine. C++ applications are prone to security holes.
* Microsoft has figured out how to solve the security problem and make better applicatiosn through C++ and their technology is teh krieg.
* But there's another company that's got some Java technology and they're cool, but I'm going to save that tile next week (presumably because I'm being paid by the word).
Now, obviously Mr Milan is a very imaginative man, because even if we are to allow his analogy (there's stuff about weather and railroad tracks as well, but I left those out) his analysis strains credulity. Especially given that he's ignored completely the actual technologies that make his analysis work: in the Web browser's case Javascript and in Microsoft's case C# & the CLI.
Extra executive summary for those that can't bothered to read the read: interesting, but barking.
I'll get modded troll or flamebait for this, as sure as water is wet, but let's think here: when has Microsoft ever made a sincere effort to encourage interoperability?
I can't guarantee that I know their strategy, but how easy would it be for them to introduce all sorts of fancy features to the next .NET iteration behind closed doors, then release it all at once and the competition has to play catch-up because of the year-long head start that Microsoft had? Voila! Look, everyone! Windows is now the superior choice for .NET! That must be because it's such a quality product. Does anyone honestly think it's Microsoft's intention for the Mac and Linux .NET VM's to be as good as the Windows version? I'd label that just plain foolish. It's just one more thing their marketing staff can use to say "look how innovative and ahead of the competition we are!"
... and that's just what I could think of: and I'm nowhere near as wiley and sneaky as them. Ask executives from Sun, 3Com, anyone that's ever "partnered" with Microsoft: cooperating with them is never a good idea.
Except unless MSFT's web initiative ... 2.0 .... stuff works with Mozilla on a 64-bit Linux desktop, they can count me out.
Part of the reason I use google tools, other than they're free and functional, is that they work well with Mozilla (et al.). I don't use them because I have some fanboy love for Google or because of my really strong hatred for MSFT.
Tom
Someday, I'll have a real sig.
I've used .NET, it's certainly not the best VM in my opinion, Java still holds that honor. As for VS, I haven't used it, but I've seen it and yes it's nice, but Eclipse is just as nice and has way more plugins and extensions. I'll concede that MSDN is a very nice collection of CDs, but I'd trade those CDs for source code any day of the week. On that note, the Linux stack has a wealth of documentation ... but at your local book store. It would be nice to have an option for getting updates delivered to your mail slot on a quarterly basis. Now, on that note, typically, the architects, developers, and testers you're referring to wouldn't know what to do with source code if it hit them in the head. They represent the lower ranks of the tech profession. Those of us who work in pushing the envelope of new technology almost unanimously reject MS products because they are far too contraining.
Shared components (libraries/DLLs/whatever) exist for a reason. Many program contain common functionality. Instead of rewriting that for every program, we put it in libraries, which we then reuse in each program that needs the functionality. Instead of including a copy of the library with every program (and keeping multiple copies up to date), we have all programs use the same, single copy of that shared library.
Of course, shared libraries break down when a program expects one library, but gets another, incompatible one. For example, if there are multiple, incompatible libraries named 'foo.dll', and one program on your system works with one version, and another program with another...one of these programs won't work. This, I think, is the problem Microsoft is claiming to have solved here. However, the "solution" they present actually isn't a solution; it says "shared libraries don't work, go back to duplicating code in every program". This is actually a step _back_.
Please correct me if I got my facts wrong.
Our school's internet connection is pretty high latency and because of the number of elements on the screen with Windows Live relative to that of Google means Windows Live is so slow it times out half the time while Google loads in a snap. Guess which one people here are going to use.
COR blimey.
Look at their market cap, the reconizability of the brand, the domination of the desktop, the desire for college CS students to get hired there, and who doesn't know about Bill Gates' multi-billion dollar charity? That's not anything to be respectful of?>/i>
Market cap, obtained via a illegal and uethical business practices. So no. I have more respect for Warren Buffet as he earned his money. Wealth does not automatically bring respect.
Destop domination, no. Obtained through illegal and unethical means.
The opinion of college students? No, they usually have nothing in thier experience to foster a good opinion. Though some are sharp and if they come from a non-trad background (older, ran thier own business, prodigies etc.) I might listen.
Gate's charity? Obtained through illegal and unethical means. Therefore it is blood money. Just because someone is wealthy and donates to charity does not mean they should be respected. Respect should be reserved for those who work hard and obtain thier goals via legal, ethical and moral means.
But that's just my opinion.
putting the 'B' in LGBTQ+
Amazon vs. Microsoft for One-Click operations
Lindows vs. Microsoft for Click and Run operations
Pringles vs. Microsoft for Once You Pop, You Can't Stop operations
This flies in the face of science.
"Why is there such automatic hatred of Microsoft"
I can only speak for myself but when Microsoft calls me a Communist, I take offense. In fact, I see their lock-in ways and control-freak world more like the pot calling the kettle black.
And when Microsoft sees the operating system and software tools I use as a threat , it means they are out to destroy it. And that is an attack on me and not some far removed event happening between two companies. Things like this tend to create animosity. Step outside the Microsoft Sphere for a while and you will experience it. And when you are outside that sphere, you will see there are more reasons to dislike MS than like them. But that is only MHO. Your millage may vary.
They (M$) already have this...any spyware/virus maker will tell you, just click it once and it will run...
"My immediate reaction is "WTF? What kind of moron doesn't make things 64-bit safe to begin with?" Linus
There is always an option either to get all tools you need separately, or to buy a Microsteel All-In-One box. Probably the all-in-one box is a good choice. Probably even its motorized screwdriver with IntelliDirection(tm) function is not overhyped, and guesses the direction of rotation correctly.
However, the screwdriver from Microsteel does work only with special Microsteel Screws (tm). These screws are `upgraded' from time to time. You should pay for upgrade of your Microsteel Screwdriver in this case, to get a newer edition, to be able to work with newer Microsteel screws. Getting a Microsteel Developers Network subscription is strongly advised.
You should also buy your materials from the same supplier, as these screws are useless with free lumber and are not Acqua-proof. Make sure you participate in Microsteel Genuine Advantage programme, so you may be sure your materials are approved by Microsteel. Please make sure that the things you produce will never be used in uncertified environments.
The tools from the box do not play well with the tools by other manufactures, unless they... uhm... sign a patent agreement. You are allowed to use different ruler with the Microsteel Screwdriver, but
In addition, you are not allowed to share you tools with a friend. Better suggest him to buy his own Microsteel Screwdriver, and leverage the investment. I forgot to tell you that any attempt to disassemble or modify your Microsteel IntelliDirection Screwdriver is criminally prosecuted. As well as an attempt to sell Microsteel Hummer Professional from the set. Don't need it? Don't use it.
If you are not happy with your Microsteel IntelliDirection Screwdriver and Microsteel EULA, better get an ordinary scredriver, from NEW Screwdriver Collection, limit yourself to standard screws, and use whatever other tools you might need (hummer, ruler, drill, whatever).
WTF is a "rich application"? It seems that the word 'rich' is a buzzword that MS tries to drag out every five years to pad its marketing babble for whatever is the current product push. Just a few years ago, we were talking about the rich interface of Windows 95 or the richness of the .NET platform. Frankly, I think it is an inside joke sourced by MS insiders with heavy stock option portfolios.
Washington, DC: It's like Hollywood for ugly people.
While I generally agree that VC is one of the best development IDEs out there (and I have used several open source alternatives, namely for coding in different languages), it has some glaring bugs that make me want to rip my hair out.
VC 2003 had (and still has) an extremely annoying bug in its shortcut code whereby a compulsive ctrl-c and ctrl-v user like myself (in fact I've never quite determined which shortcut combination triggers it) can result in the end of a source file being duplicated twice. (So, for example, a header that ends in "}" may have another "}" appended. This would be OK if it wasn't for the fact that you couldn't actually see the additional "}" until you restarted VC (or opened the file in another editor). Alas, I've wasted many hours pulling my hair out trying to find errors in my code caused by superfluous braces etcetera that don't exist.
I thought VC 2005 would save the day and solve this issue, which it did at the expense of an even more annoying one. I'm talking about the new intelli-sense in VC 2005 which, in large projects, can spend almost a minute "updating" after the most trivial of changes drawing 100% CPU power and bringing your work to a grinding halt. To make matter worse, using the ctrl-s shortcut to save a file freezes the UI until intelli-sense is done updating, and even then intelli-sense doesn't work half the time or is too slow to be of any use. For example, if I declare an instance of a class then attempt to use it, its methods only appear if I type slow enough for intelli-sense to keep up. In another brilliant move, intelli-sense cannot be disabled without renaming a .dll, and even when you do disable it you'll be surprised to find that other features suddenly stop working (for example, the form designer), which means you have to restart VC every time you want to enable/disable intelli-sense.
This "best" development environment is enough to make me want to throw my computer out of the window sometimes. I wouldn't be the least bit suppressed if this is what's taking Vista so damn long?
How about that metaphor for the story - if we are to go along with the weather theme.
Wether .Net is a VM or not couldn't matter less. Since it only runs on one plattform. Annihilating all other 'advantages' mentioned with one stroke. Rich Web won't roll on MS only stuff. If I expect MS only eviroments, I build a DX9 app. No need for web hacks there.
The only 2 true non-ajax ways for rich web that I know are Flash and XUL. Java could be there too, but they somehow managed to leave Flash alone, albeit being it's strongest competitor. I expect that to change a bit now that Java is completely GPLd and expect rich web tools and piplelines to arise. XUL still needs a working universal XULRunner Plugin to be a serious alternative and Ajax is to much of a mess to offer anything beyond the one or other neat hack.
Flash is arguably the most widespread VM in terms of installbase ever. Flash still is the VM of choice for anything rich web. And if Adobe doesn't screw up to hard and others don't catch on it will certainly stay that way. Given that the integration of PHP and Flash is growing stronger and stronger and that both are easy to use for n00bs and the de-facto standard in their field I'd say it'll be tough for anyone to take over their position.
We suffer more in our imagination than in reality. - Seneca
Well, to be honest, the reason we still see Java apps packaged as .exes and not available via JaWS is that Java hasn't been integrated well into Windows and Linux.
On the Mac, you really can click on a web link and have a Java application download and start. You can also download a .jar file and double click it and have it run.
On Windows, you need to have installed and configured Java first, which is a hurdle. Even then, .jar applications won't just run when you double-click them, though JaWS does work.
On Linux it's even worse, you can download and install Java and JaWS still won't work from Firefox until you manually set it up by fiddling with Firefox's preferences. Similarly, you can't just download a .jar and run it, without manually setting up a binfmt kernel extension and reconfiguring GNOME. I have a faint hope that this might improve once Sun actually release Java under the GPL and it gets made a part of standard Linux distros.
So no, it's not surprising that web applications persist.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
Oh really? And how, other than your pronouncement, is that true? Does it run on more platforms than any other VM. Used by more users? Have less bugs? Less security holes? A smaller memory footprint? Better compilers? Faster execution? Cheaper price?
Just tell me how you're decided that .NET is better.
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
Only on Slashdot.
50% Insightful
50% Flamebait.
Whether the Google Fanbois with Mod Points like it or not, this is the truth. The only thing that Google has that's CLOSE to a killer app is Search. And the day that Google makes its bread-and-butter Linux only is the day that Yahoo regains the title of #1 in search.
Get over it: Google, while an important up-and-commer is nowhere near what Microsoft is in terms of importance and reliance in personal computing.
Aside from the usual Slashdot Microsoft Haters, if you ask your average user "What would you rather give up: Windows and Office or Google Search?" what do you think they would say?
The truth is, most internet users probably use another search engine sometimes. And most probably remember a time before Google reigned them all. But do they ever use another office suite? Another Operating System? Do they remember a time before Windows and Office?
Get over it. Right now, in terms of economic reliance, business would be royally fucked if Microsoft just imploded enron-style. Google? Not so much.
Uh, right, so to show CLR running "as well or even better of its equivalent" you compare two entirely different web architectures, J2EE and .NET. Kind of like comparing performance of OpenOffice to MS WordPad and concluding that g++ is much slower than MS c++.
.NET gets a lot of its speed by directly calling C functions, whereas in Java pretty much everything is implemented actually as Java code. This is of course a tradeoff since .NET contains a LOT more functions that can potentially be cracked because they are not run as 'managed' code. In the end it's basically a wash on performance; on actual virtual machine operations Java is in general significantly faster and on API calls .NET is usually quite a bit faster.
To benchmark these is complicated as
DotNET has a couple technical shortcomings when it comes to performance, one being the impossibility of fast interpretation of bytecodes (the instructions depend on the argument types so can't be easily dispatched). Another is using "real" generics, which they thought would improve speed by avoiding some box/unbox operations but it also leads to type explosions and, slow instanceof and casts (for example you could use so much memory just due to instantiated types that CLR has to constantly throw away older code and re-JIT, not to mention poor use of cache).
When I upgraded to VS2005 (from 2003) I had a similar "freeze" problem when intellisense was updating. It made me furious. It actually ruined my day. It made me literally depressed about going into work.
So I reformatted my otherwise ship-shape XP install, re-imaged, re-installed VS2005 from scratch (instead of the upgrade I did from 2003 originally), and the problem was fixed. It happens now very rarely. Once a month, maybe. The only reason I even notice it when it happens now is because I had such a problem in the beginning.
Anyway, it's a PITA, but it obviously does have a fix. Whats funny is that out of 5 developers here, mine was the only one with that problem.
I'll concede that MSDN is a very nice collection of CDs, but I'd trade those CDs for source code any day of the week. On that note, the Linux stack has a wealth of documentation ... but at your local book store.
MSDN is not just a nice collection of CD's - it's all available on-line, and free as in beer. No ads, and it works well in Firefox! That's more than you can say for high-quality documentation for any other platform. I challenge you to prove me wrong.
I personally find the CD collection inferior because you have to update it. Fortunately, the MSDN integration in Visual Studio also uses the on-line MSDN if the sought information is not available locally.
Now, on that note, typically, the architects, developers, and testers you're referring to wouldn't know what to do with source code if it hit them in the head. They represent the lower ranks of the tech profession. Those of us who work in pushing the envelope of new technology almost unanimously reject MS products because they are far too contraining.
That's a pretty unfair and ignorant way to look at people who use Visual Studio. Not only are you ignoring the fact that the most commercially successful pieces of software ever conceived - Microsoft Windows and Office - were developed in Visual Studio by people who certainly do not deserve to be called "the lower ranks of the tech profession" (well, some of them perhaps), you are also ignoring the many other companies who have created successful products developed using Microsoft's tools. I work at such a company, and we are in fact pushing the envelope of new technology in our market. While I would not call Microsoft's products perfect, they have been instrumental to our success.
If your tools constrain you, you may be using the wrong ones; or you may be using them incorrectly. I think you have to try very hard to fail at using Visual Studio.
Quality, performance, value; you get only two, and you don't always get to pick.
Think about every single thing you have ever searched for in google. Pretty much in IMO google knows the trends of everything you could possible want to know about.
= 0&geo=all&date=2006
Hey, the entire world just started searching for "britney paris"...
http://www.google.com/trends?q=britney+paris&ctab
I wonder why...
But to take what they know and predict what the next 2,3,5,10 years will hold is a lot easier for google then MS.
The first is Microsoft's ability to use the exact same HTML based strategy as Google (like Microsoft's current Live initiative)
.NET
.net development is a novelty, sought by a few contractors occasionally every 1-1.5 months in each major agency center.
they had access to html ALL along while google was taking over the web. What did they succeed ? except alienating users by thinking them as ledger numbers, just like an old style corporation would ?
Microsoft leapfrogging the current environment by solving rich application installation/un installation and enforcing an acceptable contract regarding what rich apps can do on a user's machine.
Can they now ?
Then why is microsoft experiencing fines after fines in european union and court orders that are ordering them to remove their integrated media player, browser from their operating system ?
Eu, which is not permitting these, is going to permit microsoft preventing this or that app with its 'rich application installation' ? is that it ?
Microsoft has the best virtual machine with
And when did it become so ? as a developer who is on the hardcore developer market, i can tell you that
the best development tool with Visual Studio and the best access to developers with their MSDN programs.
Wow, now visual studio has become the best dev tool, and apparently we all were sleeping when it happened it seems. And furthermore somehow msdn had come to the point that it has best access to developers.
I BEG editors not to post articles from clueless people. This is total crapola, and its only a microsoft rant that is only thinly disguised.
Read radical news here
An operating system is a resource manager. In the early days of the PC "resources" included memory, I/O devices,
and CPU. With the rise of the GUI (Mac/windows 3.0,...) "resources" expanded to include the graphics
libraries, toolkits, and hardware needed to implement the familiar windows+mouse interface.
Parallel to the evolution of the traditional OS the internet and world wide web came of age. Had MS foreseen the
rise of the web I have no doubt they would have worked hard to maintain the dominance of the Windows OS by including
management of Web resources in the core of the operating system. But as things turned out, Netscape beat them to the
game by delivering the browser. However, the term browser is really too modest. A browser is really an operating
system of sorts (running on top of a host OS) that manages web resources - resources that the underlying OS whether
windows or Linux does not manage so well. The problem is that browsers, while quite good at managing http requests/responses, URIs, HTML, and users' interactions with w3eb servers are not so good at managing the resources needed by applications. So in the world of browsers web applications have little choice but to rely CSS,
HTML, and Javascript. AJAX and related technologies have allowed web applications to compete better with native apps - but not nearly enough to supplant them any time soon.
One possible solution that I see is for the advent of a true Web Operating System (WOS?). The WOS would provide
an abstraction layer over the native machine it is running on (think VMWare/Xen like) and provide a standard API for
web based applications. The WOS could reserve and manage a portion of the resources of the underlying machine and
ensure that web applications do not do nasty things like write to arbitrary memory addresses, etc.
So imagine that a bank would like to make available a home banking application over the web. This application would
be a rich client application that allows disconnected operation. So you could be connected to the net, pay a few bills,
download your account activity and then later when you have no connection you could still execute the app and maybe import
the account activity into your spreadsheet and enter in a few more bill pay transactions to be sent to the bank the next
time you are connected to the internet.
This is clearly not possible today using IE or Firefox. The only way this could be delivered today would be to code
a native application that each user would need to download and install. This is not going to fly.
But imagine that your PC is running a WOS. You start up the WOS browser application, enter in the URL of your
bank and authenticate and request that the Home Banking App be installed. The banks web server communicates with
the WOS installing a bunch of resources (code,data, etc) using the API/services of the WOS. At this point when you run the home banking application the app is running under the control of the WOS.
I believe something like this scenario (devoid of the nagging details as it is) is definately possible today. I think
it is sort of a chicken vs egg type situation. And as idealistic as it may seem I think it is really a "build it and they
will come" situation. Let's say there was an open source WOS project that just showed up. It runs on Windows,Linux,Mac,
whatever, it supports web applications written in java,ruby,php,python. You install the WOS. The API is fairly simple
and intuitive. Hello World is running in a few minutes, a simple calculator takes a few more minutes, You start
thinking about implementing a competitor to excel or word..other people hear about a cool application that requires this
new WOS thing they download it and try it out....pipe dream? maybe...maybe not
If you had mentioned C# or Java, I wouldn't be able to answer because I don't code in those languages. But for C/C++, kdevelop is pretty much the equivalent of Visual Studio. And if you take into account the advantages of using Qt instead of MFC or whatever is the standard GUI library for MS-Windows today, kdevelop ends being much better than VC++.
Documentation alone is enough to make you switch. I have about as much documentation as you can get for Windows programming, from Petzold's C through Prosise's C++ and everything in between, including Kain's excellent "MFC Answer Book". I have several yards of shelves full of books on Windows programming. I have all the Matt Pietrek series on internals and undocumented Windows. I don't have a single book on Qt, the Qt Assistant is all I need, although I do have Johnson & Troan's "Linux Application Development" for system functions other than the GUI. I wrote my first Qt program in 20 minutes, the day after I first installed kdevelop, it's as easy as that.
After sweating for nearly ten years with the MS-Windows API and the Borland OWL and Microsoft MFC C++ GUI libraries, I found Qt, thank God. At last I can concentrate on the algorithms, instead of wasting 90% of my time solving small GUI problems.
Click and Run! What kinda of juvenile behaviour is this? In the good old days we used to do this same thing as kids... In my day, we would go to a house in the neighbourhood and one of us kids would ring the door bell. Then we would run in all directions before the home owner comes out to yell at us. and by God, if we get caught we'd be punished for a week. Those were the good 'ol days and now I hear Microsoft is doing it with Vista! Is this the way for a company to behave? I dont know what this world is coming to!
www.collegehumor.com
Was linked as a comment on an earlier Slashdot article.
Maybe photoshop fake, but shows that Britney no wear panties.
That'll be why LAMP is so unpopular on the
Reference from How the Grinch Stole Christmas, the animated movie.
I agree. MS VS.NET 2005 is the most productive platform to develop any db app with, be it a Windows App or an web one. VS.NET 2005 is simply amazing - I consider to be one of the best products MS has ever released!
Looking ahead to the next generation of developer technology of C# 3.0,LINQ,XAML/WPF/E and its quite clear that it will be the most productive platform for years to come. I just hope that Mono can keep up as it would be nice to be able to run my apps cross platform. Because although MS has said that WPF/E will be able to run on OSX, I would still sleep better at night if there existed an open source runtime.
I think that given the increasing size and decreasing prices of hard drives, now is the time to start sandboxing apps. ESPECIALLY shit from microsoft. I don't mind having multiple, different-version .dlls as long as I can have stable apps. But, noooo, common libraries are supposed to make things easier, yet crappy or lazy developers will write binaries or modify .dlls that stomp on others.
.dlls also gives an incentive to "save space", but we know developers assume you're willing to give it up.
.dlls?
At least in Linux, I can try to link libraries. I can't recall about windows. However, I suspect that the registry was designed to discourage the installation of apps in their own directories. Forcing sharing of
I'll give up space for certain reasons, and certainly I think the disks and their prices make the tradeoff worth it for some cases. SO, I ask this question: just HOW many *meaningful*/*useful* apps can a person have on the computer and still care about multiple
(I'm tired and hungry so I may have overlooked something other than the marketing/ms-machine speak...)
Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
The difference is that MSN and Yahoo have managed to achieve relative parity with Google. That is, if Google went Enron today, you'd still have products of near google quality. People are loyal to google, I know that I am, but I also know that there isn't a chance in hell that I would change my OS to use Google, as the ancestor of this thread suggested.
I was never a google fan but I was amazed by the summary. .net for my phone which I use opera mini 3 (j2me) to sign in and post? .net and live.com there is a full feature office which works inside any modern browser/os at thinkfree.com
microsoft has best vm? So where is
Speaking about live.com; I can't comment easily since it simply doesn't work on mac. tells me to upgrade mac ie which doesn't exist!
Also speaking about
Umm... saying that M$ has the best IDE is like saying that they have the best way to skin a cat. There is no such thing as a "best" IDE. The qualifier for "best" IDE is a opinion. I like Eclipse for Java, KDevelop for C++, and I can't find anything to like about VS because I don't like manually searching through MSDN for 50 minutes out of every hour. I also find VS's indentation engine to be inherently broken for all I want out of it. For all it does, I think that Dev C++ is better. Does this mean Dev C++ is better than VS? No. It means I FIND it better. VS is not a one-stop-fixes-all IDE, and you talk like someone who's never used anything other than VS. I've personally tried Eclipse, Anjuta, KDevelop, NetBeans, Borland's JBuilder and C++Builder, VS C/C++/C#, Quanta+, Bluefish, Dreamweaver, Dev C++, and a handful of others that I can't think of off the top of my head. All this experience has taught me that it's a matter of preference. Shame on you for saying anything different.
Consider yourself spoken to.
Is this journalism, or yet more thinly veiled MS fanboy talk? I love how everything Microsoft always has to be cast in the XYZ-Killer, or storm brewing, or some other ominous "better watch out" metaphor. Isn't this the same kind of talk that was used to describe Vista, before virtually every ground-breaking feature was a no-show, and yet again we're just going to see a pretty changed-up GUI.
When MS can just create software that works, I'll be more inclined to actually give the "killer" statements some consideration. Until then, I'll file this crap away with WinFS, and Zune "the great iPod killer."
http://uncyclopedia.org/wiki/User:Steve_Ballmer
Just my 2 cents.
This is nothing new by MS. These apps are already deployed and working using Java WebStart. Just pointing it out as in the 5-10 years when MS will actually be able to implement it, it will be hailed as the next great MS technology.
Exactly. While I do like privacy, and should be able to surf without fear that my entire surfing history can be tracked back to me personally, anonymous usage information is fine by me to collect. I too like doing surveys, not always because I think my voice will be heard, but also as I like to know what the company is interested in about their customers. It can be quite enlightening via the questions they ask.
:)
Plus I actually have made some nice cash via focus groups and online surveys
You've got to be kidding me!! .NET does have an open version, Mono, which only can realistically adapt the standard .NET API (Microsoft can change Windows Forms on a whim). .NET is far from being a platform that can run standard applet like programs uniformly, on every computer. It's partially isolated to Windows at the moment, and potentially can run in the future on platform with Mono (although completely at the mercy of Microsoft). .NET applet technology is really no more portable at the moment than ActiveX (although orders of magnitude more secure, though that's not saying much).
.NET. Not to mention, the potential in the future, of having thousands of open-source programmers maintaining it, and integrating it into powerful GNU tools. Java already has a universal implementation of a technology to allow software to be run on multiple platforms, and multiple browsers. And Google clearly is embracing Java, and investing in it, with the introduction of GWT (to place a Java platform on top of Javascript).
I remember, in the early days of Java, when applets had already basically solved all of these issues (sandboxing, running bytecode natively in a virtual machine), and Microsoft attempted to merge it with their client platform--- citing that bytecode would never run as fast as native code, and it was needed in order to make Java a viable platform. Their position on that issue from an engineering standpoint clearly doesn't match their early political views (mainly because it offered a potential to decouple software from dependency on their platform). That position changed the moment they had political control over a similarly engineered (and some would say nearly identical in many respects) platform to the JVM. They essentially killed applets, and Java technology, by refusing to update their MS Virtual machine, or make way for Sun virtual machines to be included with their monopolized dominant web browser. They then created their own similar technology, only tied to their platform.
AJAX is currently a completely primitive programming framework--- but it's running off of something that has become standard in every web-browser (javascript). AJAX is a hack, and an akward way to obtain high-level client-like functionality that has already existed in Flash, and Java. The only difference is, it managed to avoid being marred in the same political tar pit that Java and Flash have been, by keeping low in functionality, and flying underneath Microsoft's radar. It's something that implements the functionality these things have aspired to meet, in an inferior way, but in a universally applicable way.
Google hasn't pit itself against Java technology, which is now GPL, open source, and has a track record far stronger than that of
Microsoft is the one who has catching up to do.
Java has eclipse, it has GWT, it has Applets, and it's GPL--- I think a deadly combination, which is exactly why Microsoft is so prone to run PR ads like this.
My personal preferences align with your statements, but I doubt it will make any difference in the battle of Google vs MS. Money will matter. I also think that the Slashdot has picked up a red herring in the author's statements about Click - Once and the VM.
.NET applications can't run on 5% of desktops. Will that 5% affect the MS bottom line? Not much.
.NET rich apps becomes a barrier if you a bank providing access to customers. (It's a small annoyance if you are a corporate IT shop. )
.NET the business model is flawed? No. It's obvious that MS is very aware of that the problem that public web sites won't start using .NET rich UI's extensively. Consequently, MS pushes their web (ASP) framework much harder than their rich UI tools. Frankly, it's almost as if Winforms is an afterthought in visual studio. MS can make plenty of money off IIS / ASP / Sharepoint and other server technologies that provide access to clients running any platform with a reasonably modern browser and the ability to run javascript.
While interoperability is a much stronger technical argument than Security and some of the other cases made in this discussion, is it a business argument?
OK, we can point out that we see almost no end-user oriented web sites using web-deployed Rich UI, or click once technologies. That 5% of machines can't run
Does this mean that
Where's the interoperability problem in MS development software? More specifically, is there an interoperability problem that will affect their revenue at all? No, there isn't.
Like most of the Slashdot readership, I'd personally prefer that the technology that "wins" is the best technical solution, that it will run on any machine in any form, etc. However, the beauty of a technology doesn't make a business case. A vast number of technology companies died in the late 90's partly because they failed realize that end users' cash pays for their products, not the admiration of other nerds.
I won't go on to discuss how this applies to the Google v MS fight. The article author failed to explain how a company that makes most of it's money off advertising competes with a company that makes most of it's money off software license fees, so I'm not sure where to start.
My motto: "A cat is no trade for integrity."
> Microsoft has the best virtual machine with .NET, the best development
.NET being the best VM is at least arguable, as it depends on what you're looking for in a VM, and it really makes quite a big difference what general type of development you're looking to do and what sort of language you're planning to use, but throwing out such a broad statement without qualification or supporting rationale is not what I would call a hallmark of sound reasoning. As for the other two statements, we might as well throw in that they have the best web standards support with IE and the best bug tracking with MSKB and the fastest upgrade cycle with only six years from XP to Vista.
> tool with Visual Studio and the best access to developers with their
> MSDN programs.
Talk about a cultural divide! I find myself totally unable to fathom the mindset behind these statements.
I mean, have you ever tried to *use* Visual Studio? Because, I *have*, just a little, and it only comes across as pleasant to use if you compare it to something out of the fifties, like perhaps punchcards. It makes development tools from the seventies (like Emacs for instance) seem by comparison like the best thing since indoor plumbing.
And as far as access to developers... the access to developers that Microsoft has is much less than would be expected looking only at their market share of users. Sure, they probably have 60% of developers developing primarily for their platform, but based on the percentage of users that they have that number should be much higher. In fact they have a singular knack for alienating developers and driving them away, because developers *hate* them. Even many of the ones who develop primarily for Windows don't like it and would prefer to jump ship if only the market share of users were a little less overwhelmingly slanted in their favor. And we're comparing them to Google, a company that has demonstrated they can cherry pick the best talent away from within Microsoft itself pretty much at will, all those fantastic MSDN programs notwithstanding.
Yet, Microsoft has the best of these things. Sure, whatever. Pass the Grape Flavor-Aid.
Cut that out, or I will ship you to Norilsk in a box.
fact: .NET (and no the linux version supporting 1.1 doesn't count)
-linux users can only WISH they had a framework similar to
-linux users can only DREAM they would have a development studio anywhere NEAR VS.NET
you can criticise jerk off to your so called c code and linux compilers but when push comes to shove...you've lost developers to VS.NET and will continue to do so because with each version it gets more powerful.
So instead of pissing on a good product just admit it...you know be A MAN and start focusing or trying to focus other companies to do the same for linux.
A tool as powerful as vb.net (no no QT isn't near at all) would greatly increase the number of linux users.
This has been and will be the single biggest reason why linux is and will stay in second(or is it third) place.
First get a tool.Then win over developers...and the users WILL follow.
Anything else is just a hype that gets the young generation but loses most of them in 5 years.
What is wrong with apt-get, emerge, etc where you can get your app just as easily?
Of course I meant it as in my opinion, and maybe I should have expressed that better by making the word "I" bold rather than italicized. But I have worked on several different IDEs including Net Beans, Eclipse, and KDevelop and even liked the latter two tremendously but to me, VS 2005 seems intrinsically intuitive and extremely simple to use while allowing me to be as productive as I can be for the moment. However, that does not mean I use it and only it. I still like to try anything new (and even plan on checking out a few you mentioned) b/c I know that I do not know everything nor tried everything that has been offered.
Interesting post. I wish I could mod you up on it. I'm especially curious on the issues you brought up concerning the performance issue and the type explosions in regards to use of generics. Does this not occur with Java's implementation of generics as well? Do you have anything I can read up on concerning these subjects?
Hmm, so Balmer says One-Click Run (or whatever) is the answer to everything. Let me guess, we'll see it real soon now? I propose that we make the Wikipedia entry for "FUD" be a transcript of everything that comes out of Balmer's mouth. It would really simplify things.
The truth is that Microsoft is grinding to a halt. It has been obvious for years what they should be doing: Improving security, adding virtualization layers to isolate malicious code, improving maintainability of large-scale installations, reigning in the registry/DLL/kernel extension crud that accumulates, working with rather than against the open source community, making a solid server OS, transitioning to online workflows that free me from being tied to "my" machine.
They have made almost no forward progress on this agenda. Three main reasons:
Going forward, they are really screwed because they have lost momentum. The best people are leaving, and the key players who remain are not a great demographic for changing the world: 40-somethings who are financially comfortable from the glory days, like their positions of influence within the company, but are very comfortable and focused more on their kids' soccer games than on changing the world. Everything starts to become more about keeping the world the way it is, rather than changing it for the better. The flame of innovation moves on.
Seriously, if it weren't for the XBox these guys would be completely dead. The community's collective yawn over the launch of Vista surprised even cynical me. There was more fanfare and interest over XP SP2.
In Microsoft's mind, anyway. I frankly see nothing that Vista, VisualStudio, and Mono have over Linux, X11, Gnome, Eclipse, and MonoDevelop, or Macintosh, for that matter. If anything, after slowly catching up for a few years, Microsoft is falling behind again, with release delays, security problems, bloat, and lack of ideas. If they win this round, it will be through dirty tricks and monopolistic practices again.
Yes, the CLR does that. Look up autoboxing. You want objects, you use objects (Int64, etc), if you want value types, you use value types (int, etc).
.NET 2.0.
Autoboxing inside loops can cause memory thrashing and performance challenges, but these are easy to avoid once you are aware of them.
Unless I'm misunderstanding what you're looking for, the CLR has done this since
Array
.NET.
Array<String>
Array<int>
In CLR they are 3 separate types with at least 2 separately JIT'ed implementations in memory. In Java, the compiler basically turns each of these into exactly one Array<Object> implementation with casts to ensure type correctness, so to the JVM the above is 1 type with 1 implementation. In general, the CLR will have at least one version of the same object's code in memory with each separate class parameter as an Object and one each as an int, float, double, long int, and any other 'value' type used.
The real kicker is that in general in CLR every distinct use of a parameterized class is a separate actual type. This means that for example Map<Object><String> is a different type from Map<String><Object> even though they may share one implementation (in JVM they are the same type at runtime, but different types at compile time). Casting and going up/down the type tree is slow because now a reference's type is no longer 1:1 with its class but rather n:1 (where n is the number of class parameters). In other words, membership ala instanceof is conceptually a multi-dimensional tree rather than a single tree. Basically the more parameters are used the greater the cost going up/down the tree of types.
... it also means Map<int><int> has a different implementation from Map<int><float> from Map<float><int> and Map<short><float> and etc. This basically can't be helped due to the bytecode format. Of course CLR can do lots of gobbledygook by only making separate implementations of methods that actually use the parameters, etc, but in general this means a LOT of wasted duplicate code. And the more code the harder it's going to be to heavily optimize it for example by automatically putting objects onto the stack.
True generics at runtime are enough of a mess and combine with other things like non-interpretability and value types it's just that much worse. Microsoft just didn't have the breadth of experience to see these things that seems good individually combine to make something terrible; sometimes two 'rights' make a huge 'wrong' and this is
WPF/E
This is akin to Flash, but much more integrated with the
Scott Guthrie's blog throws some light on that:
There's also a Channel 9 video about it.
There's some initiative to make it cross-platform and Macs are supported now. MS is in a nice position now, to push this as a Windows update and get a Flash-player equivalent installed on all Windows PCs. Its based on XAML, and the spec is reasonably open. The Mono guys could work with the Xgl guys to deliver this on *nix platforms too.
Amazing claims just plucked out of the air:
-Best virtual machine
Certainly not on performance: http://www.shudo.net/jit/perf/ Java smokes it.
Certainly not on platform support: linux, solaris, windows, Mac, Mainframe etc. supported by Java
-Best IDE
That is debatable:
www.netbeans.org
www.eclipse.org
-Click once
Java has had that for years. It's called web start. Where did MS get that idea.... ?
"Microsoft is a lot closer to solving these two issues than people think. Microsoft has the best virtual machine with .NET, the best development tool with Visual Studio and the best access to developers with their MSDN programs. And they have a notion."
better yet: they have a monopoly! They can shove whatever they want down people's throats.
I don't feel like it...
Is this the new Vista catch-phrase? ;
Autoboxing is completely different. Autoboxing isn't an optimization, its a hack*. What I'm talking about is general data structure optimization. The difference is apparent from the following pseudo-code:
function foo()
Vector c = new Vector;
for(i = 0; i N; ++i)
c.Append(i);
return c.Sum();
With auto-boxing, the compiler boxes/unboxes 'i' on every trip through the loop (in C#, this is will involve a heap allocation). The performance is equivalent to a fully-OO representation, its just that the programmer doesn't have to insert the conversion code himself.
Powerful dynamic language runtimes (notably Lisp, Smalltalk, Self, Concurrent Aggregates, Cecil) take a different approach. They either use powerful data-flow analyses (in static compilers), or powerful runtime profiling (in JITs) to actually give you the performance of primitive types without exposing primitive types to the user. For example, type inference will tell the compiler that the concrete class of 'c' is Vector. Escape analysis will tell it that 'c' and 'i' do not escape (their address is not captured by some other function). This let's it perform two optimizations: turn 'c' and 'i' into a primitive vector and primitive integer, respectively, and stack-allocate these primitives.
Now of course these optimizations are not always applicable, so sometimes you will pay the full cost of OO. In practice, they're good enough that Self and Concurrent Aggregates were reaching 50%+ of the performance of C with early 1990s VM technology. In the SBCL Lisp compiler (again, early 1990s technology!), these algorithms are good enough that the code generator is actually the bottleneck for your program (dumb register allocation on x86, no code scheduling for RISCs), not the fact that every single value, right down to your loop counter, is *always* conceptually a full-blown object.
A deep unwavering belief is a sure sign you're missing something...
That was a very informative post, thanks for replying with the details.