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?"
Ok, here http://www.gnome.org/gb
Hmmm...do you think that most programmers have never had the experience of being stuck with some flaw in, or question about, a closed-source product that could be answered by looking at the source?
My current project involves a closed-source voice recognition package. We've got several questions about the exact behavior of some API calls that simply aren't answered in the documentation...so we get to shell out kilo-dollars in support costs to get to ask questions that we could answer ourselves in ten minutes given the source. That's why my manager is completely open to open source in other aspects of the project.
On my last project, I ended up writing a replacement IPC system for the closed-source middleware that they were never able to get working, and never able to get the vendor to fix. They could have saved several programmer-months if they'd gone with an open-source product that they could fix themselves, rather than getting dragged into a morass of unsupported software.
Are these experiences so unusual?
Tom Swiss | the infamous tms | http://www.infamous.net/
Tom Swiss | the infamous tms | my blog
You cannot wash away blood with blood
imho what gives a language a future, whether it's closed source or not, are standards and functionality. if rebol can provide a good standard language that doesn't change in syntax, i feel that they then have a good shot at success. rebol looks to me at least like it has functionality down.
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
I initially read this as "See the current developing of Perl version 6 for a very good example of language that isn't good anymore."
Ha ha.
Bingo Foo
---
taken! (by Davidleeroth) Thanks Bingo Foo!
He does have a point. Even though he is being kind of a smartass :-) I do think that they are talking about compilers and interpreters not the language spec. I wonder what an open spec on a lagnuage would be like. I don't think it would work at all. I think we better just stick to open source compilers and interpreters.
-- Tyler >+++++++[-]++++.---------.+.++++.++.
There is no such thing as an "Open Source language"! Language = Syntax + Semantics. Which of these can possibly be Open Source, and what could that conceivably mean?
Your favorite
What, better error messages? Perhaps you could name a couple places where VC++ is less portable than other C++ compilers.
Reboot macht Frei.
I might have gone with a closed-but-published language, but without a language (i.e., a definition of what is supposed to happen when I type "xyzzy foo") I would be a fool to choose it. Which was a shame, because I liked what I saw. Suppose, though, I got some distance into the project and discovered that something wasn't working the way I expected. How could I distinguish between:
1. A failure in my understanding of the language
2. A bug in my code
3. A bug in REBOL
without some definition of what how each construct is expected to behave? Any assumption I make leads to trouble, especially if I expect to be able to upgrade to a later implementation of the language (which may, for example, fix a bug that was the same on all platforms to work correctly on all platforms). I have great respect for Carl, and liked what I was able to infer about his language by looking at his implementation of it. But that wasn't enough to risk the project on.
Bottom line: there may be a future for closed source implementations of languages but I don't hold out much hope for languages with unpublished, proprietary definitions.
--MarkusQ
I like open source because it gives me the feeling of control. I can modify the source to do what I want, when I want, hacking it up however it suits my need. REBOL, on the other hand goes the opposite direction. REBOL's aim is to allow a program that runs on one platform to run on any other platform, without modifications. It's a sort of unification principle that requires a high level of cross-platform consistency because it's a distributed computing technology, not just a programming language. That consistency comes at the price of openess. That's what REBOL is going after. A worthy goal.
Look around at the old versions of IBM mainframe OSes, old Solaris/BSD boxes -- many of those were still running because old apps required them. I personally have been involved with two such situations in the past two years -- one was not a Y2K situation, it was just an app written to an old API for which there was no compatibility supported in the latest version.
I think choosing proprietary technology is always a risky choice. The project using it might very well outlive the company owning that technology.
A programming language is something that require time to learn it (and I don't mean just learning the basics which is usually done in a few hours but learning how to best use it).
I try to invest my time in something that's worth it. I'll never regret my knowledge of C/C++ but the time I spent using Visual Basic (by my employers at the time choice not mine) is just a complete waste.
If you're good at debugging the tools in addition to your own code, that may be a good direction to go.
Of course, unless you're just banging out RAD, you necessarily have people who ARE good at debugging on hand.
I prefer to avoid proprietary libraries and compilers. It's not that they won't get the job done, many of them will. However, in 5 years when the software needs a revision, will the proprietary tools still be up to the job? Hove they been upgraded? Did the upgrades break your code?
There's also a need to distinguish between totally proprietary stuff and proprietary implementations of open standards. The latter probably won't cause nearly as much trouble down the road as the former.
Hmmm,
A thought Perl, Python, Ruby...
They are bigger because they are much larger general purpose languages and not just for one thing. Rebols niche is clean networking as far as I can tell. closed and open source has nothing to do with any of it. I prefer a laguange to be open but I will use it if it is good if it is not. I wrote a full GUI based picture viewer organizer, slideshow thing in Perl/Tk and it runs on Linux(which I developed it on) and Windows without any changes. I have not tested on other systems but if they support perl/tk it should run. Both of them are open source
-- Tyler >+++++++[-]++++.---------.+.++++.++.
Where is the Gnu/VB compiler?
--
Two witches watched two watches.
Which witch watched which watch?
The license isnt much different from a VB or Delphi license, you just have to pay for the Rebol compiler.
Most large corporations use only commercial compilers, so the business model is pretty sound.
Even cc in most *nix boxes dont come for free, you'd have to buy 'em separately.
The point is, once the specs are known, someone will make Grebol , so dont worry :)
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.