From the announcement: “The Mono team is proud to release Mono 0.18, with plenty of bug fixes and improvements. If you are a happy 0.17 user, this release is a happiness extension release. Many bugs in the runtime, class libraries and C# compiler have been fixed.” Additionally, Qt# (a C# language binding for the Qt toolkit) 0.6 was released too.
I am proud to see version 0.18 after 1.5+ years!!!!
Congrats!!!!
Hahahahaha!
Numbers don’t mean much Croanon, it doesn’t mean that version 0.18 is worse than another application’s version 0.81.
Mono is already usable and there are some applications already written for it! Like the new image viewer for GTK# for Gnome, from some Ximian guys.
I won’t use anything with version less than 1.
Why parties held all over the world and headlines mentioned MOZILLA after it reached 1.0? Or OpenOffice.Org?
It may be already usable. I didn’t see anybody using it for 1.5+ years around. Believe me, I’ve seen lots of lots of Linux projects because of my job here.
At least these Mono people could do something useful and write a game or something rather than spending their time and money for a vapourware.
You are a programmer Croanon, you should know better. The C# language is just ONE of the zillion pieces of the Mono/.NET *platform*. It will take years to make it more and more usable, plus such a project is never “complete” in the traditional sense of the word. Platforms evolve and change, and Mono would do as well. Mono is a new effort. 1,5 years of development is something young. It took Mozilla 5 years and OOo’s codebase is around for many more years. Big things take more time to write. It is just normal. You just need to have patience (as you had with Mozilla) to get the level of stability that you want with such big projects.
So what? I know that it will take minimum 5 years or more. =) So that I find it vapourware. Java, for instance, is able to do everything that Mono does, and it is 8 years old already, and WORKING. I do not see any point in using Mono rather than Java in next 5 years. =) Well, actually, even after that!
C# does has qualities not found in Java (the same way Java has qualities and features not found in C++), so I am sure that other developers would like to either use the .NET platform or the Mono one when it gets done. Different people have different needs.
I know that you are a (fanatic) java supporter, but here at OSNews, we embrace all technologies. We like them all.
Hats off to Ximian they’re doing a fine job. Keep up the good work. This is one of the most important things going on in the Linux world.
In response to CroanoN:
Here’s a list of some apps I have tried that were written using Mono and it’s related projects:
debugger- Written in gtk# with a console interface as well, pretty comprehensive and complex program, although not yet totally stable or feature complete.
mPhoto- Photo management program using gtk#, with an xml or sql backend.
platano- Again, written in gtk# and using the gstreamer# bindings, it plays mpeg movies right now. Very new and buggy, though.
monodoc- A documentation browser and generator using gtk#, will also have a asp.net front end eventually.
IBuySpy- one of Microsoft’s reference asp.net web apps, this release is able to run it.
mod_mono- Integration of mono into apache… very new, but it works.
I’d make the argument that this is *not* vaporware, although all of these programs are really new and have their issues. When you consider that the mono compiler has only been able to compile itself for about a year, the fact that these programs exist in their present form is pretty remarkable.
C# has also have some properties not wanted by many programmers.
Since Mono will not be ready for 5 years for production usage, I again prefer using Java, since Tiger release of Java will include all the qualities not jound in Java currently but found in C#. Actually it will include some qualities not found also in C#. So, I really cannot understand the reasoning of those other developers who would like to use .NET platform or the Mono framework (oh, when it gets done.). I think I am free to express my opinion.
=)
Deniz Kaan Çopur.
PS. I am not fanatic java supporter. Stop making assumptions. I support Java, because it makes sense rather than using .NET. If there was a better option more viable than Java, currently, and usable, than I would support it.
Go to sourceforge and query Java projects, and compare them with Mono ones.
Couple of toyish fundamentary funny projects written in C# using Mono, such as SharpDeveloper is not strong enough to refute my remarks.
Lets talk about JBoss if you want, or Apache dear.
=)
“Since Mono will not be ready for 5 years for production usage”
It’s ready now, for gnome and windows programming using gtk#, QT# for kde (not so sure how far along this is, though). For many people, asp.net is ready, although more complex web apps still won’t run.
Some pieces of the class libraries are still very incomplete, due to the difficulty in implementing them on non-windows architectures, but for the most part things are moving along nicely. Expect a 1.0 release later this year.
I will not use anything in production release if it does not reach 1.0 release.
Ximian can use Mono of course, since they are supporting it.
Please come to your senses.
Okay “Dear”,
First of all, SharpDevelop (note the spelling) can not be run using Mono, although it is a great open-source IDE which is definitely not “toyish”.
As to the rest, I think any relatively smart person would realize that the amount of apps written for mono (or even .NET) is going to be less than those written for Java given its head-start. That’s not the issue, though. My point is that real world apps *can* and *are* being created with Mono and its associated projects.
1. What? Mono even cannot run SharpDevelop (Thanks for teaching me the right spelling genius)? I thought it was written in .NET! So dear, where is the .NET’s compatibility?
2. Dear, SharpDevelop is more than toyish when compared with Eclipse (www.eclipse.org). At least use Eclipse if you insist programming in C#. Eclipse is universal IDE, you can develop using Java, C++, C, C# etc. Oh, hence it is Java, it runs on every Java supported platform.
3. As to the rest dears, I think any relatively smart person would realize that the amount of apps written for mono (or even .NET) is always going to be less than those written for Java given its head-start. Thats not the issue though. My point is that real world apps *can* and *are* being created with Java, and its associated projects, since Java is 8 years old, mature, and ALREADY READY FOR PRODUCTION QUALITY. Why wait 5 fucking years for a vapourware called Mono.
Oh well, I tried
I’ll stop feeding the troll now, although I’ll be glad to discuss this further with anyone more open to cool new ideas and technologies than CroanoN is…
1. I am not a troll dear.
2. I am open to cool new ideas and technologies. I do not see Mono or .NET as a cool new idea and technology. I can give you my reasons if you want to.
3. You are making assumptions dear. Grow up, then we can talk.
=)
“I thought it was written in .NET! So dear, where is the .NET’s compatibility?”
Mono’s goal is just to provide a more efficient development framework for Linux (for Ximian C and the Gnome libs was not efficient enough; they learned that while developing Evolution). 100% .NET compatibility can and will never be reached and was never the goal.
Source: Various interviews of Mono’s project leader.
Apparently, De Icaza started the Mono project because he knew it would solve problems that the Gnome/Ximian developers had been running into that nothing else (including Java) could solve for them. If Java was able to give them everything they needed for the tasks they wanted to do, the Mono project probably wouldn’t even exist.
I remember reading a quote from him saying exactly this but he didn’t detail what the specifics of these development issues were.
So, in the end, this is just another proof of “.NET is not comparible with Java, because is not offering WORA.”
If Mono is not 100% .NET implementation, it should not be called “Mono: .NET framework.” It should be called something like “Mono: .NET-like framework”.
I personally believe Miguel De Icaza started Mono, since he has a big ego, and he saw that Gnome is not being embraced by many people because KDE is better.
In the end, there is no reason to use .NET, since Java is the only option offering WORA, thus cross platform compatibility. Also, there is no reason to use .NET, since it is not mature, and will not be mature for another 5 years minimum. Java is reasy, already cross platform compatible. Also there is no reason to prefer .NET over Java, since there is nothing .NET can do, but Java can not as a result. And in the end, using .NET, even on Linux, is helping MS, the unethical company.
Thus, I insist that Mono is a vapourware. Why should I use it for non-existing god’s sake? (if you have right to say ‘for god’s sake’ as a religious person, I have a right to say ‘for non-existing god’s sake’ as an atheist.)
(I do not take Perl etc in the same category with Java.)
(I do not take C in the same category with Java. Even if you compare, I remind MacOSX release of OOo will be ready in a year. Yes, yes, C is cross platform compatible.)
I’ve managed to get the thing to build, but it won’t run… probably a pthreads issue.
I’m a Java developer primarily, but one thing that caught my attention besides some of the nice syntactic sugar in C# is the fact that a C# program running in version 0.17 of mono is still faster than a comparable program running in Java 1.4.
Check out the recent mono mailing list archives (www.go-mono.org). I believe I saw a mail today saying someone had got the 0.18 release working on OS X with a small patch… If that is the case, and the patch doesn’t break anything, It will probably be working in mono cvs shortly.
CroanoN, your just all about offending people today arent you? Grow up. I’m glad you managed to find time to slip in some religious prejudice in there. I personally don’t appreciate it.
” C# program running in version 0.17 of mono is still faster than a comparable program running in Java 1.4. ”
I’ve seen benchmarks showing Mono faster in some cases, shoewing Java 1.4.1 in some cases. The speed difference is minimal, completely negligable.
C#’s syntactic sugar is not important, since IDE’s with refactoring capabilities, such as ECLIPSE (http://www.eclipse.org) handle large percentage of monotonous code writing. But if you wait, Java’s new release Tiger will contain all the syntactic sugar of C#, and even more. =)
I am sorry if you are offended. =)
Maybe you should think a bit on my following sentence: Why I am not feeling offended when somebody says “for god’s sake?” I have a right to say “for non-existing god’s sake”. Period.
You grow up Joe.
1) Windows is doing it. Where Windows goes, we must follow simply to maintain app compatability. The ability to run Windows .NET apps is not finished yet, hence the lack of SharpDevelop.
2) It’s cool. Mono already has excellent GNOME bindings, something that Java still lacks, and it has people excited by it. It’s also a completely free implementation.
3) It’ll help us work faster.
Java is retreating on the client side, the only Java client side app of any quality is Eclipse. I guess maybe Java could come back from the dead for desktop apps, we’ll have to see. Meanwhile point 1 is reason enough.
The stuff about not using it because Microsoft is unethical is an argument that could go either way. Nobody is forcing you to use it, and anyway remember Linux is just a reimplementation of UNIX written in C which were both created by that nasty monopoly AT&T, so it can turn out alright.
Mac OSX: Mono may be able to run console apps at some point on OS X (I believe the trampoline code needed rewriting, maybe that’s been done, I dunno) but it’d still require an X server and .NET apps would not adopt the Aqua widgets.
“I personally believe Miguel De Icaza started Mono, since he has a big ego, and he saw that Gnome is not being embraced by many people because KDE is better.”
Wrong. The next version of Solaris from Sun will use Gnome exclusively as its standard desktop (CDE will be completely gone). The fact that the largest Unix vendor in the world is adopting Gnome will give it a plenty big userbase and probably make it the de-facto standard, eventually (even if KDE is the better designed – and I don’t know or care about that as I am not really a ‘*nix person’).
1. If you say ” Windows is doing it. Where Windows goes, we must follow simply to maintain app compatability. The ability to run Windows .NET apps is not finished yet, hence the lack of SharpDevelop.” I have nothing to say to you. Good luck in your future endouvres.
2. “It’s cool. Mono already has excellent GNOME bindings, something that Java still lacks, and it has people excited by it. It’s also a completely free implementation.” Huh? What? When? How?
3. “It’ll help us work faster.” Huh? What? When? How?
“Java is retreating on the client side, the only Java client side app of any quality is Eclipse.”
Java on the client side is dead is a BIG MYTH. Here is the proof:
http://java.sun.com/products/jfc/tsc/sightings/S13.html
Please check out the other Swing Sightings pages. You might be surprised. =)
MacOSX: Java is MacOSX’s one of the primary languages. JDK for MacOSX is being developed by Apple for MacOSX. Even they created special hardware accelerator bindings for Java Swing based programs. IBM’s SWT’s MacOSX release is about to be released. Java 1.4.1 for MacOSX is about to be released. It was in its RC8 stage two weeks ago.
The Sun’s acceptance of Gnome does not show that Gnome is more accepted than KDE.
Every *nix person knows that KDE is much more embraced than Gnome, and Gnome stayed always under the shadow of KDE.
In all the cases, I did not say “No one is embracing Gnome” as you said in your heading (if you suggest that I said it).
If you are not *nix person and not care, maybe you can read it from somewhere before writing about it.
I, personally, think that KDE is much much much better than Gnome, and I will always be using KDE.
=)
“…Gnome is not being embraced by many people…”
Sun is the biggest Unix vendor on the planet – please explain to me how their choosing of Gnome as their exclusive standard desktop is not sufficient to validate Gnome as “being embraced by many people”? I don’t care if KDE has a bigger installed base and more acceptence because that does not refute the point I am making against you. Also, I don’t care what desktop you use personally as it is also completely unrelated to my point.
Croanon is a pretty good troll, but he falls short in the category of being a hypocrite, amongst other things.
You shouldn’t cite stuff like Tiger or new unreleased Java features and in the same breath whine that Mono is no good because it is not yet at v1.0. The lifecycle and/or usability of a product is not necessarily determined by its version number. You fail to grasp this concept.
BTW you have been foaming at the mouth so long that your mug ‘o java has gone cold (much like the other Java too).
Please go away trolls!
You’re all (well, most of you) flaming a product you’ve never ever used or only used when it was still 1.x
And the poll @ linuxquestions.org shows that KDE is indeed more popular: ~54% is using it, while ~42% is using Gnome (Stock + Ximian Gnome)
Go away trolls, if you’re that pathetic to flame a _free_ product you’re not worth it to use that product.
CroaNon, would it be possible for you to make an argument that was not also said about Java when it was first being introduced? Java apps were toys. Java was too slow. Java VM compatibility was a nightmare. Java’s GC was syntactic sugar. <insert any older language here> had better support and more libraries available.
Languages come and go, and their current popularity does nothing to ensure that another, better language will not come along and become more popular. Case in point: C vs. C++ in game development. Four years ago, C was hands down the *only* choice for game development, but now C++ is the language of choice.
So have you any arguments that I have not read time and time again about other languages at other times?
Stop telling that I am troll, because, I AM NOT!
I think,
1. Java apps were toys. But they are not anymore.
2. Java was too slow. Not anymore.
3. Java VM compatibility was a nightmare. Not anymore.
4. Java’s GC was syntactic sugar. Huh? What does this mean?
5. Jave has better support and more libraries available.
Dear null_pointer_us, there was a shift from c to c++, because, c++ introduced a new paradigm. There was a shift from some c++ usage (I said some, probably you understand why) to Java, since Java introduced a new paradigm.
C# does not introduce anything. It is just a Java clone with not so important improvements based on MS’s VM architecture.
MS is 8 years late. There is no reason to shift to .NET.
Thats all.
I do not understand why I am regarded as a troll when I say this. You people are so idiot that you say “you are troll” to anyone that you do not like or you can not argue on a logical basis. Pathetic creatures.
When are Ximian going to update their Gnome and Evolution offerings? Evolution is still not on the latest GTK, and they haven’t produced a GNOME2 version of Evolution Gnome. Surely they’re not waiting until MONO is “Done”?!?
By the way Mike Hearn, on your words:
“Mono already has excellent GNOME bindings, something that Java still lacks, and it has people excited by it.”
Please check the following out:
http://java-gnome.sourceforge.net/index.php?link=index&lang=en
🙂
http://developer.ximian.com/projects/hpux/
It will become the defacto HPUX desktop as well as SUN’s. KDE is great and all, but QT’s licensing is keeping it down. $2000 doesn’t seem like much, but it is compared to free (GTK). 😉
> Eclipse … hence it is Java, it runs on every Java supported platform.
No it’s not, its Java using it’s own Windowing API (very .net if you ask me, writing new windowing apis for each platform)
> ability to run Windows .NET apps is not finished yet, hence the lack of SharpDevelop.
Its unlikly it will ever come, .net leaves out the Windowing API’s, alowing each OS to implement it’s own. Good, bad – thats up to you.
> Java is retreating on the client side, the only Java
> client side app of any quality is Eclipse
And that does not use the Java API’s, now if SWT was as nice as Swing (API wise, not L&F or Speed wise), that would be fine, but it is not, infact its ugly by intent, it is a almost “one-to-one” mapping to native calls, and we all know the MS API’s (pre .net) are ugly.
Java is beging to regain ground in the client market, thanks to its mobile edition, alas Sun messed up on this, MIDP 1 is too restricive, badly implemented (not suns “fault” you cry, well yes it is, Sun should of been tighter in giving out J2ME certified) and too bloody open to interperation (if you add a img to the screen, how the implementation handles this is up to the implementation, it might say shrink the image, or it might show a small section of it, or make a view port, very hard to develop for if you don’t know what is going to happen).
> Mac OSX: Mono may be able
I would be very supprised if Apple did not write/lience the MacOS code already out from MS. and aqua-ify it.
If Micro$oft really wanted LINUX, MAC et cetra developers using .NET as a cross platform product, then they would release developer tools for each OS. They are not going to do that and are just trying to kill JAVA. They will constantly make changes to it, so that we will never be able to reverse engineer it fast enough for it to be fully functional. For example, the SAMBA project will never be able to fully support CIFS (SMB), because Micro$soft will keep changing it and making it incompatible. They just want to kill JAVA. C can be cross platform also!!!!!!!!!! It is a Micro$oft trap. You will never be able to develop .NET products of the same quality as on WINDOWS. THAT IS THIER .NET GAMEPLAN. Think about it.
If you don’t run Windows, Linux or Solaris, Java support is shocking so as far cross platform support is converned, Mono vs. J2SDK will leave mono the winner. Don’t get me wrong, I’d prefer Java any day. Sun’s lack of ability to port their software (the *BSDs in particular) to other key server software just frustrates me. Sure, Kaffe is available but isn’t complete enough and their notice on their website “Kaffe is not java…..Kaffe should not be used in production environments” or similar just scares me away.
OK, so offical support from Sun == 3
offical support from Microsoft == 1
And MS is winning?
1. The C# core is almost 95% complete. The eta given to me by some mono developers is the middle to the end of this year. I consider that pretty fast coding from the point of view that Microsoft had atleast a two year head start.
2. I was scepitcal like CroanoN, however, eventually, after looking at the bigger picture and the aims of mono, I personally see nothing wrong with this development of a .NET compatible version for *NIX/*BSD.
3. I most 99.9999% of hope that SUN will help/allow FreeBSD to develop and distribute a Java client. After seeing this lack of enthusiasm after the last update, personally, I would rather see .NET beat SUN/Java to a bloody pulp for its arrogance.
4. Winforms.* which will be commonly used by Windows developers will not really be used in great volume. From what I see, it is being added not because of any particular technical reasons but mainly for backwards compatibility. Once GTK2 is ported to Windows, GTK# should be ready as well, giving an incentive to software developers to choose the multi-platform GTK# or QT# over the proprietary Winforms.*
5. Windows 2003 Server hasn’t been released, so of course you’re not going to see websites using the new aspx. Sure, maybe some of Microsoft partners who are willing to dice with death, however, the majority will wait till the stable release. When that has been released, give it one year, if the migration is stagnant then IMHO Windows 2003 Server hasn’t addressed what customers want. If migration is quick and a large number depoly, then yes, it has been a sucess. Oh, and when I mean numbers, I don’t mean the number of servers as if Windows 2003 does live up to Microsoft’s hype, the number of servers required should reduce. So, lets count by the number of organisations.
@Gil Bates
Only for clarification. SUN decided to use GNOME as their desktop since they signed a contract a couple of years ago. But the decision was also made some years ago and today they see things a bit differently. The reason why they are NOT removing CDE so quickly. Not everyone likes GNOME therefore SUN may lose a bunch of well paying customers if they force them to use GNOME.
> KDE is great and all, but QT’s licensing is keeping
> it down. $2000 doesn’t seem like much, but it is
> compared to free (GTK). 😉
The question is:
a) Is GTK really that much better than QT ?
– No GTK is not better.
b) is it cheaper for SUN’s eployers working on GNOME rather than simply buying up a custom QT license or TrollTech itself ?
– No it’s not cheaper, last 2 named ones would have been far cheaper.
It’s sad doing a normal discussion that reflects reality and economy with 12-18 years kids without proper understanding of ROI, CASH FLOW, MONEY, COMMERCIALISM, CUSTOMER RELATIONSHIP. Only to name some glossary here. Hyping some stuff out of nowhere doesn’t reflect reality my friend. SUN isn’t working on GNOME because they have so much fun contributing to an OS community if they don’t expect something as reward. There are two fisted interests behind all this. They decided for GTK and GNOME because it’s cheaper to steer the direction and manipulate the developers. If you don’t like this answer then I can’t help it but that’s my opinion and makes sense if you think about it.
Dude, take your tired Gnome bashing routine to another thread, please. It has no place here. We’ve all heard it a thousand times before, and have probably already made up our minds one way or another.
Ok to clear it up now. I am tired getting bashed by people that I don’t know about and people that are trying to give me a shit. So why don’t you simply leave personal attacks out and concentrate on a normal conversation ? And where the f*ck did I bash GNOME when I simply comment to a normal reply where my replies makes good sense if people like you would kindly use the brain. Jesus whats wrong with and who the hell gave you the right to verbally attack me ?
I hope I cleared up my point now. There is no reason for you or anyone else to verbally attack me as person. My comments no matter if you like them or not are as valid, as good and as reasonable as your shit that you reply to other people. There is a lot of garbage and smattering that comes out of your mouth as well and do I personally attack you ? NO !
For the rest of you people don’t try it. We can have a nice conversation, change opinions and thoughts but verbally attacks are in no way correct. And as far I recall it never ever came into my intention to attack any of you people no matter what crap you all sometimes reply.
Next time if you have something personally to say write me a personal email so we can clear these things up.
oGALAXYo
The development issues centred around how much work was required just to write Evolution and get it to where it is. Worse still, changes were required for each platform is was going to run on. If you look at Evolution on FreeBSD, there are a handfull of patches that need to be applied (thank god they’re applied when compiling via /usr/ports/) just to get it to work on FreeBSD.
The argument that De Icaza came up with was that all this work was alot considering what the out come was. What he wanted to see was the same amount of work, but more output. If the programmers didn’t have to deal with all the issues associated with crossplatform development, life would be made alot easier.
Maybe in the future, Mono will include support for managed C/C++ extensions so that Evolution can be net-a-lised with GTK# being used for the front end.
The benefit for this will also spill into Evolution being used on different platforms making the transition from one platform to another alot easier.
SUN’s main reason for embracing GNOME is its C roots. The majority of UNIX developers, especially the old school are C developers through and through. For example, Mike Cox not only developes for the kernel, but occasionally throws a patch or two to the GNOME CVS.
The reason why QT has such a following is that in the early days, there were no C++ bindings, and when they were made available, they were less that desirable in comparison to what QT offered. The majority of new developers, particularly those disgruntled developers from the Windows world tend to be more likely C++ ones, and there for, QT was the obvious choice at the time as it allowed an easier transition between the Windows and *NIX.
GTK also offers greater posibilities for bindings to other lanugages, such as Python, Perl, Ruby, C++, Java and C#.
I don’t really understand where you get the idea that I personally attacked you from… To be sure, I don’t agree with many of your conclusions about Gnome, but that’s beside the point; this is a *Mono* thread, and I have absolutely no qualms about discussing Mono with you, if you’re so inclined. I’ve posted my email address, if you have any problems/questions you’d like discussed privately.
Thank you and I may make use of it. But I still think that my replies match the comments of the people that I’m writing to and nothing else I did. If we have different opinions of things then I’m willing to learn something and I’m willing to correct myself If I’m totally mistaken. But your reply to me sounded like an personal attack or at least sounded like a libel (is it the right word ?) therefore I think that this is going to far. in the past 1-2 Months It came to my attention that a bunch of people (usually the same ones mainly GNOME’rs) are trying to libel my name on all kind of places. They are shouting out things without any proves, without anything they could come up with. This is really not needed. The only 10 replies I made here the last 1 Week are in my opinion good ones. And I would like to see if we find a normal base of argumentation. Getting personal is really not required. If you think I’m wrong please let me know it.
oGALAXYo
C#’s syntactic sugar is not important, since IDE’s with refactoring capabilities, such as ECLIPSE (http://www.eclipse.org) handle large percentage of monotonous code writing. But if you wait, Java’s new release Tiger will contain all the syntactic sugar of C#, and even more. =)
This is probably the single biggest reason I like .NET. It has forced Sun to make Java better. I love competition.
I am extremely fond of Java (the language), but I do like C# quite a bit too. I love Java for internet programming and I think C# sucks in this arena because it is tied to ASP.NET; which I absolutely loath. I see Java and C# as solving different needs. However, I would not write C# based applications on Linux yet for the reasons you have mentioned in your posts. It is nowhere near stable enough yet; in my opinion anyway.
I also agree with you in that waiting five years for mono to mature is dumb since I have Java available to me now. However, mono does offer some features (such as GTK bindings) which are not found in Java, so in five years, I may use mono for desktop applications and Java for internet applications (where it absolutely shines).
I agree with you that Eclipse is a great IDE.
And finally…
Maybe you should think a bit on my following sentence: Why I am not feeling offended when somebody says “for god’s sake?” I have a right to say “for non-existing god’s sake”. Period.
Personally, I think that religious folk who use the phrase “for god’s sake” are being blasphemous. If you revere somebody, you certainly do not use their name as part of an abrading sentence or a curse. Your phrase, on the other hand, could be considered blasphemous by theologists due to the fact that you are denying the existance of god I suppose, but if anything, you are taking a non-entity’s non existing name in vain so what’s the harm and where’s the insult?
I’m not knocking your right to make up a phrase, I just wanted to share what I think is an interesting observation regarding both the original phrase and your variation on it.
> I think,
>
> 1. Java apps were toys. But they are not anymore.
> 2. Java was too slow. Not anymore.
> 3. Java VM compatibility was a nightmare. Not anymore.
> 4. Java’s GC was syntactic sugar. Huh? What does this mean?
> 5. Jave has better support and more libraries available.
Of course those things are not true of Java anymore – that is the point! You say many of the same things about C# and Mono, so how do you know that they will hold true several years down the road? Why do you assume that the language will remain frozen in time forever? Microsoft is already planning to add generics and other exciting new features not present in Java. Why does the present popularity of Java mean that there will never be any point in developing other languages? If you are not a troll, answer my question!
> Dear null_pointer_us, there was a shift from c to c++, because, c++ introduced
> a new paradigm. There was a shift from some c++ usage (I said some, probably you
> understand why) to Java, since Java introduced a new paradigm.
So many errors to correct, so little time…
1. C++ did not introduce a new paradigm; it merely added support for an existing paradigm that was already implemented in other languages to C. Furthermore, C++ added support for modular programming and generic programming, which is the only *new* paradigm in C++.
2. There was a shift from C to C++ for many reasons other than support for object-oriented programming. Most importantly, C++ fixed many of the problems in the C language definition, including its error-prone type system, its overreliance on macros, its lack of an elegant error-handling system. C++ is a better C.
3. Java did not introduce a new paradigm; it merely extended C++’s implementation of object-oriented programming with some new language features.
As for why there was not a wholesale shift from C++ to Java, the primary problem is the amount of existing C++ code with which the Java language is not compatible (which I consider to be a good thing from a language design perspective) and the performance-critical application domains in which C++ has become embedded (no pun intended).
Before you go off on a tangent arguing that Java is not slow, you need to consider that your definition of slowness is completely relative to the type of programming that you do. Java has a significant load-time penalty, as well as the overhead of the virtual machine itself and the translation that must be done to machine code. Additionally, many of the features of Java have to handled at run-time as opposed to at compile-time.
Trying to write a kernel or a device driver in Java would be ludicrous, but it would be great for writing web applications. This is not to say that Java is a *bad* language, just that while it is useful it is hardly the One Language to Rule Them All.
> C# does not introduce anything. It is just a Java clone with not so important
> improvements based on MS’s VM architecture.
C# has the potential for much better support for other languages because of MSIL; the same .NET runtime can run code from a large variety of languages and does not incur the inconvenience of a “translation” layer. It can statically compile applications for a user’s platform as it is being installed, or it can dynamically recompile them. Are both of those capabilities standard in the Java language? No, you would have to find a VM which does that, and there currently are none.
The .NET CLR code is likely to be already loaded in memory during the entire session because future Microsoft operating systems will no doubt be incorporating the technology. Also, many Windows developers are switching to it. Whether you like this or not, load times will be significantly lower for .NET applications than for Java applications on Windows, and this is as good as a feature when it comes to Windows developers.
(The situation will likely be reversed on Solaris with the Java VM being loaded nearly all the time, but then again it would be hard for a company to successfully launch a major desktop application only on Solaris. o-0)
What are all the improvements that you are so quick to label as “not so important.” And important to whom? You? Or people developing other kinds of applications for other reasons than you? Why do you say those improvements are not important?
> MS is 8 years late. There is no reason to shift to .NET.
One has to wonder why many in the open source movement so vehemently oppose competing projects. I should think that people who are interested in freedom of choice would welcome competition from all comers, whether they be Miquel De Icaza or whomever. Why should we hate him for choosing to spend his time doing something that he likes? Is he spending his time on public forums telling you how to spend your time?
One wonders why Java was ever invented when at the time it was little more than C++ with some new syntax, and interpreter, and a garbage collector tacked onto it. Maybe one day it will occur to you that people might *like* a different language and that someday that different language will become better than yours. You are in the same situation as those with which you argue, except that you benefitting from eight years of research and development on your language of choice.
> I do not understand why I am regarded as a troll when I say this. You people
> are so idiot that you say “you are troll” to anyone that you do not like or you
> can not argue on a logical basis. Pathetic creatures.
Is a person a troll when they keep making insulting remarks and not addressing the points of those with which he is discussing the situation?
> Personally, I think that religious folk who use the phrase “for god’s sake”
> are being blasphemous. If you revere somebody, you certainly do not use
> their name as part of an abrading sentence or a curse. Your phrase, on the
> other hand, could be considered blasphemous by theologists due to the
> fact that you are denying the existance of god I suppose, but if anything,
> you are taking a non-entity’s non existing name in vain so what’s the harm and
> where’s the insult?
More importantly, why do either of them do it, and why is anyone discussing it in the comments section of an IT-related news post?
The harm and the insult of blasphemy – regardless of whether an atheist or religious person does it – is that it is taking something that someone cares about and degrading it to the level of a cuss word. Need we mention the “N” word? It is the same thing because it degrades something that black Americans care about – their self-esteem – and degrades it in a senseless expression of hate.
People should constrain their discussions to things that have positive intellectual and/or emotional content.
> One wonders why Java was ever invented when at the time…
I meant to type “adopted” instead of “invented.” There is big difference. 🙂
“The majority of UNIX developers, especially the old school are C developers through and through.”
Thanks for pointing this out to me. Having been working in Windows for so long, I thought the whole world had gone C++ by now (I am not aware of any existing software written purely in C on Windows, although some examples must surely exist). I’m not being judgemental about this or anything – it’s just a very interesting observation. Please excuse my ignorance.
The justification can be that for example, why have programmers who exclusively work in the operating system are? why not give then a bit of each of the pies at the company? There are few operating systems, apart from Windows NT, that are written in C++, most are still written in C. Hence, why justify having two completely different groups of programmers?
Of course those things are not true of Java anymore – that is the point! You say many of the same things about C# and Mono, so how do you know that they will hold true several years down the road? Why do you assume that the language will remain frozen in time forever? Microsoft is already planning to add generics and other exciting new features not present in Java. Why does the present popularity of Java mean that there will never be any point in developing other languages? If you are not a troll, answer my question!
There is no need to rediscover the wheel null pointer. Please use your mind. If there was 5 such frameworks not so much different than each other should we support all of them?
1. C++ did not introduce a new paradigm; it merely added support for an existing paradigm that was already implemented in other languages to C. Furthermore, C++ added support for modular programming and generic programming, which is the only *new* paradigm in C++.
Wrong. C++ introduced object oriented paradigm to the C world, which was dominant at that time. ( Note that I do not claim C++ was the first language that introduced oop). C++ also had important improvements over C, but unfortunately had nightmarish bug sources, such as operator overloading.
2. There was a shift from C to C++ for many reasons other than support for object-oriented programming. Most importantly, C++ fixed many of the problems in the C language definition, including its error-prone type system, its overreliance on macros, its lack of an elegant error-handling system. C++ is a better C.
Yes, but the main reason for the shift was object oriented programming idiom. Otherwise, it would be a different version of C, not C++.
3. Java did not introduce a new paradigm; it merely extended C++’s implementation of object-oriented programming with some new language features.
Completely wrong. First, it eliminated lots of C++ features creating bugs, such as operator overloading, pointer arithmatic, weak type safety, etc. Second, it introduced true WORA by introducing VM based framework and garbage collection. Third, it was designed by new technologies and already existing common techniques in mind, such as GUI, Internet, Networking, Multithreading etc. Those things are included in the language, so, there was no more confusion. Java introduced completely new paradigm.
As for why there was not a wholesale shift from C++ to Java, the primary problem is the amount of existing C++ code with which the Java language is not compatible (which I consider to be a good thing from a language design perspective) and the performance-critical application domains in which C++ has become embedded (no pun intended).
Wrong. I’ve completed many projects using JNI (Java Native Interface) successfully. It works quite slow, but thats the way these type of linking works. .NET’s mechanism is also slow. Some projects stayed on C++, since they were speed intensive. .NET is also slow. So, speed intensive projects will not migrate to .NET anyways. Another point to consider is that in 8 years of Java, all the necessary C, C++ libraries are already ported to Java. They are ready to be used. Go to Sourceforge and check them out if you want to.
Before you go off on a tangent arguing that Java is not slow, you need to consider that your definition of slowness is completely relative to the type of programming that you do. Java has a significant load-time penalty, as well as the overhead of the virtual machine itself and the translation that must be done to machine code. Additionally, many of the features of Java have to handled at run-time as opposed to at compile-time
Same with .NET crap. All VM based frameworks suffer from these things. The thing to consider is that available HW is just became suitable to use VM based frameworks. And cross platform compatibility is just gaining popularity thanks to Linux and MacOSX. This is why Java projects are popping like mushrooms all over the world.
Trying to write a kernel or a device driver in Java would be ludicrous, but it would be great for writing web applications. This is not to say that Java is a *bad* language, just that while it is useful it is hardly the One Language to Rule Them All.
Of course. Try to write a kernel or device driver with .NET. Java is not suitable for that purpose of course. First of all, device drivers are platform specific code. Not suitable for VM based environments. Please come to your senses. But for the projects suitable for Java, it fucking rules as a language to bind them all. Every project manager knows the advantages of having a single language known by developer teams. .NET is the same thing. .NET’s supported language is C#. MS wants everybody to use C#. But they had to support their legacy languages to not to loose the Windows programmers. That is why VB.NET for instance do not have all the capabilities that C# has, although it could if MS wanted, since all languages of .NET are based on MSIL.
C# has the potential for much better support for other languages because of MSIL; the same .NET runtime can run code from a large variety of languages and does not incur the inconvenience of a “translation” layer.
Yes, .NET’s VM spec is more generic than Java’s. But, once again, it is not generic enough to support all the languages around, simply because the variety is overwhelming. Can you show me a Cobol .NET implementation which is 100% Cobol compatible? No, because it is not possible. So, genericity my ass.
It can statically compile applications for a user’s platform as it is being installed, or it can dynamically recompile them. Are both of those capabilities standard in the Java language? No, you would have to find a VM which does that, and there currently are none.
First of all, it is perfectly possible to write such a JVM. Maybe it will be written one day, but it is not important, since there are Java source to native platform compilers around. For instance, Excelsior Jet is FANTASTIC on Windows. Check it out here: http://www.excelsior-usa.com/jet.html Or, you can use GNU’s GCJ, http://gcc.gnu.org/java/ , for producing Linux or Unix native compiler. So, .NET’s “compile applications for a user’s platform” feauture is just a marketing bullet. Not important at all.
The .NET CLR code is likely to be already loaded in memory during the entire session because future Microsoft operating systems will no doubt be incorporating the technology. Also, many Windows developers are switching to it. Whether you like this or not, load times will be significantly lower for .NET applications than for Java applications on Windows, and this is as good as a feature when it comes to Windows developers.
(The situation will likely be reversed on Solaris with the Java VM being loaded nearly all the time, but then again it would be hard for a company to successfully launch a major desktop application only on Solaris. o-0)
This does not mean much. Java’s Tiger release will contain shared JVM implementation. JVM runtime will be loaded only in the first Java based program. Even if not, it doesn’t matter much, since I do run a program for once, and use it for hours..
What are all the improvements that you are so quick to label as “not so important.” And important to whom? You? Or people developing other kinds of applications for other reasons than you? Why do you say those improvements are not important?
The things such as autoboxing etc. I know C# quite well. And yes, I really think that they are not crutially important for me to drop Java, loose 8 years accumulated ready to use code, and loose WORA. There are three reasons. First, I found some “improvements” quite useless, even dangerous. Such as pointer arithmatic and operator overloading. Second, many of these features and even more will be added to Java in its next release. Third the IDE’s with refactoring capabilities already eliminate monotonous code writing to the extend much much higher than C#’s syntactical sugary improvements.
One has to wonder why many in the open source movement so vehemently oppose competing projects. I should think that people who are interested in freedom of choice would welcome competition from all comers, whether they be Miquel De Icaza or whomever. Why should we hate him for choosing to spend his time doing something that he likes? Is he spending his time on public forums telling you how to spend your time?
I do not hate Miguel de Icaza. I just think that he is spending his time and energy to a useless crap, since he has a big ego, thus he is stupid. Indeed, I like having fun with people who I think are stupid.
One wonders why Java was ever invented when at the time it was little more than C++ with some new syntax, and interpreter, and a garbage collector tacked onto it. Maybe one day it will occur to you that people might *like* a different language and that someday that different language will become better than yours. You are in the same situation as those with which you argue, except that you benefitting from eight years of research and development on your language of choice.
Well, Java is fundamentally different than C++. Read my related comment above please. Other than that, I agree that one day will come and there will be a new language and framework on the horizon, and it will be the time to leave Java and move on to the unknown seas. But, I learned .NET quite well, and I know that .NET is not it. It simply is Java like VM framework with a primary language which is clone of Java. Thats all.
Is a person a troll when they keep making insulting remarks and not addressing the points of those with which he is discussing the situation?
I did not make any insulting remarks. If you call me troll, you are the one making the insulting remarks, and I will reply back. I am not a troll. AND, I always addressed the issues being discussed, bullet by bullet. Show me an example where I didn’t.
More importantly, why do either of them do it, and why is anyone discussing it in the comments section of an IT-related news post?
The harm and the insult of blasphemy – regardless of whether an atheist or religious person does it – is that it is taking something that someone cares about and degrading it to the level of a cuss word. Need we mention the “N” word? It is the same thing because it degrades something that black Americans care about – their self-esteem – and degrades it in a senseless expression of hate.
People should constrain their discussions to things that have positive intellectual and/or emotional content.
> There is no need to rediscover the wheel null pointer. Please use your mind. If there was 5 such
> frameworks not so much different than each other should we support all of them?
(The statement “please use your mind” is not an insult…?)
This discussion is not about which is currently the best development platform; it is about why you are insulting people who think that they can create a better development platform than Java. That is future tense, and yes, it will take years. Nobody is demanding that you support all of them. The only thing that I ask of you here is to not demand that everyone support your platform.
> Wrong. C++ introduced object oriented paradigm to the C world, which was dominant at that time.
That is exactly what I said. Apparently, you misinterpreted the prepositional phrase “to C” which is part of a long chain of modifiers on the verb “introduced.”
> (Note that I do not claim C++ was the first language that introduced oop).
You said that it was a new paradigm, not that the paradigm was new to C.
> C++ also had important improvements over C, but unfortunately had nightmarish bug sources, such
> as operator overloading.
Operator overloading has never been a nightmarish bug source for competent C++ programmers; it is, in fact, one of the language’s best features, and it works very well with templates. It is due in no small part to both of these features that C++ programmers do very little explicit memory management.
> Yes, but the main reason for the shift was object oriented programming idiom. Otherwise, it would be a different version of C, not C++.
If I concede that point, then by your own logic Java is just another version of C++ because Java did not introduce a new paradigm.
> Completely wrong. First, it eliminated lots of C++ features creating bugs,
Features do not create bugs. Incompetent programmers using features create bugs. Error-prone features make it easier to create bugs, but operator overloading is not especially prone to bugs.
> such as operator overloading, pointer arithmatic, weak type safety, etc
C++’s operator overloading is one of its best features. Pointer arithmetic is absolutely necessary for performance critical applications. Weak type safety is an artifact of C, not C++.
> Second, it introduced true WORA by introducing VM based framework and garbage collection.
It introduced a nightmare that promised a lot and delivered little. Only after years of changes to the language was this problem resolved. You made this point for me in an earlier comment when you responded to my list of common misconceptions of modern Java.
> Third, it was designed by new technologies and already existing common techniques in mind, such as GUI,
> Internet, Networking, Multithreading etc.
I have never heard of a GUI, the Internet, networking, or multithreading designing a new language. If by “designed by” you mean designed with these things in mind, then yes, Java added a rather large framework. This framework did not occur overnight, and some parts of it are just now becoming usable in their standard (or as you might put it, non-confusing) forms. In particular its GUI support was terrible (horrible fonts, colors, funny-looking widgets, poor performance, and frustrating bugs). Its multithreading support has always been overly simple, and there was nothing ground-breaking about it.
> Those things are included in the language, so, there was no more confusion.
The existance of third party tools in the C++ community does not cause confusion amongst competent C++ programmers.
> Java introduced completely new paradigm.
Java’s new paradigm was…was…uh, the coffee programming paradigm? Let’s see now, there is object-oriented programming, structural programming, procedural programming, generic programming, modular programming…no, I still cannot think of a programming paradigm introduced by Java.
> Wrong. I’ve completed many projects using JNI (Java Native Interface) successfully.
Wow, you should be an industry analyst. You *personally* start some new projects in Java, and suddenly that proves that there will be a *wholesale* shift in C++ programmers to Java programmers.
> It works quite slow, but thats the way these type of linking works. .NET’s mechanism is also slow.
Wrong. .NET supports the notion of “unsafe code” which can contain pointer arithmetic and so on. The only reason it is labeled unsafe is that the .NET runtime cannot automatically verify its integrity.
> Some projects stayed on C++, since they were speed intensive.
Exactly what I said. Thanks for the confirmation.
> .NET is also slow.
See previous rebuttal to this statement.
> So, speed intensive projects will not migrate to .NET anyways.
Wrong.
> Another point to consider is that in 8 years of Java, all the necessary C, C++ libraries are already ported to Java.
The existing C and C++ libraries work with .NET applications, and the vast majority of Windows C or C++ programs can be compiled for .NET and MSIL *unmodified*.
> They are ready to be used. Go to Sourceforge and check them out if you want to.
So who cares? Must everyone use Java just because it is available?
> Same with .NET crap.
.NET is not crap. It is a framework.
> All VM based frameworks suffer from these things.
Not if the VM allows for some non-VM code to exist in the program.
> The thing to consider is that available HW is just became suitable to use VM based frameworks.
Yes, VM-based code has a lot of unnecessary overhead.
> And cross platform compatibility is just gaining popularity thanks to Linux and MacOSX.
Is that why you hate Mono so much? Oh, I forgot – you do not hate Mono, you just derive pleasure from making fun of it. *winks*
> This is why Java projects are popping like mushrooms all over the world.
So are projects from other languages. It is a daily occurance.
> Of course. Try to write a kernel or device driver with .NET. Java is not suitable for that purpose of
> course. First of all, device drivers are platform specific code. Not suitable for VM based environments.
> Please come to your senses.
First you confirm my point and then you tell me to come to my senses?
> But for the projects suitable for Java, it fucking rules as a language to bind them all.
So?
> Every project manager knows the advantages of having a single language known by developer teams. .NET
> is the same thing. .NET’s supported language is C#. MS wants everybody to use C#. But they had to support
> their legacy languages to not to loose the Windows programmers.
First, logic dictates one language can never be the best language for all programming tasks. It would need an infinite number of constructs and an infinite number of implementations from which programmers can choose.
Second, Microsoft is not pushing C# for everyone. Some of the C# users within Microsoft feel that way, but then so do many C++ programmers in Microsoft. Its official position, however, is that C# is designed primarily for developing web applications and that it is not intended to replace any of the other languages. For the first time in years, Microsoft is introducing one of the most standards-compliant C++ compilers on the market.
> That is why VB.NET for instance do not have all the capabilities that C# has, although it could if MS
> wanted, since all languages of .NET are based on MSIL.
I doubt it.
> Yes, .NET’s VM spec is more generic than Java’s.
Exactly.
> Can you show me a Cobol .NET implementation which is 100% Cobol compatible? No, because it
> is not possible. So, genericity my ass.
First you say that it is more generic than Java, and then you say “genericity my ass.” Which is it?
> First of all, it is perfectly possible to write such a JVM.
I never said that it was not impossible to write a VM that statically compiles the code as it installs the application. I said that one does not exist right now.
> So, .NET’s “compile applications for a user’s platform” feauture is just a marketing bullet. Not important
> at all.
It is not important to be able to optimize a software application for an individual user’s hardware? What kind of software do you write, anyway?
> This does not mean much. Java’s Tiger release will contain shared JVM implementation. JVM runtime
> will be loaded only in the first Java based program. Even if not, it doesn’t matter much, since I
> do run a program for once, and use it for hours..
>
> The things such as autoboxing etc. I know C# quite well. And yes, I really think that they are not
> crutially important for me to drop Java, loose 8 years accumulated ready to use code, and loose WORA.
So you expect everyone else to be in exactly the same situation? I do not run any Java applications, nor do I have anything more than the outdated Microsoft Java VM, and I strongly suspect that many Windows users will be in a similar situation.
> There are three reasons. First, I found some “improvements” quite useless, even dangerous. Such as pointer
> arithmatic and operator overloading. Second, many of these features and even more will be added to Java
> in its next release.
They are useless on .NET and yet when they are added to Java they will form a reason to prefer Java over .NET?
> Third the IDE’s with refactoring capabilities already eliminate monotonous code writing to the extend much
> much higher than C#’s syntactical sugary improvements.
I would not know about that, nor would I care, for I use neither of the two languages you are discussing.
> I do not hate Miguel de Icaza. I just think that he is spending his time and energy to a useless crap,
> since he has a big ego, thus he is stupid. Indeed, I like having fun with people who I think are stupid.
*rolls eyes*
> Well, Java is fundamentally different than C++.
So is Smalltalk.
> Read my related comment above please.
Your related comment above was nonsense. I am still trying to figure out what programming paradigm Java introduced. Perhaps it is the fill-the-standard-library-with-everything-under-the-Sun paradigm? How does one do fill-the-standard-library-with-everything-under-the-Sun modeling? Are there fill-the-standard-library-with-everything-under-the-Sun design and development tools? How would one model a banking application in the fill-the-standard-library-with-everything-under-the-Sun paradigm? Wait for Sun to implement all the classes you would use into the standard library? Or do Java programmers use the object-oriented paradigm in their daily work?
> Other than that, I agree that one day will come and there will be a new language and framework on the
> horizon, and it will be the time to leave Java and move on to the unknown seas. But, I learned .NET
> quite well, and I know that .NET is not it. It simply is Java like VM framework with a primary language
> which is clone of Java. Thats all.
When are you planning on answering the same question I asked in my first post and have been asking in every subsequent post? Which is, how do you know that .NET will not develop into something better than Java? Did you see a fortune teller? Did it come to you in a dream? Did you read it in a religious text? Did you build a time machine? Did stone tablets saying this fall out of the sky? How do you know that .NET will not develop into something better than Java? How?
> I did not make any insulting remarks.
You insulted someone for working on a framework that you did not like. You said that he had a big ego and that he is stupid.
> If you call me troll, you are the one making the insulting remarks, and I will reply back. I am not a troll.
I did not call you a troll. If you had not responded to the same fundamental point I have been making since my first post in this discussion, you would have been a troll by definition of the word. Luckily you did respond to it…or at least you will. Well, I can dream…
> AND, I always addressed the issues being discussed, bullet by bullet.
The number of irrelevant “rebuttals” is quite large.
> Show me an example where I didn’t.
I pointed them out when and where they occurred.