Re: [Pharo-project] Enthousiasm is the main currency among developers
On Jan 27, 2012, at 6:13 AM, dimitris chloupis wrote:
This article is really encapsulates the attitude and what is wrong with programming in general. The attitude of superiority and intelligence that seems to plague coders and being the biggest obstacle to progress.
Yes! The "Everyone is dumb but me" phenomenon... What those "intelligent" people don't get is that complexity is inherently exponential. So even if you are 10 times more intelligent than me (very well possible), it is *completely* irrelevant considering that complexity grows non-linearly. If you combine this with the notion of Evolution: that it is impossible to creat "the perfect" out of nothing, yet entropy grows when you incrementally improve things... than this has some very serious consequences.
For me the main problem with is the whole aura of "elitism" , what better example than Lisp, where beginners are attacked and be excluded.
We had the same effect in Squeak at the end. No progress, every improvement was actively fighted against, if needed with the nice argument that one can do it even better, and only "the best" is worth for Squeak. Another thing that "intelligent" people don't get is that critizising is trivial: You can *always* do better, there is no perfection. It's an endless process. This implies that one has to accept and embrace imperfection if one wants to have a future. Else you end up never finishing anything, the death of any incremental progress. Pharo was started with the explicit goal to do as many mistakes as possible, as fast as possible. Marcus -- Marcus Denker -- http://marcusdenker.de
On Jan 27, 2012, at 2:33 PM, Marcus Denker wrote:
Pharo was started with the explicit goal to do as many mistakes as possible, as fast as possible. But to steadily improve, improve and improve.
Stef
On 27 Jan 2012, at 16:47, Stéphane Ducasse wrote:
On Jan 27, 2012, at 2:33 PM, Marcus Denker wrote:
Pharo was started with the explicit goal to do as many mistakes as possible, as fast as possible.
But to steadily improve, improve and improve.
With lost of enthousiasm and positive energy.
On 27 Jan 2012, at 16:58, Sven Van Caekenberghe wrote:
With lost of enthousiasm and positive energy.
euh, with lots of enthousiasm and positive energy. (But typing/spelling wrong is required etiquette on this list ;-)
Marcus Denker wrote:
On Jan 27, 2012, at 6:13 AM, dimitris chloupis wrote:
This article is really encapsulates the attitude and what is wrong with programming in general. The attitude of superiority and intelligence that seems to plague coders and being the biggest obstacle to progress.
Yes! The "Everyone is dumb but me" phenomenon...
What those "intelligent" people don't get is that complexity is inherently exponential. So even if you are 10 times more intelligent than me (very well possible), it is *completely* irrelevant considering that complexity grows non-linearly.
If you combine this with the notion of Evolution: that it is impossible to creat "the perfect" out of nothing, yet entropy grows when you incrementally improve things... than this has some very serious consequences.
The philosophy "Given enough eyeballs, all bugs are shallow" [1] appears to have worked well for Linux. I particularly like this... "[the] original formulation was that every problem 'will be transparent to somebody'. Linus demurred that the person who understands and fixes the problem is not necessarily or even usually the person who first characterizes it. 'Somebody finds the problem,' he says, 'and somebody /else/ understands it. And I'll go on record as saying that finding it is the bigger challenge.' " The success of Linux is attributed not to Linus' great hacking skills but to his cultivation of his co-developers. [1] http://catb.org/~esr/writings/homesteading/cathedral-bazaar/ar01s04.html
For me the main problem with is the whole aura of "elitism" , what better example than Lisp, where beginners are attacked and be excluded.
We had the same effect in Squeak at the end. No progress, every improvement was actively fighted against, if needed with the nice argument that one can do it even better, and only "the best" is worth for Squeak.
Another thing that "intelligent" people don't get is that critizising is trivial: You can *always* do better, there is no perfection. It's an endless process. This implies that one has to accept and embrace imperfection if one wants to have a future. Else you end up never finishing anything, the death of any incremental progress.
Pharo was started with the explicit goal to do as many mistakes as possible, as fast as possible.
Same link [1] above... " In those early times (around 1991) it wasn't unknown for [Linus] to release a new kernel more than once a /day!/" alternatively at [2] Linus relates how today a more mature Linux manages "low risk" users as well as how features are selected to match the two month release cycle based on "the most important thing about features are simply whether they are ready, and whether they have actual real users. A lot of that is tied to our release process - it's largely based on _timing_ rather than on features. If something is ready to be merged, works, and has real users, it gets merged." [3] [2] http://www.itwire.com/opinion-and-analysis/open-sauce/44975-linus-torvalds-l... [3] http://www.itwire.com/opinion-and-analysis/open-sauce/44975-linus-torvalds-l...
Marcus
-- Marcus Denker -- http://marcusdenker.de
On Fri, Jan 27, 2012 at 5:33 AM, Marcus Denker <marcus.denker@inria.fr>wrote:
On Jan 27, 2012, at 6:13 AM, dimitris chloupis wrote:
This article is really encapsulates the attitude and what is wrong with programming in general. The attitude of superiority and intelligence that seems to plague coders and being the biggest obstacle to progress.
Yes! The "Everyone is dumb but me" phenomenon...
What those "intelligent" people don't get is that complexity is inherently exponential. So even if you are 10 times more intelligent than me (very well possible), it is *completely* irrelevant considering that complexity grows non-linearly.
If you combine this with the notion of Evolution: that it is impossible to creat "the perfect" out of nothing, yet entropy grows when you incrementally improve things... than this has some very serious consequences.
For me the main problem with is the whole aura of "elitism" , what better example than Lisp, where beginners are attacked and be excluded.
We had the same effect in Squeak at the end. No progress, every improvement was actively fighted against, if needed with the nice argument that one can do it even better, and only "the best" is worth for Squeak.
Another thing that "intelligent" people don't get is that critizising is trivial: You can *always* do better, there is no perfection. It's an endless process. This implies that one has to accept and embrace imperfection if one wants to have a future. Else you end up never finishing anything, the death of any incremental progress.
But criticism is essential. How does one identify a mistake if not by criticising? There's a huge difference between constructive criticism (analysis, testing, comparison, evaluation, measurement) and negativity (denial, fear, slander). How can one engineer without measurement, without thought? Being agile doesn't imply being random. Evolution measures, and most harshly; the weaker don't survive.
Pharo was started with the explicit goal to do as many mistakes as possible, as fast as possible.
Marcus
-- Marcus Denker -- http://marcusdenker.de
-- best, Eliot
Hi Elliot! When I rethink, why new programming languages came up from zero to a significant market share, like PERL, PHP, Python, Ruby, JAVA, C# (.net) Visual Basic, Visual C++ and others died out, like Delphi, TurboBasic/Pascal/C I could name different reasons: - Free license vs. expensive - Wrong payment model (per developer, per runtime, both) - Good, free support on websites vs. "Bronze/silver/gold" paystupid-support - Attractiveness of one "killer app" that made programmers change to another language - Portability of code onto other platforms - Mightyness of libraries - Missing standards, protocols, support of hardware - Good vs. bad marketing, deciders not convinced that product will survive/missing timeline, visions, lack of money in background - Subcritical mass of programmers using product, lack of professionals That was in former times. Today, new criterias play a far more relevant role, hat haven't really existed just 3 years ago: - Has it (the OS,the programming language and GUI framework) an appstore/plugin concept to let free, creative brains being able to participate, earn money with? - Barrier - free payment model included (mobile payment, card, bank account)? - Free use with sponsoring by ads possible (programmers payed from multiple resources, not user alone) - Cryptographic prevention of missuse included? - Free and matured SDK available? - Connections to social software like facebook/twitter/Google+/Groupon included (API access, programming language and all protocols supported) - GUI designed for desktop as well usable for touch and self adapting to different screen/touch sizes? - Touch gestures possible and lib avail? - Microsofts Kinect hardware/video recognition of faces, hand/face mimic gestures possible and supported in libs? - Voice recognition supported? - Mobile ready? (touch, GPS, compass, barometer, gyro, hardware OpenGL) - Rockstable? - Fast, running in low power devices? Joule per clock cycle ratio??? - Critical mass of users already reached, increasing? - Critical number of apps there to raise interest? ... So, the Pharo developers might now decide, what to invest their brainpower into! :-) Just my 2ct. Guido Stepken Am 27.01.2012 19:46 schrieb "Eliot Miranda" <eliot.miranda@gmail.com>:
On Fri, Jan 27, 2012 at 5:33 AM, Marcus Denker <marcus.denker@inria.fr>wrote:
On Jan 27, 2012, at 6:13 AM, dimitris chloupis wrote:
This article is really encapsulates the attitude and what is wrong with programming in general. The attitude of superiority and intelligence that seems to plague coders and being the biggest obstacle to progress.
Yes! The "Everyone is dumb but me" phenomenon...
What those "intelligent" people don't get is that complexity is inherently exponential. So even if you are 10 times more intelligent than me (very well possible), it is *completely* irrelevant considering that complexity grows non-linearly.
If you combine this with the notion of Evolution: that it is impossible to creat "the perfect" out of nothing, yet entropy grows when you incrementally improve things... than this has some very serious consequences.
For me the main problem with is the whole aura of "elitism" , what better example than Lisp, where beginners are attacked and be excluded.
We had the same effect in Squeak at the end. No progress, every improvement was actively fighted against, if needed with the nice argument that one can do it even better, and only "the best" is worth for Squeak.
Another thing that "intelligent" people don't get is that critizising is trivial: You can *always* do better, there is no perfection. It's an endless process. This implies that one has to accept and embrace imperfection if one wants to have a future. Else you end up never finishing anything, the death of any incremental progress.
But criticism is essential. How does one identify a mistake if not by criticising? There's a huge difference between constructive criticism (analysis, testing, comparison, evaluation, measurement) and negativity (denial, fear, slander). How can one engineer without measurement, without thought? Being agile doesn't imply being random. Evolution measures, and most harshly; the weaker don't survive.
Pharo was started with the explicit goal to do as many mistakes as possible, as fast as possible.
Marcus
-- Marcus Denker -- http://marcusdenker.de
-- best, Eliot
On Fri, Jan 27, 2012 at 11:51 AM, Guido Stepken <gstepken@googlemail.com>wrote:
Hi Elliot!
When I rethink, why new programming languages came up from zero to a significant market share, like PERL, PHP, Python, Ruby, JAVA, C# (.net) Visual Basic, Visual C++ and others died out, like Delphi, TurboBasic/Pascal/C I could name different reasons:
- Free license vs. expensive - Wrong payment model (per developer, per runtime, both) - Good, free support on websites vs. "Bronze/silver/gold" paystupid-support - Attractiveness of one "killer app" that made programmers change to another language - Portability of code onto other platforms - Mightyness of libraries - Missing standards, protocols, support of hardware - Good vs. bad marketing, deciders not convinced that product will survive/missing timeline, visions, lack of money in background - Subcritical mass of programmers using product, lack of professionals
That was in former times.
Today, new criterias play a far more relevant role, hat haven't really existed just 3 years ago:
- Has it (the OS,the programming language and GUI framework) an appstore/plugin concept to let free, creative brains being able to participate, earn money with? - Barrier - free payment model included (mobile payment, card, bank account)? - Free use with sponsoring by ads possible (programmers payed from multiple resources, not user alone) - Cryptographic prevention of missuse included? - Free and matured SDK available? - Connections to social software like facebook/twitter/Google+/Groupon included (API access, programming language and all protocols supported) - GUI designed for desktop as well usable for touch and self adapting to different screen/touch sizes? - Touch gestures possible and lib avail? - Microsofts Kinect hardware/video recognition of faces, hand/face mimic gestures possible and supported in libs? - Voice recognition supported? - Mobile ready? (touch, GPS, compass, barometer, gyro, hardware OpenGL) - Rockstable? - Fast, running in low power devices? Joule per clock cycle ratio??? - Critical mass of users already reached, increasing? - Critical number of apps there to raise interest? ...
So, the Pharo developers might now decide, what to invest their brainpower into! :-)
Just my 2ct.
OK, that looks like a great list. But don't you agree that criticism (in the sense of something that leads to quality software engineering) underlies several of these, such as Rockstable, Fast, running on low-power devices, etc? To me, being critical doesn't mean being uncreative or conservative; it means thinking about what you're doing, and doing a good job.
Guido Stepken Am 27.01.2012 19:46 schrieb "Eliot Miranda" <eliot.miranda@gmail.com>:
On Fri, Jan 27, 2012 at 5:33 AM, Marcus Denker <marcus.denker@inria.fr>wrote:
On Jan 27, 2012, at 6:13 AM, dimitris chloupis wrote:
This article is really encapsulates the attitude and what is wrong with programming in general. The attitude of superiority and intelligence that seems to plague coders and being the biggest obstacle to progress.
Yes! The "Everyone is dumb but me" phenomenon...
What those "intelligent" people don't get is that complexity is inherently exponential. So even if you are 10 times more intelligent than me (very well possible), it is *completely* irrelevant considering that complexity grows non-linearly.
If you combine this with the notion of Evolution: that it is impossible to creat "the perfect" out of nothing, yet entropy grows when you incrementally improve things... than this has some very serious consequences.
For me the main problem with is the whole aura of "elitism" , what better example than Lisp, where beginners are attacked and be excluded.
We had the same effect in Squeak at the end. No progress, every improvement was actively fighted against, if needed with the nice argument that one can do it even better, and only "the best" is worth for Squeak.
Another thing that "intelligent" people don't get is that critizising is trivial: You can *always* do better, there is no perfection. It's an endless process. This implies that one has to accept and embrace imperfection if one wants to have a future. Else you end up never finishing anything, the death of any incremental progress.
But criticism is essential. How does one identify a mistake if not by criticising? There's a huge difference between constructive criticism (analysis, testing, comparison, evaluation, measurement) and negativity (denial, fear, slander). How can one engineer without measurement, without thought? Being agile doesn't imply being random. Evolution measures, and most harshly; the weaker don't survive.
Pharo was started with the explicit goal to do as many mistakes as possible, as fast as possible.
Marcus
-- Marcus Denker -- http://marcusdenker.de
-- best, Eliot
-- best, Eliot
I see quite a difference between "doing things right" and "doing the right things" ! :-) Am 27.01.2012 22:50 schrieb "Eliot Miranda" <eliot.miranda@gmail.com>:
On Fri, Jan 27, 2012 at 11:51 AM, Guido Stepken <gstepken@googlemail.com>wrote:
Hi Elliot!
When I rethink, why new programming languages came up from zero to a significant market share, like PERL, PHP, Python, Ruby, JAVA, C# (.net) Visual Basic, Visual C++ and others died out, like Delphi, TurboBasic/Pascal/C I could name different reasons:
- Free license vs. expensive - Wrong payment model (per developer, per runtime, both) - Good, free support on websites vs. "Bronze/silver/gold" paystupid-support - Attractiveness of one "killer app" that made programmers change to another language - Portability of code onto other platforms - Mightyness of libraries - Missing standards, protocols, support of hardware - Good vs. bad marketing, deciders not convinced that product will survive/missing timeline, visions, lack of money in background - Subcritical mass of programmers using product, lack of professionals
That was in former times.
Today, new criterias play a far more relevant role, hat haven't really existed just 3 years ago:
- Has it (the OS,the programming language and GUI framework) an appstore/plugin concept to let free, creative brains being able to participate, earn money with? - Barrier - free payment model included (mobile payment, card, bank account)? - Free use with sponsoring by ads possible (programmers payed from multiple resources, not user alone) - Cryptographic prevention of missuse included? - Free and matured SDK available? - Connections to social software like facebook/twitter/Google+/Groupon included (API access, programming language and all protocols supported) - GUI designed for desktop as well usable for touch and self adapting to different screen/touch sizes? - Touch gestures possible and lib avail? - Microsofts Kinect hardware/video recognition of faces, hand/face mimic gestures possible and supported in libs? - Voice recognition supported? - Mobile ready? (touch, GPS, compass, barometer, gyro, hardware OpenGL) - Rockstable? - Fast, running in low power devices? Joule per clock cycle ratio??? - Critical mass of users already reached, increasing? - Critical number of apps there to raise interest? ...
So, the Pharo developers might now decide, what to invest their brainpower into! :-)
Just my 2ct.
OK, that looks like a great list. But don't you agree that criticism (in the sense of something that leads to quality software engineering) underlies several of these, such as Rockstable, Fast, running on low-power devices, etc? To me, being critical doesn't mean being uncreative or conservative; it means thinking about what you're doing, and doing a good job.
Guido Stepken Am 27.01.2012 19:46 schrieb "Eliot Miranda" <eliot.miranda@gmail.com>:
On Fri, Jan 27, 2012 at 5:33 AM, Marcus Denker <marcus.denker@inria.fr>wrote:
On Jan 27, 2012, at 6:13 AM, dimitris chloupis wrote:
This article is really encapsulates the attitude and what is wrong with programming in general. The attitude of superiority and intelligence that seems to plague coders and being the biggest obstacle to progress.
Yes! The "Everyone is dumb but me" phenomenon...
What those "intelligent" people don't get is that complexity is inherently exponential. So even if you are 10 times more intelligent than me (very well possible), it is *completely* irrelevant considering that complexity grows non-linearly.
If you combine this with the notion of Evolution: that it is impossible to creat "the perfect" out of nothing, yet entropy grows when you incrementally improve things... than this has some very serious consequences.
For me the main problem with is the whole aura of "elitism" , what better example than Lisp, where beginners are attacked and be excluded.
We had the same effect in Squeak at the end. No progress, every improvement was actively fighted against, if needed with the nice argument that one can do it even better, and only "the best" is worth for Squeak.
Another thing that "intelligent" people don't get is that critizising is trivial: You can *always* do better, there is no perfection. It's an endless process. This implies that one has to accept and embrace imperfection if one wants to have a future. Else you end up never finishing anything, the death of any incremental progress.
But criticism is essential. How does one identify a mistake if not by criticising? There's a huge difference between constructive criticism (analysis, testing, comparison, evaluation, measurement) and negativity (denial, fear, slander). How can one engineer without measurement, without thought? Being agile doesn't imply being random. Evolution measures, and most harshly; the weaker don't survive.
Pharo was started with the explicit goal to do as many mistakes as possible, as fast as possible.
Marcus
-- Marcus Denker -- http://marcusdenker.de
-- best, Eliot
-- best, Eliot
On Fri, Jan 27, 2012 at 1:53 PM, Guido Stepken <gstepken@googlemail.com>wrote:
I see quite a difference between "doing things right" and "doing the right things" ! :-)
Agreed. Don't let the perfect be the enemy of the good and all that. But we're talking at different levels here. I want to hear what Marcus thinks to my reply to his post. That's where this thread comes from.
Am 27.01.2012 22:50 schrieb "Eliot Miranda" <eliot.miranda@gmail.com>:
On Fri, Jan 27, 2012 at 11:51 AM, Guido Stepken <gstepken@googlemail.com>wrote:
Hi Elliot!
When I rethink, why new programming languages came up from zero to a significant market share, like PERL, PHP, Python, Ruby, JAVA, C# (.net) Visual Basic, Visual C++ and others died out, like Delphi, TurboBasic/Pascal/C I could name different reasons:
- Free license vs. expensive - Wrong payment model (per developer, per runtime, both) - Good, free support on websites vs. "Bronze/silver/gold" paystupid-support - Attractiveness of one "killer app" that made programmers change to another language - Portability of code onto other platforms - Mightyness of libraries - Missing standards, protocols, support of hardware - Good vs. bad marketing, deciders not convinced that product will survive/missing timeline, visions, lack of money in background - Subcritical mass of programmers using product, lack of professionals
That was in former times.
Today, new criterias play a far more relevant role, hat haven't really existed just 3 years ago:
- Has it (the OS,the programming language and GUI framework) an appstore/plugin concept to let free, creative brains being able to participate, earn money with? - Barrier - free payment model included (mobile payment, card, bank account)? - Free use with sponsoring by ads possible (programmers payed from multiple resources, not user alone) - Cryptographic prevention of missuse included? - Free and matured SDK available? - Connections to social software like facebook/twitter/Google+/Groupon included (API access, programming language and all protocols supported) - GUI designed for desktop as well usable for touch and self adapting to different screen/touch sizes? - Touch gestures possible and lib avail? - Microsofts Kinect hardware/video recognition of faces, hand/face mimic gestures possible and supported in libs? - Voice recognition supported? - Mobile ready? (touch, GPS, compass, barometer, gyro, hardware OpenGL) - Rockstable? - Fast, running in low power devices? Joule per clock cycle ratio??? - Critical mass of users already reached, increasing? - Critical number of apps there to raise interest? ...
So, the Pharo developers might now decide, what to invest their brainpower into! :-)
Just my 2ct.
OK, that looks like a great list. But don't you agree that criticism (in the sense of something that leads to quality software engineering) underlies several of these, such as Rockstable, Fast, running on low-power devices, etc? To me, being critical doesn't mean being uncreative or conservative; it means thinking about what you're doing, and doing a good job.
Guido Stepken Am 27.01.2012 19:46 schrieb "Eliot Miranda" <eliot.miranda@gmail.com>:
On Fri, Jan 27, 2012 at 5:33 AM, Marcus Denker <marcus.denker@inria.fr>wrote:
On Jan 27, 2012, at 6:13 AM, dimitris chloupis wrote:
This article is really encapsulates the attitude and what is wrong with programming in general. The attitude of superiority and intelligence that seems to plague coders and being the biggest obstacle to progress.
Yes! The "Everyone is dumb but me" phenomenon...
What those "intelligent" people don't get is that complexity is inherently exponential. So even if you are 10 times more intelligent than me (very well possible), it is *completely* irrelevant considering that complexity grows non-linearly.
If you combine this with the notion of Evolution: that it is impossible to creat "the perfect" out of nothing, yet entropy grows when you incrementally improve things... than this has some very serious consequences.
For me the main problem with is the whole aura of "elitism" , what better example than Lisp, where beginners are attacked and be excluded.
We had the same effect in Squeak at the end. No progress, every improvement was actively fighted against, if needed with the nice argument that one can do it even better, and only "the best" is worth for Squeak.
Another thing that "intelligent" people don't get is that critizising is trivial: You can *always* do better, there is no perfection. It's an endless process. This implies that one has to accept and embrace imperfection if one wants to have a future. Else you end up never finishing anything, the death of any incremental progress.
But criticism is essential. How does one identify a mistake if not by criticising? There's a huge difference between constructive criticism (analysis, testing, comparison, evaluation, measurement) and negativity (denial, fear, slander). How can one engineer without measurement, without thought? Being agile doesn't imply being random. Evolution measures, and most harshly; the weaker don't survive.
Pharo was started with the explicit goal to do as many mistakes as possible, as fast as possible.
Marcus
-- Marcus Denker -- http://marcusdenker.de
-- best, Eliot
-- best, Eliot
-- best, Eliot
I agree whole heartedly after a month of Pharo being used as a tool for newbies. a) Crashes... b) Bugs in basic functionality: Morphic as well as in other places c) The User Guide is not in synch with the current stable Pharo.. in simple images of browsers.. Very very basic/ simple stuff.. but I realized more sharply that not all are equal in comprehension and guess or accept these to dig their heel in further and experience the joy inside.. they just balk and wonder if Pharo is even half as good as VW/ VA.. where I believe it is just pure uncut diamond inside.. unpolished.. but work is going on from the craftsmen.. every day.. to get there.. But I vote for the basic principle, work hard to get the very basic kernel, a stable system that is guaranteed not to crash and work absolutely predictably.. not throw in stuff which half works even like the debugger stuff currently, which to a beginner is quite confusing when steps out of line. On Sat, Jan 28, 2012 at 3:19 AM, Eliot Miranda <eliot.miranda@gmail.com>wrote:
On Fri, Jan 27, 2012 at 11:51 AM, Guido Stepken <gstepken@googlemail.com>wrote:
Hi Elliot!
When I rethink, why new programming languages came up from zero to a significant market share, like PERL, PHP, Python, Ruby, JAVA, C# (.net) Visual Basic, Visual C++ and others died out, like Delphi, TurboBasic/Pascal/C I could name different reasons:
- Free license vs. expensive - Wrong payment model (per developer, per runtime, both) - Good, free support on websites vs. "Bronze/silver/gold" paystupid-support - Attractiveness of one "killer app" that made programmers change to another language - Portability of code onto other platforms - Mightyness of libraries - Missing standards, protocols, support of hardware - Good vs. bad marketing, deciders not convinced that product will survive/missing timeline, visions, lack of money in background - Subcritical mass of programmers using product, lack of professionals
That was in former times.
Today, new criterias play a far more relevant role, hat haven't really existed just 3 years ago:
- Has it (the OS,the programming language and GUI framework) an appstore/plugin concept to let free, creative brains being able to participate, earn money with? - Barrier - free payment model included (mobile payment, card, bank account)? - Free use with sponsoring by ads possible (programmers payed from multiple resources, not user alone) - Cryptographic prevention of missuse included? - Free and matured SDK available? - Connections to social software like facebook/twitter/Google+/Groupon included (API access, programming language and all protocols supported) - GUI designed for desktop as well usable for touch and self adapting to different screen/touch sizes? - Touch gestures possible and lib avail? - Microsofts Kinect hardware/video recognition of faces, hand/face mimic gestures possible and supported in libs? - Voice recognition supported? - Mobile ready? (touch, GPS, compass, barometer, gyro, hardware OpenGL) - Rockstable? - Fast, running in low power devices? Joule per clock cycle ratio??? - Critical mass of users already reached, increasing? - Critical number of apps there to raise interest? ...
So, the Pharo developers might now decide, what to invest their brainpower into! :-)
Just my 2ct.
OK, that looks like a great list. But don't you agree that criticism (in the sense of something that leads to quality software engineering) underlies several of these, such as Rockstable, Fast, running on low-power devices, etc? To me, being critical doesn't mean being uncreative or conservative; it means thinking about what you're doing, and doing a good job.
Guido Stepken Am 27.01.2012 19:46 schrieb "Eliot Miranda" <eliot.miranda@gmail.com>:
On Fri, Jan 27, 2012 at 5:33 AM, Marcus Denker <marcus.denker@inria.fr>wrote:
On Jan 27, 2012, at 6:13 AM, dimitris chloupis wrote:
This article is really encapsulates the attitude and what is wrong with programming in general. The attitude of superiority and intelligence that seems to plague coders and being the biggest obstacle to progress.
Yes! The "Everyone is dumb but me" phenomenon...
What those "intelligent" people don't get is that complexity is inherently exponential. So even if you are 10 times more intelligent than me (very well possible), it is *completely* irrelevant considering that complexity grows non-linearly.
If you combine this with the notion of Evolution: that it is impossible to creat "the perfect" out of nothing, yet entropy grows when you incrementally improve things... than this has some very serious consequences.
For me the main problem with is the whole aura of "elitism" , what better example than Lisp, where beginners are attacked and be excluded.
We had the same effect in Squeak at the end. No progress, every improvement was actively fighted against, if needed with the nice argument that one can do it even better, and only "the best" is worth for Squeak.
Another thing that "intelligent" people don't get is that critizising is trivial: You can *always* do better, there is no perfection. It's an endless process. This implies that one has to accept and embrace imperfection if one wants to have a future. Else you end up never finishing anything, the death of any incremental progress.
But criticism is essential. How does one identify a mistake if not by criticising? There's a huge difference between constructive criticism (analysis, testing, comparison, evaluation, measurement) and negativity (denial, fear, slander). How can one engineer without measurement, without thought? Being agile doesn't imply being random. Evolution measures, and most harshly; the weaker don't survive.
Pharo was started with the explicit goal to do as many mistakes as possible, as fast as possible.
Marcus
-- Marcus Denker -- http://marcusdenker.de
-- best, Eliot
-- best, Eliot
On 31 January 2012 14:44, S Krish <krishnamachari.sudhakar@gmail.com> wrote:
I agree whole heartedly after a month of Pharo being used as a tool for newbies.
a) Crashes... b) Bugs in basic functionality: Morphic as well as in other places c) The User Guide is not in synch with the current stable Pharo.. in simple images of browsers..
Very very basic/ simple stuff.. but I realized more sharply that not all are equal in comprehension and guess or accept these to dig their heel in further and experience the joy inside.. they just balk and wonder if Pharo is even half as good as VW/ VA.. where I believe it is just pure uncut diamond inside.. unpolished.. but work is going on from the craftsmen.. every day.. to get there..
Maybe so... but if you're using Pharo 1.4 you should be aware that you're working at the "coal face", on something that's under active development. If you want something stable, use a stable version. frank
But I vote for the basic principle, work hard to get the very basic kernel, a stable system that is guaranteed not to crash and work absolutely predictably.. not throw in stuff which half works even like the debugger stuff currently, which to a beginner is quite confusing when steps out of line.
On Sat, Jan 28, 2012 at 3:19 AM, Eliot Miranda <eliot.miranda@gmail.com> wrote:
On Fri, Jan 27, 2012 at 11:51 AM, Guido Stepken <gstepken@googlemail.com> wrote:
Hi Elliot!
When I rethink, why new programming languages came up from zero to a significant market share, like PERL, PHP, Python, Ruby, JAVA, C# (.net) Visual Basic, Visual C++ and others died out, like Delphi, TurboBasic/Pascal/C I could name different reasons:
- Free license vs. expensive - Wrong payment model (per developer, per runtime, both) - Good, free support on websites vs. "Bronze/silver/gold" paystupid-support - Attractiveness of one "killer app" that made programmers change to another language - Portability of code onto other platforms - Mightyness of libraries - Missing standards, protocols, support of hardware - Good vs. bad marketing, deciders not convinced that product will survive/missing timeline, visions, lack of money in background - Subcritical mass of programmers using product, lack of professionals
That was in former times.
Today, new criterias play a far more relevant role, hat haven't really existed just 3 years ago:
- Has it (the OS,the programming language and GUI framework) an appstore/plugin concept to let free, creative brains being able to participate, earn money with? - Barrier - free payment model included (mobile payment, card, bank account)? - Free use with sponsoring by ads possible (programmers payed from multiple resources, not user alone) - Cryptographic prevention of missuse included? - Free and matured SDK available? - Connections to social software like facebook/twitter/Google+/Groupon included (API access, programming language and all protocols supported) - GUI designed for desktop as well usable for touch and self adapting to different screen/touch sizes? - Touch gestures possible and lib avail? - Microsofts Kinect hardware/video recognition of faces, hand/face mimic gestures possible and supported in libs? - Voice recognition supported? - Mobile ready? (touch, GPS, compass, barometer, gyro, hardware OpenGL) - Rockstable? - Fast, running in low power devices? Joule per clock cycle ratio??? - Critical mass of users already reached, increasing? - Critical number of apps there to raise interest? ...
So, the Pharo developers might now decide, what to invest their brainpower into! :-)
Just my 2ct.
OK, that looks like a great list. Â But don't you agree that criticism (in the sense of something that leads to quality software engineering) underlies several of these, such as Rockstable, Fast, running on low-power devices, etc? Â To me, being critical doesn't mean being uncreative or conservative; it means thinking about what you're doing, and doing a good job.
Guido Stepken
Am 27.01.2012 19:46 schrieb "Eliot Miranda" <eliot.miranda@gmail.com>:
On Fri, Jan 27, 2012 at 5:33 AM, Marcus Denker <marcus.denker@inria.fr> wrote:
On Jan 27, 2012, at 6:13 AM, dimitris chloupis wrote:
This article is really encapsulates the attitude and what is wrong with programming in general. The attitude of superiority and intelligence that seems to plague coders and being the biggest obstacle to progress.
Yes! The "Everyone is dumb but me" phenomenon...
What those "intelligent" people don't get is that complexity is inherently exponential. So even if you are 10 times more intelligent than me (very well possible), it is *completely* irrelevant considering that complexity grows non-linearly.
If you combine this with the notion of Evolution: that it is impossible to creat "the perfect" out of nothing, yet entropy grows when you incrementally improve things... than this has some very serious consequences.
For me the main problem with is the whole aura of  "elitism" , what better example than Lisp, where beginners are attacked and be excluded.
We had the same effect in Squeak at the end. No progress, every improvement was actively fighted against, if needed with the nice argument that one can do it even better, and only "the best" is worth for Squeak.
Another thing that "intelligent" people don't get is that critizising is trivial: You can *always* do better, there is no perfection. It's an endless process. This implies that one has to accept and embrace imperfection if one wants to have a future. Else you end up never finishing anything, the death of any incremental progress.
But criticism is essential. Â How does one identify a mistake if not by criticising? Â There's a huge difference between constructive criticism (analysis, testing, comparison, evaluation, measurement) and negativity (denial, fear, slander). Â How can one engineer without measurement, without thought? Â Being agile doesn't imply being random. Â Evolution measures, and most harshly; the weaker don't survive.
Pharo was started with the explicit goal to do as many mistakes as possible, as fast as possible.
    Marcus
