Not sure I get the logic behind the line: With the economic slow down, countries with emerging technology sectors and talented, well educated developers will be getting a second look as a means of cutting applicationd(sic) development costs.
Surely with the economic slowdown developers in "un-emerging" economies will be more competitive?
Clojure comes close to answering almost all of my complaints with other languages.
- The mature libraries and deployment environment of the JVM. So your code runs fast, runs almost anywhere, and a lot of work is already done for you.
- Data literals for arrays and maps. One of the shortcomings of Common Lisp. And catches up with (surpasses?) Python/Ruby/Javascript in this regard.
- ISeq interface means that a single set of functions works across all collection types. (Common Lisp has an amazing array of functions for working on lists, but hit and miss for other collection types.)
- Lisp 1. I know this is an aesthetic thing, but I much prefer how the code looks than Lisp 2's.
- Steals a lot of arc's good ideas, like abbreviated syntax for function literals and semantics for arrays/maps in function position.
- Common Lisp style macros. Just more intuitive, for me, than the hygienic type.
- Interesting place in the space of computer programming languages. Dynamic typing, with an emphasis on programming to interfaces, macros, first class functions, immutable data structures, and built in mechanisms to support parallel programming. I don't know of any other language that chooses this set of tradeoffs.
Erlang is a great language, but I've never managed to do any useful work with it. Very few people are actually working on things that are othogonal to telecom switches. Single-paradigm languages will always be stuck in niches (this isn't necessarily a bad thing).
haskell is the only programming language that made me reconsider most of my assumptions. its not a tacked-on, hacked-on functional layer on something else, its mind-bending at a fundamental level. because haskell makes no comprimises, it also is showing some insane performance on multicore. its no mistake that the google mapreduce tutorials use haskell in some explanatory examples...
ten years from now, you will be dealing with a multicore world, and you will be using something that is conceptually tied to haskell. i see this as inevitable.
factor i have looked at again and again, worked through some trivial problems...not sure i will ever "get" it. i would brute-force understanding it were it to take off.
Same. I only got into Python this year, but I definitely want to say I'm an expert by next year. Of course, won't ever stop learning new tricks even as an expert :)
I just took an informal survey amongst my teammates (including Arabic in the list), and "three out of four" developers said: Mandarin.
The interesting thing is that on my team, two are from Russia, one from China, one from Lebanon, one from the UK, and one from India. The other two are Americans.
[+] [-] schtog|17 years ago|reply
One of 2? I thought 4: Java, Python, C++, Javascript.
And does it really power a lot of their most profitable products? Like which?
(Not bashing here, Python is my main language and I love it.)
[+] [-] bdotdub|17 years ago|reply
That said, a number of their high profile apps are in Python, most notably YouTube and App Engine.
[+] [-] jimbokun|17 years ago|reply
[+] [-] whacked_new|17 years ago|reply
[+] [-] jwilliams|17 years ago|reply
Surely with the economic slowdown developers in "un-emerging" economies will be more competitive?
[+] [-] cstejerean|17 years ago|reply
[+] [-] jimbokun|17 years ago|reply
- The mature libraries and deployment environment of the JVM. So your code runs fast, runs almost anywhere, and a lot of work is already done for you.
- Data literals for arrays and maps. One of the shortcomings of Common Lisp. And catches up with (surpasses?) Python/Ruby/Javascript in this regard.
- ISeq interface means that a single set of functions works across all collection types. (Common Lisp has an amazing array of functions for working on lists, but hit and miss for other collection types.)
- Lisp 1. I know this is an aesthetic thing, but I much prefer how the code looks than Lisp 2's.
- Steals a lot of arc's good ideas, like abbreviated syntax for function literals and semantics for arrays/maps in function position.
- Common Lisp style macros. Just more intuitive, for me, than the hygienic type.
- Interesting place in the space of computer programming languages. Dynamic typing, with an emphasis on programming to interfaces, macros, first class functions, immutable data structures, and built in mechanisms to support parallel programming. I don't know of any other language that chooses this set of tradeoffs.
[+] [-] gaius|17 years ago|reply
[+] [-] vegai|17 years ago|reply
Mandarin is a nice touch. I'll try that. Indians, however, speak English pretty well -- even if their accent might take some getting used to.
[+] [-] crabapple|17 years ago|reply
ten years from now, you will be dealing with a multicore world, and you will be using something that is conceptually tied to haskell. i see this as inevitable.
factor i have looked at again and again, worked through some trivial problems...not sure i will ever "get" it. i would brute-force understanding it were it to take off.
[+] [-] sherl0ck|17 years ago|reply
[+] [-] truebosko|17 years ago|reply
[+] [-] chris11|17 years ago|reply
[+] [-] tapostrophemo|17 years ago|reply
The interesting thing is that on my team, two are from Russia, one from China, one from Lebanon, one from the UK, and one from India. The other two are Americans.
[+] [-] gaius|17 years ago|reply
[+] [-] callmeed|17 years ago|reply
[+] [-] vesan|17 years ago|reply
[+] [-] razzmataz|17 years ago|reply