While a 2-year-old project to develop an open-source version of Microsoft Corp.’s .Net Framework is making progress, it’s still a long way from prime time. “Yes, of course it’s late,” said Miguel de Icaza, Mono project leader, last week. “We were supposed to release the ECMA components, but the project has grown.” Some Mono observers say they are watchful of Microsoft in this situation, wondering whether the software company is merely tolerating Mono now. “They will either outpace it with rapid-fire revisions to .Net or simply let Mono languish,” said an anonymous observer. Read the article at eWeek.
I can’t say I know much about .Net framework but I don’t think it could be that groundbreaking. World of computing already is full of good ideas, and Microsoft was never that innovative.
Thus I don’t see why someone else, especially a company with open source ties, are backing the .Net initiative. Even if Mono turns out to be great, that would make some other operating systems that Ximian does not support less appealing. Moreover a half-baked support is even worse than no support (Oh that linux system trying to imitate .Net but always crashes).
it’s obvious that microsoft wil kill
mono at any time with all the patents they have. it’s just a matter of time if Mono takes off and becomes popular, which i doubt. In the best scenario, microsoft will port .NET to unix platforms.
People have been saying the same thing about Wine for over 10 years. Even when it was instrumental in them losing the Munich city contract, MS haven’t touched it – because they can’t.
You think after over a decade of work they don’t have any patents on parts of the Win32 API? I can tell you that they do. Wine implements it regardless. The patents are worthless, and now there is commercial support for these projects, groundless lawsuits cannot break them either.
Of course .NET will be playing catchup for a long time, just as Wine is. But, that doesn’t make it any less necessary. Unlike Wine however, Mono is already useful for GTK based applications today. I expect we’ll start seeing it deployed throughout open source land soon enough.
Ive been using mono for over a year now and i think its really stable and good for most applications. go-mono!!!
I don’t think it is obvious that microsoft will kill mono. If they tried I suspect there would be such a fuss that it would damage microsoft’s reputation even further, something they can’t easily afford at this point in their evolution.
My only two gripes with Mono are: 1) that the installation is still too complex for windows developers who are more use to getting on with the job rather than fiddling around. GTK# in particular is not easy to install and get working, it would reduce the activation barriers we we have a click and go setup program.
2) GUI support is still very poor, without which I don’t see any point in using it (and GTK# is nowhere near as easy to use as Windows.Forms for example). If I want portable console apps I can use C. What I would really like is a modern mainstream means of developing portable GUI apps. Java is not an option because I’m not fond of SWING (I know there is SWT, and that’s still an option), it’s look, it’s performance and it’s approach (too much use of MVC), also I’m not a big fan of Java’s event model, I prefer the .NET, QT, Delphi etc approach. I would like an easier route and mono could very well be that option once it’s complete.
“and GTK# is nowhere near as easy to use as Windows.Forms for example”
That’s a pretty big statement. Do you have any code examples to back up your claim? I don’t know about Windows.Forms but GTK+ is a 100 times easier than the Win32 API for example.
*cough* Parrot *cough*
Windows.Forms is not Win32 API. I agree with you 100 percent that GTK# is definitely easier to use than Win32 API. Windows.Forms however has the edge over GTK#, perhaps because I’m more familar with the approach that w.forms takes, very much like the Delphi VCL, in fact I wouldn’t be too surprised if the VCL didn’t have a significant impact on the design of windows.forms.
One key difference for example is the use of containers to organise components on a form. I’ve seen gtk folk claim on a number of occasions that windows programmers use coordinates to position components, I’ve never done that in the last 6 years and I can’t imagine many other gui developers do either! Some of us did take that approach in the early to mid 90s but not anymore. We have properties such as anchors and alignments which make layout quite trivial and pretty much a non-issue. Not only does it make form layout simple but components will automatically resize themselves and stay in their relative positions when a form is resized (including at design time). This requires no programing input at all except to set one or two properties, this means we can concentrate more on the back-end code which is where all the added value is. With a good visual IDE, form design is trivial. I’ve seen Java programers take weeks to design forms when if they’d had the right tools they could have done it in an afternoon, talk about productivity!
So yes, I do think that windows.forms and all it’s related siblings are easier to use than gtk#. But I do agree that gtk# is much much easier to use than the old win32 api.
Perhaps I overstated however how easier windows.forms was to use relative to gtk#.
If you are referring to something like the Anchors system the Delphi VCL used, I personally find GTK containment based layout far superior. I always found Delphi anchors and alignments very hard to use, some components would resize, others would not, and obviously labels changing size etc didn’t work too great.
SWF also has the disadvantage of not being portable, and not having any decent stock artwork.
About java programmers taking, gasp, weeks to design a form ..
You DO know that there are perfectly working gui designers around ? Like the one in Netbeans…
>> People have been saying the same
>> thing about Wine for over 10 years.
And what exactly has Wine achieved in 10 years? Other than notepad, there isn’t any Microsoft App you can decently run under wine. NOT even one!!
If the wine people are merely scratching an itch or trying to satisfy their curiosity, I can respect that. If they think they have done anything useful, I would have to disagree. It takes as much effort to get IE running under wine as it takes to write a new native browser.
>> I don’t think it is obvious that microsoft will kill mono. If they tried I suspect there would be such a fuss that it would damage microsoft’s reputation even further
>>
Aw .. is microsoft’s reputation really damaged? Looking at their income and growth, you will never guess that! Anyway, there’s no telling what Microsoft will do, anymore than you can tell what SCO will do. Microsoft is healthy and has no need to rich folks. If they ever become pressed for survival or income, only God knows what they will do.
If this is anything like the C++ experience, the addition of generics to both Java and .Net will eventually complicate both languages to the extent that fully compliant, optimized, bug-free implementations will be next to impossible to achieve. Even if Microsoft eventually sees the advantage in having Mono around, Mono’s compiler will probably end up a different set of bugs and quirks from Microsoft. It’s not hard to predict whose platform customers would rather standardize around.
What would you rather use for your ASP.NET web applications? A cheap and secure debian system with mono and xsp <http://go-mono.com/tutorial/html/en/aspnet/installation.html> or a bloated and expensive server system like windows xp with thousands of undocumented services like “universal plug and play” running in the background and IIS as a webserver?
I think from a cost and security standpoint the linux/mono solution wins hands down. I can’t wait for mono 1.0.
look at WineX. It runs loads of modern games.
Look at Crossover Office. It runs MS Office, Photoshop, etc.
All because of WINE.
“And what exactly has Wine achieved in 10 years? Other than notepad, there isn’t any Microsoft App you can decently run under wine. NOT even one!!”
Please don’t make an ass of yourself by saying such silly things. Check out http://appdb.codeweavers.com for yourself. Many Office components run acceptably well. Besides, it doesn’t matter whether Microsoft wrote the app themselves, or not; *any* popular application that Wine can run reduces the necessity of running Windows, which Microsoft obviously do not want.
“It takes as much effort to get IE running under wine as it takes to write a new native browser.”
*Yawn*. Lol! Rubbish, ridiculous hyperbole again.
“If they think they have done anything useful, I would have to disagree.”
Even if one were to regard the official Wine application itself as utterly useless (which is blatantly false, but whatever) all of the commercial Wine derivatives depend very much on Wine for their success, thus I personally think that Wine should get a share of the credit. The Wine code has proven very useful to TransGaming, for example, who in turn have been a boon to the nascent Linux gaming community. The CodeWeavers Crossover Office app is also invaluable to those who *must have* one-hundred percent Office compatibility.
“Aw .. is microsoft’s reputation really damaged?”
The average user probably doesn’t care that Microsoft is a convicted monopolist, but Microsoft themselves certainly do. They’d be foolish to openly change their APIs purely to destroy the competition, so soon after such a high-profile settlement. There are many who feel that the DoJ “punishment” was far too weak, and the EU is still debating whether or not to have its own antitrust trial. So, yes, their reputation is most certainly damaged… in the eyes of the regulatory authorities, at least.
I run Internet Explorer all the time using it. It’s capable or running apps that make totally insane usage of the APIs. If you know what you’re doing, Wine can be a powerful tool.
Yeah, most apps need some elbow grease on the code to get them working. Normally, one or two bugfixes is enough to make an app work perfectly well.
So….. I don’t really know what your point is. It’s a tool. People use it. If you want it to be easier, come help us out.
I use C# on Windows because that is going to be “the” language in the forseeable (sp?) future. If mono can let me leverage at least some of my C# knowledge that is a good thing.
I prefer Java though.
wine used to enable you to run a windows program if you are determined enough. now it runs many programs out of box. your wine bashing is completely groundless.
it is also very fast (read: almost as fast as native windows) on 2.5.75 (probably all newer 2.5.x kernels, but I didn’t test wine on any other) for reasons unknown to me.
Playing catch up is not a problem. C# and other <X>#s, bytecode interpreter are easy targets: they can’t move fast or they cease to form an attractive platform. That is somewhat true about libraries too. Sure, now all the #s and libraries do move fast, but as theya re deployed there will be a unpleasently high amount of inertia.
The biggest problem with mono is that many libraries in .NET framework are not free to use outside windows or port. Either their functionality will have to be replicated by people who haven’t seen their source or mono will not be able to compile many .NET programs (without a lot of work- that is) designed for windows. That will be tought. If mono people ever manage to get a compatible version out of the door, they will not be (too much) bothered with playing catch-up.
Pretty sure it is up to the Mono developers and users if Mono “languishes” or not.
> it’s obvious that microsoft wil kill mono at any time
> with all the patents they have. it’s just a matter of time
> if Mono takes off and becomes popular, which i doubt.
> In the best scenario, microsoft will port .NET to unix
> platforms.
I don’t see why kiling mono will be such a problem (which may not happen). Soon there will be 5 million Java developers worldwide. .NET’s creators can only dream of such numbers.
As for a port of .NET to *nix platforms. Do you really want MSFT code running on your commercial *nix, *BSD or Linux distro? I certainly don’t.
>About java programmers taking, gasp, weeks to design a >form ..
>You DO know that there are perfectly working gui designers >around ? Like the one in Netbeans…
Yes of course I do, I’ve used them. But for what ever reason the Java programmers I’ve met, and I guess it not much more than 10 of them, hate the fact that something else is generating code for them and prefer to do it by hand even it it might take much longer. Note that even now eclipse doesn’t have GUI designed yet sharpdeveloper has, different mindset I think.
>If you are referring to something like the Anchors system >the Delphi VCL used, I personally find GTK containment >based layout far superior. I always found Delphi anchors >and alignments very hard to use, some components would >resize, others would not, and obviously labels changing >size etc didn’t work too great.
I’m not sure what you find hard about them, I think they are quite trival to use – let face it VB programmers have something similar so it can’t be that hard. I’ve never had any problems with them. I think achors may have been a big buggy when they came out (if I remember right), I’ve not heard of anyone complain since then, I use them all the time. They’re expremely quick to use and since design time is live you can see exactly what effect you’re getting. I think it boils down to what ever we’re used to.
Changing label size while resizing a form is not a common thing to do under windows, I can’t remember off the top of my head any application that does that. I’m not a linux user so perhaps it is more common there?
1) Mono seems to be moving pretty fast. SWT port has already been completed (Sharpdevelop will be then ported to SWT), GTK# is getting towards the psychologically important 1.0 and the many database connectivity pieces are moving to maturity. It will be interesting then to see how VB and other parts mature.
2) If you look at the status, the core is, on average, 75-80% complete, the user interface side is on average 85% complete and as for the DLL clones, these can be provided by native dlls that come with windows applications, however, it is desirable to have a drop-in solution so that the wine community is not reliant on the generousity of Microsoft.
No one seems to understand that, in true opensource fashion, Ximian isn’t trying to compete with MS, they are simply scratching their own itch. Evolution was rough to program because the Bonobo/Corba technology used in standard Gnome programming practicly requires the use of corse interfaces. If you look at the Bonobo .idl files you will see a small number of high-level methods. Corba works best under these conditions.
.NET allows Ximian to program with far richer interfaces. It also allows them to use any CIL (think I have the right acronym…) compliant language to access those interfaces and the ability to extend existing codebases, such as Evolution, with minimal hassle.
They could either engineer their own solution to these (and other) problems or use an ECMA published standard. Why do we persecute those who re-invent the wheel, except when MS invents the wheel?
(And yes, we all hate MS’s business practices and the unfortunate trade-offs that stem from that, but they still seem to employee some smart people doing interesting things…)
And even if MS “breaks” Mono’s interoperability, Ximian still gets a nice solution to their technical problems.
Not to mention, who could resist the chance to embrace and extend an MS technology? :>
Chris
I think the acronym you are looking for is CLI:
CLI = Common Language Infrastructure
CLR = Common Language Runtime
MSIL = Microsoft Intermediate Language (aka bytecode)
In terms of supporting multiple languages. Depends, some languages are supported, others are butchered to the point they are no longer recognised. The idea of supporting these languages isn’t because Microsoft is nice, but they realised that people aren’t simply going to re-write their whole code base on C#, so they needed the ability for existing code to work with new. You could almost compare it to Carbon on the Mac.
As for embrace and extend, well, Ximian has already done it with POSIX socket extensions which Windows doesn’t support unless the user installs some nasty, cheap workaround.
Without making a comment about Mono’s general appeal, Chris is right about Ximian scratching their own itch.
Ximian is confident that Mono will be worthwhile in terms of efficiencies and enabling technologies it will bring to Ximian’s own projects. It’s a tool they feel they need.
Ahh, thanks for the refresher, I’m too lazy to google for it.
Yes, the multiple languages is a bit of a bit of a stretch. I started to get into a discussion of the lack of interplay between Linux applications and the extent of scripting support. Since the interfaces should become more nimble, I can see some of the slick integration that Outlook allows and would like SOME of it to be possible with Evolution (with better security, of course). Not too far from this, it could also make possible easier and more powerful scripting.
I have the metadata-demo.py script that someone on the mailing list cooked up in the Eugenia/mime script thread. It’s impressive not in what it does, but the possibility it shows. Corba opened up a lot of doors, but it has limitations as well. If mono enhances Gnome in this regard, for example finer, more powerful interfaces, it’d be happy.
But there is more. For instance, Nat’s Dashboard project and the speed it is progressing seems to be attributable atleast partially to mono and C#. (That has shown up here, right?) It seems to be in early development, but it should show off some interesting attributes of mono. ( http://nat.org/dashboard )
The language aspect is certainly debatable, but I don’t think that was the main attraction Ximian has by any means…
Chris
There was an interesting interview with Miguel and the main reason for developing for mono was based around his fondness of the C# language and its clean design. Slowly java and VB support has been tacked into it just recently.
One has to take into account that this is a Ximian lead pet-project because they as a business see it as part of a strategic plan they are unrolling when you take into account their services wing plus the recent release of Ximian GNOME 2.0.
In terms of patents, I really can’t see Microsoft exercising them. Firstly, Ximian has shielded itself from any anti-GPL by licensing the whole framework under the MIT/X11 license. If they suddenly turn around and ask for payments, what will happen? they can’t pay because the whole project is an opensource, not-for-profit product. They MAY charge a fee for products that run ontop of it, however, the question the has to be asked whether they will charge their Windows developers who don’t use Microsoft’s VS IDE? There open a big can of worms.
I am not sure if mono or .net can ever catch up to Java. There is a lot of catchy phrases from M$ marketing but in the end .Net or Mono is like any M$ solution similar to VB. In enterprise .Net or Mono has no run. M$ always has mischivous plans with .Net and Mono since java has such a big following.
the point is that in the event that Mono becomes popular enough to be a commercial threat, microsoft already has a wide patent portfolio on the whole implementation ready to cripple the project or can remove compatibility. The main idea behind .NET is to have functionality that is only possible using windows desktops and windows mobile devices WITH windows servers. any other platform in there is a lost sale for microsoft.
I guess you haven’t looked at Microsoft VERY expansive patent portfolio. They own a number of crucial OpenGL patents, but you don’t see then exercise it. If they did, sure, they could make money, but what would the net result be? people could adopt SDL instead and they lose out both ways.
Until I see Microsoft exercise their patent power, I willing to give them the benefit of the doubt. btw, I don’t think they would anyway. It isn’t as though mono is going to rename itself .NET for Linux or something. If they did that, then they would be in deep crap, however, they’ve stuck to the path and I don’t really see Microsoft worrying too much.
I still don’t see the big difference to Gtk GUI design. Containers and Glade might be slightly confusing at first, but you can quickly get used to it and then it’s very powerful, flexible but also very quick. Many people use Glade to quickly mockup a layout just to show other people what they have in mind. I don’t know how it works with anchors, but containers aren’t that bad IMO.
Now, if Microsoft sues Mono, they are risking the second biggest server market. They also be risking the 3rd biggest desktop market, soon to become the first biggest desktop market, a lot of embedded products, etc. Now would Microsoft want to port .NET themselves with extra costs with paying developers to do it, or just let Mono run along? Business sense dictates the later.
In addition to that, suing Mono before Java bites the dust, which would be years and year from now, if it ever happens, would be disastorous for a key segment of the market, developers wishing to develop for multiple platforms at one time. And seeing that Microsoft is only interested with the Windows platform, it would give Java a boost Microsoft don’t want them to have.
Then, of course, there is the antitrust question. If Microsoft sues, the effect back on Microsoft in the legal point of view can be far more disastorous. It is unlikely Microsoft would want to risk that even though they don’t mind .NET not succeeding.
Besides, if Microsoft starts suing for patent claims, Mono can always remove the offending part. No binary or source compatibility – so what? Mono would still make it a thousand times more easier to port .NET applications to Linux, even know it isn’t easy as executing a binary you made with Visual Studio on Linux. In other words, there would always be a market for Mono, unless of course Microsoft have patents for just about every part of .NET (unlikely).
Changing label size while resizing a form is not a common thing to do under windows, I can’t remember off the top of my head any application that does that. I’m not a linux user so perhaps it is more common there?
It’s very common when internationalizing your program, as some strings can expand to up to twice the width of the English text in some languages.
At a guess, I’d say free software (on Linux) is far more often translated into many languages than a typical piece of Windows software, but I don’t really know how i18n works on Windows.
Despite the fact that Sun did not make Java (J2EE, etc.) an Open Standard, it has become a multi-vendor technology.
This is important for ‘customers’: multi-vendor means choice.
Microsoft cannot participate in this ‘multi-vendor’ Java world for legal reasons so they need their own multi-vendor technology. (It must be at least multi-vendor in theory, else customers will feel they are locked in by choosing the technology.)
Microsoft hopes to achieve this by opening up the ‘.NET standards’. Mono makes .NET multi-vendor so this actually helps selling .NET.
.NET is a great oppertunity for the OSS community as it is a truly Open Standard. And I agree with the other reader on ’embracing and extending’ MSFT.
What to say? .NET still isn’t anything special. It does point the way forward in terms of being a language-integrating structure. We should all work towards that. That said, embedded devices, servers, mainframes and all other systems aside from desktops are heading towards Linux/BSD at speed. There is even starting to be a fair degree of desktop penetration.
.NET ultimately does and will continue to suffer from the lack of cross-platform portability. Realistically, Java really only achieved that over the past two years or so, when we could be sure that JVMs on different platforms would act in roughly the same way, and everyone had either 1.3 or 1.4 JVMs, which we didn’t have to recompile every bit of code for.
Mono will not fight such an up-hill battle with .NET, simply because Microsoft understand the need to produce a stable development platform. Every time they change something against Mono, they change it against their developers. Mono would have a problem if they broke compatibility between versions of .NET, but at the same time, that would wreck developer’s abilities to have their code run on any .NET install. Not to mention that the installations of the .NET framework are still low, and you can’t afford to write off any of that userbase.
From what I have seen, aside from the Grid stuff (which seems interesting, although under-realised at this point), Java is slowly dying. A lot of the old C++ people who migrated to Java are making their way back and looking towards new toolkits, such as QT or Wx.
Imho, current languages aren’t up to snuff. .Net does well, but will never be the language of the future, due to the lack of cross-platform support in perhaps the era of cross-platform diversity and exploration. We do need a new language, which I believe will begin development within the next three years or so, for release in five, if it is open source. For closed code, MS have their language, Sun have theirs, so the only other big player are IBM. With their support for OSS, the future looks bright. But it will have windowing abilities across multiple platforms, image/sound tools, threading, sockets/net access, etc. It will also use a multi-language compiler/VM and include heavy native optimisations. It will be OO, but with procedural options, and the use of hybrid code will be considered standard (too much OO is a bad thing…). Expect regular expressions included too, and abilities to deploy the language as CGI to be very easy. It will be an internet-focussed language that will use local sockets for inter-application communication. It needs doing.
And yes… ::cough:: Parrot ::cough::
atici (IP: —.acedsl.com):
can’t say I know much about .Net framework but I don’t think it could be that groundbreaking. World of computing already is full of good ideas, and Microsoft was never that innovative. Thus I don’t see why someone else, especially a company with open source ties, are backing the .Net initiative.
So you’re making a statement about a framework you never tried, based on your feelings for Microsoft?
> If they did, sure, they could make money,
> but what would the net result be? people
> could adopt SDL instead and they lose out
> both ways.
libSDL does not have its own 3D engine.
If it offers a 3D API, it is build upon OpenGL.
It does however add multimedia functionality,
and strives to cover something similar to the
DirectX API, which offers much more than 3D
graphics support.
If you are looking for really modern languages, forget about all that OO and procedural stuff and look for functional programming languages.
Strongly typed functional languages with provisions for modifiable data are every bit as efficient as C++, often even more efficient since the functional paradigm allows for much more radical optimizations.
Since most data structures are read-only, you can write massively parralel software without ever using explicit threading. And since a functional program uses recursion, it is often very easy to actually prove that the algorithm works using induction.
There might not be a silver bullet, but functional languages with a rich type system and optional mutable data such as clean come very close. It might not be possible to teach functional programming to VB “Programmers”, but a single functional programmer will easily be as efficient as 10 VB “programmers”.
One nice thing about .NET is that since it is language neutral, it will lead to much more innovation in the languages used, since you do not have to write a completely new framework for each new language to make it usable.
I think you all are missing the point you keep droning on about how MS will crush mono at any time. But you are failing to look at a more obviouse reason why MS would never do that. THEY WANT TO CRUST JAVA. And if there is an Open Source alternative that runs well on both systems developers are going to start using that. Because all of us Java developers know that no matter what Sun says about portability, the old saying still holds true, “Code once, test everywhere”.
As we all know the source for Java isn’t really open, just like .Net. But as soon as Sun is out of the way nobody will be there to further the cause of Java. Then Microsoft can expand in to markets dominated by Java such as embeded devices (cell phones, etc.). Then after that if they so please they can start fighting Mono and Wine. Then Linux will become less useful to the corporation and they will be forced to adopt Windows.
Now I am not saying this is an over night plan, at least it is a 15 year plan, but I think the main goal of Microsoft keeping Mono alive is to crush java. I mean come on Mono already runs nativly in more OS’s than Java does. (FreeBSD, Linux, Solaris, etc.) FreeBSD still needs the Linux runtime to run Java under it. Mono doesn’t.
My 2 cents.
“If you are looking for really modern languages, forget about all that OO and procedural stuff and look for functional programming languages. ”
OO has nothing to do with procedural or functionnal. Functionnal programming languages can be OO ( LISP, OCAML ). Functionnal programming languages are not more modern than the procedural ones. LISP is 10 years older than C, for example.
And people don’t use programming languages because they are good, but because they are widely used. Java, C, C++ are rather crap languages, in a way . But firms are not interested in languages; rather in what you can do with them.
Actually, being modern has nothing to do with it. Sure, Lisp is hitting 40, but its still the most feature-filled language out there. Have you seen the latest C++ 0x proposals? Stuff that’s being proposed, like metacode and Bjarne’s XTI (Extended Type Information) are Lisp constructs slightly watered down for the zero-overhead nature of C++. Personally, I’d be happy to see this stuff get in. The STL and its algorithms have given C++ programmers a glimpse of functional programming, and this stuff will help make it a viable style in C++’s multi-paradigm model.
PS> Performance of functional languages isn’t as good as the original poster makes it out to be. On simple, straightforward code, functional languages like ocaml will attain C-like speeds, but on more complex code (specially code that actually uses a functional style, instead of using the iterative constructs of some functional languages) they’ll be significantly slower. The main problem is that functional constructs tend to lead to a lot of data copies, and that most functional compilers (except maybe Clean and OCaml’s) suffer from poorer back-end code generators than are present in GCC.
I surely agree with that, but saying that functionnal programming is more modern than procedural hit me.
I didn’t mean that LISP and other functionnal languages are bad because they are old
But I don’t really believe in the spreading of functionnal programming everywhere, because, well, functionnal demands recursive reasonning, and except from trivial examples or special cases, most people cannot handle recursive reasonning ( myself included ). If it was meant to spread around the world, it would have already been the case ( sorry for the English, this sentence doosn’t sound very English ), as this kind of languages are in fact as old or even older than C/C++/java.
That was my reasonning behind “functionnal programming is not new”.
>>Changing label size while resizing a form is not a common >>thing to do under windows, I can’t remember off the top >>of my head any application that does that. I’m not a >>linux user so perhaps it is more common there?
>It’s very common when internationalizing your program, as >some strings can expand to up to twice the width of the >English text in some languages.
>At a guess, I’d say free software (on Linux) is far more >often translated into many languages than a typical piece >of Windows software, but I don’t really know how i18n >works on Windows.
Ok, sounds like you have a valid point. To be honest I’ve never written or sold applications destined for the non-english speaking market so I can’t comment but what you say sounds quite logical.
> At a guess, I’d say free software (on Linux) is
> far more often translated into many languages
> than a typical piece of Windows software, but
> I don’t really know how i18n works on Windows.
You can be sure that Windows is at the edge at this point. And Linux is behind. You see, that Windows NT is based on Unicode a very long time and for example Emacs just now tries to this correctly, and still fails at some points. (e.g. direct input of Unicode from the OS; tested under Windows)
Also Windows has the “mirroring technique” for arabic languages.
I used VS and VB.NET now for creating a multi language program, and it worked very very well.
To the labels. Normally you specify that the labels are autosize, dependant of the content. So this is at least under Windows no problem.
The main problem is that functional constructs tend to lead to a lot of data copies
Lazy evaluation leads to less memory overhead. Is the problem deeper than that?