-- Marcus Denker -- http://marcusdenker.de
-- best, Eliot
-- best, Eliot
a) Crashes... b) Bugs in basic functionality: Morphic as well as in other places c) The User Guide is not in synch with the current stable Pharo.. in simple images of browsers..
Very very basic/ simple stuff.. but I realized more sharply that not all are equal in comprehension and guess or accept these to dig their heel in further and experience the joy inside.. they just balk and wonder if Pharo is even half as good as VW/ VA.. where I believe it is just pure uncut diamond inside.. unpolished.. but work is going on from the craftsmen.. every day.. to get there..
But I vote for the basic principle, work hard to get the very basic kernel, a stable system that is guaranteed not to crash and work absolutely predictably.. not throw in stuff which half works even like the debugger stuff currently, which to a beginner is quite confusing when steps out of line.
guys just contribute! I mean for real because emails do not count! Stef
Very good Point , I have not consider it in that way , you just opened for me another perspective of the problem. ________________________________ From: Marcus Denker <marcus.denker@inria.fr> To: Pharo-project@lists.gforge.inria.fr; dimitris chloupis <thekilon@yahoo.co.uk> Sent: Friday, 27 January 2012, 15:33 Subject: Re: [Pharo-project] Enthousiasm is the main currency among developers On Jan 27, 2012, at 6:13 AM, dimitris chloupis wrote:
This article is really encapsulates the attitude and what is wrong with programming in general. The attitude of superiority and intelligence that seems to plague coders and being the biggest obstacle to progress.
Yes! The "Everyone is dumb but me" phenomenon... What those "intelligent" people don't get is that complexity is inherently exponential. So even if you are 10 times more intelligent than me (very well possible), it is *completely* irrelevant considering that complexity grows non-linearly. If you combine this with the notion of Evolution: that it is impossible to creat "the perfect" out of nothing, yet entropy grows when you incrementally improve things... than this has some very serious consequences.
For me the main problem with is the whole aura of "elitism" , what better example than Lisp, where beginners are attacked and be excluded.
We had the same effect in Squeak at the end. No progress, every improvement was actively fighted against, if needed with the nice argument that one can do it even better, and only "the best" is worth for Squeak. Another thing that "intelligent" people don't get is that critizising is trivial: You can *always* do better, there is no perfection. It's an endless process. This implies that one has to accept and embrace imperfection if one wants to have a future. Else you end up never finishing anything, the death of any incremental progress. Pharo was started with the explicit goal to do as many mistakes as possible, as fast as possible. Â Â Â Marcus -- Marcus Denker -- http://marcusdenker.de
participants (9)
-
Ben Coman -
dimitris chloupis -
Eliot Miranda -
Frank Shearar -
Guido Stepken -
Marcus Denker -
S Krish -
Stéphane Ducasse -
Sven Van Caekenberghe