Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #24417 > unrolled thread
| Started by | rajbhaumik@gmail.com |
|---|---|
| First post | 2013-06-15 13:38 -0700 |
| Last post | 2013-06-18 04:06 -0400 |
| Articles | 20 on this page of 103 — 16 participants |
Back to article view | Back to comp.lang.java.programmer
About java program. rajbhaumik@gmail.com - 2013-06-15 13:38 -0700
Re: About java program. Arne Vajhøj <arne@vajhoej.dk> - 2013-06-15 16:50 -0400
Re: About java program. Robert Klemme <shortcutter@googlemail.com> - 2013-06-16 01:12 +0200
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-16 14:21 +0100
Re: About java program. Robert Klemme <shortcutter@googlemail.com> - 2013-06-16 17:28 +0200
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-16 19:52 +0100
Re: About java program. Arne Vajhøj <arne@vajhoej.dk> - 2013-06-16 15:50 -0400
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-17 09:36 +0100
Re: About java program. Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-06-17 09:49 -0300
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-17 14:46 +0100
Re: About java program. Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-06-17 13:32 -0300
Re: About java program. Joerg Meier <joergmmeier@arcor.de> - 2013-06-17 20:32 +0200
Re: About java program. Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-06-17 14:49 -0400
Re: About java program. Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-06-17 18:38 -0300
Re: About java program. Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-06-17 18:30 -0400
Re: About java program. Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-06-18 17:33 -0300
Re: About java program. Arne Vajhøj <arne@vajhoej.dk> - 2013-07-04 22:56 -0400
Re: About java program. Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2013-06-18 00:13 +0200
Re: About java program. Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-06-18 17:50 -0300
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-19 08:50 +0100
Re: About java program. Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-06-19 15:16 -0300
Re: About java program. Lew <lewbloch@gmail.com> - 2013-06-19 16:20 -0700
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-07-07 13:31 -0400
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-07-07 18:16 -0400
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-07-07 19:21 -0400
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-07-07 20:07 -0400
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-07-07 20:21 -0400
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-07-07 20:40 -0400
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-07-07 22:20 -0400
Re: About java program. Lew <lewbloch@gmail.com> - 2013-07-07 21:47 -0700
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-07-08 06:58 -0400
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-07-08 08:07 -0400
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-07-08 08:58 -0400
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-07-08 09:18 -0400
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-07-08 09:47 -0400
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-07-08 10:07 -0400
Re: About java program. Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2013-06-19 16:42 +0200
Re: About java program. Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-06-20 23:33 -0300
Re: About java program. Martin Gregorie <martin@address-in-sig.invalid> - 2013-06-21 04:16 +0000
Re: About java program. Joerg Meier <joergmmeier@arcor.de> - 2013-06-21 12:27 +0200
Re: About java program. Martin Gregorie <martin@address-in-sig.invalid> - 2013-06-21 21:14 +0000
Re: About java program. Joerg Meier <joergmmeier@arcor.de> - 2013-06-21 23:37 +0200
Re: About java program. Martin Gregorie <martin@address-in-sig.invalid> - 2013-06-21 23:42 +0000
Re: About java program. Gene Wirchenko <genew@telus.net> - 2013-06-24 13:00 -0700
Re: About java program. Martin Gregorie <martin@address-in-sig.invalid> - 2013-06-24 21:29 +0000
Re: About java program. Martin Gregorie <martin@address-in-sig.invalid> - 2013-06-24 21:42 +0000
Re: About java program. Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-06-21 23:59 -0300
Re: About java program. Martin Gregorie <martin@address-in-sig.invalid> - 2013-06-22 13:30 +0000
Re: About java program. Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2013-06-21 16:24 +0200
Re: About java program. Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-06-21 22:39 -0300
Re: About java program. Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2013-06-22 19:25 +0200
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-22 19:41 +0100
Re: About java program. Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2013-06-23 03:53 +0200
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-23 09:21 +0100
Re: About java program. Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2013-06-24 18:57 +0200
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-24 18:14 +0100
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-22 09:03 +0100
Re: About java program. Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2013-06-22 19:26 +0200
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-22 18:51 +0100
Re: About java program. Arne Vajhøj <arne@vajhoej.dk> - 2013-07-04 22:58 -0400
Re: About java program. Joerg Meier <joergmmeier@arcor.de> - 2013-06-19 00:38 +0200
Re: About java program. Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-06-18 18:56 -0400
Re: About java program. Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-06-18 21:26 -0300
Re: About java program. Robert Klemme <shortcutter@googlemail.com> - 2013-06-19 21:20 +0200
Re: About java program. Sven Köhler <remove-sven.koehler@gmail.com> - 2013-06-20 11:23 +0300
Re: About java program. Robert Klemme <shortcutter@googlemail.com> - 2013-06-20 19:18 +0200
Re: About java program. blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2013-07-15 20:20 +0000
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-19 09:14 +0100
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-19 09:11 +0100
Re: About java program. Arne Vajhøj <arne@vajhoej.dk> - 2013-07-04 23:11 -0400
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-07-05 09:13 +0100
Re: About java program. Robert Klemme <shortcutter@googlemail.com> - 2013-07-05 23:15 +0200
Re: About java program. Arne Vajhøj <arne@vajhoej.dk> - 2013-07-05 22:03 -0400
Re: About java program. Robert Klemme <shortcutter@googlemail.com> - 2013-07-06 13:01 +0200
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-07-06 13:43 +0100
Re: About java program. Martin Gregorie <martin@address-in-sig.invalid> - 2013-07-06 14:17 +0000
Re: About java program. Arne Vajhøj <arne@vajhoej.dk> - 2013-07-06 16:18 -0400
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-07-06 21:42 +0100
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-07-06 09:16 +0100
Re: About java program. Robert Klemme <shortcutter@googlemail.com> - 2013-07-06 13:14 +0200
Re: About java program. Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-07-06 08:22 -0400
Re: About java program. Robert Klemme <shortcutter@googlemail.com> - 2013-07-07 20:43 +0200
Re: About java program. Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-07-07 18:07 -0400
Re: About java program. Arne Vajhøj <arne@vajhoej.dk> - 2013-07-07 19:35 -0400
Re: About java program. Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-07-07 20:42 -0400
Re: About java program. Robert Klemme <shortcutter@googlemail.com> - 2013-07-08 20:50 +0200
Re: About java program. Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-07-08 15:01 -0400
Re: About java program. Robert Klemme <shortcutter@googlemail.com> - 2013-07-08 23:29 +0200
Re: About java program. Arne Vajhøj <arne@vajhoej.dk> - 2013-07-06 16:27 -0400
Re: About java program. Lew <lewbloch@gmail.com> - 2013-07-06 13:41 -0700
Re: About java program. Arne Vajhøj <arne@vajhoej.dk> - 2013-07-05 21:59 -0400
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-17 21:06 +0100
Re: About java program. Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2013-06-17 17:36 -0500
Re: About java program. Robert Klemme <shortcutter@googlemail.com> - 2013-06-18 08:24 +0200
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-18 09:03 +0100
Re: About java program. Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2013-06-18 13:07 -0500
Re: About java program. Lew <lewbloch@gmail.com> - 2013-06-18 14:48 -0700
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-19 08:36 +0100
Re: About java program. Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-06-18 23:33 -0300
Re: About java program. lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-06-19 08:34 +0100
Re: About java program. Arne Vajhøj <arne@vajhoej.dk> - 2013-07-04 22:53 -0400
Re: About java program. Roedy Green <see_website@mindprod.com.invalid> - 2013-06-16 07:04 -0700
Re: About java program. Jeff Higgins <jeff@invalid.invalid> - 2013-06-18 04:06 -0400
Page 2 of 6 — ← Prev page 1 [2] 3 4 5 6 Next page →
| From | Arved Sandstrom <asandstrom2@eastlink.ca> |
|---|---|
| Date | 2013-06-19 15:16 -0300 |
| Message-ID | <Pzmwt.43488$O61.10260@newsfe14.iad> |
| In reply to | #24466 |
On 06/19/2013 04:50 AM, lipska the kat wrote:
> On 18/06/13 21:50, Arved Sandstrom wrote:
>> On 06/17/2013 07:13 PM, Daniele Futtorovic wrote:
>>> On 17/06/2013 20:49, Eric Sosman allegedly wrote:
>>>> On 6/17/2013 2:32 PM, Joerg Meier wrote:
>>>>> [...]
>>>>> Personally, I found your example considerably harder to read than
>>>>> the one
>>>>> liner, as well as harder to read than what would have been my
>>>>> solution:
>>>>>
>>>>> private boolean askYesNoquestion (String str){
>>>>> if(str.equals("yes"))
>>>>> return true;
>>>>>
>>>>> return false;
>>>>> }
>>>>
>>>> Or, for even greater clarity:
>
> [snip drivel]
>
>> See my answer to Eric, all this is just ridiculing reasonable
>> programming practices.
>>
>> Even given Robert's example where the NPE-safe equals() is wrapped in a
>> method that constrains the type of object being compared to, it may not
>> be expected or acceptable that the String is null. So perhaps you do
>> want to check for that, maybe with Apache StringUtils.isBlank().
>>
>> Sure, the contrived absurd examples are retarded; so is the mockery of
>> defensive programming. Oh well, there's a reason why most software
>> projects still fail or go vastly over budget.
>
> Have you taken a 'sensible pill' by any chance?
>
> I find myself agreeing with you twice in the same thread ... is it me?
>
> IME one of the main reasons for failure is the attitude of certain team
> members that they are far too clever or far too important to the project
> to code responsibly. Their attitude is 'gosh, look at me I'm so clever
> that I can write code that only I can understand'
>
> I once knew a PhD who's attitude to commenting code was 'I don't need
> comments, I can read code'. Unfortunately this attitude carried over to
> his own code which was almost completely uncommented. When asked to
> comment his code his response was 'if you need comments then perhaps
> you'd better find something else to do' I fired his ass :-)
>
> I think maybe a few of the responders to this thread could do with a
> lesson in basic code readability. Of course they would never admit it,
> they're obviously *way* to smart.
>
> lipska
>
I don't think I took a "sensible pill". :-)
I fairly routinely encounter uninformed programmers, or prima donna
programmers. Or simply 9-5 M-F uninterested unionized programmers who
can't lose their job even if they do nothing. Over thirty years this
covers several hundred projects, teams and clients (in-depth knowledge
of those situations even if I wasn't actually directly involved), so I
don't think my observations are completely anecdotal or without merit.
The LCD is the average guy - and these days it's still overwhelmingly
guys - who isn't all that experienced (after all, every one of us once
had just 2 or 5 or 10 years of experience), who may not be formally
trained or may be badly educated, who may not be that motivated, and who
quite often regards programming as a way to pay the bills and not as a
craft nor as a delight.
If we stick to Java, the LCD doesn't quite get the difference between
reference and equals() comparisons, and when informed still needs
coaching to write a good equals(). The LCD often has never heard of
O(n), and far from being able to choose a good sort has in fact never
heard of most of the common sorting algorithms. Same goes for search, I
run across coders all the time that have never heard of fundamental
search strategies. This average programmer doesn't read blogs or
articles, doesn't know white box or black box testing theory, knows
almost nothing about JVM tuning [1], and is very weak on concurrency. So
forth and so on.
This is what *I* see in industry, in government and large corporate IT
projects. But maybe other folks have experienced idylls of nothing but
top-notch developers, and have started to get complacent. Dunno.
I don't know why there's even an argument about this, either defensive
coding or dumbing stuff down. In the real non-academic world you've got
to do it.
AHS
--
When a true genius appears, you can know him by this sign:
that all the dunces are in a confederacy against him.
-- Jonathan Swift
[toc] | [prev] | [next] | [standalone]
| From | Lew <lewbloch@gmail.com> |
|---|---|
| Date | 2013-06-19 16:20 -0700 |
| Message-ID | <6db4a3e5-285c-485c-affc-7891f92f4e5a@googlegroups.com> |
| In reply to | #24473 |
Arved Sandstrom wrote: . . . > If we stick to Java, the LCD doesn't quite get the difference between > reference and equals() comparisons, and when informed still needs > coaching to write a good equals(). The LCD often has never heard of > O(n), and far from being able to choose a good sort has in fact never > heard of most of the common sorting algorithms. Same goes for search, I > run across coders all the time that have never heard of fundamental > search strategies. This average programmer doesn't read blogs or > articles, doesn't know white box or black box testing theory, knows > almost nothing about JVM tuning [1], and is very weak on concurrency. So > forth and so on. The sad thing is that your observations are accurate, and mine are similar. The thing that makes me mad is that, despite these people's job titles, they are not computer programmers. The things you describe are elementary programming knowledge, things taught early in the process. For anyone to collect a paycheck for that skill not to know these things is an insult. They should be fired. This is the sort of thing that makes me favor making computer programming a formal engineering discipline. No one, at all anywhere, should tolerate someone calling themselves a computer programmer who is that ignorant, incompetent and uncommitted to the skills of their profession, let alone pay them for it. -- Lew
[toc] | [prev] | [next] | [standalone]
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Date | 2013-07-07 13:31 -0400 |
| Message-ID | <krc871$sfa$1@dont-email.me> |
| In reply to | #24476 |
On 06/19/2013 07:20 PM, Lew wrote: > Arved Sandstrom wrote: > . . . >> If we stick to Java, the LCD doesn't quite get the difference between >> reference and equals() comparisons, and when informed still needs >> coaching to write a good equals(). The LCD often has never heard of >> O(n), and far from being able to choose a good sort has in fact never >> heard of most of the common sorting algorithms. Same goes for search, I >> run across coders all the time that have never heard of fundamental >> search strategies. This average programmer doesn't read blogs or >> articles, doesn't know white box or black box testing theory, knows >> almost nothing about JVM tuning [1], and is very weak on concurrency. So >> forth and so on. > > The sad thing is that your observations are accurate, and mine are similar. > > The thing that makes me mad is that, despite these people's job titles, > they are not computer programmers. The things you describe are elementary > programming knowledge, things taught early in the process. For anyone to > collect a paycheck for that skill not to know these things is an insult. > > They should be fired. > > This is the sort of thing that makes me favor making computer programming > a formal engineering discipline. No one, at all anywhere, should tolerate someone > calling themselves a computer programmer who is that ignorant, incompetent and > uncommitted to the skills of their profession, let alone pay them for it. > A recent browsing session starting at Computing - From Wikipedia, the free encyclopedia <http://en.wikipedia.org/wiki/Computing> led to Laplante, Phillip (2007) What Every Engineer Should Know about Software Engineering <books.google.com/books?isbn=1420006746> and Software Engineering Body of Knowledge From Wikipedia, the free encyclopedia <http://en.wikipedia.org/wiki/Software_Engineering_Body_of_Knowledge> and Curricula Recommendations Association for Computing Machinery <http://www.acm.org/education/curricula-recommendations>
[toc] | [prev] | [next] | [standalone]
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Date | 2013-07-07 18:16 -0400 |
| Message-ID | <krcou0$oua$1@dont-email.me> |
| In reply to | #24689 |
On 07/07/2013 01:31 PM, Jeff Higgins wrote: > Software Engineering Body of Knowledge > From Wikipedia, the free encyclopedia > <http://en.wikipedia.org/wiki/Software_Engineering_Body_of_Knowledge> <http://martinfowler.com/bliki/Swebok.html>
[toc] | [prev] | [next] | [standalone]
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Date | 2013-07-07 19:21 -0400 |
| Message-ID | <krcsme$9co$1@dont-email.me> |
| In reply to | #24689 |
On 07/07/2013 01:31 PM, Jeff Higgins wrote: > A recent browsing session starting at > led to > and > and > Fabio Paternò End User Development: Survey of an Emerging Field for Empowering People <http://www.hindawi.com/isrn/se/2013/532659/>
[toc] | [prev] | [next] | [standalone]
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Date | 2013-07-07 20:07 -0400 |
| Message-ID | <krcvd0$kaf$1@dont-email.me> |
| In reply to | #24699 |
On 07/07/2013 07:21 PM, Jeff Higgins wrote: > Fabio Paternò > End User Development: Survey of an Emerging Field for Empowering People > <http://www.hindawi.com/isrn/se/2013/532659/> memento for jsh <http://interaction-design.org/books/hci.html> <http://interaction-design.org/encyclopedia/end-user_development.html >
[toc] | [prev] | [next] | [standalone]
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Date | 2013-07-07 20:21 -0400 |
| Message-ID | <krd070$nvm$1@dont-email.me> |
| In reply to | #24701 |
On 07/07/2013 08:07 PM, Jeff Higgins wrote: > memento for jsh > <http://interaction-design.org/books/hci.html> > <http://interaction-design.org/encyclopedia/end-user_development.html Psychology of Programming Interest Group <http://www.ppig.org/> A logical mind, not a programming mind: Psychology of a professional end-user <http://www.ppig.org/papers/22nd-EUP-1.pdf>
[toc] | [prev] | [next] | [standalone]
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Date | 2013-07-07 20:40 -0400 |
| Message-ID | <krd1bq$sie$1@dont-email.me> |
| In reply to | #24702 |
On 07/07/2013 08:21 PM, Jeff Higgins wrote: > A logical mind, not a programming mind: Psychology of a professional > end-user <http://www.ppig.org/papers/22nd-EUP-1.pdf> "For his part, J. accepted his responsibility in part as an educational one, providing C. with valuable skills that would enable her to be more effective when carrying out future programming work. Given that the two had comparable professional seniority, this educational objective often amounted to a clash of alternative intellectual styles. In the educational approach taken by J., the future development needs described by C. could be achieved more effectively by adopting more abstract analysis and problem-solving strategies – strategies that are completely characteristic of programming work. However, as described in the Attention Investment model (Blackwell 2002), abstract strategies can be expensive ones, requiring greater initial investment of attention, with potentially low return, or even negative return. When pursuing the educational objectives in his collaborative relationship with C., J. was therefore acting as an advocate of a more abstract strategy, attempting to persuade her that she should adjust the attention investment decision factors that she already applied. In many of their conversations, C. resisted this advice, saying that she would prefer to make progress on the specific, concrete, problem that had motivated the project in the first place. For his part, J. tried to persuade her that it would be in her long-term interest to address not just this particular problem, but the general category of problems of this type, or indeed the general capabilities to be acquired by gaining experience of the most general capabilities of the programming language. "
[toc] | [prev] | [next] | [standalone]
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Date | 2013-07-07 22:20 -0400 |
| Message-ID | <krd76h$jmh$1@dont-email.me> |
| In reply to | #24701 |
On 07/07/2013 08:07 PM, Jeff Higgins wrote: > On 07/07/2013 07:21 PM, Jeff Higgins wrote: >> Fabio Paternò >> End User Development: Survey of an Emerging Field for Empowering People >> <http://www.hindawi.com/isrn/se/2013/532659/> > > memento for jsh > <http://interaction-design.org/books/hci.html> > <http://interaction-design.org/encyclopedia/end-user_development.html Google-fu failure: list of very successful software developed by non-professional programmers
[toc] | [prev] | [next] | [standalone]
| From | Lew <lewbloch@gmail.com> |
|---|---|
| Date | 2013-07-07 21:47 -0700 |
| Message-ID | <2427fb11-818e-4d9d-bf76-5deaf14223b6@googlegroups.com> |
| In reply to | #24705 |
Jeff Higgins wrote: > Jeff Higgins wrote: >> Jeff Higgins wrote: >>> Fabio Patern� >>> End User Development: Survey of an Emerging Field for Empowering People >>> <http://www.hindawi.com/isrn/se/2013/532659/> >> >> memento for jsh >> <http://interaction-design.org/books/hci.html> >> <http://interaction-design.org/encyclopedia/end-user_development.html > > Google-fu failure: > list of very successful software developed by non-professional programmers On the flip side, there is quite the long list of unsuccessful software developed by very professional professional programmers. I've read estimates ranging from 1/3rd to 2/3rd, with many clustering near one-half, of the failure rate of software projects with costs exceeding $100 million. I knew a guy who worked on one of the ones cited in the literature. I've seen one or two first hand that should have been cited. There are many definitions of "success" in the software industry, relevant to a given player defining the term, that differ from the common understanding. The estimates I have read, however, use a definition along the lines of "put into production for the avowed purpose of the project". Even lame systems were counted as successful if they actually went into production for the avowed purpose. The programmers in many if not all of these notable failures were, from what I can determine, not individually incompetent. The problems were either in the process or emergent from misaligned definitions of "success". Many contractors define "success" only insofar as they generate billables. The actual success of the project is implicitly or explicitly secondary. Trained professional programmers are necessary to successful systems, but not sufficient. Even properly constituted projects (one where all stakeholders agree on the criteria for success and have the requisite skills) risk failure. I'm not 100% sure what you think, Jeff, based on these links and posts, but I am 100% sure that you made me think by posting them. -- Lew
[toc] | [prev] | [next] | [standalone]
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Date | 2013-07-08 06:58 -0400 |
| Message-ID | <kre5il$g8m$1@dont-email.me> |
| In reply to | #24706 |
On 07/08/2013 12:47 AM, Lew wrote: > Jeff Higgins wrote: >> Jeff Higgins wrote: >>> Jeff Higgins wrote: >>>> Fabio Patern� >>>> End User Development: Survey of an Emerging Field for Empowering People >>>> <http://www.hindawi.com/isrn/se/2013/532659/> >>> >>> memento for jsh >>> <http://interaction-design.org/books/hci.html> >>> <http://interaction-design.org/encyclopedia/end-user_development.html >> >> Google-fu failure: >> list of very successful software developed by non-professional programmers > > On the flip side, there is quite the long list of unsuccessful software > developed by very professional professional programmers. Almost unsurprisingly the unsuccessful case turned more success. I still haven't found a satisfactory query for either case. > > I've read estimates ranging from 1/3rd to 2/3rd, with many clustering near > one-half, of the failure rate of software projects with costs exceeding > $100 million. > > I knew a guy who worked on one of the ones cited in the literature. I've > seen one or two first hand that should have been cited. > > There are many definitions of "success" in the software industry, relevant > to a given player defining the term, that differ from the common understanding. > The estimates I have read, however, use a definition along the lines of > "put into production for the avowed purpose of the project". > > Even lame systems were counted as successful if they actually went into > production for the avowed purpose. > > The programmers in many if not all of these notable failures were, from > what I can determine, not individually incompetent. The problems were either > in the process or emergent from misaligned definitions of "success". > > Many contractors define "success" only insofar as they generate billables. > The actual success of the project is implicitly or explicitly secondary. > > Trained professional programmers are necessary to successful systems, but not > sufficient. > > Even properly constituted projects (one where all stakeholders agree on the > criteria for success and have the requisite skills) risk failure. > > I'm not 100% sure what you think, Jeff, based on these links and posts, but I > am 100% sure that you made me think by posting them. A random recreational browsing session unrelated to the post to which I first followed up. But reading around the links I posted reminded me of the thread of discussion. The remaining followups to my followups just mark another continuation. What I think. Big World. Small World.
[toc] | [prev] | [next] | [standalone]
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Date | 2013-07-08 08:07 -0400 |
| Message-ID | <kre9jg$60b$1@dont-email.me> |
| In reply to | #24707 |
On 07/08/2013 06:58 AM, Jeff Higgins wrote: > > What I think. Big World. Small World. E.g., another very recent posting to this group took me to <http://graphexploration.cond.org/> which led to <http://www.icse-conferences.org/> another incredible little circularity.
[toc] | [prev] | [next] | [standalone]
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Date | 2013-07-08 08:58 -0400 |
| Message-ID | <kreci4$lql$1@dont-email.me> |
| In reply to | #24708 |
On 07/08/2013 08:07 AM, Jeff Higgins wrote: > On 07/08/2013 06:58 AM, Jeff Higgins wrote: >> >> What I think. Big World. Small World. > > E.g., another very recent posting to this group took me to > <http://graphexploration.cond.org/> which led to > <http://www.icse-conferences.org/> another incredible little > circularity. > and From Computing Curricula 2005 The Overview Report 4.5.5. Computing Accreditation in the United States Until recently, computing accreditation in the U.S. was limited and fragmented. It is now more unified and more extensive. Historically, two organizations accredited computing degree programs. The Accreditation Board for Engineering and Technology (commonly know as ABET) accredited undergraduate engineering programs of all kinds, including electrical engineering and computer engineering. The Computing Sciences Accreditation Board (known as CSAB) accredited undergraduate computer science programs. Recently, CSAB, recreated as CSAB Inc., has become a member society of a renamed ABET Inc., and now ABET accredits engineering, technology, computing, and applied science programs. Currently, accreditation of CE, CS, IS, and SE programs is ongoing, and accreditation of IT programs has begun. ? National Institute for Automotive Service Excellence (ASE) <http://www.ase.com/About-ASE/ASE-at-a-Glance.aspx> Sensory Overload: How the New Mercedes S-class Sees All <http://blog.caranddriver.com/sensory-overload-how-the-new-mercedes-s-class-sees-all/>
[toc] | [prev] | [next] | [standalone]
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Date | 2013-07-08 09:18 -0400 |
| Message-ID | <kredos$sii$1@dont-email.me> |
| In reply to | #24709 |
On 07/08/2013 08:58 AM, Jeff Higgins wrote: > Sensory Overload: How the New Mercedes S-class Sees All > <http://blog.caranddriver.com/sensory-overload-how-the-new-mercedes-s-class-sees-all/> > The in print version was much better. Especially the hilarious, "Once you see the clown face, you'll always see the clown face."
[toc] | [prev] | [next] | [standalone]
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Date | 2013-07-08 09:47 -0400 |
| Message-ID | <kreffl$6b6$1@dont-email.me> |
| In reply to | #24710 |
On 07/08/2013 09:18 AM, Jeff Higgins wrote: > On 07/08/2013 08:58 AM, Jeff Higgins wrote: > >> Sensory Overload: How the New Mercedes S-class Sees All >> <http://blog.caranddriver.com/sensory-overload-how-the-new-mercedes-s-class-sees-all/> >> >> > The in print version was much better. Especially the hilarious, > "Once you see the clown face, you'll always see the clown face." <http://media.caranddriver.com/images/13q2/514953/2014-mercedes-benz-s400-hybrid-interior-photo-516412-s-520x318.jpg>
[toc] | [prev] | [next] | [standalone]
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Date | 2013-07-08 10:07 -0400 |
| Message-ID | <kregks$cqv$1@dont-email.me> |
| In reply to | #24711 |
On 07/08/2013 09:47 AM, Jeff Higgins wrote: > On 07/08/2013 09:18 AM, Jeff Higgins wrote: >> On 07/08/2013 08:58 AM, Jeff Higgins wrote: >> >>> Sensory Overload: How the New Mercedes S-class Sees All >>> <http://blog.caranddriver.com/sensory-overload-how-the-new-mercedes-s-class-sees-all/> >>> >>> >>> >> The in print version was much better. Especially the hilarious, >> "Once you see the clown face, you'll always see the clown face." > <http://media.caranddriver.com/images/13q2/514953/2014-mercedes-benz-s400-hybrid-interior-photo-516412-s-520x318.jpg> > MB Design has to be a fun place to work - imagine some manager signing off that implementation.
[toc] | [prev] | [next] | [standalone]
| From | Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> |
|---|---|
| Date | 2013-06-19 16:42 +0200 |
| Message-ID | <kpsfn7$k9k$1@dont-email.me> |
| In reply to | #24454 |
On 18/06/2013 22:50, Arved Sandstrom allegedly wrote: > <snip /> > See my answer to Eric, all this is just ridiculing reasonable > programming practices. > > Even given Robert's example where the NPE-safe equals() is wrapped in a > method that constrains the type of object being compared to, it may not > be expected or acceptable that the String is null. So perhaps you do > want to check for that, maybe with Apache StringUtils.isBlank(). > > Sure, the contrived absurd examples are retarded; so is the mockery of > defensive programming. Oh well, there's a reason why most software > projects still fail or go vastly over budget. I'm all for defensive programming, but I think that there's a limit where it can be on the verge of silliness, and that that limit has been grazed here. Less-than-bright programmers IMO cannot be a justification for crossing that line; less-than-bright programmers have more ways to mess things up than you could possibly ever guard against. "Do not underestimate the ingenuity of complete fools", as the saying goes. And for me, there is an additional aspect: if a piece of code does something simple, something basic, then I will want it to be short, and vice-versa. Verbosity of code, to me, should hold a first-glance indication of the complexity of the algorithm. In other words: be terse IFF it's basic, be verbose IFF it's not. Perhaps your mileage does vary. No beef with that. Just throwing in my two cents. -- DF.
[toc] | [prev] | [next] | [standalone]
| From | Arved Sandstrom <asandstrom2@eastlink.ca> |
|---|---|
| Date | 2013-06-20 23:33 -0300 |
| Message-ID | <oYOwt.19280$9m5.18160@newsfe26.iad> |
| In reply to | #24471 |
On 06/19/2013 11:42 AM, Daniele Futtorovic wrote: > On 18/06/2013 22:50, Arved Sandstrom allegedly wrote: >> <snip /> >> See my answer to Eric, all this is just ridiculing reasonable >> programming practices. >> >> Even given Robert's example where the NPE-safe equals() is wrapped in a >> method that constrains the type of object being compared to, it may not >> be expected or acceptable that the String is null. So perhaps you do >> want to check for that, maybe with Apache StringUtils.isBlank(). >> >> Sure, the contrived absurd examples are retarded; so is the mockery of >> defensive programming. Oh well, there's a reason why most software >> projects still fail or go vastly over budget. > > I'm all for defensive programming, but I think that there's a limit > where it can be on the verge of silliness, and that that limit has been > grazed here. > > Less-than-bright programmers IMO cannot be a justification for crossing > that line; less-than-bright programmers have more ways to mess things up > than you could possibly ever guard against. "Do not underestimate the > ingenuity of complete fools", as the saying goes. > > And for me, there is an additional aspect: if a piece of code does > something simple, something basic, then I will want it to be short, and > vice-versa. Verbosity of code, to me, should hold a first-glance > indication of the complexity of the algorithm. In other words: be terse > IFF it's basic, be verbose IFF it's not. > > Perhaps your mileage does vary. No beef with that. Just throwing in my > two cents. > It's a good discussion. I'm not personally convinced that verbosity adds complexity, as a rule. There's really two types of complexity here: maintainability complexity - as in, can Joe Blow 12 months later understand the code best if it's compact versus unrolled, and formal complexity, cyclomatic and otherwise. I'll admit that verbosity does usually add maintainability complexity, if not the other kind. But not always. I've seen plenty of code that is conceptually quite complex but very terse. AHS -- When a true genius appears, you can know him by this sign: that all the dunces are in a confederacy against him. -- Jonathan Swift
[toc] | [prev] | [next] | [standalone]
| From | Martin Gregorie <martin@address-in-sig.invalid> |
|---|---|
| Date | 2013-06-21 04:16 +0000 |
| Message-ID | <kq0k30$ubf$1@dont-email.me> |
| In reply to | #24493 |
On Thu, 20 Jun 2013 23:33:56 -0300, Arved Sandstrom wrote:
> It's a good discussion. I'm not personally convinced that verbosity adds
> complexity, as a rule. There's really two types of complexity here:
> maintainability complexity - as in, can Joe Blow 12 months later
> understand the code best if it's compact versus unrolled, and formal
> complexity, cyclomatic and otherwise.
>
I'm with you there.
> I'll admit that verbosity does usually add maintainability complexity,
>
My attitude is that well-laid out code with well-thought out names and
intelligently commented offers about the best chance of being more easily
maintainable. I prefer blocks of well formatted and carefully written
comments places ahead of what they describe to any other type.
> if not the other kind. But not always. I've seen plenty of code that is
> conceptually quite complex but very terse.
>
I've certainly see some memorable examples of badly documented and over-
clever code in the past.
One of my favourite examples of bad documentation was actually quite good
code: it was just the commenting style that was naff. This was MC 6800
assembler, and the house style was to add a comment alongside every
instruction whether it needed it or not: the machine had INC and DEC
instructions to and or subtract 1 from a register, but did it really add
anything the write "BUMP THE B REGISTER" alongside every INC B
instruction?
As it happens, my worst ever example was also assembler: this time PLAN 3
assembler for an ICL 1900. In this case it was a lineprinter page, i.e.
about 60 instructions whose task was the work out the date of the last
day of the current month so it could be printed on financial statements.
it worked by doing arithmetic on the current date in "dd/mm/yy" format
This page has two comments: the first said "Calculate the last day of the
month" and the second said "Works until Feb 2100". The rest of the page
contained a mess of register-to-register operations and relative
branches. There wasn't a single label or variable name in the whole mess.
I never met anybody who could follow it past its first dozen steps - and
that includes me - and I used to be fairly good at programming in PLAN.
The silly thing was that the date calculation was trivial on a 1900,
which held dates internally as days since 31 Dec 1899 and provided a set
of date manipulation subroutines. The obvious solution, given that
library, and writing the routine in pseudo-Java in deference to this 'ere
august forum, looks like this:
public String lastDayOfMonth(String today)
{
int day = 1;
int month = today.substring(3,2);
int year = today.substring(6);
if (month > 12)
{
year++;
month = 1;
}
days = gdatebin(String.format("%02d/%02d/%02d",day, month, year));
return gbindate(days - 1);
}
... and wasn't much longer in assembler.
gdatebin() converted a date string into binary days since 31/12/1899 and
gbindate() did the reverse. I have no idea why the bloke thought his mess
of assembler would fall over after Feb 2100: the 1900 held dates in a
signed 24 bit number, so its Y2K moment isn't due until some time in
24866 AD.
And, yes, I do know my algorithm worked correctly despite leap years and
all: it ran for years as part of an accounting package and anybody could
see exactly how it worked even though it was written in COBOL.
--
martin@ | Martin Gregorie
gregorie. | Essex, UK
org |
[toc] | [prev] | [next] | [standalone]
| From | Joerg Meier <joergmmeier@arcor.de> |
|---|---|
| Date | 2013-06-21 12:27 +0200 |
| Message-ID | <6euehy3ijswn.e08p5nxwbfbf.dlg@40tude.net> |
| In reply to | #24494 |
On Fri, 21 Jun 2013 04:16:32 +0000 (UTC), Martin Gregorie wrote:
> [...]
> days = gdatebin(String.format("%02d/%02d/%02d",day, month, year));
> return gbindate(days - 1);
> }
> ... and wasn't much longer in assembler.
> gdatebin() converted a date string into binary days since 31/12/1899 and
> gbindate() did the reverse. I have no idea why the bloke thought his mess
> of assembler would fall over after Feb 2100: the 1900 held dates in a
> signed 24 bit number, so its Y2K moment isn't due until some time in
> 24866 AD.
It's ironic that after all that, your algorithm would have failed on Y2K ;)
Liebe Gruesse,
Joerg
--
Ich lese meine Emails nicht, replies to Email bleiben also leider
ungelesen.
[toc] | [prev] | [next] | [standalone]
Page 2 of 6 — ← Prev page 1 [2] 3 4 5 6 Next page →
Back to top | Article view | comp.lang.java.programmer
csiph-web