3 ms·
The curious thing is that they are already here, e.g. Python/Ruby vs Java. According to Clayton Christensen it takes a paradigm shift of over 5x improvement be
by russell 16y ago
The curious thing is that they are already here, e.g. Python/Ruby vs Java. According to Clayton Christensen it takes a paradigm shift of over 5x improvement before anyone notices.
I dont think the shift will be programming language based because the decision makers dont pay attention to programmers. (I'm speaking the enterprise world here, not startups.) But I hope you're right, not me. :-)
- jules 16y agoRight, I'm thinking that X will happen to Python/Ruby like Python/Ruby happened to Java. A 5x improvement is a lot to ask for...I don't think that Python/Ruby offers 5x over Java, and to get 5x over Python/Ruby will be very hard. Even describing software in reasonably precise English probably doesn't offer 5x over the state of the art. On the other hand, 50% is definitely feasible. The form this will take is a combination of, among other things: - Moving away from the dynamicism of Python/Ruby: by sacrificing just a little bit of the dynamicism (like assigning to a variable by string name) you can gain a lot in terms of what IDEs can do and what compilers can do to optimize. - New constructs that replace the dynamic metaprogramming in Ruby/Python with static metaprogramming, like Lisp's macros and F#'s type providers. - Merging OOP with functional programming by unifying FP's abstract data types and pattern matching with OOP's classes and runtime dispatch. The resulting system will be something like multimethods or predicate dispatch. - Testing tools will get more powerful. Randomized testing will play a more important role. We'll get statistical analysis in IDEs that can sometimes pinpoint the line that's causing a bug by running the randomized tests and computing the correlation of "line n was executed" with "the test failed". - Last but not least, the days of ASCII based programming are over. > I dont think the shift will be programming language based because the decision makers dont pay attention to programmers. (I'm speaking the enterprise world here, not startups.) But I hope you're right, not me. :-) I agree. As usual the enterprise world will lag a few years behind...around the time they adopt Python/Ruby/F#/etc, the startup world will have new languages and tools.
- russell 16y agoActually I agree with you completely. The 5x improvement is what it takes BigCo management to notice you. However startups are getting the 5x advantage all over the place. Nimble platforms plus smarter people plus stripped down organizations give you your 5x. I have been inclined to think for quite a while that a good IDE / compiler combination would achieve a lot with a language Python. (I've been doing my Python development with an ordinary editor.) Python 3 allows type specification, but doesnt do anything with it. Have the IDE get feedback from the execution profile to advise the programmer on possible type errors. Testing tools: I would like a tool that can read a method and some annotation to generate a set of unit tests. Given your list I think it results in way more than 50% improvement.