Why don't MS develop more .net Frameworks?

AlexCode

Well-known member
Joined
Jul 7, 2003
Messages
931
Location
Portugal
The main objective of this poll is to figure out why do you guy think MS doesnt develop more .net Frameworks... for MAC, LINUX, Be, SOLARIS... etc.

Could they possibly me afraid of something?
I think that, spreading this tech for most SOs, they would just kick JAVAs ***. In fact, I think its the only way...

Tell me what you think...
 
Windows is 1) where their main revenue stream is and 2) there expertise lies.

By submitting parts of the CLR and C# etc to the ECMA and ISO standards bodies they leave the market open for others to develop the framework. MS not having the same experience of Linux / MAC / **nix / whatever would involve a very steep learning curve with an enourmous amount of resources needing to be allocated when perhaps other vendors could implement it more efficiently (www.go-mono.com for example)
 
That would be a good idea but were not seeing any of that... and the framework is already around for more than 3 years as far as I know...

Despite the very nice Project Mono who else is developing alternative frameworks?
Who really want to read the tremendous ECMA standards...

If actually MS would have to learn the specifications, the other companies will have the same trouble learning Windows... will the consequent profit worth it?

I really doubt it...

Alex :p
 
AlexCode said:
Could they possibly me afraid of something?

Afraid of wasting time, money, and developer resources, maybe.

I have no stats but Id have to guess that Windows is by far the most popular OS used in business, home, and in general.

.Net is most suited to MS Windows - for writing MS Windows apps and web development for MS Windows servers. Theres no real reason to port the .Net framework to any other OS. I guess you might find some people who would want to write .Net-based apps on a Mac or *nix system for kicks...but I seriously doubt theres a big market for it.

What are you gonna develop in .Net for a Mac that isnt already done and for whom are you gonna develop it? Most people that are seriously into Linux are often MS haters that would rather use anything BUT MS development tools for whatever it is theyre doing. I know some people that love MS/.Net and like to tinker with Linux but Id say the majority of Linux users Ive met are anit-MS, use PhP over ASP, use Java, use Mozilla/Opera over IE, worship mySQL, think UltraEdit is the best thing to ever happen, etc - theyll do anything to avoid anything MS. Im being extreme but surely youve met anti-MS types like this - usually working at a MS powered shop where they complain constantly but still, against all odds, manage to be productive using MS software. Same goes for any other *nix folks - theyre probably happy with Java, C/C++, etc.
 
Taking the risk of being rude here I can say that I dont give a damn about people who think theres only one way and only one tech that does everything. A real professional developer must consider all choices, all available languages, all available OSs that can suite the best needs of the client.

Now imagine... Youre developing a pretty wide application, lets say an ERP, in .net. You implement this ERP on a comany with several offices, and these offices dont have the same hardware/software policy. So some have Windows and some have Linux for example...
Wouldnt it be nice if the very same application could be deployed on the branch offices without even recompiling the code?? It it were JAVA this would be possible! Why not with .net??

As you can see, I dont want to give *nix developers new tools, or make them change the way they do their stuff... This would give us huge scalability power.
I dont believe that any of us would start developing only for Linux with .net... but I can believe that pretty much every Linux users would buy our applications when comparing with their current solutions *clones*!

Alex :p
 
As a developer the more platforms I can run my software on = more potential customers = more potential money = good thing. Pretty simple equation.
Being able to create a web site on a machine running XP and VS 2003 is a reasonably easy experience, being able to then FTP that to a linux box running apache and mono and watch it work is an impressive thing indeed.
The tools for .Net under linux are currently lacking (although SharpDevelop is apparently looking ok), then again VS is an expensive tool, but you get what you pay for.
As a developer I can use VS / XP and sell to customers running Win2k, 2003 server etc. but also have the potential to sell to schools / councils etc that may run **ix for whatever reason (budget, politics). MS are still getting my money. They probably wouldnt have got any from the **ix house anyway so they dont lose out.
 
There were the time (not so long ago) where MS and its Windows SO ruled this world... :D but as pretty huge companies and governaments migrate to Linux mostly due, mostly, budget policies I think that MS must repidlly get out of its "shell" full of "virtual medals" and do something about the most direct threats... Linux and JAVA.

