“Builders of the Mono open-source development project released an update on Tuesday that will let programmers write Microsoft .Net applications for Linux and Unix operating systems.” Read more at ZDNet.
“Builders of the Mono open-source development project released an update on Tuesday that will let programmers write Microsoft .Net applications for Linux and Unix operating systems.” Read more at ZDNet.
The irony is, I’m leaning more towards using Mono on a WINDOWS computer rather than MS’ .Net implementation.
Nice quip from Quark there at the end. Considering how long it’s been since they’ve made a software release, you have to wonder if Quark actually has any developers still on staff or if it’s just a bunch of executives who roll around in money all day.
Seriously, Quark needs to get with the times or they’ll find themselves losing ground to InDesign.
Something odd going on with OSnews’s MySQL here… heh, the article I was just posting on seems to have vanished
So im not going crazy! i could have sworn there was an article above this one.
Please ignore the articles behind the curtian. In otherwords, I messed up. I’m not completly used to this new back-end for posting articles. Sorry bout that.
I’ve been an MS developer now for nearly 4 years, first with ASP, VB, and C++, and I can honestly say (after 2 yrs. heavy use now) that .net just proves that Microsoft truly loves its developers.
I weighed the whole J2EE vs. .NET thing for a couple of months before deciding to go w/ .net, and I’d never even think about looking back.
I’m sure Mono will be great, once it’s *at least* 50% complete, for now it’s useless. It’s nothing more than a fudged-together blob of open source technologies and rigged up C code (from what I’ve read). Microsoft’s .NET framework is the best 1.0 release of ANY software I’ve ever used. It’s fast, simple, and the most elegant web apps development platform out there by far.
Why does Mono exist at all? I’ve read their http://www.go-mono.com/rationale.html“> and they never get around to their justifying the project. They go from talking about problems with GNOME to CORBA’s courseness but never state the benefit of .NET in these respects. Do we need a common runtime for multiple languages? I’ve never said to myself – “I wish I could write this in Perl or COBOL…”. Anyway, I’ve digressed, what I really want to know is this. Isn’t this helping Microsoft in the only place where we can really make them bleed? – lack of cross-platform capability? Isn’t this really about hardware and not software? I don’t see one single area where non-Windows OSes are suffering due to lack of MS software. I could see if there was a bunch of legacy code that could be served better on a *nix box but this stuff is barely off the ground. I’m honestly asking here – I can’t think of one reason to port .NET to open source. If you want ASP-like functionality, build it into PHP. If you want scripting, are you going to substitute VBScript for perl or python? And if you want to write robust applications, are you going to switch to VB or C# instead of Java?
I heard the Sun-rep say it best when he said “The choice is between multi-language and multi-platform.”
Quote “Isn’t this helping Microsoft in the only place where we can really make them bleed?”
I don’t understand this mentality. .Net is a great development platform, and if it works on multiple os’s then we should all be happy, right? Why the need to make statements like this? Isn’t a better computing envirionment what we all want/need? If so, does it matter who provides it?
>Quote “Isn’t this helping Microsoft in the only place where we can really make them bleed?”
“I don’t understand this mentality. .Net is a great development platform, and if it works on multiple os’s then we should all be happy, right? Why the need to make statements like this? Isn’t a better computing envirionment what we all want/need? If so, does it matter who provides it?”
Those who forget history are doomed to re-runs.
Multiple languages *isn’t* about me saying to myself “I wish I could write this in Perl or COBOL…”, despite what the marketing may claim.
What it’s about is closer to “I wish I could use this code that group B wrote,” regardless of what language “group B” was using. In a traditional Microsoft environment, this would be accomplished via COM, allowing group “A” to write in C++, group “B” to use Visual Basic, and group “C” to use Delphi, and they can use each other’s work.
The common argument I’ve seen is that groups/companies should agree on a single language. But what do you do if (a) you’re a really big company, or (b) you’re using code written by another company? There is no one single language, no matter how much we may wish it to be true.
How do the language issues effect free software? In GNOME we have the GTK+ and GNOME libraries written in C. Want to use them in Perl? Write a library. Python? Another library. Ruby? Yet another library. Add enough languages and you may have more code allowing languages to access GTK+/GNOME than is actually in GTK+/GNOME.
Where does .NET come in? You write the wrapper library once — such as Gtk# and Gnome# — and *all* .NET languages can then use GTK+ and GNOME. That reduces maintanence, and speeds up the support for a new language.
Even nicer, if you’re in the mood of writing your own language, it means that if you target .NET as a backend, you don’t have to try wrapping all the existing facilities, allowing you to focus in what makes your language unique and interesting.
In short, *lots* of programming labor is saved by lots of different parties by having a common runtime.
As for CORBA’s courseness, I believe one of the problems is that CORBA is predominantly used out-of-process, making fine-grained interfaces inefficient. CORBA is used to help bridge language barriers, so a common runtime can reduce the need for CORBA, allowing faster inter-language calls.
I won’t comment about helping/hurting Microsoft.
As for Java, I personally find Java to be crippled. It’s libraries are a joke, wholly inconsistent with itself, and the language annoying for me to use in day-to-day business. I’ve used it in professional development, and I’ve used C#, and hands down I prefer C#. It’s far more expressive for me.
As for ASP-functionality, PHP is a good replacement for ASP, but not ASP.NET. The only thing I’ve seen that is better than ASP.NET is Apple WebObjects, but both allow enough abstraction so that you don’t need to worry about HTML text inputs and buttons. In ASP.NET, clicking a button is turned into a normal (“normal” if you’ve done GUI development) button event which you can be notified of, and text fields are turned into class member data. No explicitly looking at URI strings for hidden variables, or digging through HTTP variables for more information. In short, it’s a cleaner separation between interface (the HTML) and the implementation (C# or VB.NET or…).
I’ve done JSP before. ASP.NET is far preferrable.
Well said, thank you.
Those who misinterpret history are doomed to ignorance.
“ASP.NET is far preferrable.”
So there really is someone there left yet in 2002 that wants to adapt new proprietary closed solutions after all.
“What it’s about is closer to “I wish I could use this code that group B wrote,” regardless of what language “group B” was using. In a traditional Microsoft environment, this would be accomplished via COM, allowing group “A” to write in C++, group “B” to use Visual Basic, and group “C” to use Delphi, and they can use each other’s work.”
Ho really ? Just to laugh, remember us how simply you declare binary and pointer in visual basic for use c/c++ programs… And just for the gourmet, could you add some few worlds on callback function ;-))) Not to speak of Delphi, or worst Power Builber.
That said, you can use and mix every program from every compiler with every system, ibm, sun, microsoft… Well ok, Linux world is special. Binary compiled with gcc 2.x are incompatible at execution time with binary compiled with gcc 3.x, but that’s Linux. You just have to remember the magix sentence : Linux ? it’s rock ;-)))
“How do the language issues effect free software? In GNOME we have the GTK+ and GNOME libraries written in C. Want to use them in Perl? Write a library. Python? Another library. Ruby? Yet another library. Add enough languages and you may have more code allowing languages to access GTK+/GNOME than is actually in GTK+/GNOME.”
Ho really ? And how do you think c/c++ c#, visual basic, fortran came on W32 ? By an operation of the holly spirit ? Just currently on my disk, visual C++ is only 826M of DLL, and dotnet is only 222M of libray. Well i’m using Eiffel to code it ( just an other 200M of libray … ), and the whole system contains only 1700 libraries, nearly nothing ;-)))
What is true is that library gives less problem on W32 than on Linux.
That said, you never had a little problem with versionning on msvcrt/msvcrt20/msvcrt40 ? Really ? never ? or maybe some strange effect between an odbc dsn, ado and an odbc driver, not to speak of vbrun ? Never ? You’re a lucky man.
“Where does .NET come in? (…) That reduces maintanence, and speeds up the support for a new language. (…) In short, *lots* of programming labor is saved by lots of different parties by having a common runtime. “”
Dotnet is certainly a smart move from Microsoft, no doubt on that.
“As for CORBA’s courseness, I believe one of the problems is that CORBA is predominantly used out-of-process,”
No ? How could that be possible, an linkage process layer is out-process ;-)))
Maybe do you want to include every process and every world computer’s process in your program ? You have guts man, just let us know when you’ll have finished to write your fabulous program ;-)))
“CORBA is used to help bridge language barriers, so a common runtime can reduce the need for CORBA, allowing faster inter-language calls.”
As i have just said, i think you miss the objective of CORBA, but for sure, it’s certainly not a langage linker ;-)))
“As for Java, I personally find Java to be crippled. It’s libraries are a joke, wholly inconsistent with itself, and the language annoying for me to use in day-to-day business.”
After your outstanding analysis on library and CORBA, i’m not really sure you’re the one qualified to quote Java. For my own, i feel it’s license free, system independent, multi version capable at execution time and nearly open-source now. That said Java have not every quality.
“I’ve used it in professional development, and I’ve used C#, and hands down I prefer C#. It’s far more expressive for me.”
Everyone can prefer what he wants. But a low level langage “expressive” ?
“I’ve done JSP before. ASP.NET is far preferrable.”
JSP is not good. Try PHP.
the Linux world doesn’t have much choice because Sun won’t let totally go of the reins of Java.
I think the general idea behind Mono was that the .NET concept is really good so rather than be left behind the Linux people better have it too. What’s the choice if no .NET? Java? SUN is the leader there and not the community so that’s a no go.
Anyway, many people (who praise PHP and Perl) seem to think that this is about building e-commerce web sites. It isn’t. It is about corporate software — the so called enterprise stuff. This is in-house built software; the stuff consultants get paid big bucks to design and implement; it will be the infrastructure for large corporations.
If Linux opts out of .NET and .NET becomes a winner then Linux is in deep trouble. Better to have both Java and .NET on your side then just Java.
Also, companies who use .NET on Windows now can more easily migrate later on to Linux if there is a .NET implementation.
It would be foolish to put all your eggs in SUN’s basket. Open source should always be on the look out for what’s best and provide a free implementation of it.
That said I still hope for M$ to rule the world since I own their stock
“I think the general idea behind Mono was that the .NET concept is really good so rather than be left behind the Linux people better have it too.”
You may think that Boshon. Above all it’s seem to be one more of this “genious” idea about “object” concept, my dear, so in fashion in the “gaa-nome”, please my dear, team… And, as every “gaa-nome” project, the enifficiency of the implementation is the only thing to match up the “concept”…
To be crude, enough with wanking. When they will be capable of writting an simple UI __working__, they may think to other projects.
“What’s the choice if no .NET? Java? SUN is the leader there and not the community so that’s a no go.”
Which “community” ? the Linux trolls ? You’re joking. The interest of Java is to code on W32 and to be able to switch, in 3, 5 or 10 years, on another system, free of migration costs.
Now, if you want to code in Perl : /_=/|/ { __ // }, no problems. It’s perfectly suited for the Linux “community” ;-)))
MS is releasing new version of .NET soon.
I am so sorry about Miguel and all the Linux crowd living in the delusion of “MS is our friend! .NET on Linux will kick ass!”.
I use Java. It is working and cross platform already. If there was another open sourced alternative, I would use it. But, I will never use Mono, since it helps MS more than it helps Linux.
For the choice of .net or Java, it’s not hard:
Mono (.net):
http://primates.ximian.com/~miguel/shots/debugger-4.png
Java:
http://jfacedbc.sourceforge.net/cap_linux2.gif
.net:
Multiple languages (C#, VB, Cobol), one platform.
Java:
Multiple languages (According to http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html, approx. 160), multiple platforms.
Note: the number of languages that compile into net/java bytecode is more or less uninteresting, as they are not “full” languages (with their own API) but rather different faces against one single API (the .net or java API, respectively).
My take: Linux, JBOSS, PostgreSQL, Eclipse. Distributed components, XML web services support, great IDE, great database, deployable on Windows – Linux – AS/400 – Solaris + all other platforms that can run Java, all Open Source.
Spend money on development, not licences.
I use Java. It is working and cross platform already.
Personally I use the best cross-platform language (at source code level) … C ….
What no emoticon? Nope coz I’m not joking.
I think Mono is a cop out ….
I can’t believe people are still mentioning that Java supports multiple langauges just like .NET.
If you had any clue, you would realize that Java’s support for other languages is really not comparable to .NET simply because the Java framework was not designed to support languages other than Java. Java’s “multi-language” support is a joke compared to .NET, as is Java’s performance.
-G
“Where does .NET come in? You write the wrapper library once — such as Gtk# and Gnome# — and *all* .NET languages can then use GTK+ and GNOME. That reduces maintanence, and speeds up the support for a new language.”
I’m adding my 0.02€ to the discussion, speaking as a GNOME developer. While there exists bindings for Python, Perl, PHP, Java etc they are perpetually behind on the development curve. Every GNOME program of any importance is written in C, that means Evolution, Nautilus, Gimp, Abiword etc. Not C++, vanilla _C_. Sometime I have to check the calendar to make sure it really is 2002 and not 1992 while hacking on some GNOME piece, K&R2 in hand, I swear.
With Mono and C# we are gaining an amazing platform to do development on. Once Mono is stable enough I will personally base all my programs on it, and I know many of my GNOME developer friends will do the same. I couldn’t care less for platform independency, what I care about is a kick-ass platform for writing end user desktop programs, and why not some server side code too. If MS makes it mandatory to number your code rows or whatever to make programs run on their VM it won’t change the fact that we’ve gained a 21st century development platform for Linux, fully open source and ECMA standardized.
gmlongo:
Ok, go ahead and support Microsoft and their products.
Support MS getting more and more control of the IT industry.
Support MS making sure there are no alternatives.
Support MS making sure there are no other vendors.
Support a situation where all companies in the world, IT related or not, are bying only MS software (as that’s the only alternative available).
Support a situation where suddenly MS can charge what they want for their products, as there are no other vendors of software.
Support a single point of control.
Support a situation of that in the former Sovjet.
Support communism.
But don’t talk about having a clue until you have followed your algorithm until termination.
Yeah, and while we’re at it let’s go lynch those bastards on the Samba team. Their agenda is obviously some sinister communist plot.
Seriously, if .Net does become popular, having Mono will at least give developers a choice of moving to Linux from windows, while the lack of a .Net support might simply rule the platform out altogether. Mono also gives developers an open source .net platform for windows. Choice == Good.
“Personally I use the best cross-platform language (at source code level) … C ….”
Yes, it is so cross-platform that porting Open Office to MacOSX will take one year.
>>
“I can’t believe people are still mentioning that Java supports multiple langauges just like .NET.
If you had any clue, you would realize that Java’s support for other languages is really not comparable to .NET simply because the Java framework was not designed to support languages other than Java. Java’s “multi-language” support is a joke compared to .NET, as is Java’s performance.”
1. If you had any clue, you would say “JVM’s support for other languages is really not comparable to .NET”.
2. Ever heard “Tower of Babylon”? The vision of Java is that every developer develops in Java, so that everybody speaks the same language.
3. .NET has only one language, it is called MSIL. All the .NET languages are crippled versions of the real languages to fit in. All are different syntactical sugars of MSIL. Can you show me COBOL.NET which is 100 percent compatible? .NET’s VM is more generic than JVM though, but it does not render .NET should be chosen.
4. MS is evil. I will never, ever use .NET, even consider using it, even on Linux or BSD. The only cross platform remaining choice is Java. C is another option, but I like Java better.
5. You cannot say .NET is faster than Java, since I have seen reports which show .NET is faster on particular algorithms, Java is faster on other algorithms. All were on Windows, since .NET runs currently only on Windows. In the end, even .NET is faster, speed is not everything. There are many other criteria. Computers are quite fast and getting faster anyway. I have no problems in using Java client software, such as Eclipse or Netbeans. If speed is your primary concern, use C.
6. .NET is expensive. Java is free.
I think the reason most software is written in C for gnome is that:
a) It’s a C based project, ie it attracts C hackers rather than C++ hackers,
and b) apps that use higher level languages such as Python/Ruby suffer from having double the normal number of dependancies. Also, for instance the Python bindings are not well documented (or indeed, documented at all). Dependancies are a big problem, the only app i’ve seen that uses python/gnome is Straw, and I was scared off trying it by the hassle of building all the new python bindings.
Well, the Ruby bindings are shaping up well, and they seem to be well documented, nicely designed etc. Hopefully also my project will help with dependancy hell, then people won’t be scared of using a higher level language because it will “just work”. This is what I aim for anyway. People who write desktop apps in C should be looked on as wierd in this future – why do things the hard way?
In particular, I’ve soured on .NET as a way of sharing code between multiple languages. Mono will be best for C# only I think. For instance, if Ruby.NET was used, it’d be using the C# apis – but they wouldn’t use any of rubys cool features, ie code blocks, iterators etc, because they were designed for C#, not Ruby. I think for certain things, for instance library bindings, manual binding will give the best results. They don’t have to be behind the curve, just like any project it’s simply a matter of getting people involved.
CORBA is cooler than I thought at first. It’s true most of it is outproc, and it’s complicated, but it doesn’t have to be. Look at the Bonobo-Python tutorial to see how easy it can be to write CORBA components in a high level language when you don’t have to write loads of glue code. CORBA can also be in process too. For instance, it can (in theory) detect that the two components are written in the same language and link them together directly. That’s not implemented in ORBit though
I think people get put off Bonobo/CORBA because they look at the gnome source code and think, WTF, a CORBA component wrapped in a gallon of glue code, with a wrapper library to turn it into a GObject which is objects in C? Yuck.
Hopefully when most apps are written in higher level languages (Ruby, Python, C#, Java??) that won’t be the case anymore.
I don’t claim to be a VB or Delphi Guru. I have seen the declarations needed for VB to call a C Win32 function. It isn’t pretty, I’ll agree.
But that’s not what I was talking about. I was talking about COM. VB+COM doesn’t require you to “declare binary and pointer in visual basic,” it just requires that the C++ developer create a COM class. (Plus associated type library, registry manipulations, swearing, and ritual sacrifice of a chicken. On a good day.) Despite the difficulty of writing COM objects from C/C++, Visual Basic makes it reasonably easy (so I’ve been told), and Delphi supposedly uses COM objects as easily as Visual Basic. So unless you’re in C/C++, you don’t need to worry about pointers (or GUIDs, or IIDs, or CLSIDs, or…).
BTW, I’ve done too much COM programming, if you couldn’t guess.
But as difficult/annoying as C/C++ COM is, it still worked as a cross-language communication technology, allowing the database vendors to write C/C++ COM objects which were usable by VB developers in ASP. Not the cleanest thing in the world, but it worked.
Regarding “use and mix every program…,” you can only mix binary code if the compilers generating the binary code agree on things, such as name mangling, register use, stack ordering, etc. C has an ABI which defines all these things on most platforms, allowing you to mix and match compiled C code from different vendors. Many languages (including C++) allow you to use the C ABI, either to import or export functions. In this sense, C is the lingua-franca, allowing objects to link regardless of where they came from.
But not everyone wants to use C. C++ only has a standard ABI on one platform, the Itanium. On all other platforms (AFAIK) the C++ ABI changes with the compiler version and compiler vendor, so linking C++ object files from different vendors won’t work. The same is true for any compiled language that has different vendors producing compilers: the ABI may differ, preventing sharing of binary code.
Arguably sharing source is preferrable to sharing object files, but that’s not always desirable or optimal. In engineering applications, some work is better done in FORTRAN, while other parts should be done in C. You can’t use the same compiler for both, but you can (depending in the compiler) link the object files from each language together.
Where do I think “c/c++ C#, visual basic, fortran came on W32”? By writing lots of libraries. Which is why you have so many libraries on your system.
Now, of those libraries, how much code is duplicated? They all have routines for writing to files, creating windows, string manipulation, etc. Is it really ideal to have N copies to do the same thing? Not really.
I have no idea how libraries can give fewer problems on Win32 than on Linux. The next paragraph you give an example with MSVCRT. Win32 *sucks* when it comes to handling versioning of libraries. Linux is far superior.
I wish I understood what you meant by “an linkage process layer is out-process.”
And no, I do not wish to include every process in my programs address space. That’s been done before; it’s call DOS. Apple System N (? <= N <= 9) has the same problem. It’s not ideal.
However, some code I do want to run in my process. Should I really be making Database calls across processes? For example, My Process -> Database Library Process -> Database? No, I want the database library to be in my process. I want the database in its own process so I don’t kill it by mistake.
Just because you can have some code running in your address space doesn’t mean *all* code must run in your address space.
CORBA is used as a language linker. It’s not *just* a language linker, but that doesn’t stop it from being used as one. It’s also very useful as a remoting framework, making location-agnostic components possible (so I don’t know if the component is in my address space or across the network). CORBA also provides more features. But just because it provides many features doesn’t prevent it from providing a rather useful language linker.
I’m as qualified to vilify Java (or anything else) as I am to breath. Which is to say, you don’t need qualification to do anything, though people may occasionally wish it.
As for your other points, they are mostly true. It is (somewhat) system independent, nearly open source, and license free. It is also held on a short leash by Sun, which people still worried about the patents held on Java.
Just because they’re not Microsoft doesn’t mean they’re benefactors. And just because I’m paranoid doesn’t mean they’re not out to get me. 😉
As for expressiveness, are you going to argue that Java isn’t expressive? Or C, for that matter? Assembly can be expressive as well. They just have different amounts, or different styles.
What really annoys me about Java is the fascism everywhere. Public classes *must* have the same name as the file. They *must* be in a directory that matches the package name. They must…make is as difficult as possible to make a short, single file of source code for testing. Plus, they provide 3 different ways to provide equivalent operations — [] on arrays, getCharAt() on String, getValueAt() on Vector, etc. I’m sure there are more. What happened to consistency?
Finally, you’re right, JSP isn’t good. I’ve also used PHP.
PHP is like using the C Pre-Processor to generat your HTML files. You use a bunch of include() or require() statements to include source text which may include other files or have statements to change the source text.
It works, it’s effective, but it is by no means clean. It can be *made* to be clean, with its provisions for classes and object oriented programming, but I’ve never seen a site that had a decent separation of interface from implementation.
Probably because I haven’t looked hard enough.
Besides, you don’t need Microsoft for ASP.NET. Mono is working on a replacement, so we can continue to use open-source/free software.
Please. Spare me your anit-microsoft crap. I am no more a fan of MS than the next guy. I mostly use BeOS at home and at work, I code in Java/XML/JSP. But just because you don’t like MS, does not change the fact that .NET is a great framework.
“NET is expensive. Java is free.”
.NET is also free. VS.NET is a different story, but I can use SharpDevelop and be perfectly happy.
As for performance, all you need to do is take a look at the following comparison among others. http://osnews.com/story.php?news_id=2028
“.NET has only one language, it is called MSIL. All the .NET languages are crippled versions of the real languages to fit in.”
Still pushing that nonsense huh?
-G
This can be easily rephrased.
“For compiled languages for ‘arbitrary platforms,’ machine language is the one true language. All other languages (assembly, C, C++, FORTRAN, LISP) are crippled versions of the real language, as they hide what’s actually happening.”
Right. Believe that and I have a bridge (or two) to sell you. Just because you can transform one langauge into another language (such as C++ -> C, as in CFront, or C->Machine language, as with most compilers, etc.) does not mean that you don’t need the other language.
I don’t think that many will argue that C doesn’t have some advantages over assembly. More may argue that C++ doesn’t have any advantages over C, but several (myself included) find C++ to be preferrable.
Language bigotry gets us nowhere. Languages fill their niches (otherwise they wouldn’t be used), and can be useful to know if only for that niche. (Yes, I may dislike Java, but I’ll use it when appropriate.)
Moving back to .NET, MSIL/CIL is just the language that all other languages can be transformed to. It serves as a “high level” assembly (but lower level than C), nothing more. Sure, you can write in MSIL, but you can write directly in Java Bytecode or Assembly too, and you don’t see too many people doing that, do you?
– Jon
True, those who forget about history is doomed to reruns. Those who remember history is doomed to paranoia.
Those who understand why a event took place in history could prevent a rerun.
Adopting Mono wouldn’t help Microsoft all that much. They may take some scores from Java, but business wise, they in the long term would get hurt more than benefiting from it. Unless they predict that Windows is dying…
gmlongo: Geez..you know nothing about J2EE design patterns, do you? (I recommend the book “EJB Design Patterns” by Floyd Marinescu). Do you know how badly the “benchmark” J2EE app was coded? Ever heard the idiom “do NOT use entity beans if performance is your main concern”? TMC (who coded the J2EE app used for benchmarking) have already admitted that they made a lot of bad choices when choosing on design, and a re-match is already considered (http://www.middleware-company.com/j2eedotnetbench/faq.shtml)
Btw, if perfromance is what you’re looking for, check IBATIS version of PetStore:
http://www.ibatis.com/jpetstore/jpetstore-1.html
A demo is available at
http://www.ibatis.com/jpetstore/jpetstore-online.html
It’s running on a 233Mhz Pentium 1 machine /w 64Mb RAM – as iBATIS puts it: “Let’s see .Net run on that”
<quote>
“.NET has only one language, it is called MSIL. All the .NET languages are crippled versions of the real languages to fit in.”
Still pushing that nonsense huh?
</quote>
For me as a programmer, when I code in Perl and use Perl to interpret my code it’s the constructs in the Perl “virtual machine” that do the work. If I use Perl in .net, it’s not the Perl VM with it’s associated features and performance that do the work, instead my Perl code gets converted into MSIL and is then compiled for the native platform. I.e., whatever language I use to code in .net, it’s just a facade, as it’s all getting converted into MSIL behind the curtains. I’d like to see .net perform regexp as good as the real Perl does..
Btw, the (many times sluggish) swing GUI can even beat .net windows forms (for desktop stuff):
http://www.javalobby.com/thread.jsp?forum=61&thread=5488
And swing is SLOW, compared to SWT (the new gui toolkit by IBM et. al.)
– Archie
Ok, go ahead and support Microsoft and their products.
Thanks for giving him and the rest of us a go ahead. This really means a lot to us.
Support MS getting more and more control of the IT industry.
Guess who gives MS its dominance in the industry? The industry itself. Microsoft’s Windows monopoly was practically a gift from IBM and Apple to Microsoft, they practically made the road nice and easy for Microsoft.
Then their Office monopoly, what about that? WordPerfect, Lotus 1-2-3, Harvard Graphics gave it to Microsoft. WordPerfect was built in such a way that a port to Windows was expensive. Lotus 1-2-3 didn’t care about their competitors (they thought they are the monopoly of the spreadsheet market, and nobody can get it, so they lazed around). Instead they pissed their customers by using stupid copyright-protection schemes (remember those turbo button on old PCs? Thank Lotus for that). Harvard Graphics on the other hand never saw PowerPoint as a competitor till it is too late.
In the book called Art Of War by Sun Wu, quote from the English translation: “Know thyself and know thy enemy. One hundred battles, one hundred victories.” Aparently, not many know their enemy (Microsoft). Fact: Microsoft is a ruthless competitor, it would seize any chance to destroy you. The best thing to do is to make sure you leave them no chance.
Support MS making sure there are no alternatives.
Actually, it is the altenatives that keep droping off, it is not like Microsoft hired the mafia to bomb up their HQs. Take for example, Be OS. Good OS, terribly marketed. If I wasn’t a geek, I would have never heard of it. Till today I still have no idea what specific target market (besides “multimedia” 🙂 Be targeted. Microsoft didn’t need to do anything out of the norm to kill it. Be just killed themselves.
Support MS making sure there are no other vendors.
And how does this differ from the earlier quote?
Support a situation where all companies in the world, IT related or not, are bying only MS software (as that’s the only alternative available).
No, I disagree. I’ll take China for an example. The whole city of Beijing would be run by officials using Linux workstations. So much for no altenative. What about the country of Largo?
Linux, like it or not, is a growing altenative, and even Microsoft admited that after so long of denying it. Unlike other stuff Microsoft “kill”, it doesn’t have a company behind it. It doesn’t survive on marketing decisions.
Support a situation where suddenly MS can charge what they want for their products, as there are no other vendors of software.
If that’s the case, Microsoft would charge hundreds of millions of dollars for a single license. Microsoft is doing what every smart business should do, they are charging the highest their average customers are willing to pay. If the average of their customers would be willing to pay a million dollars to use Windows for a second, by golly, Microsoft would have charged that.
Support a single point of control.
And support another? :-). I’m not supporting Microsoft. I’m merely using their products. I was once like you, check out osOpinion’s archives (if they are still available). Microsoft doesn’t care about controling any more beyond the point it needs to in order to get a higher amount of profit.
The only people to stop Microsoft? Lets see…. Sun. I much prefer Microsoft to that hypocrite. Besides the fact it was Sun’s fault that Java is loosing ground with each day. IBM? Yeah, maybe they will become a altenative, but they only care about the enterprise in the case of J2EE.
In other words, I’m using Microsoft unless they is a better altenative. The software world isn’t like other industries. Powers come and go much faster than any other industry.
Support a situation of that in the former Sovjet.
Support communism.
Well, not supporting Microsoft means in some way or another, you are supporting the communist doctrine. The Soviet Union BTW has nothing to do with communism. Never once was they communist. It was a stupid dictatorship where only party officials gain. Communism on the other hand, while utopian, is completely against that. They support giving everyone absolute 100% equal rights in terms of voice, power, economic standing, and social standing.
BTW, the Soviet system was forced upon people. Microsoft was practically chosen by the people, and at moments notice they can change to anything else (albeit they would suffer from lack of productivity).
Why do I think Microsoft can be defeated? Because I plan as soon as possible to open up my company. It would directly or indirectly compete with Microsoft, and I’m not a bit intimidated by it. Because unlike those who fail, I know that marketing is the key, not the product itself.
Well, not supporting Microsoft means in some way or another, you are supporting the communist doctrine. The Soviet Union BTW has nothing to do with communism. Never once was they communist. It was a stupid dictatorship where only party officials gain..
Let’s see…The Soviet Union? That was the place were there was only one political party, right? And only one media company? One supplier of news? One maker of cars? One grocery store chain? And one supplier of everything else, right?
MS on the other hand, aims for…uh…wait…umm…
My point: the Free Market (which our society is built upon) requires that everyone is free to compete (otherwise it’s not a free market), and we must all fight for our right to compete in this market – since this is the very fundament of our society.
Thus: as long as everyone has the opportunity to compete in the free market, it’s a free market (by definition). Those, on the other hand, who tries to make sure that noone else can participate in the global marketplace, are destroying the very fundament of our society as they are creating a situation like that in the former Soviet – whatever you want to call such a situation. I call it communism, as that’s what I associate with such a situation.
In other words – Linux (and free software in general) is thereby the best alternative for those who defend the the ideas of the free and capitalistic market, as it constitutes a common platform for competition in the same way that the free market constitutes a common platform for competition.
– Archie
“Btw, the (many times sluggish) swing GUI can even beat .net windows forms (for desktop stuff)”
Riiiightttt. Keep telling yourself that. I have read multiple articles straight from Sun that admit that they need to drastically improve swing’s performance in order to compete for Window’s desktop apps with .NET. Not only that, but if you ever coded or even run a winforms app, you would immediately realize how sluggish swing really is.
Add this to the pile of crap that is the Java api and it looks like we have a winner. Just look at the .NET xml api and you will wonder what the hell is wrong with Sun.
As for design patterns, I am very aware of them and how to use most of them. In fact, at my company, we implement many patterns in our systems. So just because Java’s performance isn’t what it should be, don’t try and tell me what I do and do not know.
-G
So, you’re not satisfied with swing. Fine, you have the rights to do so. But remember that there are more kids on the block to play with in this case, and the new kid everyone is talking about is called SWT. Try Eclipse (www.eclipse.org) and tell me if you’re still not happy with the 2D/desktop performance.
Sure, swing is sluggish many times, but the numbers in the case I linked to don’t lie in this particular test (updating a datagrid). And winforms is still only possible on windows, so if we’re calculating performance as [graphical_throughput/software_platform], winforms will come out *eternally* slow on all platforms it doesn’t run on, as division by zero yields eternity! And that’s definitely worse than swing, as it at least *works*. (Remember, I still think swing is bloated and prefer SWT hands down)
Just look at the .NET xml api
Nope, as .net only works on windows, I have no interest in it (and neither have my customers who all are looking at alteratives to windows – more specifically, they are looking at Linux)
People are fed up with microsoft. In fact, they are so fed up that it doesn’t care if they(MS) produce a technology superior to all others – it’s on a personal level now. Your winner has lost due to one single (but oh so important) reason: lacking knowledge of business ethics. You know it, and everyone else is talking about it as well. So in closing, I want to remind you that it’s not always the best technology that comes out on top – other factors may be oh so important for the outcome.