5 ms·
Computer science is the language of the future. It bothers me that I spent so many years learning latin/french/italian when their real world applications are v
by mentos 12y ago
Computer science is the language of the future.
It bothers me that I spent so many years learning latin/french/italian when their real world applications are very limited relative to say C/Java/Python which are much more important foreign languages to be learning in school.
- vvpan 12y agoI generally understand the sentiment, but your are really comparing apples and trigonometry.
- eah13 12y agoI'd disagree with that. I think coding languages are in a very real sense human languages. They have less history, less literature, less culture, and different uses but they have history, literature, culture, and uses just like any language.
- vacri 12y agoOnly if you consider computers to be people. Human languages are for communicating with humans. Programming languages are for communicating with computers. For example, this week I've been hanging out on a couple of open-source project IRC channels. People aren't talking to each other in Python or Java on those channels.
- juliangregorian 12y ago"Programs must be written for people to read, and only incidentally for machines to execute." --SICP
- BrandonM 12y agoProgramming languages are absolutely for communicating with humans. Source comments are just one trivial proof of that.
- vacri 12y agoYour trivial proof is "this thing that is explicitly not part of the language"? The whole point of comments is to say "these next characters are not part of language -foo-, so don't compile/interpret them". And if you notice, comments are written in a 'traditional' human language, usually English.
- dragonwriter 12y ago> Programming languages are for communicating with computers. Machine code of the lowest level that exist for a particular machine is for communicating with computers. All programming languages at higher levels than that exist to improve communication with humans (many of them of other purposes as well, but all of them, relative to machine code, include communicating with humans as one of their motivating purposes for existing.) > For example, this week I've been hanging out on a couple of open-source project IRC channels. People aren't talking to each other in Python or Java on those channels. That may be the case for those channels, but there's lots of places -- even outside of the programs designed to executed, where the source code is definitely used for communicating with humans, particularly future developers on the same code base -- where programming languages are used for human communication. I mean, that's the whole reason that HN has a code context in comments.
- bennyg 12y agoNatural language's main purpose is human-to-human communication. Programming language's main purpose is not. This is a weird semantic argument, but I think you understand the parent's point.
- dragonwriter 12y ago> Natural language's main purpose is human-to-human communication. Agreed. > Programming language's main purpose is not. For languages other than raw machine code, the main purpose that they exist is human-to-human communication. A constraint that they face is the need to be able to be reducable to machine code to also support human-machine communication, but other than human-to-human communication (including time-shifted one-way communication to the future of the same human that initially created a work), there is no reason for them to exist at all. > I think you understand the parent's point. Sure, I understand the point. I'm also explicitly disagreeing with it.
- vacri 12y agoFor languages other than raw machine code, the main purpose that they exist is human-to-human communication. If this were the case, then write-once software would be done in machine code. Instead, the 'constraint' you mention is the main purpose of programming languages.
- ninjaplease 12y ago"Programs must be written for people to read, and only incidentally for machines to execute." --SICP
- 1123581321 12y agoLiberal arts (classics/literature in foreign languages) and mathematics (the foundation of computer science) are complementary fields of study. People who understand both tend to have a significant advantage over their entire career. Right now, you wish you were more specialized, but if you someday want to broaden your technology career, combine disciplines into one career or lead people, you will probably be thankful for your background. I suggest reading some biographies of famous computer scientists to help understand how few of them had a specialized background, and how many of them had a rich, liberal arts education that may or may not have incorporated computer science.
- daigoba66 12y agoIt's never a waste of time to learn something new.
- teddyh 12y agoI have a demon of the second kind to sell you… “We want the Demon, you see, to extract from the dance of atoms only information that is genuine, like mathematical theorems, fashion magazines, blueprints, historical chronicles, or a recipe for ion crumpets, or how to clean and iron a suit of asbestos, and poetry too, and scientific advice, and almanacs, and calendars, and secret documents, and everything that ever appeared in any newspaper in the Universe, and telephone books of the future…” — Stanisław Lem, The Cyberiad Also, this: “[…] to making many books there is no end, and too much studying afflicts the flesh.” – Ecclesiastes 12:12
- solistice 12y agoOne of the issues I'd see with that is the fact that computer languages have not been around for that long. Natural languages have been taught and used for centuries, Java might be just as lively as Assembly in 20-30 years (this is only an example and not a prediction). If you factor in the rough 10 year latency that curricula generally carry, your utility diminishes further. Also, could it be that you're not actually utilizing these languages you've learned properly and you're undervaluing their utility due to that? Imagine you learned C and never touched a computer afterwards. You'd conclude that C is the most useless waste of time to ever exist, and that computer science departments should be torn down and replaced with factories, which actually deliver tangible value. Of course, that is a hopeless exaggeration, and you wouldn't do that. But there are people out there that will learn python because Codeacadamy is hip right now, and people that will study languages because they have a second language requirement in order to graduate from school. Now regarding utility of languages in general, you might make the point that any language over 1st grade english doesn't deliver any tangible benefit and should therefore be discontinued...this is dumb, speak carry idea thing, have idea thing or no thing like up goer five or add box with living lights for look speak. (Translation: this is ill advised, since language carries concepts, without which building things such as the Saturn V Rocket or computers would be utterly impossible). As you can see, sometimes complicated language is neccesairy, and in some fields, lack of the right word actually restricts their accessibility. But why utility at all? Or rather, is the utility provided by the beauty of some languages not enough to warrant their appreciation? Poetry and literature are arts build around the medium of language, and understanding these works outside of their original language is an exercise in loss of meaning. I certainly understand you sentiment that putting more of our minds into cranking the wheels of industry at ever increasing power is a noble goal, but you also have to ask yourself why those wheels are rolling in the first place.