MessiandNeymar

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Wednesday, January 2, 2013

Computer programming remains the province of experts

Posted on 2:22 PM by Unknown

Every so often, you'll hear people bemoan the fact that computer programming is so intricate and obtuse and complex, and wonder when we'll arrive at a time when computers aren't so doggone hard to program, and everybody who wants to can simply program computers to do whatever they want.

Well, today's news is that, though that might be a laudable goal, we're still an incredibly long way away from that.

Two postcards from the front lines of today's most mature programming languages, C++ and Java, follow:

  • Herb Sutter brings us a treat of a video: You Don’t Know const and mutable (the video is here).
    there's actually another major change that isn't being talked about anywhere, or even being listed as a change in C++11 at all as far as I know, because I and other key experts and committee members I've asked didn't fully realize that we altered the basic meaning of not one but two fundamental keywords in C++. It's a change that has profound consequences, that rewrites and/or invalidates several pieces of pre-C++11 design guidance, and that's directly related to writing solid code in a concurrent and parallel world. This isn't just an academic change, either — everyone is going to have to learn and apply the new C++11 guidance that we'll cover in this session.
  • Meanwhile, from Java-land, Heinz Kabutz digs deeply into the meaning of Java's "final" keyword: Final Parameters and Local Variables
    I am not against marking fields final, as this has some useful concurrency semantics. I am also not against making methods and classes final if that is going to help to guide users of your classes on how they should be extended. This is only a rant against marking local variables and parameters as final, when it is not necessary to do so.

An interesting aspect of both of these situations is that they involve bits of the programming language (const for C++ and final for Java) which have been around for more than 20 years (I remember working with const in 1987 or so, and with final in 1995 or so, but they both probably pre-date those memories).

It's my job, nay my career, nay my entire professional life, to learn, keep tabs on, and otherwise eat, drink, and breathe incredibly annoying details like these.

If that is your life, too, then hopefully you found these links useful.

And if that is not your life, then maybe you know understand a little bit more about why it's going to be a long time before the fundamental aspects of why computer programming is hard cease to matter.

Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Shelter
    I meant to post this as part of my article on Watership Down , but then totally forgot: Shelter In Shelter you experience the wild as a moth...
  • The Legend of 1900: a very short review
    Fifteen years late, we stumbled across The Legend of 1900 . I suspect that 1900 is the sort of movie that many people despise, and a few peo...
  • Rediscovering Watership Down
    As a child, I was a precocious and voracious reader. In my early teens, ravenous and impatient, I raced through Richard Adams's Watershi...
  • Must be a heck of a rainstorm in Donetsk
    During today's Euro 2012 match between Ukraine and France, the game was suspended due to weather conditions, which is a quite rare occur...
  • Beethoven and Jonathan Biss
    I'm really enjoying the latest Coursera class that I'm taking: Exploring Beethoven’s Piano Sonatas . This course takes an inside-out...
  • Starting today, the games count
    In honor of the occasion: The Autumn Wind is a pirate, Blustering in from sea, With a rollocking song, he sweeps along, Swaggering boisterou...
  • Parbuckling
    The enormous project to right and remove the remains of the Costa Concordia is now well underway. There's some nice reporting on the NP...
  • For your weekend reading
    I don't want you to be bored this weekend, so I thought I'd pass along some articles you might find interesting. If not, hopefully y...
  • Are some algorithms simply too hard to implement correctly?
    I recently got around to reading a rather old paper: McKusick and Ganger: Soft Updates: A Technique for Eliminating Most Synchronous Writes ...
  • Don't see me!
    When she was young, and she had done something she was embarrassed by or felt guilty about, my daughter would sometimes hold up her hand to ...

Blog Archive

  • ▼  2013 (165)
    • ►  September (14)
    • ►  August (19)
    • ►  July (16)
    • ►  June (17)
    • ►  May (17)
    • ►  April (18)
    • ►  March (24)
    • ►  February (19)
    • ▼  January (21)
      • Ora et Labora: a very short review
      • Cloud Computing reading list
      • Here comes the sun!
      • A patient departure
      • One Million Square Feet
      • Debugging: a very short review
      • Northern California Perfection
      • Stuff I'm reading this weekend
      • Jeff Hodges on distributed systems
      • Overseas Reymar
      • Statistical evidence of fraud
      • Kingdoms of Amalur: Reckoning: a very short review
      • Tata Steel 2013 has begun
      • Aaron Swartz
      • Greatly exaggerated rumors
      • Virtualization
      • Performance behaviors can be very non-linear
      • SHRDLU is wrong!
      • How Complex Systems Fail
      • Computer programming remains the province of experts
      • Happy New Year!
  • ►  2012 (335)
    • ►  December (23)
    • ►  November (30)
    • ►  October (33)
    • ►  September (34)
    • ►  August (29)
    • ►  July (39)
    • ►  June (27)
    • ►  May (48)
    • ►  April (32)
    • ►  March (30)
    • ►  February (10)
Powered by Blogger.

About Me

Unknown
View my complete profile