1. You are viewing our forum as a guest. For full access please Register. WindowsBBS.com is completely free, paid for by advertisers and donations.

Resolved Steve Jobs' quote about software "objects"

Discussion in 'General Discussions' started by psaulm119, 2012/12/09.

  1. 2012/12/09
    psaulm119 Lifetime Subscription

    psaulm119 Geek Member Thread Starter

    Joined:
    2003/12/07
    Messages:
    1,424
    Likes Received:
    21
    I just read this quote from a 1996 interview of Steve Jobs:

    Once you understand objects, it's clear that all software will eventually be written using objects. Again, you can argue about how many years it will take, and who the winners and losers will be during this transition, but you can't argue about the inevitability of this transition. Objects are just going to be the way all software is going to be written in five years or so--pick a time. It's so compelling. It's so obvious. It's so much better that it's just going to happen.

    http://www.wired.com/wired/archive/4.02/jobs_pr.html

    Can someone please tell me what Jobs in 1996 would have meant by "objects," and how that would have been so revolutionary in 1996?
     
  2. 2012/12/09
    SpywareDr

    SpywareDr SuperGeek WindowsBBS Team Member

    Joined:
    2005/12/31
    Messages:
    3,752
    Likes Received:
    338

  3. to hide this advert.

  4. 2012/12/10
    TonyT

    TonyT SuperGeek Staff

    Joined:
    2002/01/18
    Messages:
    9,072
    Likes Received:
    400
    An real world example would be a software program is written (coded) in such a way that all functionality of the program has its own set of instructions. Get the idea that the program has a window (object) and a menu bar (object) with 5 top level menu items: File, Edit, View, Tools, Help, and each has sub-menus. (5 objects) And the programmer wrote separate code for each menu. I'm not talking about the links in such menus, but rather the more basic instructions like "what does the cursor look like when it's placed over a menu" or "does the text turn bold ".

    Well, older style programming required the developer to write out instructions for the cursor and text color for each (File, Edit, View...etc). This takes more time and effort, and future upgrades to the software program often broke earlier functionality resulting in what's know to programmers as "spaghetti code ". He had to write the original code, add upgraded feature code that broke existing features, write additional code that fixes the broken features, and repeat that every time the software gets updated.

    Newer programming languages support what's know as object-oriented-code. The programmer writes what's known as a class, i.e. a set of instructions for "cursor and text" in program menus. This "class" is then reusable anywhere else in the program simply by writing one line of code that "calls it into play ". Thus, one small class that get used by File, Edit, View...etc. Resulting in more efficient software. Not only that, the work the programmer did can also be used later in other software programs if he needs it, saving time and effort.
     
    virginia and SpywareDr like this.
  5. 2012/12/10
    psaulm119 Lifetime Subscription

    psaulm119 Geek Member Thread Starter

    Joined:
    2003/12/07
    Messages:
    1,424
    Likes Received:
    21
    Great explanation. That is why Jobs was saying that this process would reduce the time required to write programs to 10% of previous amount of time.

    Thanks, that was a clear illustration of what he was talking about. The wikipedia entry wasn't exactly entry-level reading, so I still was unsure how his use of "objects" was being applied.


     
  6. 2012/12/11
    TonyT

    TonyT SuperGeek Staff

    Joined:
    2002/01/18
    Messages:
    9,072
    Likes Received:
    400
    Here's another example:

    The Web page you are looking at right now consists of boxes. Everything on this page is in a box. Every image, paragraph of text, button, table, etc. has a width & height. By default, these boxes do not have borders, but borders can be displayed if desired.

    Think of every box as an object. Each object has its own properties: width, height, borders, border color, name, ID, etc. Cascading Style Sheets (CSS) can be used to classify objects on a Web page.

    Web page objects also include javascript scripts, videos, images, etc.

    For example, when coding a Web page the developer can write out a paragraph of text like so:
    <p width= "200" height= "100 "><strong>This is a sentence.</strong></p>
    <p width= "200" height= "100 "><strong>This is another sentence.</strong></p>
    <p width= "200" height= "100 "><strong>This is yet another sentence.</strong></p>

    If he used CSS, he could write a class like so, which is stored in a single file and implemented automatically by the browser:
    p.thread-text {width:200px; height: 100px; font-weight:bold;}
    <p class= "thread-text ">This is a sentence.</p>
    <p class= "thread-text ">This is another sentence.</p>
    <p class= "thread-text ">This is yet another sentence.</p>

    See how much more efficient object oriented programming is?
     
  7. 2012/12/11
    dnmacleod

    dnmacleod Well-Known Member

    Joined:
    2009/05/16
    Messages:
    419
    Likes Received:
    58
    Indeed - and just to add to what Tony has said, say you'd like to make every instance of thread-text the colour Red, you don't need to go and find every instance and change it individually, all you need to change is the definition.

    So..
    p.thread-text {width:200px; height: 100px; font-weight:bold;} would become:
    p.thread-text {width:200px; height: 100px; font-weight:bold; color: Red;}

    Simple really when you get your head round it.
     
  8. 2012/12/11
    psaulm119 Lifetime Subscription

    psaulm119 Geek Member Thread Starter

    Joined:
    2003/12/07
    Messages:
    1,424
    Likes Received:
    21
    Gotcha.
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.