If you really put your mind to it, sure, you could avoid learning any new programming languages. Hell, many people still make a very healthy living working with COBOL.
But if you really enjoy being a software developer and want to be the best at what you do, I don't think you'll ever stop learning new languages.
As humans move from a type 0 to a type 1 civilization [borrowing terminology from Michio Kaku], English is becoming the global language. It's certainly possible to never learn another language after English and be well off in a global economy.
Advantages of English [paraphrased from "ESB" on antimoon]:
-Germanic base has been mixed with the Roman vocabulary, giving it the best of both worlds
-English is succinct. Sentenced translated from English into other languages take up at least 30% more space. English words are concise and so are its sentences.
-Absence of sophisticated grammar systems. A noun can be easily turned into an adjective or a verb and vice versa. [ LISPy, eh? ]
-It's spoken by the most influential and powerful countries on earth. This is not accidental, but perhaps an important underlying cause for their success.
Just as English is dominating and will far outlive anyone's lifespan, the same could happen with a programming language as our languages continue to mature. Python is incredibly close to Psuedocode and LISP\LISP-variants are extremely flexible. It could be quite possible to get by without learning a new language until you either A) die or B) a paradigm shift occurs.
The features you listed apply to other languages much better than they do to English (except the bit about influential countries.) Chinese has a richer vocabulary, is more succinct and has a much less sophisticated grammatic system than English. If you want to get rid of the daunting logosyllabic way of writing, go Korean. Almost the same advantages, with one of the most beautiful and simple alphabets in the world. If you want an even easier language, Bhasa (Indonesian) is probably your choice. Don't forget there's Esperanto, too. Arguably much better suited as a 'world' (or at least pan-Euro-American) language.
In fact, English sucks as a `common' language from a lot of perspectives: it's got a very peculiar grammar. In fact, linguists concentrating their efforts on English has crippled a lot of research, and people are realizing (have been for a while, outside of the Anglo-Saxon area) that the paradigms that worked for English are pretty misplaced for other languages.
English is an almost isolating language with a lot of inflection-based traits, a weird and very specific tense system, remnants of case that confuse the hell out of people, a fiendishly difficult preposition-system to replace case (including weirdness such as preposition stranding and long-distance dependencies,) very rich and productive idiomatic mechanisms and one roller coaster of an orthography (mostly due to its uncompromisingly inconsistent way of adoption of vocabulary.)
Don't get me wrong, I'm not hating on English. All languages are beautiful (except Volapük.) I'm just sick and tired of people with, very often, little to no linguistic authority making claims about the language's viability or suitability to be a language spoken world wide. As a linguist, you hear that all the time, and you just get tired of it :-(
The only bit that matters - the reason I (an expat from an ex-socialist country living in western Europe, but not England) am talking to you over the Internet in English - is the cultural (and primarily militaristic!) dominance of the Anglo-Saxons and their descendants (i.e. Britain, America, Australia.) In fact, it's probably mostly due to Britain's vast empire in post-medieval times.
Exactly, English isn't perfect, yet it's still a great example of how something that's "good enough" can become dominant. I'm not saying it should be dominant, but that it is and will inevitably continue to be (there are more students taking SATs in China in ENGLISH than in the US+Britain). Also I would argue it's not just due to Britain's empire, but Rome's and Germanic tribes creating a long evolutionary path up to American web pages.
Regardless LISP variants are still closer to all spoken languages you mentioned than other programming languages. The main difference why the linguistic languages don't look like LISP variants is that languages can only be processed sequentially\linerarly one sound\word\morpheme at a time, this restriction isn't strictly required for a programming language that is primarily absorbed visuo-spatially. LISP is more similar to ALL spoken languages, so there is a lot of evolutionary indicators pointing to the possibility of long term [ > avg human lifespan ] dominance by a LISP implementation.
"Good enough" is a curious notion. I'm an advocate of "good enough" is good enough, but sometimes it can be quite tricky to decide when something is good enough. And if. Sometimes, you figure it out down the road; and you'll be in deep trouble if you find out it wasn't!
Anyhow, there have been many "good enough" languages — mostly, it depends on cultural factors. Latin is still present in today's traditional sciences (biology, medicine,) French is the language in arts and cuisine, Italian is dominant in music theory, Greek infests philosophy and logics, as does German, which also has a strong foothold in engineering and mathematics. And what do we learn from that? There is no one language. There cannot be one. At least, we haven't figured out a way.
Over time, dominant languages rise and fade. That's why I loved Firefly for incorporating Chinese :-D English will fade (most probably.) Also most probably, it will stay in the computing sector, just like Italian did in the music sector.
> there are more students taking SATs in China in ENGLISH than in the US+Britain
Yeah, that's like saying more Indians write Java code than Americans. What does it mean? Java is "good enough?" For some tasks, but not for all.
That Rome to WWW line of yours is quite eurocentric. Can't put my finger on it, but "American web pages" look different in Asia than they do in the West. The cultural values of ancient Rome had no real influence there — except you mean to imply Babbage influenced C#.
My knowledge of LISP doesn't go beyond programming-book examples. I somehow never got into it — I blame Haskell!. But you're certainly mistaken that language recognition is sequential. For all we know, it most likely isn't. And for Chinese, for example, it really definitely isn't. Reading a Chinese poem is reading backwards, across, down, and up at the same time in order to get the full meaning.
I don't get how LISP is closer to natural languages than to programming languages?
Anyhow, my take on the situation of the OP: if he stays in the sector he's in and doesn't move out before retirement, he's found his last language. Otherwise, different tasks and developments are going to force him to adapt. There is no one best language. We've been trying to find it for thousands of years, and it's been rather fruitless so far.
Especially when you consider that language isn't just spoken words. It's a whole way of thinking. A big part of the culture itself. That's not going to just die off because English speakers are too lazy to learn any other languages.
English is and will be the de facto language of globalization. All of the world's elites speak it in every country. People will speak their local language, AND English. I think this is a given. http://www.youtube.com/watch?v=6ftF8sXzoWk
English will certainly outlast Chinese. The constitution of India is written in English and India will soon far eclipse China in terms of population. I think it's a given, is assumed by most people, and not overly worth arguing
> But you're certainly mistaken that language recognition is sequential.
The initial input and output of [spoken] language is sequential by definition and structure of the ear and voicebox. I simply meant that you can not speak two words or hear two words at the same time in the manner that you can see two words at the same time. You can see indentation in a text document\program, but you have to add extra syntax in spoken language to convey this.
Internal language recognition\parsing is incredibly LISP like. I'll try to add a more detailed explanation of what I mean by this in the future when I have more time.
[ basically when the human brain processes information, there are limited resources, right. The working memory buffer for the human brain can only hold 5-7 "chunks" at the same time. You have to resort to the phenomena of "chunking" to process more information. You should find this article very interesting: http://en.wikipedia.org/wiki/Chunking_(psychology) So basically we use "operators" to chunk things together. We could have a "phrase" operator that chunks a noun, verb, and object together. What's great or genius is that this "phrase", or function, is ALSO a chunk. and you can combine those chunks together in the same manner even if they are functions. This is like LISP: functions are data and data are functions. This is the "big deal" about LISP. It's similar to in the human brain, where everything is a "chunk". As long as you have processed sub-ideas into a chunk and have given a name for that chunk, you can start wielding bigger ideas. ]
[ Spoken languages are all GOOD and reflective of human thought. Anyone is GOOD ENOUGH. The differences between spoken languages are small. The differences between LISP programming languages and non-LISP programming languages are vast. LISP is to thought as Python is to English. LISP is the most similar to an evolutionarily evolved structure (human thought). Therefore a LISP implementation could also share high survivability. And could survive longer than a human lifespan. ]
> What's great or genius is that this "phrase", or function, is ALSO a chunk. and you can combine those chunks together in the same manner even if they are functions. This is like LISP: functions are data and data are functions.
These two sentences have no apparent relation, except that you said they did. Spoken language sentences do not evaluate each other and none of them are apparently functions. Also, spoken languages don't have punctuation…
I think (s)he's saying that human languages have composable, tree-like structures. There's nothing Lisp-specific about that, though. Prolog would work just as well, or ML (human languages may be statically typed), Joy, etc.
Also, I'm an amateur linguist at best, but the recursive structures in human languages generally don't get more than a couple levels deep - the linguistic stack seems to get smashed pretty easily.
> but the recursive structures in human languages generally don't get more than a couple levels deep - the linguistic stack seems to get smashed pretty easily.
> Spoken language sentences do not evaluate each other and none of them are apparently functions
I tried to clarify the proper analogy at the end. LISP is not directly analogous to spoken language (the surface level), LISP is directly analogous to human thought (that interprets language internally). This was really the topic for an article and not a comment rant, sorry.
That's a conjecture at best. Chinese has so far outlasted any language still actively spoken on the planet. In fact, the Chinese writing system is the oldest continually used writing system. The cultural heritage behind this is huge.
And while you're certainly right that India has had a lot of English influence, you shouldn't forget the recent colonization history of India. It's still part of the Commonwealth, in fact. And when I say 'recent' I mean that in terms of some couple of centuries. I have no means of predicting the political state of the world in another couple of centuries. Do you? Thus, I'd be careful to make claims such as "X is going to outlast Y," except you've got very good reason to do so.
> You can see indentation in a text document\program, but you have to add extra syntax in spoken language to convey this.
You're forgetting prosody and gestures, which are an integral part of spoken language. Also, natural language has 'pragmatics,' a process of eliciting and cancelling implicatures and presuppositions. Natural language is anything but linear or sequential. In fact there's usually several layers of information-transfer going on at once.
> Internal language recognition\parsing is incredibly LISP like.
Nope, it isn't. First of all, we have no idea what's going on internally. Neurolinguistics and neuropsychology aren't far enough yet, and at this point, it's just guess work. But what we do know, is that LISP and natural languages live in entirely different complexity classes of language. LISP is context free - and natural language isn't. Probably, it's not quite context sensitive yet, but probably somewhere in between (there's dozens of disjoint sets of language complexity classes between those two.) LISP cannot create, for example, cross-serial dependencies, like they occur in swiss German and Danish are in a complexity class not provided for by LISP-like grammars.
I know about "chunking." In fact, I'm doing research in a related subject (computational semantics and formalisms for representing meaning.) It would all be well and good: you have chunks and operators, and then you write the grammar, and voilá, you've got your NL parser. Just that it's not that easy. Anaphora resolution, world knowledge and linguistic knowledge, pragmatics, weird syntactical phenomena (say, pied piping, etc.) have made this infinitely harder. If all you want to parse is "Hey, give me a hot dog," we've been here for the past 30 or 40 years. That's not hard. If you want to parse the English Wikipedia, it's impossible. You can only approximate.
The differences between spoken languages are vast. The differences between functional and imperative languages (because that's what you're referring to, I think) are minuscule in comparison. I can learn the functional paradigm and pick up any functional language within weeks, probably less (for example, I can read and write Erlang, OCaml, ML and LISP, even though I only really know Haskell and Lua.) In order to learn a new language (even a closely related one, like say from English to Swedish) you'd take at least a year in order to even be able to understand basic conversation or news. It's mostly the vocabulary, but also the speed and the multiple layers of information transfer that I alluded to earlier that make this a lot harder.
It sounds like you've given the topic some thought, but your ideas seem (to me!) all too reminiscent of the optimism computer scientists had in the 50s to 70s or so. People thought computer systems comprehending natural language were just a stone's throw away, because, hey we had all the basic machinery! Well, they weren't. It seems language is a lot more complicated than we all initially thought.
> I have no means of predicting the political state of the world in another couple of centuries. Do you?
We can look at futurists who claim they do. We can look at big trends that have occurred since the Big Bang. And the "futurists" all say we are "globalizing" and becoming more "interconnected". Transforming from provincal economies and governments to world governments and super-national economic trading blocks. And that everyone in the world is learning English. All the world's elites speak English. And the other member's of their community, when they see that the elites know English, force their children to learn English because they want them to grow up to be like the current elite. In Indonesia, there is currently growing concern that their local language is dying off as parents overencourage their kids to learn English from a young age.
> You're forgetting prosody and gestures
Which are also not present when written down. Natural language has to have a verbose enough in syntax to be compressed to the intersection of bandwidth features present in both Oral and Written. Without suffering too high of information loss. In other words yes prosody and gestures are important, by they are supplementary to the core feature set. The syntax also has to be verbose enough to not loose too much information when transferred back and forth between paper and speech. This is not an important requirement for programming, which can exploit its single medium more extensively.
> The differences between spoken languages are vast.
The differences in brain anatomy between those speaking different languages is not. [ A function could contain infinitely many points. Yet it is possible for all these points to all have exactly the same derivative. And once you have modeled the derivative, you have a certain degree of predictive confidence in all future positions of the function. LISP is similar to an underlying derivative of a function generating programming languages, while still being usable as a language itself. ]
>and voilá, you've got your NL parser.
>computer systems comprehending natural language were just a stone's throw away
I completely agree is it nearly impossible to write an authoritative model of processing system of the brain from top-down conjecture. Because semantic association is defined by its relation to other chunks, we will NEVER have a perfect database of these relations, unless we map the human brain. That's why we have computational neuroscience, and are simulating cortical columns on neuron emulators, which will be able to map long before we would armchair philosophize it due to the complexity. I assure you I can very skeptical\pessimistic of "intelligent design".
I think what we can agree on in relation to the OP is that when he says LISP is the last language he'll ever learn it's kind of cheating the question he imposes on himself because it's flexible enough tool to morph into any language depending on the problem domain. And a specie's flexibility and capacity for adaptation is the best measure of survivability.
[ please hit me up via email if you want to drop links to journal articles so I'm not as ignorant to your field of research ]
[ Also please check out this article: http://www.google.com/hostednews/afp/article/ALeqM5jz3FEk2KJ... "Wired youth forget how to write in China and Japan" . English by evolutionarily choosing alphabet over characters has proven more adaptable and survivable ]
>I wouldn't be drawing diagrams of synapses and how the chemical signals flow
I actually think that's a pretty good analogy for what programmers do. You program the give function to accepted the variables nominative (you), accussative(hot dog), and dative(me). Now lets say you want to create multiple functions (give, send, take) that are operators on nominative, accussative, dative and want to reuse code easily. Or you want to use your "give" function to define what a "gift" is. No problem in LISP.
Well yes ... LISP is like a language framework, with which you can evolve your own languages suitable for problem domains.
But I just don't get the correlation between its direct representation as syntax trees and being more natural to people (which the parent was arguing).
A language can have hooks for evolving into what you want, it's just incredibly hard to do it without a LISP syntax. But natural language ain't easy to parse either.
My argument was actually that things modeled after genetically evolved structures share in the advantages of increased genetic fitness inherent in that design. i.e. Survivability and future-proofness. [i.e. the OP may indeed not need to ever learn another language before he dies] It was not an argument that genetically evolved structures are easy to grok.
What do you mean by "Chinese"? There are thousands of what are called "dialects" but in reality they are totally different languages with different grammars and so on. They do share a common script but that doesn't tell much about the spoken language (since it applies to all of them afaik).
English is currently hot, just as e.g. French was before it, but I'd expect that to start changing within the next, say 20 years. I'd expect the US to lose more and more relevance while China is gaining. Something could screw that up, you can never predict the future with any accuracy but I would give these events a higher probability than English becoming the global language.
But if you really enjoy being a software developer and want to be the best at what you do, I don't think you'll ever stop learning new languages.