🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.jbuilder.java.api
Article #2073

Re: Confused about terms.

#2073
From: Rich Wilkman
Date: Tue, 05 Jun 2001 15:42
150 lines
7801 bytes
John:

Looks like you get an A on his homework. ;)

-Rich

"John McGrath [TeamB]" wrote:
> 
> On 5 Jun 2001 00:26:32 -0700, Randall Raus wrote:
> 
> > Below are six terms that I thought I understood, but recently
> > have heard used in ways that are different from my
> > understanding. They were used by people who seemed to be
> > very knowledgeable.
> 
> I think you have a fairly good understanding of most of these terms
> (except "syntax"), but you are expecting them to be a little better
> defined than they are.  Usage of these terms varies somewhat, and in
> some contexts the implications are a little different than in others.
> 
> > 1. Platform:
> >
> > The way I've understood this concept, is that a platform is the
> > combination of a computer and an operating system, i.e. a PC
> > running Windows is a platform, a PC running UNIX is a platform,
> > a workstation running Unix is a platform. At one of the Borland
> > conferences, one of the platform seminars was about Java. Has
> > the ability of Java to run on any platform meant that it has
> > become a platform? Java can't run a program written in C.
> 
> Perhaps a better description of "platform" is the foundation upon which
> a body of software is built, and which it is tied to.  That could be
> just the computer if you are writing low level assembly language code.
> 
> In many cases, it refers to the operating system.  If you write a
> Windows program, it is built on (and tied to) Windows, not Intel.
> There have been Windows implementations that ran on the DEC/Compaq
> Alpha, and a Windows program would run on Windows running on either.
> 
> Java programs run on the Java platform, which consists of a Java
> Virtual Machine and the core Java classes.  Most Java programs are
> not tied to any particular operating system or hardware, so they
> are not part of the platform.
> 
> Of course, the Java platform is a body of software, and it runs on a
> platform of its own.  Sun supports implementations of the Java platform
> that runs on Windows, Solaris and Linux.  So those are the platforms on
> which Sun's Java runs.
> 
> > 2. Syntax:
> >
> >   I also heard an operating system described as having the
> > ability to run applications (development tools) of different
> > syntaxes. I thought a syntax was something like ASN.1. Would C++
> > on a Windows platform be described as having a different syntax
> > from C++ on a Linux platform.
> 
> Syntax refers to the specific tokens that makes up a language, without
> regard to their meaning (the semantics).  This covers
> 
> The C++ standard defines a syntax, and some implementations of C++
> accept a slightly different syntax than the standard.  For example, the
> MS implementation of C++ has a few of its own specific keywords, so it
> is different than the
> GNU implementation.  In general, implementations are compatible with
> the standard, so if you write to the standard, your program should work
> with different implementations.
> 
> > 3. Application:
> >
> > Also, the way I've understood it is that a development tool (see
> > second line of above paragraph) is a utility that is used to
> > create an application, i.e. Jbuilder 4.0 can be used to create a
> > Java application. In other words, the final product is the
> > application, not the development tool.
> 
> Yes.  But be aware that in different environments, there are different
> implications of the term "application".  In many cases, calling a
> program an "application" implies that it is something that will be
> perceived as a separate piece of code by the user.  Sometime the term
> "applet" is used to refer to a piece of code that will run in the
> context of another program.
> 
> In Java, it generally refers to a program that has a main() method, as
> opposed to other forms of programs such as Applets, Servlets, etc.  On
> a Macintosh system, an "application" is a program that is linked in a
> specific way, and interacts with the operating system in a given way.
> Other platforms may use the term a little differently.
> 
> > 4. Operating system (interface):
> >
> > I didn't know that an interface is almost synonymous with
> > operating system.
> 
> An operating system provides an interface (or interfaces) which
> programs use.  See notes on platform and API.
> 
> > 5. Portability:
> 
> > Wouldn't the operating system also have to be portable, and
> > even then, wouldn't it also have to capture or find a sizable
> > market niche to do anything?
> 
> A program is portable to the extent that it can be used in many
> different environments.  If you write code using only an appropriate
> subset of the Windows APIs, it should run on any Windows system.  If
> you write code that uses only the Java APIs, it will run wherever Java
> is supported.  If you write a program using Posix Unix APIs and X11R6,
> your program should run wherever that is supported.
> 
> Programs can also be "portable" in that they can be "aware" of the
> environment in which they are run and adapt to that environment.  For
> example, I have a "portable" Java program that has a bit of code in it
> that launches a web browser.  While most of the code in the application
> does not concern itself with the environment, that part does.  It uses
> different code to launch the browser under Windows that it does under
> Unix.
> 
> Most real world portable programs I have dealt with contains some
> code that is a little more aware of the environment than the "ideal".
> This is not especially a bad thing, but it is good to limit the amount
> of code that is environment-aware.
> 
> It may be that the platform that your code runs on is in itself
> entirely portable, but that is seldom the case.  Sun's implementation
> of the Java Virtual Machine is written using C, and much of that code
> is completely portable, while some is environment-aware.
> 
> > 6. API:
> >
> > Finally, what is an API? I thought that an application program
> > interface (API) was the methods and data of a class or interface
> > that was included in the Java SDK, or Java Beans. In other
> > words each class or interface (in the library) had its own API.
> > Recently I've heard API referred in the context of a whole
> > package, like Java Beans, (e.g. the Java Beans API), or even in
> > the context of a browser, i.e. Netscape, providing an API.
> 
> The term is used differently by different people / organizations.  I
> have seen some refer to entire libraries as an API and others refer to
> a single function call as an API.
> 
> --
> Regards,
> 
> John McGrath [TeamB]
> 
> ---------------------------------------------------
> Before sending me e-mail, please read:
>     http://www.JPMcGrath.net/newsgroups/e-mail.html
Technical Details
Message-ID: <3B1CFDE3.E80218AE@formlessvoid.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!nntp-relay.ihug.net!ihug.co.nz!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!dnews
References: <3b1c89a8_2@dnews> <MPG.15866b0b269f037698a263@forums.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 1089d0,3ad0d3f326530616
X-Google-Attributes: gid1089d0,public
X-Google-ArrivalTime: 2001-06-05 08:46:05 PST
Message-ID: <3B1CFDE3.E80218AE@formlessvoid.com>
Date: Tue, 05 Jun 2001 08:42:27 -0700
From: Rich Wilkman <richw@formlessvoid.com>
X-Mailer: Mozilla 4.77 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
Newsgroups: borland.public.jbuilder.java.api
Subject: Re: Confused about terms.
References: <3b1c89a8_2@dnews> <MPG.15866b0b269f037698a263@forums.borland.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: 208.236.69.60
X-Trace: dnews 991755745 208.236.69.60 (5 Jun 2001 08:42:25 -0700)
Lines: 150
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!nntp-relay.ihug.net!ihug.co.nz!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!dnews