The way I see it its that MS if fighting a battle with those two but its not in the same field... and its slowlly loosing...

I hoppe time will tell Im wrong...

Alex :p
 
First, I see some confusion between IDE and Frameworks.

This thread is about why MS hasnt implimented .Net Frameworks on other Operating Systems. This just means that you can deploy your .Net program onto Mac/OSX, Unix, Linux, etc. This has nothing to do with development.

I frankly dont see a reason, other than they figure someone else will foot the bill (I also recall something of a contract between Corell - or the company that makes Corell - and MS to have Corell impliment a .net framework on the Mac).

Like PlausiblyDamp said, its a simple equation. The more potential users you have, the more useful .Net is.

So what happens tomorrow if I need to write an app for OSX? I cant use .Net.

Personally Id have to break out Macromedia Flash and write it in actionscript (v2.0). I dont own a mac ( my wife does, but I cant monopolize it by programming on it all day) and Flash is the only "programming" language I know that works on Linux and OS X.

So the bottom line is that If tomorrow I had been told that I need to develop for Mac, Linux and PC, I wouldnt even have a choice. Id have to drop .Net like a bad habit and use Flash or Java.

That wasnt the future I saw of .Net a ways back (it was predicted that the framework would be translated over to the different OSs).

I learned .Net for two reasons.

1. Its relatively easy and powerful
2. If it becomes truely multiplatform, then it would easily be the top professional programming language.

Right now I still get the feeling that I might have to learn java to make a living because .Net hasnt lived up to its potential yet. Really, the two are similar enough that this wouldnt be a problem, if Java had a decent IDE
 
This Denaes quote says it all:
So the bottom line is that If tomorrow I had been told that I need to develop for Mac, Linux and PC, I wouldnt even have a choice. Id have to drop .Net like a bad habit and use Flash or Java.

This is the base of my question!
Why doesnt MS do something about this...
Last week I Installed the pretty decent/alike IDE from Borland to JAVA (JBuilder 9, and v10 look even better) and the diferences between JBuilder and VS.net arent so great, the diferences between C# and JAVA are even smaller witch makes the change of tech, if needed, very very very easy and smooth...

Alex :p
 
Remember that Windows has a huge market share. I wouldnt be surprised if MS is just waiting for .Net to become the primary platform on Windows. When this happens (and hence the vast majority of applications are .Net based) then it will be in the interest of Apple and Linux to write CLR for their own systems.

This way MS avoid the cost of doing it themselves when they will see very little direct benefit. Remember that MS makes nothing from the framework. They make money from selling the IDE.
 
AlexCode said:
This Denaes quote says it all:


This is the base of my question!
Why doesnt MS do something about this...
Last week I Installed the pretty decent/alike IDE from Borland to JAVA (JBuilder 9, and v10 look even better) and the diferences between JBuilder and VS.net arent so great, the diferences between C# and JAVA are even smaller witch makes the change of tech, if needed, very very very easy and smooth...

Alex :p

Not to take this on a tangent, but when I learned java in college (about a year and a half ago) it was pretty much on a glorified word processessor which highlihgted words in the most subtle way (dark blue, dark red) which made the students have to lookd at it 5 times and say "Is that highlighted or did I mispell something"?

Intillisense would be nice, but I wouldnt expect it.

The version I used was like programming in .Net without a toolbox. You had to impliment classes and "widgets" in code and set all the properties via code. Yes, it gave us new appreciation for VB after spending 10-20 minutes trying to line up the controls on the page :D
 
I cant believe myself that Im actually going to defend JAVA but... here it goes...

If you have the oportunity try the last JBuilder version... JBuilder X.
Youll be mazed by the resemblance with VS.net...

Intellisence, equal DesignTime support, maybe the object properties arent what were used to but its just different... not worse...

but when I learned java in college (about a year and a half ago) it was pretty much on a glorified word processessor which highlihgted words in the most subtle way
Isnt this the same way C/C++ developers write code? They say its nice to know all commands... error highlightning?? :D

See whys my concern about this MS policy?

Alex
 
