Is There Any Future For Closed Languages?
willmurat writes: "I read about Rebol in an article in UnixInsider months ago. It seems to me a very interesting language, with new features and trying to bring new paradigms in programming. But (always there is a but ...), it isn't Open Source and no institution is responsible to maintain that language. The only responsible party is Rebol Technologies. I'm not saying this is the right way to failure; there are examples of success following this way (Visual Basic and Delphi, for example), but I think a business strategy like that isn't good anymore. See the current developing of Perl version 6 for a very good example of language discussion. Seems to me the owners of Rebol language are limitating the popularization of that language choosing that way of dealing in this issue ... Is there any future to popularize a language that way?"
Well, if you haven't caught on by now, just look at the history of what's used, and WHY it's used, put away your GNU colored glasses, and see the world as it is. Closed source will continue to be the dominant player in programming languages, or at the very least proprietary extensions to more open languages. Most programmers just want to get their product finished, rather than zealously convert the world to open source, and so far there isn't a compelling argument to switch most people, once they realize the 'free as in beer' doesn't mean they get free beer for using OSS.
Part of the confusion here is what we mean by "closed languague". I think of three separate things:
On the last one, does anyone use Miranda(TM) any more? We used to, back in the days when we had no choice if we wanted lazy functional programming. But now we have Haskell, with at least three solid open source implementations and a number of other research platforms. Even Microsoft has taken an interest (hiring half of the Cambridge University Haskell research group).
There's a lesson in here somewhere.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
Will I retire or break 10K?
Where is the Gnu/VB compiler?
They're working on it. Or you can use Glade to design your GTK+ program's interface layout. Besides, VB sucks for real projects.
Will I retire or break 10K?
And let's not forget Microsoft Visual C, which is "more or less" like gcc in the same way that J++ is "more or less" like Java. ;)
If you were blocking sigs, you wouldn't have to read this.
Hey -
food for thought. Sometimes closed is best, at least for the initial development of a project / product. When you look at some of the current opensource projects out there, a good many of them came out of small teams of people working in a largely closed fashion until they had achieved a certain critical mass.
Some advantages of closed development (at least initially):
1> Clarity of Vision -
You all know the saying about how a Camel is a Horse designed by commitee...
2> Consistency of Implementation -
Because only one or just a few people are working on this implementation details will likely be more consistent. Ideally the source code (not that we have access to it) should look like it was written by one programmer.
3> Ease of Refactoring and Deprecation -
Because the source is only at Rebol Technologies, they have the freedom to refactor the source more easily - eliminating inconsistencies, gaining in optimization, and clarity. They can also more easily deprecate features and functions that were either poorly implemented, or not well thought out.
Opensource, despite it's manifold benefits doesn't tend to foster any of these 3 goals.
1> Clarity of Vision is sacrificed unless there is a leader who makes (in the eyes of some of the community) arbitrary decisions. e.g. Linus, and Guido.
2> Consistency of Implementation is generally not even well achieved on small commercial teams. In the world of open source, in order to do similar tasks, you might use a "for" loop, I might use a "while" loop, and still another will use a "do while". Not that this matters that much, but it can make understanding of the source more difficult than it needs to be.
3> Ease of refactoring and Deprecation is generally sacrificed in OSS projects. Once the source is available people will build code around it. You will then have trouble refactoring the code base, and deprecating interfaces - cause it could break existing code. The freedom that is afforded the end user of OSS, in turn can be used to restrict the freedom of the original coders.
I'm not saying either way is particularly bad - there is a place for both. Of course, as someone posted earlier about taking off the glasses I was reminded of the following saying:
"When the only tool you have is a hammer, every problem looks like a nail."
Opensource is the answer to a lot of things - just not everything.
- Porter Woodward
I think any language can have a future - closed source or not - if you achieve the result you want.
Many people dont care if a language is open source. They might want to produce a windows program and choose VB to develop it. If VB does what they want and they get the application at the end of it, they are happy. The same person might produce a web site using PHP. Two widly differing languages produced by widly differning communities/companies - but each suits the task in hand.
Just remember - closed source does not mean poorly maintained 100% of the time.
I would say that languages have been sucessful that have proprietary control: VisualBasic, Java, Delphi. Microsoft hopes C# will also be successful. However, what makes a language successful has nothing to do with who controls it, but with its effectiveness. C++ for example has been bogged down in standards committees for years, and yet clearly established itself due to its incredible effectiveness and inter-compatibility with C. Java failed to become to the new defacto platform for GUI but, landed a home run with net service applications. VB is just a quick way to do Windows GUI work, but its a horrible language by anyone's admission. I don't think Perl's more open approach to design has much of an effect on the user base. Perl's success is due more in part to its natural ability as a workhorse. Python's sudden rise to the scene is a credit to its natural form and cross-platform glue, not its open source. For that matter, I don't use Linux because it's open source. I use Linux because its a damn good OS and extremely cost effective. Open Source projects do not garauntee a project will be successful. It is simply an alternative model of development.
Someone you trust is one of us.