DZone
Java Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Java Zone > Revisited: Your Programming Language Sucks?

Revisited: Your Programming Language Sucks?

Mike Christianson user avatar by
Mike Christianson
·
Jun. 20, 12 · Java Zone · Interview
Like (0)
Save
Tweet
4.61K Views

Join the DZone community and get the full member experience.

Join For Free

Of the conversations following my post Your programming language sucks?, I’ve received mostly nodding agreement. Perhaps most interesting of all, a friend from my reading group shared an article written by Paul Graham titled Beating the Averages.

In Beating the Averages, Graham illustrates how people talk about languages by calling on a hypothetical language, Blub. An equally hypothetical Blub programmer would look at a more powerful language in terms of Blub: “Hey, that language is pretty similar to Blub but it’s got some weird stuff mixed in. Well, anyway, I can do everything I need in Blub and it suits me.” Meanwhile, a programmer of that language more-powerful-than-Blub looks at Blub and says: “Hmm, it’s missing X. Why would you want to reduce yourself to Blub when you could have more?”

Let’s bring this back to the original example by substituting Java for Blub, using operators to compare Dates for X, and, say, C++ for the more-powerful-language.

“Hmm, Java is missing operators to compare Dates. Why would you want to reduce yourself to Java when you could have more?”

“Hey, C++ is pretty similar to Java but it’s got the hassle of pointers and dereferencing mixed in. Well, anyway, I can do everything I need in Java and it suits me. See, I can come up with two ways of comparing Dates in Java and one even uses operators!”

This helps explain two points Graham is making. First, the choice of language is more than just the choice of tool.

“…programming languages are not just technology, but what programmers think in.”

Second, a programmer’s experience colors how they think about new/other/different languages.

“…the only programmers in a position to see all the differences in power between the various languages are those who understand the most powerful one.”

These two points come together in what Graham terms the Blub Paradox:

“[Programmers are] satisfied with whatever language they happen to use, because it dictates the way they think about programs.”

With all of this in mind, I still stand by my original statement but I’ll add to it: Saying a programming language “sucks” says less about the language and more about the person speaking. It helps convey that person’s understanding of the language and may help place their point of view somewhere along the power-of-the-language “continuum.” Still, I consider the use of sucks to be uncharitable and dismissive.

This discussion only strengthens my interest in reading Seven Languages in Seven Weeks, which my reading group will begin shortly.

Java (programming language) Programmer (hardware) IT Operator (extension) Pointer (computer programming) POST (HTTP) Paradox (theorem prover) Conversations (software)

Published at DZone with permission of Mike Christianson, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Ultra-Fast Microservices: When Microstream Meets Wildfly
  • Your Old Laptop Is Your New Database Server
  • Choosing Between GraphQL Vs REST
  • Synchronization Methods for Many-To-Many Associations

Comments

Java Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo