Is cisco IOS programmed in forth?

Discussion in 'Cisco' started by sqrfolkdnc, Sep 8, 2005.

  1. sqrfolkdnc

    sqrfolkdnc Guest

    the syntax seems forth-like. Like saying "no blah-blah" to negate the
    "blah-blah" command, and the tokenization.
     
    sqrfolkdnc, Sep 8, 2005
    #1
    1. Advertising

  2. sqrfolkdnc

    Guest

    Seems unlikey - to me.

    How can we find out?

    Cisco Jobs.
    ... Excellent C/C++ design
    ... Extensive coding in C

    The other 4 or so I looked at didn't say.
     
    , Sep 9, 2005
    #2
    1. Advertising

  3. sqrfolkdnc

    sqrfolkdnc Guest

    Why unlikely? Forth is used for many low level embedded applications,
    such as SUN's boot rom, and many dedicated things like vending
    machines.

    I was hoping somebody that knows (like a current or former Cisco
    employee) could answer, or maybe somebody with a high level
    certification and access to Cisco's inner circle could ask them.
     
    sqrfolkdnc, Sep 10, 2005
    #3
  4. In article <>,
    sqrfolkdnc <> wrote:
    :Why unlikely? Forth is used for many low level embedded applications,
    :such as SUN's boot rom, and many dedicated things like vending
    :machines.

    There's been enough hints over the years to know it isn't Forth.


    ;I was hoping somebody that knows (like a current or former Cisco
    ;employee) could answer, or maybe somebody with a high level
    ;certification and access to Cisco's inner circle could ask them.

    Well, I've never been any of those, but I can answer the question anyhow.
    You could have too, if you'd done 10 minutes searching.

    http://www.techworld.com/security/news/index.cfm?NewsID=1587
    --
    Oh, to be a Blobel!
     
    Walter Roberson, Sep 10, 2005
    #4
  5. In article <dfuugb$8j7$>,
    -cnrc.gc.ca (Walter Roberson) wrote:

    > In article <>,
    > sqrfolkdnc <> wrote:
    > :Why unlikely? Forth is used for many low level embedded applications,
    > :such as SUN's boot rom, and many dedicated things like vending
    > :machines.
    >
    > There's been enough hints over the years to know it isn't Forth.


    And I don't even get the connection that the original poster claimed. I
    don't know Forth well, but the command-line and configuration file
    syntax doesn't seem anything like what I've seen of it. Forth is
    stack-based, so it uses reverse Polish syntax -- operators come after
    their parameters. The only connection the OP made was the use of "no"
    to undo things (is that really a common thing in Forth?), but that's
    simply normal English.

    Didn't some of the original Cisco designers come out of the DEC world?
    What's surprising, then, is that we don't have lots of /option syntax in
    Cisco. But the command completion in the UI was inspired by DEC
    operating systems.

    --
    Barry Margolin,
    Arlington, MA
    *** PLEASE post questions in newsgroups, not directly to me ***
     
    Barry Margolin, Sep 10, 2005
    #5
  6. sqrfolkdnc

    Uli Link Guest

    sqrfolkdnc schrieb:

    > Why unlikely? Forth is used for many low level embedded applications,
    > such as SUN's boot rom, and many dedicated things like vending
    > machines.
    >
    > I was hoping somebody that knows (like a current or former Cisco
    > employee) could answer, or maybe somebody with a high level
    > certification and access to Cisco's inner circle could ask them.
    >


    do a hex dump on an IOS image and you'll see Cisco uses GCC.
    So the programming language will on of the common denominators of GCC
    2.95.x.

    --
    Uli
     
    Uli Link, Sep 10, 2005
    #6
  7. sqrfolkdnc

    Neil Cherry Guest

    On Sat, 10 Sep 2005 12:03:04 -0400, Barry Margolin wrote:

    > Didn't some of the original Cisco designers come out of the DEC world?
    > What's surprising, then, is that we don't have lots of /option syntax in
    > Cisco. But the command completion in the UI was inspired by DEC
    > operating systems.


    At the time (as I recall) a few Unix shells had command completion and
    that, in addition to command line editing, that's when it was added. I
    don't know if it's related to DEC (I hadn't worked with DEC equipment
    then).

    On the issue of Forth, when I visited Cisco for training on their
    routers (late 80's) they had a Wednesday evening get together (cheese
    and wine tasting). During that training I learned that one programmer
    was having trouble debugging some of their new DECnet code and that he
    was using GCC and GDB. I'd take it that Cisco is still using C in
    their code.

    --
    Linux Home Automation Neil Cherry
    http://home.comcast.net/~ncherry/ (Text only)
    http://hcs.sourceforge.net/ (HCS II)
    http://linuxha.blogspot.com/ My HA Blog
     
    Neil Cherry, Sep 11, 2005
    #7
  8. In article <>,
    Neil Cherry <> wrote:

    > On Sat, 10 Sep 2005 12:03:04 -0400, Barry Margolin wrote:
    >
    > > Didn't some of the original Cisco designers come out of the DEC world?
    > > What's surprising, then, is that we don't have lots of /option syntax in
    > > Cisco. But the command completion in the UI was inspired by DEC
    > > operating systems.

    >
    > At the time (as I recall) a few Unix shells had command completion and
    > that, in addition to command line editing, that's when it was added. I
    > don't know if it's related to DEC (I hadn't worked with DEC equipment
    > then).


    A number of systems in the 80's had command completion. They pretty
    much all got the idea from DEC. One of the first Unix shells with it
    was tcsh -- the "t" was for Tenex, the name of a DEC OS (aka TOPS-10).

    --
    Barry Margolin,
    Arlington, MA
    *** PLEASE post questions in newsgroups, not directly to me ***
     
    Barry Margolin, Sep 11, 2005
    #8
  9. sqrfolkdnc

    Neil Cherry Guest

    On Sat, 10 Sep 2005 23:10:15 -0400, Barry Margolin wrote:
    > In article <>,
    > Neil Cherry <> wrote:
    >
    >> On Sat, 10 Sep 2005 12:03:04 -0400, Barry Margolin wrote:
    >>
    >> > Didn't some of the original Cisco designers come out of the DEC world?
    >> > What's surprising, then, is that we don't have lots of /option syntax in
    >> > Cisco. But the command completion in the UI was inspired by DEC
    >> > operating systems.

    >>
    >> At the time (as I recall) a few Unix shells had command completion and
    >> that, in addition to command line editing, that's when it was added. I
    >> don't know if it's related to DEC (I hadn't worked with DEC equipment
    >> then).

    >
    > A number of systems in the 80's had command completion. They pretty
    > much all got the idea from DEC. One of the first Unix shells with it
    > was tcsh -- the "t" was for Tenex, the name of a DEC OS (aka TOPS-10).


    I stand corrected. I know that the command line editing is modeled
    after emacs. I think the DEC equipment uses a different key set as I
    sometimes use my emacs commands and I screw up the command line on my
    Vaxen and termincal servers.

    Thanks


    --
    Linux Home Automation Neil Cherry
    http://home.comcast.net/~ncherry/ (Text only)
    http://hcs.sourceforge.net/ (HCS II)
    http://linuxha.blogspot.com/ My HA Blog
     
    Neil Cherry, Sep 11, 2005
    #9
  10. sqrfolkdnc

    Sam Wilson Guest

    In article <>, Neil Cherry
    <> wrote:

    > On Sat, 10 Sep 2005 23:10:15 -0400, Barry Margolin wrote:
    > > In article <>,
    > > Neil Cherry <> wrote:
    > >
    > >> On Sat, 10 Sep 2005 12:03:04 -0400, Barry Margolin wrote:
    > >>
    > >> > Didn't some of the original Cisco designers come out of the DEC world?
    > >> > What's surprising, then, is that we don't have lots of /option syntax in
    > >> > Cisco. But the command completion in the UI was inspired by DEC
    > >> > operating systems.
    > >>
    > >> At the time (as I recall) a few Unix shells had command completion and
    > >> that, in addition to command line editing, that's when it was added. I
    > >> don't know if it's related to DEC (I hadn't worked with DEC equipment
    > >> then).

    > >
    > > A number of systems in the 80's had command completion. They pretty
    > > much all got the idea from DEC. One of the first Unix shells with it
    > > was tcsh -- the "t" was for Tenex, the name of a DEC OS (aka TOPS-10).

    >
    > I stand corrected. I know that the command line editing is modeled
    > after emacs. I think the DEC equipment uses a different key set as I
    > sometimes use my emacs commands and I screw up the command line on my
    > Vaxen and termincal servers.


    IIRC (big if!) the Cisco command line editing and completion is copied
    from the Korn shell (ksh); in fact I think the code was taken from ksh.
    This was said by a Cisco employee (Dave Katz?) on the old
    mailing list just before the line editing code
    was released. Unfortunately I can't find an archive of that list that
    goes far enough back to support that claim!

    Sam Wilson
    Network Development Team, Infrastructure Services Division
    Computing Services, The University of Edinburgh
    Edinburgh, Scotland, UK
     
    Sam Wilson, Sep 13, 2005
    #10
  11. In article <130920051044478933%>,
    Sam Wilson <> wrote:

    > IIRC (big if!) the Cisco command line editing and completion is copied
    > from the Korn shell (ksh); in fact I think the code was taken from ksh.
    > This was said by a Cisco employee (Dave Katz?) on the old
    > mailing list just before the line editing code
    > was released. Unfortunately I can't find an archive of that list that
    > goes far enough back to support that claim!


    How long has Korn shell been around? I think Cisco had Emacs-style
    command line editing when I first started using it around 1988 or 1989.

    --
    Barry Margolin,
    Arlington, MA
    *** PLEASE post questions in newsgroups, not directly to me ***
     
    Barry Margolin, Sep 14, 2005
    #11
  12. sqrfolkdnc

    Sam Wilson Guest

    In article <>,
    Barry Margolin <> wrote:

    > In article <130920051044478933%>,
    > Sam Wilson <> wrote:
    >
    > > IIRC (big if!) the Cisco command line editing and completion is copied
    > > from the Korn shell (ksh); in fact I think the code was taken from ksh.
    > > This was said by a Cisco employee (Dave Katz?) on the old
    > > mailing list just before the line editing code
    > > was released. Unfortunately I can't find an archive of that list that
    > > goes far enough back to support that claim!

    >
    > How long has Korn shell been around? I think Cisco had Emacs-style
    > command line editing when I first started using it around 1988 or 1989.


    I still have my Gateway System Manual for software release 8.1 from
    1989/90 and that definitely doesn't have general CLI editing. There is
    some minimal editing but no history or cursor key or EMACS-style stuff.
    Manuals for Software Release 9.1, September 1992, don't have it either.
    I can see some IOS 10.2 manuals in our store room (yes, it was IOS by
    then) but I'd have to move too many other things to reach the relevant
    ones. 10.2 manuals are undated on the cover but copyrighted 1994.

    I'd guess it came in with IOS 10.0 in about 1993.

    Sam

    Sam Wilson
    Network Development Team, Infrastructure Services Division
    Computing Services, The University of Edinburgh
    Edinburgh, Scotland, UK
     
    Sam Wilson, Sep 14, 2005
    #12
  13. sqrfolkdnc

    Sam Wilson Guest

    In article <140920051054272698%>, Sam Wilson <> wrote:

    > I'd guess it came in with IOS 10.0 in about 1993.


    [ where "it" is command line editing à la Tenex, Tcsh etc. ]


    Disable Enhanced Editing Mode

    To disable enhanced editing mode and revert to
    the editing mode of software releases before 9.21, ...

    <http://www.cisco.com/univercd/cc/td/doc/product/software/ios103/rpcg/72082.htm#xtocid35>

    IOS 10.3 Router Products Configuration Guide, "Understanding
    the User Interface" chapter.

    Sam
     
    Sam Wilson, Sep 15, 2005
    #13
  14. Barry Margolin <> writes:
    >In article <130920051044478933%>,
    > Sam Wilson <> wrote:


    >> IIRC (big if!) the Cisco command line editing and completion is copied
    >> from the Korn shell (ksh); in fact I think the code was taken from ksh.
    >> This was said by a Cisco employee (Dave Katz?) on the old
    >> mailing list just before the line editing code
    >> was released. Unfortunately I can't find an archive of that list that
    >> goes far enough back to support that claim!


    >How long has Korn shell been around? I think Cisco had Emacs-style
    >command line editing when I first started using it around 1988 or 1989.


    Korn shell was first out in late '86 or early '87 in very limited
    early public releases (ie. not BellLabs only), or '88 for a broad release.

    IOS 10.0 was the first IOS that had command line editing. Neither 9.21
    or 9.24 did not. I don't remember when 10.0 was released, but I
    remember using 9.24 release in routers that shipped in very late 1993
    and not having command editing or completion. I'm guessing 10.0 came
    out probably around the same time the 2501 shipped in 1Q1994.
     
    Doug McIntyre, Sep 16, 2005
    #14
  15. sqrfolkdnc

    sqrfolkdnc Guest

    To get back to the original topic of this thread, could it be that
    version 1 of IOS was written in forth, and it was later rewritten in
    C++, but the command syntax was maintained? If anybody is interested,
    I can post more reasons it think the syntax is forth-like. Command
    completion is not a big reason.
     
    sqrfolkdnc, Sep 19, 2005
    #15
  16. In article <>,
    sqrfolkdnc <> wrote:
    :To get back to the original topic of this thread, could it be that
    :version 1 of IOS was written in forth, and it was later rewritten in
    :C++, but the command syntax was maintained? If anybody is interested,
    :I can post more reasons it think the syntax is forth-like. Command
    :completion is not a big reason.

    http://groups.google.ca/group/mod.p...read/thread/5b8b524797c12799/0b96393711b5671e

    This message contains a review of the Cisco ASM-32 terminal servers,
    and is pretty much the first archived message about Cisco products (Nov
    1986). The description indicates that the command syntax is modelled
    on TOPS-20.

    If you examine the syntax of the ASM-32 you will see that IOS is
    recognizably the same syntax flavour.

    TOPS-20 was by shipped by DEC in January 1976, which was after the
    invention of Forth but before Forth was formalized as a programming
    language in 1977.

    Do we need to go back further and find one of the TOPS-20 pioneers
    and ask them whether TOPS-20 syntax was inspired by the pre-formalized
    Forth? (Hint: examine the TWENEX timeline)
    --
    Any sufficiently old bug becomes a feature.
     
    Walter Roberson, Sep 19, 2005
    #16
  17. The nifty (? completion) command parser look-and-feel appeared
    originally in the TENEX OS for the DEC 36-bit machines from BBN,
    which OS was very popular at Stanford, whence Cisco's founders came.
    (TENEX is NOT to be confused with DEC's own TOPS-10 OS which lacked
    such a parser.) DEC's subsequent TOPS-20 (aka, cutely, "Twenex") had
    a generalized version of this parser (the COMND JSYS system call.)

    This history can be found in the tcsh(1) manpage - see "THE T IN TCSH"
    http://www.gsp.com/cgi-bin/man.cgi?section=1&topic=tcsh#15 . IOS was
    similarly inspired by the TENEX/TOPS-20 parser.

    Aaron
     
    Aaron Leonard, Sep 20, 2005
    #17
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Curious George

    Getting canned for brining forth obvious security breaches

    Curious George, Feb 1, 2005, in forum: Wireless Networking
    Replies:
    0
    Views:
    533
    Curious George
    Feb 1, 2005
  2. doS

    why do they bring it back and forth?

    doS, Dec 30, 2004, in forum: Computer Support
    Replies:
    3
    Views:
    707
    Richard
    Dec 31, 2004
  3. nevillenevillesonMSCE

    FORTH TYNE DOGGER

    nevillenevillesonMSCE, Oct 28, 2005, in forum: Computer Support
    Replies:
    8
    Views:
    608
    Old Gringo
    Oct 28, 2005
  4. dotslash

    Is AMERICA a nation of PROGRAMMED SLAVES ?

    dotslash, Jan 21, 2005, in forum: Computer Information
    Replies:
    3
    Views:
    675
    Scott
    Jan 22, 2005
  5. John Doe
    Replies:
    0
    Views:
    487
    John Doe
    Oct 10, 2008
Loading...

Share This Page