The mathematical study of computation is quite a definite body of scientific knowledge. The formal study of programming languages, all the way from their syntax to their semantics is undeniably CS. The "computational $X" for various values of X (molecular biology, filogenetics, material science, what not) are disciplines quite distint from the corresponding $X, involving specific methods and interested in solving different problems. And so on.
One can debate for ever in search of precise, clear cut, definitions of what CS is---after thousands of years, no one has been able to come up with a sensible definition of what mathematics is, so it is not surprising that what's essentially a 100 year old discipline is a bit harder to pin-point. But that does not mean, at all, thatthe existence of a specific type of human endeavor exists which one groups under the label "CS"
As for justifying oneself... again, that's inevitable, and practitioners of age-old mathematical disciples like geometry and arithmetic spend countless hours doing precisely that, as it is in part required to for example get a grant!
I am not a computer scientist; I am a mathematician. In any case, I do not see any need for a computer scientist to "justify himself" to no one, as anyone with enough knowledge can tell that there is a perfectly justified field of knowledge there to be studied.
It is too bad if you've been handling Engineering degrees under the name of CS. That does not mean that CS does not exist.
If you think the activities covered under the title "computer science" all involve a computer and working on it, well, you do not know what computer science is. If you think that "learning how computers really work" is the only possible motivation for doing computer science, well, you are wrong.
<quote> What's wrong with adding a full-year course in the final year, covering actual in-the-field coding techniques? </quote> <p>That it either removes one year of courses or it lengths the whole thing by a year...</p>
You are up for the Useless Use of Cat Award this week...
$ gcc -x c - <<EOF > printf("hello world"); > EOF <stdin>:1: error: expected declaration specifiers or '...' before string constant <stdin>:1: warning: data definition has no type or storage class <stdin>:1: warning: conflicting types for built-in function 'printf'
There is nothing more fascinating to you than learning how computers really work. Don't you think that there may be people with different motivations and objectives?
Every distribution struggles with trying to meet all these requirements (when they do even try - some prefer to specialise to specific user types and just say "screw everyone else", which actually may not be a bad thing).
In the name of $SOMETHING_IMPORTANT, it *may* not be a bad thing? What do you want, every distro trying to cater for everybody's different problems an dissues? That would be an absurd waste of resources. The whole point of the exercise is that everyone can get specialized tools for what they want to do, and be happy with them.
I am sorry, but this is not great article. It is the analogue for the subject of linux distros of the article we had yesterday on how someone solved the Knight's Tour problem in python using reduce(lambda x, y: x+y,...) instead of sum(...).
Your tone makes me think you think this attitude of yours is somehow representative of that of Linux and Linux apps developers. In particular, you somehow seem to believe you have some rights to the "linux lawn".
Let me be brief: you are completely wrong if you think developers, in any significant majority, share your view.
I am sorry, but while python's beauty (or haskell's, or lisp's, or C's or whatever's beauty) is surely in the eyes of the beholder, that code you wrote is simply a product of a misunderstanding of the purpose and utility of SGML/XML notation.
You should read about MUMPS. I guess you'll also enjoy it. It's another of those I-cannot-believe-they-are-serious syntaxes.
A MS Zune to make him loop hip?! That advisor should be promptly fired...
But not with respect to MP3 playing choices...
The mathematical study of computation is quite a definite body of scientific knowledge. The formal study of programming languages, all the way from their syntax to their semantics is undeniably CS. The "computational $X" for various values of X (molecular biology, filogenetics, material science, what not) are disciplines quite distint from the corresponding $X, involving specific methods and interested in solving different problems. And so on.
One can debate for ever in search of precise, clear cut, definitions of what CS is---after thousands of years, no one has been able to come up with a sensible definition of what mathematics is, so it is not surprising that what's essentially a 100 year old discipline is a bit harder to pin-point. But that does not mean, at all, thatthe existence of a specific type of human endeavor exists which one groups under the label "CS"
As for justifying oneself... again, that's inevitable, and practitioners of age-old mathematical disciples like geometry and arithmetic spend countless hours doing precisely that, as it is in part required to for example get a grant!
I am not a computer scientist; I am a mathematician. In any case, I do not see any need for a computer scientist to "justify himself" to no one, as anyone with enough knowledge can tell that there is a perfectly justified field of knowledge there to be studied.
It is too bad if you've been handling Engineering degrees under the name of CS. That does not mean that CS does not exist.
If you think the activities covered under the title "computer science" all involve a computer and working on it, well, you do not know what computer science is. If you think that "learning how computers really work" is the only possible motivation for doing computer science, well, you are wrong.
<quote>
What's wrong with adding a full-year course in the final year, covering actual in-the-field coding techniques?
</quote>
<p>That it either removes one year of courses or it lengths the whole thing by a year...</p>
Your whole comment is supported on the confusion of computer science and software engineering.
You are up for the Useless Use of Cat Award this week...
$ gcc -x c - <<EOF
> printf("hello world");
> EOF
<stdin>:1: error: expected declaration specifiers or '...' before string constant
<stdin>:1: warning: data definition has no type or storage class
<stdin>:1: warning: conflicting types for built-in function 'printf'
There is nothing more fascinating to you than learning how computers really work. Don't you think that there may be people with different motivations and objectives?
Those are not only some of the biggest software products, but also some of the oldest modern apps.
Why do you seem to correlate having trouble interfacing with something with that something's being written in C?
Why not teach functional concepts using a functional language, and OOP using an object oriented language?
In any case, I simply cannot believe you are not joking with your proposal of perl.
But what a troll! Look around and see the pityful kind of trolls we are mostly left with now :(
Go look at sendmail.m4...
"But the drivers--" Doesn't matter. User doesn't care, user shouldn't care, fix it or you don't get the users.
So you are expecting people to, basically, magically support hardware they do not have the specs for...
Go look at sendmail.cf...
Every distribution struggles with trying to meet all these requirements (when they do even try - some prefer to specialise to specific user types and just say "screw everyone else", which actually may not be a bad thing).
In the name of $SOMETHING_IMPORTANT, it *may* not be a bad thing? What do you want, every distro trying to cater for everybody's different problems an dissues? That would be an absurd waste of resources. The whole point of the exercise is that everyone can get specialized tools for what they want to do, and be happy with them.
I am sorry, but this is not great article. It is the analogue for the subject of linux distros of the article we had yesterday on how someone solved the Knight's Tour problem in python using reduce(lambda x, y: x+y, ...) instead of sum(...).
Your tone makes me think you think this attitude of yours is somehow representative of that of Linux and Linux apps developers. In particular, you somehow seem to believe you have some rights to the "linux lawn".
Let me be brief: you are completely wrong if you think developers, in any significant majority, share your view.
If you think ISV do not look at LSB, you need to get in touch with more ISV...
Yes, because granma is not adopting Linux because she feels the LSB file structre layout is too rigid...
No one apart from psycologically 15 year olds thinks that the purpose of Linux, and Open Source in general, is to beat Microsoft.
I am sorry, but while python's beauty (or haskell's, or lisp's, or C's or whatever's beauty) is surely in the eyes of the beholder, that code you wrote is simply a product of a misunderstanding of the purpose and utility of SGML/XML notation.
You should read about MUMPS. I guess you'll also enjoy it. It's another of those I-cannot-believe-they-are-serious syntaxes.
Urgh. That's an absurdly ugly language!
See http://www.haskell.org/haskellwiki/99_questions/90_to_94 for the really obvious solution.
It's not a shortcoming: it is a design decision.