I am talking about human nature or more to the point, our animal instincts.
It just so happens that you have a misbegotten notion of "Instincts" and "Human Nature", as the wealth of papers on the fields of Ethology and Psychology would show you. You would see that cooperation is as much a strategy amongst primates (you are a primate, you know that much, don't you?) than competition. However, unfortunately for you, I won't be posting my keyword here for the huge database of scientific papers I subscribe to, so you'll just have to take my word for it, or go back to college and stay there for 5 years or more in such discplines as Psychology and Biology (personally, I doubt you even read authors like Adams Smith...)
For many of the people who responded, the outlook was bleak due to outsourcing to countries where the labor is cheaper. Thus, the IT industry in the U.S. weakens, keeping recent college graduates out of the positions they went to school for.
That, my friend, is the effect of competition in markets. "Free markets" and "democracy" are keywords the U.S. likes to splatter on the wall (in particular when invading countries). Now eat it all up. But, look! You're not alone! Germans and French are loosing jobs, too! Fact is, with all their subsidies, shady business deals with corrupt politicians (look at Condy these last weeks welcoming an African murder/dictator/psychopath as a "friend"), colonialism, installment of dictatorships and what not, developed countries had it too easy. If it weren't for Iraq, it would almost seem the 60's was over.
Everybody wins: your organization gets something it may not have gotten before; money stays in the local economy; the community around that product benefits (if changes are contributed back); and so on.
Personally, I don't think the GPL is the answer. This is a mistake that is being replicated all over, due to the FSF world tour advocating the GPL, and the hype that the press creates. That license has only worked in practice for: 1) big hardware companies that really, are selling hardware, not Linux; 2) companies that use the GPL to dual-license (there are som many today - from Eiffel maker ISE, to MySQL, etc., etc.); 3) Ship products with lousy documentation then sell "support." Not only that, any serious GPLed project asks one to let go their copyright over code to the project. By having this loophole for dual-licenses, what you are effectively doing is allowing a third-party to get rich off your work.
Using a GPL-only approach in a business arena where big companies have huge IT departments is near suicidal. It's 2006 and by now we've all seen that the support model only works in a handfull of cases. We're talking about contries that have business-unfriendly environments and fragile legal systems (*). To pitch your little firm that sells support against a huge multinational with a huge IT department doesn't seem smart. And we're talking countries where those companies may exert more than pressure. Rather, pre$$ure is what they do (**)
The BSD license would be the best license in that arena: it allows optimizations of resources through code sharing, whereby mainting different patchsets becomes to costly, and also allows you to keep ahead of the competition. And I'm not claiming the BSD license only is adequate vis-à-vis the GPL, but any license that allows mingling with proprietary software, by the way. Is it any wonder that projects like GNOME use the LGPL, and GNOME is supported by industry, while (the better, IMHO) KDE is not? Is it a coincidence that JBOSS, Mozilla, and Apache don't use the GPL? Does the GPL keep people away? It sure looks that way. In the GNU/Linux ambiance, the GPL may even make sense, since one part of the system is from the GNU project - hence the FSF, and the other part is a kernel. But does it make sense for everybody to use the GPL? Does is make sense for, e.g., business software? What about when you need deeper integration on a deeper level? What about when you need system-level hacking for your business?
I see it as purely stupid getting in some market niches - say, e.g., embedded OS - with a promise to give code away. Remember, we're talking about countries where even the legal system - conceding there's a minimum legal framework - may not secure developer's rights. Or take too long to do it.
In developing countries, there's a huge installed base of Microsoft and other proprietary solutions. There's little Free Unix culture like in the U.S. By having licenses that are not business-friendly, developing countries are shutting themselves out of a huge market for integration with existing software.
And let's not forget the emtpy promises... Can anyone name contributors from developing countries that used government research money for development of truly big things, like GNOME, C#, KDE, the Linux kernel, protocols, etc. ? So, for all the hype governments such as Brazil or Spain (Spain not being a developing country, of course) creates, we have yet to see substantial contributions. As of now, all there is is a bunch of sysadmins with "connections" striking contracts with governments for Linux deployment.
The important thing is to be able to share code freely, with guaranteed rights, including the right to make money off you work. "To get rich is glorious" - Deng Xiaoping
(*) (for instance, it takes 180 days to open a business in Brazil. It takes 2 days in Florida. It takes 10 years to close your shop in Brazil) (**) (example: Brazil's Amazon Radar Surveilance system: against *all* recommendations, from congress to technical bodies analyzing the issue Raytheon - famous for its DOD contracts - won the deal).
Oh, it's been going on for...what 6 years or something?
Why would you even want that? FreeBSD already has pkd_add (apt-get install), freebsd-update fetch (apt-get update), etc. With almost 15,000 ports, why complain? (And with people writing software for Linux only, some stuff you won't see on BSDs any time soon).
When you look at a free software project, you also have to look at how the project manages people and developer resources, and Debian has a bad track record. When their number of packages grew to 16,000, the project went into grind-to-a-halt mode. Ubuntu saved the day, I guess. But it ain't Debian.
Last I tried Ubuntu (just Hoary, or Warty, I think, I can't remember those names), it suffered from the same lack of decent documentation and disorganization Debian suffers (for instance, to install Java I had to read some guy's page on the Internet, and like, the best documentation on packaging is from a book you have to buy?) Plus, glitches in the upgrade process. And, what with the horrible PHP software for Ubuntu forums...Web forums? Not even a newsgroup? Geez...Are you kidding me?
And as far as doing memory management... YES. I have yet to see a compiler do a better job at managing memory than what I can do when I write my code - and the reason is quite simple: I'm the domain expert, not the compiler. Compilers generally do a good job, but it's those specific cases that bite you over and over again.
You might want to read this:
"Pop quiz: Which language boasts faster raw allocation performance, the Java language, or C/C++? The answer may surprise you -- allocation in modern JVMs is far faster than the best performing malloc implementations. The common code path for new Object() in HotSpot 1.4.2 and later is approximately 10 machine instructions (data provided by Sun; see Resources), whereas the best performing malloc implementations in C require on average between 60 and 100 instructions per call"
With the recent episode of U.S. Congress politicians using Stalinistic tactics of "rewriting history", the viability of Wikipedia has been seriously compromised, IMHO. The recent content violations were only caught because they were so conspicuous. Nevertheless, the Wikipedia remains one of mankind's biggest "dream", the New Library of Alexandria, as it were. Are you considering employing any "countermeasures" to avoid such content violations such as web-of-trust of academics, digitally signing contents, or other such means?
Not unless I want to have my clients pay a runtime fee for every running copy of the software.
Apparently, there's this rumour that all commercial lisps charge runtime royalties. This is not true, and such a rumour spreading would be disastrous to lisp vendors. Who you're talking about is Franz. Franz wants to be your your business partner, that's what they say on comp.lang.lisp.;-) Other vendors aren't so mean, e.g., LispWorks (the havey Lisp for UNIX, Windows and Mac OS) and don't impose a sick licensing scheme like Franz. The LispWorks LispWorks reads: "Q. What's the royalty for delivering my own application?
A. End-user applications delivered from the Professional and Enterprise Editions are royalty-free, including those using LispWorks ORB, KnowledgeWorks, Common SQL or CLIM 2.0. We believe this is the least restrictive commercial Lisp deployment model available."
What, praytell, is the difference between a functional language like Haskell and a well-designed C++ template library?
Referential transparency. That comp.lang.functional thread is interesting because there are guys from Ericsson elaborating on some real-world aspects of referential transparency. As you know, Ericsson uses the funtional programming language Erlang for their switches. See more in: Welcome to a Smarter Way of Programming. Of course, you can't take their use of Erlang seriously, because they're from Sweden, and Sweden, being a fucked-up third-world country with no tech at all, is not an example for America. The mighty AT&T pushed C++, and now the world is better, safer place, where software errors are a thing of the past.
Ah, here it is! I found the refernce the paper on the question whether a semantographic representation is easily learned or not:
Fuller, D. R. (1985). A response to Luftig and Bersani: An investigation of two variables influencing Blissymbol learnability with nonhandicapped adults. Augmentative and Alternative Communication, 1, 122-123.
Here's my take on Perl and its sigils: for all we know, sigils in Perl may make code more readable, not less. There's a whole lot lot of abstraction in:
sub swap (*@_ is rw) { @_[0,1] = @_[1,0] };
Until I read a scientific paper comparing two groups randomly assigned to Perl and to Python, I won't take a word of this "common sense knowledge" that Python is more readable.
Consider Apocalypse 3:
(...) If we're going that far in the direction of gobbledygook, perhaps there are prefix characters that wouldn't be so ambiguous. The colon and the dot also have a visual singular/plural value:
@a.+ @b
@a:/ @b
Notice how Larry Wall anticipated visual clues. Where this stuff is coming from is not psychosis. More like hardwired quantitative concepts in your brain. Ever take an Standard Binet IQ test? Sort of like that place. For all you know, Perl might be lot like Chinese in reading. It does borrow some from iconographic language represenation.
I remember reading once research on a semantographic language representation called Blissymbolics comparing language acquisition in such a system to a traditional alphabetical written system in normal college students, (might be somewhere here - I'm too tired to look it up thoroughly), and the results, IIRC, favored the iconographic language. Point being that there are more to these things than meets the eye.
Python reads like a grocery list (boring!). Slashdot won't even let me post Zope code here, because it activates the Lameness filter! LOL. No kidding!
Also, Lisp newbies in initial stages of their enlightenment do post some strange stuff sometimes.
Hahaha, LOL! I entirely relate to that on a personal level. Lisp is a mind-fucker...Yes it is, you are never coming back from that trip! You go...WHOOOOAOOAAAAAAAT ?!
Re:Author: cheerleader for Ruby but has good point
on
Beyond Java
·
· Score: 1
Ruby has made some important OO design contributions
It has ?! Like what ?! What's in Ruby that wasn't in other languages ?!!
For patience's sake, this is the problem...All I see are ideas that were in other languages, thrown together in a learn-as-you-go experiment. People think continuations are cool? Then look at Scheme and look at Smalltalk. You can't compare years of development to that experiment. Ruby is rubbish. Compare it to any Smalltalk implementation. Download a Common Lisp IDE (LispWorks, Franz) and tell me how cool Ruby is...When people diss Java, remember to also diss HotSpot. Can your little language optimize code statistically like that? I thought not...
You want new stuff? Look at Factor, Joy, the Mozart/Oz system, or Slate. Wanna compile at gcc performance? Try Scheme with the Bigloo implementation, or Objective Caml. Bechmarks for Ocaml here (and for SML with MLTon compiler here.- The bechmarks for Bigloo were reomved some time ago).
I'll just post the buzzwords for Factor: Continuations, exception handling. Powerful and logical meta-programming facilities. Introspection, code generation and extension of both syntax and semantics is very easy. Higher-order programming allows code blocks to be treated as data and used as parameters. Highly minimalist, very consistent design. No layers upon layers of indirection, no confusing corner-cases, no poorly-thought-out features. Postfix syntax with an extensible parser; values are passed on the stack. Higher-order programming allows code blocks to be treated as data and used as parameters. A powerful and very generic collections library allows many algorithms to be expressed in terms of bulk operations without micro-management of elements, recursion, or loops. A very consistent object model based on generic predicate dispatch. Arithmetic operations that closely model mathematical concepts, rather than just being a thin abstraction over underlying machine arithmetic. All integer operations are done in arbitrary precision, and exact fractions are supported. Complex numbers and complex-valued elementary functions are integrated. Damn, that Slava Pestov is one smart dude.
When you see those languages, you kinda get sad that Ruby is such an attention-grabber, but I can see clearly that this is just because of disinformation. With the exception of Joy and Slate (for now, I hope), all the others I cited have pretty workable environments.
And by the way, you don't write LISP anymore, it's Lisp.
This article uses wrong terminology. Static typing is not the same as strong typing. Dynamic typing is type-checking at run-time. Static typing is typing at compile-time. Common Lisp is dynamically strongly typed. Or take SML, for instance. You don't have necessarily to "declare" types, yet it's strongly typed:
Standard ML of New Jersey v110.55 - 12 + 5; val it = 17 : int ( int
Hey!:-) SML just told me it knows the function takes an integer an gives an integer!
Systems programming as we know is dead in the long run. It won't matter what OS you use in the future. What matters is if you can run distributed applications. The OS will just be the thing you install the software for the grid on. The grid is not the OS, but "the Net is the computer." It won't matter unless, that is, your OS is specifically designed for grid computing, like Inferno or Plan 9. In that sense, distributed computing in Java is far, far more relevant (let's also cite Erlang and Oz here).
Let those Linux hackers stick to C, it won't matter, the OS will be a small part of a bigger scenario. As to safety in C, all it takes is the automated tools for source code verification. Too bad the open source community couldn't care less about source code safety analysis.
If you've worked with Java you'll realize everything is *not* in the language itself. The Java language is quite simple, a lot simpler than Ruby for example.
Absolutely right. This Java got right: a simple language, with simple rules. Kinda like Eiffel, Smalltalk and Scheme did too. I think this is a good principle, because once the libraries grow to a large size, the "dark corners" in a language begin to cast their shadows. It avoids the toll on the programmer's cognitive ability that weighs down on the faculty of attention. You get "master hackers", and obscure code. Some people monkey the meme that coding in Java can be a non-creative activity, but this has really nothing to do with Java per se. How you approach complexity is a different issue: macros and generalfunctionology in Scheme, bondage-and-discipline in Eiffel, industrial "machine tools" in Java (all those great IDEs). But the amount of black magic is reduced. I hear horrible things about C++ in this respect. Perl is much convoluted, but in a good way, by design, because of the linguistic principles thrown in it. But this would be a whole new thread and one aspect that few people understand, or seek to understand (preferring to call Larry Wall by ugly names).
Oh, but Ruby is already bloated in a way. It has bits of Perl and Smalltalk here and there, without being neither, having a slow performance and a bad design. Do they have modules or some such mechanism in Ruby yet? - I look at it periodically for 3 years, and last time I did, namespaces were still a problem.
(Oh, by the way, if you're one of those who think Perl is just sooo stupid and dead, I suggest two books: Higher Order Perl, and Object Oriented Perl.)
Kudos to Martin Krafft for writing his book. Many dream but few ever get it together...
The very fact that a Debian developer has written a book on how the Debian "System" works shows, in a very clear way, that the project has terrible documentation.
They have what amount to rough drafts. Disorganized and out of sync with the system. Nothing like the FreeBSD handbook, or the OpenBSD man pages (Linux man pages are the antithesis of Unix man pages.) In OpenBSD's case, a man page update is mandatory when the software is patched and has functionality altered (this wasn't always so, but they developed that culture).
Alas, I'll have to buy it. Let's hope this time things are explained clearly.
Who cares? We've seen this eons ago with PGP (Pretty Good Privacy). Too bad for American business, huh? I guess it's just a swell opportunity for Canadians.;-)
When open-source projects deal with infrastructure stuff (protocols, etc) or system programming (kernel, shells), than you have a big pool of knowledgeable programmers to draw upon. Now, some software is much more specialized. Word processors and spreadsheets are one case. A much worse case is stuff dealing with multimedia, in which case you won't be able to even understanding the algorithms unless you're acquainted with topics that require mathematics at least at the level of an engineering degree. So, yeah, some stuff is not going to get that many eyeballs. What I think is unfortunate, however, is how little universities in general are interested in working on existing software projects. Two particular projects I'm thinking about when I mention this are the computer algebra systems that were commercial products and that were open-sourced, Maxima (ex-Department of Energy) and Axiom (ex-IBM Thomas Watson Research Center and NAG, too - I think).
Well, there you are. Coders first, managers second. All it means is that managers are there to work around the solutions the programmers provide. Coders run the business. Without them, there would be no business called Google. A good system to be emulated. After all, it works for Google, and Google works. Who ever invented the other way around ?
Industries should also be somewhat limited in their actions. In Brazil, a topic that worries people is biopiracy. We had some bad experiences in this area. A Japanese company, for instance, tried to secure a patent for the cupuaçu fruit, a chocolate-substitute from the Amazon. Pure theft. The government put up a fight and won. Anthropologists have also denounced excursions by biologists collecting Amazonian and Xingu indians' native medicine know-how. There have been a few arrests in that area. There's been some concern about evangelical missionaires amongst the indians, as no one knows for sure who they are. In another example, Mr. Craig Venter wanted to collect microorganisms from the shores of Brazil, but the government did not allow his boat to come in a 200-mile distance from the coast. Today, he's on newspaper saying the Brazilian government hinders research, but all the government wants is that any commercial benefits be shared. All Craig Venters wants is to steal. Biopiracy is another aspect of the patent system gone wrong. Except, it's one that doesn't affect developed countries. Brazil is a Latin-American powerhouse that can and will muster a reaction everytime this happens, but there are smaller countries that cannot. In fact, the whole thing of biopiracy and patents is absurd. The notion that organisms found in the Amazonian rain-forest "belong" to Brazilians is absurd, but so is the notion that a foreign company can come into this country, collect plants and organisms, go back to its original country and file a patent for a molecule or a gene.
I am talking about human nature or more to the point, our animal instincts.
It just so happens that you have a misbegotten notion of "Instincts" and "Human Nature", as the wealth of papers on the fields of Ethology and Psychology would show you. You would see that cooperation is as much a strategy amongst primates (you are a primate, you know that much, don't you?) than competition.
However, unfortunately for you, I won't be posting my keyword here for the huge database of scientific papers I subscribe to, so you'll just have to take my word for it, or go back to college and stay there for 5 years or more in such discplines as Psychology and Biology (personally, I doubt you even read authors like Adams Smith...)
For many of the people who responded, the outlook was bleak due to outsourcing to countries where the labor is cheaper. Thus, the IT industry in the U.S. weakens, keeping recent college graduates out of the positions they went to school for.
That, my friend, is the effect of competition in markets. "Free markets" and "democracy" are keywords the U.S. likes to splatter on the wall (in particular when invading countries).
Now eat it all up.
But, look! You're not alone! Germans and French are loosing jobs, too!
Fact is, with all their subsidies, shady business deals with corrupt politicians (look at Condy these last weeks welcoming an African murder/dictator/psychopath as a "friend"), colonialism, installment of dictatorships and what not, developed countries had it too easy. If it weren't for Iraq, it would almost seem the 60's was over.
Everybody wins: your organization gets something it may not have gotten before; money stays in the local economy; the community around that product benefits (if changes are contributed back); and so on.
Personally, I don't think the GPL is the answer. This is a mistake that is being replicated all over, due to the FSF world tour advocating the GPL, and the hype that the press creates. That license has only worked in practice for: 1) big hardware companies that really, are selling hardware, not Linux; 2) companies that use the GPL to dual-license (there are som many today - from Eiffel maker ISE, to MySQL, etc., etc.); 3) Ship products with lousy documentation then sell "support." Not only that, any serious GPLed project asks one to let go their copyright over code to the project. By having this loophole for dual-licenses, what you are effectively doing is allowing a third-party to get rich off your work.
Using a GPL-only approach in a business arena where big companies have huge IT departments is near suicidal. It's 2006 and by now we've all seen that the support model only works in a handfull of cases. We're talking about contries that have business-unfriendly environments and fragile legal systems (*). To pitch your little firm that sells support against a huge multinational with a huge IT department doesn't seem smart. And we're talking countries where those companies may exert more than pressure. Rather, pre$$ure is what they do (**)
The BSD license would be the best license in that arena: it allows optimizations of resources through code sharing, whereby mainting different patchsets becomes to costly, and also allows you to keep ahead of the competition. And I'm not claiming the BSD license only is adequate vis-à-vis the GPL, but any license that allows mingling with proprietary software, by the way. Is it any wonder that projects like GNOME use the LGPL, and GNOME is supported by industry, while (the better, IMHO) KDE is not? Is it a coincidence that JBOSS, Mozilla, and Apache don't use the GPL? Does the GPL keep people away? It sure looks that way. In the GNU/Linux ambiance, the GPL may even make sense, since one part of the system is from the GNU project - hence the FSF, and the other part is a kernel. But does it make sense for everybody to use the GPL? Does is make sense for, e.g., business software? What about when you need deeper integration on a deeper level? What about when you need system-level hacking for your business?
I see it as purely stupid getting in some market niches - say, e.g., embedded OS - with a promise to give code away. Remember, we're talking about countries where even the legal system - conceding there's a minimum legal framework - may not secure developer's rights. Or take too long to do it.
In developing countries, there's a huge installed base of Microsoft and other proprietary solutions. There's little Free Unix culture like in the U.S. By having licenses that are not business-friendly, developing countries are shutting themselves out of a huge market for integration with existing software.
And let's not forget the emtpy promises... Can anyone name contributors from developing countries that used government research money for development of truly big things, like GNOME, C#, KDE, the Linux kernel, protocols, etc. ? So, for all the hype governments such as Brazil or Spain (Spain not being a developing country, of course) creates, we have yet to see substantial contributions. As of now, all there is is a bunch of sysadmins with "connections" striking contracts with governments for Linux deployment.
The important thing is to be able to share code freely, with guaranteed rights, including the right to make money off you work. "To get rich is glorious" - Deng Xiaoping
(*) (for instance, it takes 180 days to open a business in Brazil. It takes 2 days in Florida. It takes 10 years to close your shop in Brazil)
(**) (example: Brazil's Amazon Radar Surveilance system: against *all* recommendations, from congress to technical bodies analyzing the issue Raytheon - famous for its DOD contracts - won the deal).
Oh, it's been going on for...what 6 years or something?
Why would you even want that? FreeBSD already has pkd_add (apt-get install), freebsd-update fetch (apt-get update), etc. With almost 15,000 ports, why complain? (And with people writing software for Linux only, some stuff you won't see on BSDs any time soon).
When you look at a free software project, you also have to look at how the project manages people and developer resources, and Debian has a bad track record. When their number of packages grew to 16,000, the project went into grind-to-a-halt mode. Ubuntu saved the day, I guess. But it ain't Debian.
Last I tried Ubuntu (just Hoary, or Warty, I think, I can't remember those names), it suffered from the same lack of decent documentation and disorganization Debian suffers (for instance, to install Java I had to read some guy's page on the Internet, and like, the best documentation on packaging is from a book you have to buy?) Plus, glitches in the upgrade process. And, what with the horrible PHP software for Ubuntu forums...Web forums? Not even a newsgroup? Geez...Are you kidding me?
And as far as doing memory management... YES. I have yet to see a compiler do a better job at managing memory than what I can do when I write my code - and the reason is quite simple: I'm the domain expert, not the compiler. Compilers generally do a good job, but it's those specific cases that bite you over and over again.
You might want to read this:
"Pop quiz: Which language boasts faster raw allocation performance, the Java language, or C/C++? The answer may surprise you -- allocation in modern JVMs is far faster than the best performing malloc implementations. The common code path for new Object() in HotSpot 1.4.2 and later is approximately 10 machine instructions (data provided by Sun; see Resources), whereas the best performing malloc implementations in C require on average between 60 and 100 instructions per call"
Java theory and practice: Urban performance legends, revisited
With the recent episode of U.S. Congress politicians using Stalinistic tactics of "rewriting history", the viability of Wikipedia has been seriously compromised, IMHO. The recent content violations were only caught because they were so conspicuous.
Nevertheless, the Wikipedia remains one of mankind's biggest "dream", the New Library of Alexandria, as it were.
Are you considering employing any "countermeasures" to avoid such content violations such as web-of-trust of academics, digitally signing contents, or other such means?
Not unless I want to have my clients pay a runtime fee for every running copy of the software.
;-)
Apparently, there's this rumour that all commercial lisps charge runtime royalties. This is not true, and such a rumour spreading would be disastrous to lisp vendors.
Who you're talking about is Franz. Franz wants to be your your business partner, that's what they say on comp.lang.lisp.
Other vendors aren't so mean, e.g., LispWorks (the havey Lisp for UNIX, Windows and Mac OS) and don't impose a sick licensing scheme like Franz. The LispWorks LispWorks reads:
"Q. What's the royalty for delivering my own application?
A. End-user applications delivered from the Professional and Enterprise Editions are royalty-free, including those using LispWorks ORB, KnowledgeWorks, Common SQL or CLIM 2.0. We believe this is the least restrictive commercial Lisp deployment model available."
What, praytell, is the difference between a functional language like Haskell and a well-designed C++ template library?
Referential transparency.
That comp.lang.functional thread is interesting because there are guys from Ericsson elaborating on some real-world aspects of referential transparency. As you know, Ericsson uses the funtional programming language Erlang for their switches. See more in: Welcome to a Smarter Way of Programming. Of course, you can't take their use of Erlang seriously, because they're from Sweden, and Sweden, being a fucked-up third-world country with no tech at all, is not an example for America. The mighty AT&T pushed C++, and now the world is better, safer place, where software errors are a thing of the past.
Write in Eiffel and achieve safety with gcc performance.
Ah, here it is! I found the refernce the paper on the question whether a semantographic representation is easily learned or not:
Fuller, D. R. (1985). A response to Luftig and Bersani: An investigation of two variables influencing Blissymbol learnability with nonhandicapped adults. Augmentative and Alternative Communication, 1, 122-123.
For the context, see my post above.
Until I read a scientific paper comparing two groups randomly assigned to Perl and to Python, I won't take a word of this "common sense knowledge" that Python is more readable.
Consider Apocalypse 3: (...) If we're going that far in the direction of gobbledygook, perhaps there are prefix characters that wouldn't be so ambiguous. The colon and the dot also have a visual singular/plural value:
Notice how Larry Wall anticipated visual clues. Where this stuff is coming from is not psychosis. More like hardwired quantitative concepts in your brain. Ever take an Standard Binet IQ test? Sort of like that place. For all you know, Perl might be lot like Chinese in reading. It does borrow some from iconographic language represenation.
I remember reading once research on a semantographic language representation called Blissymbolics comparing language acquisition in such a system to a traditional alphabetical written system in normal college students, (might be somewhere here - I'm too tired to look it up thoroughly), and the results, IIRC, favored the iconographic language. Point being that there are more to these things than meets the eye.
Python reads like a grocery list (boring!). Slashdot won't even let me post Zope code here, because it activates the Lameness filter! LOL. No kidding!
Also, Lisp newbies in initial stages of their enlightenment do post some strange stuff sometimes.
Hahaha, LOL! I entirely relate to that on a personal level. Lisp is a mind-fucker...Yes it is, you are never coming back from that trip! You go...WHOOOOAOOAAAAAAAT ?!
Ruby has made some important OO design contributions
It has ?! Like what ?! What's in Ruby that wasn't in other languages ?!!
For patience's sake, this is the problem...All I see are ideas that were in other languages, thrown together in a learn-as-you-go experiment. People think continuations are cool? Then look at Scheme and look at Smalltalk. You can't compare years of development to that experiment. Ruby is rubbish. Compare it to any Smalltalk implementation. Download a Common Lisp IDE (LispWorks, Franz) and tell me how cool Ruby is...When people diss Java, remember to also diss HotSpot. Can your little language optimize code statistically like that? I thought not...
You want new stuff? Look at Factor, Joy, the Mozart/Oz system, or Slate.
Wanna compile at gcc performance? Try Scheme with the Bigloo implementation, or Objective Caml. Bechmarks for Ocaml here (and for SML with MLTon compiler here.- The bechmarks for Bigloo were reomved some time ago).
I'll just post the buzzwords for Factor:
Continuations, exception handling.
Powerful and logical meta-programming facilities. Introspection, code generation and extension of both syntax and semantics is very easy.
Higher-order programming allows code blocks to be treated as data and used as parameters.
Highly minimalist, very consistent design. No layers upon layers of indirection, no confusing corner-cases, no poorly-thought-out features.
Postfix syntax with an extensible parser; values are passed on the stack.
Higher-order programming allows code blocks to be treated as data and used as parameters.
A powerful and very generic collections library allows many algorithms to be expressed in terms of bulk operations without micro-management of elements, recursion, or loops.
A very consistent object model based on generic predicate dispatch.
Arithmetic operations that closely model mathematical concepts, rather than just being a thin abstraction over underlying machine arithmetic. All integer operations are done in arbitrary precision, and exact fractions are supported. Complex numbers and complex-valued elementary functions are integrated.
Damn, that Slava Pestov is one smart dude.
When you see those languages, you kinda get sad that Ruby is such an attention-grabber, but I can see clearly that this is just because of disinformation. With the exception of Joy and Slate (for now, I hope), all the others I cited have pretty workable environments.
And by the way, you don't write LISP anymore, it's Lisp.
Sorry, the example was:
- fun fact 0 = 1
= | fact n = n * fact (n-1);
val fact = fn : int -> int
This article uses wrong terminology.
:-) SML just told me it knows the function takes an integer an gives an integer!
Static typing is not the same as strong typing. Dynamic typing is type-checking at run-time. Static typing is typing at compile-time. Common Lisp is dynamically strongly typed.
Or take SML, for instance. You don't have necessarily to "declare" types, yet it's strongly typed:
Standard ML of New Jersey v110.55
- 12 + 5;
val it = 17 : int ( int
Hey!
Systems programming as we know is dead in the long run.
It won't matter what OS you use in the future. What matters is if you can run distributed applications. The OS will just be the thing you install the software for the grid on. The grid is not the OS, but "the Net is the computer."
It won't matter unless, that is, your OS is specifically designed for grid computing, like Inferno or Plan 9.
In that sense, distributed computing in Java is far, far more relevant (let's also cite Erlang and Oz here).
Let those Linux hackers stick to C, it won't matter, the OS will be a small part of a bigger scenario. As to safety in C, all it takes is the automated tools for source code verification. Too bad the open source community couldn't care less about source code safety analysis.
As if anyone writes "Hello World."
No, sorry, that is a non sequitur.
If you've worked with Java you'll realize everything is *not* in the language itself. The Java language is quite simple, a lot simpler than Ruby for example.
Absolutely right. This Java got right: a simple language, with simple rules. Kinda like Eiffel, Smalltalk and Scheme did too. I think this is a good principle, because once the libraries grow to a large size, the "dark corners" in a language begin to cast their shadows. It avoids the toll on the programmer's cognitive ability that weighs down on the faculty of attention. You get "master hackers", and obscure code. Some people monkey the meme that coding in Java can be a non-creative activity, but this has really nothing to do with Java per se.
How you approach complexity is a different issue: macros and generalfunctionology in Scheme, bondage-and-discipline in Eiffel, industrial "machine tools" in Java (all those great IDEs). But the amount of black magic is reduced. I hear horrible things about C++ in this respect.
Perl is much convoluted, but in a good way, by design, because of the linguistic principles thrown in it. But this would be a whole new thread and one aspect that few people understand, or seek to understand (preferring to call Larry Wall by ugly names).
Oh, but Ruby is already bloated in a way. It has bits of Perl and Smalltalk here and there, without being neither, having a slow performance and a bad design. Do they have modules or some such mechanism in Ruby yet? - I look at it periodically for 3 years, and last time I did, namespaces were still a problem.
(Oh, by the way, if you're one of those who think Perl is just sooo stupid and dead, I suggest two books: Higher Order Perl, and Object Oriented Perl.)
Kudos to Martin Krafft for writing his book. Many dream but few ever get it together ...
The very fact that a Debian developer has written a book on how the Debian "System" works shows, in a very clear way, that the project has terrible documentation.
They have what amount to rough drafts. Disorganized and out of sync with the system. Nothing like the FreeBSD handbook, or the OpenBSD man pages (Linux man pages are the antithesis of Unix man pages.) In OpenBSD's case, a man page update is mandatory when the software is patched and has functionality altered (this wasn't always so, but they developed that culture).
Alas, I'll have to buy it. Let's hope this time things are explained clearly.
Well-tested, stable packages with no dependency issues or known security bugs
Hahaha...Don't lie.
Who cares? We've seen this eons ago with PGP (Pretty Good Privacy). ;-)
Too bad for American business, huh?
I guess it's just a swell opportunity for Canadians.
When open-source projects deal with infrastructure stuff (protocols, etc) or system programming (kernel, shells), than you have a big pool of knowledgeable programmers to draw upon.
Now, some software is much more specialized. Word processors and spreadsheets are one case. A much worse case is stuff dealing with multimedia, in which case you won't be able to even understanding the algorithms unless you're acquainted with topics that require mathematics at least at the level of an engineering degree.
So, yeah, some stuff is not going to get that many eyeballs. What I think is unfortunate, however, is how little universities in general are interested in working on existing software projects. Two particular projects I'm thinking about when I mention this are the computer algebra systems that were commercial products and that were open-sourced, Maxima (ex-Department of Energy) and Axiom (ex-IBM Thomas Watson Research Center and NAG, too - I think).
Well, there you are. Coders first, managers second. All it means is that managers are there to work around the solutions the programmers provide. Coders run the business. Without them, there would be no business called Google.
A good system to be emulated. After all, it works for Google, and Google works.
Who ever invented the other way around ?
Industries should also be somewhat limited in their actions. In Brazil, a topic that worries people is biopiracy. We had some bad experiences in this area. A Japanese company, for instance, tried to secure a patent for the cupuaçu fruit, a chocolate-substitute from the Amazon. Pure theft. The government put up a fight and won. Anthropologists have also denounced excursions by biologists collecting Amazonian and Xingu indians' native medicine know-how. There have been a few arrests in that area. There's been some concern about evangelical missionaires amongst the indians, as no one knows for sure who they are.
In another example, Mr. Craig Venter wanted to collect microorganisms from the shores of Brazil, but the government did not allow his boat to come in a 200-mile distance from the coast. Today, he's on newspaper saying the Brazilian government hinders research, but all the government wants is that any commercial benefits be shared. All Craig Venters wants is to steal.
Biopiracy is another aspect of the patent system gone wrong. Except, it's one that doesn't affect developed countries. Brazil is a Latin-American powerhouse that can and will muster a reaction everytime this happens, but there are smaller countries that cannot.
In fact, the whole thing of biopiracy and patents is absurd. The notion that organisms found in the Amazonian rain-forest "belong" to Brazilians is absurd, but so is the notion that a foreign company can come into this country, collect plants and organisms, go back to its original country and file a patent for a molecule or a gene.