I dont think there is an issue here - MS have made it possible for other vendors to implement the .Net framework if they want to. As Banjo said earlier windows already has a very large market share and .Net runs fine there - in fact it will become the API for windows in the not too distant future.
Cross platform code is never an easy option the world of C/C++ was plagued by hardware / compiler / device dependancies and the result is code gets sprinkled with all sorts of conditional compilation defines to try and make these go away.
Java settled on a virtual machine architecture (like .Net did later) to make these issues less of a problem. But you still have to contend with vastly different processer capabilities (Risc chips, x86, IA64, ARM etc), different input devices (keyboards, mouse, touch screend, tablet / pens etc), output devices ranging from tiny mobile phone screens to large monitors - there is always some degree of platform dependace and the lowest common denominator approach can be limiting (IIRC only one mouse button was originally supported).
With .Net MS has focused on their market (PC, Windows CE and also smart devices with the compact framework).
MS probably have enough manpower / money that if the market required them to port the framework to another platform they could - but only if it was deemed to have a valid business case, which at the moment doesnt look likely.
 
I agree with you in every point.

I just want to make clear that my worry doesnt come from small & mid-small home/business solutions. It comes when I think about mid-large & large solutions. If we look into this range of companies they just arent open to pay the amount MS demands for their solutions (Server & Clients)... So they turn to Linux for example... And then itll begin...

If someone have Linux in its office, will also want it at home so everything will work smoothly... ... ... got my point here?

Its not that it will happen tomorrow, but I dont see a so powerfull MS in 5-6 years... witch can compromise some projects were building/projecting now...

Alex :p
 
AlexCode said:
Taking the risk of being rude here I can say that I dont give a damn about people who think theres only one way and only one tech that does everything.

:D

Im not that narrowminded - I fully believe that any given problem almost always has multiple solutions and/or can be solved with different types of tech. Im also a "real and professional devleoper" and have been for some time - fluent in multiple languages and technologies.

AlexCode said:
A real professional developer must consider all choices, all available languages, all available OSs that can suite the best needs of the client.

By your definition maybe. And if it fits your situation thats great. Personally I have a single employer and I was hired to code in .Net - not to make decisions about language of choice, available OSs, or whats best for our clients. IMO, a "real professional developer" does whatever s/hes hired to do - and does it well. Situations may vary.

I also happen to work for a shop that develops 99.99% web-based applications using both Windows (old ASP/VB6 and new .Net stuff) and Linux (JSP/Java stuff) platforms (well, Linux (web) servers - our java people develop on Windows workstations). Since my development is web oriented and has been for several years perhaps Im not as concerned with platform issues like where various runtimes can be used - because web clients dont care what the server is - web apps run on any OS.

I would still contend that there is little incentive for Microsoft to implement the framework for other platforms. As Banjo said - it would make them no money. Im sure Microsoft wants YOU to make money but I think theyre content enough to have you making money using MS tools to develop in MS languages for MS platforms - that way they make money too. And we all know that MS is into making money. Tons of people are making tons of applications using .Net - and MS continues to make tons of cash. Theyve never needed to offer a platform independent development framework to continue to make tons of cash.

PlausiblyDamp said:
As a developer the more platforms I can run my software on = more potential customers = more potential money = good thing. Pretty simple equation.

Agreed. Thats one reason I like being a web application developer.

Paul
 
PlausiblyDamp said:
just a quickie but while we a re on the subject of .Net on multiple platforms mono goes gold

http://www.mono-project.com/about/index.html


Wait a second. :eek:

This is something Id never noticed before.

Its the framework for OSX, Windows, Linux and Unix?

I thought it was just for Linux...

wow.

Still, its only C# for compilation, but can run vb.net.

So long as the progresses at an equal pace for all the platforms (windows, OSX and **nix), this would be a viable cross platform alternative to VS.Net.

Not as mature and feature rich, but viable.
 
I suspect the reason that there is no VB.Net compiler is that *nix people arent familiar with VB in general. They are mostly C programmers and so C# is the obvious choice. Of course .Net assemblies are platform independant (to a point) and so in theory you could compile your VB.Net on Windows and then build it into a *nix executable using Mono.
 
Back
Top