Advanced or just obscure?

Sometimes it’s clear what’s meant by one topic being more advanced than another. For example, algebra is more advanced than arithmetic because you need to know arithmetic before you can do algebra. If you can’t learn A until you’ve learned B, then A is more advanced. But often advanced is used in a looser sense.

When I became a software developer, I was surprised how loosely developers use the word advanced. For example, one function might be called more “advanced” than other, even though there was no connection between the two. The supposedly more advanced function might be more specialized or harder to use. In other words, advanced was being used as a synonym for obscure. This is curious since advanced has a positive connotation but obscure has a negative connotation.

I resisted this terminology at first, but eventually I gave in. I’ll say advanced when I’m sure people will understand my meaning, even if I cringe a little inside. For example, I have a Twitter account SansMouse that posts one keyboard shortcut a day. These are in a cycle, starting with the most well-known and generally useful shortcuts. When I say the shortcuts progress from basic to advanced, people know what I mean and they’re happy with that. But it might be more accurate to say the shortcuts regress from most useful to least useful!

I’m not writing this just to pick at how people use words. My point is that the classification of some things as more advanced than others, particularly in technology, is largely arbitrary. The application of this: don’t assume that ‘advanced’ necessarily comes after ‘basic’.

Maybe A is called more advanced than B because most people find B more accessible. That doesn’t necessarily mean that you will find B more accessible. For example, I’ve often found supposedly advanced books easier to read than introductory books. Whether the author’s style resonates with you may be more important than the level of the book.

Maybe A is called more advanced than B because most people learn B first. That could be a historical accident. Maybe A is actually easier to learn from scratch, but B came first. Teachers and authors tend to present material in the order in which they learned it. They may think of newer material as being more difficult, but a new generation may disagree.

Finally, whether one thing is more advanced than another may depend on how far you intend to pursue it. It may be harder to master A than B, but that doesn’t mean it’s harder to dabble in A than B.

In short, you need to decide for yourself what order to learn things in. Of course if you’re learning something really new, you’re in no position to say what that order should be. The best thing is to start with the conventional order. But experiment with variations. Try getting ahead of the usual path now and then. You may find a different sequence that better fits your ways of thinking and your experience.

Related posts:

Accelerated learning
Picking classes
Endless preparation
Gritty coordinate systems

