Skip to main content

Chapter 3: What you can't say

9 replies [Last post]
jonathansimon
Offline
Joined: 2003-06-07
Points: 0

Welcome back from a long weekend...

This chapter is focused on social norms and acceptance of what you can and can't say without negativity from society.

I want to bring this back to a little more techie note by talking about Java. At JavaOne I witnessed all the hype first hand from Sun. And you guys know I have never shied from constructive criticism of Sun and Java -- but are there possibly lurching, fundamental flaws of Java that we are afraid to admit to ourselves? In 20 years, are we not going to be concerned with what we were wearing around 2004, but be saying "Jeez, I can't believe I was coding in Java!"

Or, do these concepts just not apply to programming.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
rythos
Offline
Joined: 2004-08-31
Points: 0

Haven't finished the book yet, but I agree. It forces us to take a deeper look at ourselves and the sense/nonsense that we swim through regularly. If you can't look at your/societies faults and critize them with an objective view, how can you begin to find solutions to your problems?

Interestingly, introspection is a psychology tool that is ~30 years ago. Talk about retro ideas ;)

javakiddy
Offline
Joined: 2004-01-23
Points: 0

It is an 'accepted norm' to say that humans are intelligent creatures. A quick study will reveal that this is not true. Humans are emotional creatures, with an occasional (but useful) aptitude for intelligent thought. Ideally we should start with the evidence, and find a conclusion which fits, preferably the simplest solution with the best fit that we can find. But this is actually very hard for humans - the approach we favour is to start with a conclusion and find the evidence which supports it.

Paul Graham has a particular set of baggage when it comes to what he thinks a programming language should be like, and how programmers should behave. It taints his attitudes to his favourite languages, exaggerating the importance of their strengths while downplaying their weaknesses. It also taints his attitudes to other languages - as evident in some of the stuff he wrote about Java, particularly in the early years.

Java fanboys do the same, naturally.

Those on the extremes of the spectrum have a hard time understanding the alternative path traveled by others. Those who stand against the Java fanboys (I won't call them anti-Java fanboys, as that sounds too negative) cannot understand why Java is so popular, and assume that in years to come we will look back wonder what the hell we were smoking.

Two things to note here:

(1) Nothing, but nothing (and I really do mean NOTHING) will ever be perfect. Java can always be improved, but not at the expense of trying to be something it is not. Java shouldn't try to be all things to all men - just do what it does best, and leave the rest to other languages. A good craftsman carries a toolbox full of specialist tools, not a Swiss-Army-knife. (Only fanboys try to do everything with one language!)

(2) Everybody is a 'fanboy' - but thankfully not on every topic. So for every pro/anti Java fanboy there are dozens of programmers who really don't care. We have to assume (granted, for no particular reason!) that market forces work - and that in general the majority decision is usually the right one. Okay, so the issue isn't so black and white - but usually technologies (unless otherwise interfered with by some monopoly type power) achieve the level of success that they deserve.

In conclusion: The fact that so many non-fanboys have backed Java means that it must have some merit. We know it isn't perfect, and we know it never will be perfect, but we can safely say it must be the best tool we have for the type of work it's intented for right now. Better tools may come along, riding on the success of Java no doubt, but we'll just have to be patient as there are no short-cuts.

smartinumcp
Offline
Joined: 2004-09-07
Points: 0

Java seems more flexible to me in its evolution possibilities. Here are some problems it will have to allow:

- Multiple CPU threading, it's coming!
- Parallel programming within a method
- Multiple hardware interaction (combinations of mouse,palm, usb devices,etc...) We've had the mouse for 20 years, where's the "Thought" mouse?

Some of this is doable now but not without a expert programmer, complex drivers and library supports. I expect these to become standard.

rythos
Offline
Joined: 2004-08-31
Points: 0

I'm sure these things apply to programming as much as anything else. Paul seems to think that we'll all be looking back wondering what the hell we were doing programming in Java all that time. (I disagree.)

On the other hand, I just thought about things people were doing back in the day. No one is allowed to say "Oh my! Why on earth were they using punch cards?!" because the technology and ideas hadn't progressed to the point where anything else was usable. Maybe we're all smart enough to recognize that there is a reason why people use backwards technology - it's because they don't know any better until someone comes along with a brilliant idea from no where, or because someones brilliant idea sparked a new brilliant idea is another.

I unfortunately haven't been programming professionally long enough to notice these sorts of trends. Talk to me in about 10 years ;)

As a good little scientist I'm always skeptical. Unfortunately I haven't thought long enough about the subject to have ideas on any fundamental flaws. Can you suggest something(s)?

And let me tell you, although the chapter 1 discussion has me pegged as "not a nerd", I still don't know how to dress myself. These digital photo archives are going to be worth a serious laugh in 20 years ;).

johnm
Offline
Joined: 2003-06-06
Points: 0

IMVHO, this is the most important thing that Paul has written (about).

jonathansimon
Offline
Joined: 2003-06-07
Points: 0

Yeah.

I think this is a really interesting topic. In parts of Africa, WWII era Germany, and elsewhere it is commonplace to discuss genocide and ethnic cleansing, let alone discrimination.

Then again, Black Sabbath used to be the heaviest, darkest, most devilish music around. Need I say more.

I am very curious about what we do and say today that will be despicable in years time, and possibly more frightening, what will be acceptable.

johnm
Offline
Joined: 2003-06-06
Points: 0

To help keep this at least a bit technically focused... In my consulting gigs, I'm regularly struck by the pervasivness of the Lake Wobegon Effect -- i.e., everybody thinks that they are above average. At this point, the rationale/excuse that "we're using 'industry best practices'" mostly just makes me want to vomit. Wearing my expert witness hat, I get to strike back at the insidious effects of things like "confirmation bias" (you see what you want to see), "contextual blindness" (the fish doesn't see the water), and outright fraud.

jonathansimon
Offline
Joined: 2003-06-07
Points: 0

Just had a conversation with a close friend on this topic. He said something interesting...

Fasions make comebacks about 20 years later. Is there also a correlation between programming practices and revitalized fasions?

johnm
Offline
Joined: 2003-06-06
Points: 0

> Fasions make comebacks about 20 years later. Is there
> also a correlation between programming practices and
> revitalized fasions?

Sure, but they often come back with a different name and with a twist... For example, hip-hugger bell-bottom jeans and CASE tools => MDA (um, er, model-driven architecture).