To view parent comment, click here.
To read all comments associated with this story, please click here.
I'm relieved. Somebody understood my idea and finds it interesting
Could you take it anywhere meaningful on one page?
Honestly, this is not meant as a "Oh, so Mr computer scientist knows better, well then show me, Mr computer scientist" kind of reply. I would love to see people evolve this idea. That's why I wrote this article.
First off sorry for being an elitist bastard. Your presentation of such idea probably would have better received in a forum somewhere. That way you could have evolved your idea before presenting it to the world- without the authoritative context implied by an article.
I think your insight, that there are analytical methods for evaluating programming languages, is a valid and true point. The problem is that big-O notation is not very suitable, let me try to explain why.
Specificity, since big-O notation evaluates algorithms, not languages, it is language independent. If you are trying to apply the underlying principle of big-O notation very generically: In your axis on the big-O graphs you present, although unlabelled, have cost on the y-axis and problem size on the x-axis. What you should have done was replaced cost and problem size with the properties of languages that interest you. I think you will find however that one line graph cannot define a language as the result depends on a program examined.
One approach often done (see the link in my last post) is creating a scatter plot where the data points are programs written in a lang. and looking at trends.
Now, I understand your point is that features of a language that make it suitable for a small project (your example was a dynamic type system) may actually make is less ideal for a large project. But big-O notation can not really be applied to this problem in a tractable way.
If you are interested in this subject there are hundreds of papers in the IEEE journals of software engineering and ACM journals, they would be a very good place to start and propose many metrics you may find insightful. Definitely check out my original link.
Thanks for writing the article, but I agree with others that your approach tends to obfuscate your ideas. The central idea, that it's possible to make a systematic appraisal of the applicability and efficiency of different languages for different types of problem, is interesting. I wonder if you needed to get into the technicalities of Big O, although I confess, I don't fully understand it. A graph showing that the complexity of different code increases for a given language when implementing different algorithm types might have sufficed as an explanation.
A lot will depend on where you intend to take your future articles and on your intended audience. Will this be an explanation of your idea for the general reader or will it be a treatise that specifies a precise algebraic method of programming language analysis?
Although I'm intrigued by what you're proposing, I have to agree with the other commenter when I say that, stylistically, the current article is neither fish nor foul in its approach. Good luck and I'll look out for your future attempts.





Member since:
2005-09-03
"I'll start simply: what?"
That is totally what I thought.
"I'm Benjamin Schuenemann, a physics student"...
Why do physicists always mistake themselves as computer scientists?
I don't hold any ill will against the author, but he clearly does not know his Computer Science.
He is attempting to apply methodology/terminology for describing algorithms to programming languages. While that is an interesting abstract idea, it needs to be better defined and he does not take it anywhere meaningful. Here is a much more interesting metric: http://shootout.alioth.debian.org/u64q/shapes.php
Which editor let this slip by?