The python paradox(paulgraham.com)
paulgraham.com
The python paradox
http://paulgraham.com/pypar.html
3 comments
If we look at the rise of easier and easier to use graphic design programs - Photoshop, Illustrator, and so on - we don't see a decreased relevance of experienced or quality graphic design professionals. Instead, the ability to get something, anything done that looks OK is much easier. The highest quality products are still produced by the highest quality individuals. The tool is an enabling device.
We can mirror this to programming, and IDEs. Visual Studio, for instance, takes a ton of the nitty-gritty details of programming out of the picture for a vast population of people looking to write software. The need for quality and very skilled programmers isn't any less relevant - they're just not needed for every piece of development like they used to be. This is how we're able to get way more software than before. The very skilled programmers are almost more important in order to facilitate more software to get pushed out, as there will require an increased expectation of quality from software and only a limited group who can produce or lead such a development effort.
None of this is a bad thing, but it's just a change in how things used to be done. As it used to be in the automotive world, not everyone has to be a full fledged mechanic to keep the car running - but for the big jobs, there is a definite demand for the higher skill. (Of course, computerization of the automobile is bringing this back around!)
We can mirror this to programming, and IDEs. Visual Studio, for instance, takes a ton of the nitty-gritty details of programming out of the picture for a vast population of people looking to write software. The need for quality and very skilled programmers isn't any less relevant - they're just not needed for every piece of development like they used to be. This is how we're able to get way more software than before. The very skilled programmers are almost more important in order to facilitate more software to get pushed out, as there will require an increased expectation of quality from software and only a limited group who can produce or lead such a development effort.
None of this is a bad thing, but it's just a change in how things used to be done. As it used to be in the automotive world, not everyone has to be a full fledged mechanic to keep the car running - but for the big jobs, there is a definite demand for the higher skill. (Of course, computerization of the automobile is bringing this back around!)
I agree. Technical challenges are not always deal with issues of processing and memory. In case of web the real problem is scalability and communicating processes and system components. May be we will soon come up with some formalism and technologies that will make scalability a dumb problem but then we will have a new set of technical challenges to be solved. So the demand for highly skilled people who care about their work will only increase with time.
In my opinion it is wrong to assume that a language like Python is better than C. They are all independent of each other. Python is simply useless when it comes to real-time processing where hard deadlines are required, you cant chose anything except Ada or some flavor of C. They each have their strengths and that is why they are still alive.
In my opinion it is wrong to assume that a language like Python is better than C. They are all independent of each other. Python is simply useless when it comes to real-time processing where hard deadlines are required, you cant chose anything except Ada or some flavor of C. They each have their strengths and that is why they are still alive.
I agree, if you build something great, you can always hire someone later to optimize the code.
But programming productivity(one way of defining a better programmer) gives one the ability to try many things to see what is better. This is really an important part of achieving a great product design, even if you are a great product designer.
But programming productivity(one way of defining a better programmer) gives one the ability to try many things to see what is better. This is really an important part of achieving a great product design, even if you are a great product designer.
Google shows 62 hits for this link on this site
Additionally, very skilled programmers increasingly become less relevant as processing power increases. In the original days of the personal computer, insanely clever techniques were useful when the computer only had 4K of memory like the original Apple II. These days, knowing such techniques isn't so useful.
The real paradox is finding programmers that can fluently program something that users actually enjoy. Programmers that program only for the sake of solving interesting technical problems are what Paul Graham refers to as "techno-weenies" ( http://www.paulgraham.com/wealth.html ). Ideally, a very tiny percent of people will actually see the source code compared to those that actually use the product. You can write something that people enjoy and then hire programmers later to optimize the source code. The inverse is not true: You cannot program something that is elegantly written and then hire someone to make people like it.