NYCPHP Meetup

NYPHP.org

[nycphp-talk] Is it worth learning Python too?

Tim Gales tgales at tgaconnect.com
Wed Apr 14 13:31:49 EDT 2004


> -----Original Message-----
> From: talk-bounces at lists.nyphp.org 
> [mailto:talk-bounces at lists.nyphp.org] On Behalf Of James Wetterau
> Sent: Wednesday, April 14, 2004 12:47 PM
> To: talk at lists.nyphp.org
> Subject: Re: [nycphp-talk] Is it worth learning Python too? 
> 
> 
> 
> Daniel Krook says:
> > 
> > 
> > 
> > 
> > > Meandering on....I have a book that refers to C as a "high level" 
> > > language. What's lower than C?
> > 
> > High-level essentially means that you're writing your program in a 
> > human readable format, and that what you're writing is 
> abstracted from 
> > how the machine will understand it, which is why it goes 
> through the process of
> > compilation.   Assembly code and raw machine code are 
> low-level languages.
> ...
> 
> Another important practical distinction is that a high-level 
> language is presumably portable between different computers. 

Who is doing the presuming in your view? 

A language author creates a language to be useful.
If he/she is successful, i.e. the language proves to be 
useful, other people port it to their systems so they 
can also take advantage of it.

Maybe some authors of languages have a design goal of not 
burning any bridges when it comes to portability -- since 
they are confident their new language will be needed on many 
different types of systems, but by and large computer languages 
are created to get something done in one environment.

Even Java, which now even runs on my cell phone, was designed to 
run in a closed environment -- namely set top boxes.

(also consider the roots of PHP)

> A C program can be written so that it will compile for any 
> computer architecture. (It's not necessarily the case that it 
> will compile cleanly, or work correctly, but it should be 
> possible to write it so that it can, as long as a C compiler 
> and standard C libraries exist for the computer or operating 
> system in question.)
> 
> A low-level language from this perspective is fundamentally 
> different. If you write an assembly language program that 
> will assemble correctly for one computer, no matter how 
> carefully you do it generally will not work correctly for 
> a different kind of computer and probably could not be made 
> to work correctly for both different kinds of computer. The 
> only exception might occur if it were an extremely trivial 
> program and the two computers were quite similar, or 
> coincidentally shared very similar assembly languages.
> 
> The definition of a compiler or interpreter or virtual 
> machine includes the ability to read source code in a 
> high-level language and generate correct executable programs 
> for different kinds of computers.
> 

No, I don't think portability has anything to do 
with being a high-level language.


T. Gales & Associates
'Helping People Connect with Technology'

http://www.tgaconnect.com





More information about the talk mailing list