Tagged with:
Posted in Uncategorized
15 comments on “Advanced or just obscure?
  1. Eric Wilson says:

    If it helps you cringe less, translate ‘advanced feature’ to ‘feature typically used by advanced users’ in your mind.

    Sometimes the easiest way to organize features is by their users.

  2. John says:

    That’s a good way to think about it: typically used by advanced users.

    You might then ask why something is typically used by more advanced users. It is because it requires more skill to use, and so only advanced users would be capable of using it effectively? Or is it something that is rarely useful, and so only advanced users would have had enough experience to have a need for it?

    I like UIs with an “advanced” button and hide less common features by default. And “Advanced” is a good label for it because people know what that means. But it’s fun to think of possible other labels, such as “Arcane”, “Anal retentive”, or “Show off”. :)

  3. George Crews says:

    This means that developers use the word ‘advanced’ like athletes use the word ‘developed’? And so both professional developers and professional athletes use the word ‘professional’ in the same way?

  4. Jason Davies says:

    I think the same about the word “elementary” in the context of “Elementary Mathematics” textbooks. These always seemed to be the hardest (and best) books at school.

    In the UK we have a qualification/curriculum called Advanced Level (A-level) for ages 16-18. These “Advanced Level” textbooks are typically far simpler than the “Elementary” ones.

    I associate “elementary” with “elementary school”, or “elementary, my dear Watson!” Perhaps the elementary books were foundational in the context of undergraduate mathematics, whereas Advanced Level (A-level) is advanced in the context of secondary school (high school).

  5. John says:

    Jason Davies: That reminds me of “college algebra,” which really means high school algebra.

  6. Derek Jones says:

    In Physics book titles give the impression of being more and more advanced until university level is reached, after which they give the impression of being more and more basic, elementary or fundamental.

    Computing has not yet reached a stage of maturity where it is cool to progress to a state that is anything other than advanced. I get some strange looks from people when I suggest that “C for Dummies” contain lots of useful insights for experienced developers.

  7. John says:

    The “for dummies” books are light-hearted, but not necessarily easy to read. They’re really “for people who like flippant dialog.” If you don’t realize that, it could be a blow to your ego if you find one of them difficult to follow.

  8. Michael Taylor says:

    I would avoid making the assumption that if something is less commonly used, that it is less useful. In other words, frequency of usage does not collate to functionality. The idea reminds me of one of Joel Spolsky’s early essays on “Bloatware” and the 80/20 rule.

    A lot of software developers are seduced by the old “80/20″ rule. It seems to make a lot of sense: 80% of the people use 20% of the features. So you convince yourself that you only need to implement 20% of the features, and you can still sell 80% as many copies.

    Unfortunately, it’s never the same 20%. Everybody uses a different set of features. In the last 10 years I have probably heard of dozens of companies who, determined not to learn from each other, tried to release “lite” word processors that only implement 20% of the features.

    I regard Advanced in its usage for user interfaces as a label for features that are not utilized by either a large percentage of the user base, or is considered contribute to an overwhelming sensation for a new or infrequent user. I see it as a generic alternative for “expert” features, which may be perceived as condescending to a new or tepid user.

    To go back to the word processor as an example, mail merge is a feature not utilized by a large portion of any user base, but it was one of the earliest examples of “office automation” that was considered a critical or important feature for those workplace users who did use it.

    I guess I view features or functionality as more akin to a free-form graph, not as monotonic plot of complexity (advanced / obscure).

  9. I prefer the term “arcane.”

  10. Daniel Przybylski says:

    Reminds me of when some non-tech will suggest that a database is far more complex simply because it is larger in terms of records (and not tables, relationships, etc.)

  11. mike says:

    I’m in documentation, and we’ve had this discussion many times, but from the perspective of how we should present things. An analogy that works for many people is the college-level one: 100 level, 200 level, 400 level. This seems not to violate your observation, inasmuch as a 400-level class is not necessarily “harder” than, say, a 200-level class; it might just be more focused on a specific detail of the field. (Asynchronous programming: hard, or just obscure?) That said, for most usages, it’s probably safe to assume that “advanced” implies that you have some basic knowledge of the subject already, and that this applies in many developer scenarios as well.

    A dilemma we also have in documentation w/r/t “advanced” is that the spectrum of “advanced” is tricky when you’re trying to sort your audience. For example, let’s say a reader is quite proficient with programming languages and with developing applications, but is new to (e.g.) creating applications for mobile phones. The ramp-up documentation that that reader needs is considerably different than the documentation that someone needs who is new to programming, even tho both audiences need an overview of phone programming. An advanced developer can get information from a simple intro, but not only is it likely to have of lot of gee-whiz cruft in it for the beginner, but it’s unlikely to have in it the sort of conceptual, what’s-going-on depth that would be useful to the experienced programmer. So: can there be such a thing as an “advanced” introduction? Theoretically, yes. (The life cycle of documentation often reflects an ever-widening audience for it, getting more and more descriptive as the audience broadens: see Engineers who write/Writing for engineers.)

  12. Ketura says:

    Makes me think of the difference between “low-level” and “high-level” languages. I was complaining to my non-techie girlfriend once of some function or other I was dealing with being “obscurely low-level”; she looked at me like I was some sort of programming elitist before I explained the meaning of the two terms to programmers.

  13. austin says:

    “You might then ask why something is typically used by more advanced user”
    because advanced features are usually used for advanced problems. for instance maybe most people will never need to set up a proxy, manually configure their tcp/ip settings, or edit their routing tables, but some people will and these are not normal problems but advanced problems, problems for which you need advanced knowledge to understand.

  14. JL says:

    Well written. I could hear Andy Rooney as I read this.

  15. JimL says:

    So what? JL’s comment above seems like it says it all. You are expressing that what is advanced for on Je person may not be for another. Well, all to do about nothing. Just a bunch of observations.

3 Pings/Trackbacks for "Advanced or just obscure?"
  1. [...] subtle. The awk book covers the most basic features of awk, but the sed book goes into the more advanced features of [...]

  2. [...] I’ve covered the most commonly used features of sed and awk, and rather than go into more advanced/obscure features of these languages, I’m going to add tips on other common command line [...]

  3. [...] Related post: Advanced or just obscure? [...]