Re: Do you consider Python a 4GL? Why (not)?

2013-06-11 Thread Chris Angelico
On Wed, Jun 12, 2013 at 12:02 PM, Dave Angel  wrote:
> On 06/11/2013 03:48 PM, Laurent Pointal wrote:
>>
>> Dennis Lee Bieber wrote:
>>
>>> On Tue, 4 Jun 2013 18:17:33 -0700, Dan Stromberg 
>>> declaimed the following in gmane.comp.python.general:
>>>
>>>  
>>
>>
>>> The C compiler suites used this ability to read the error log from a
>>> compile, and move to the line/column in the source file associated with
>>> each error. (Before "integrated" development environments)
>>
>>
>> This is a + for compiled environments that you effectively cannot have
>> with
>> Python, non-syntaxic errors found at runtime.
>>
>
> Sure.  I think they're usually called exceptions.  And lo and behold, they
> come with filenames and line numbers.

Nearly every language has parse-time and run-time errors. Some skew it
further one way than the other, but (a) there will always be run-time
errors (interrupted, out of memory, etc), and (b) it'd be a stupid
language[1] that didn't even *try* to parse a file before running it.
The only difference is that C has a much heavier compile-time phase
than Python does, so the latter has to throw TypeError for 1+[]
instead of failing the compilation.

ChrisA

[1] I opened with "Nearly" because MS-DOS batch does seem to be this stupid.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Do you consider Python a 4GL? Why (not)?

2013-06-11 Thread Dave Angel

On 06/11/2013 03:48 PM, Laurent Pointal wrote:

Dennis Lee Bieber wrote:


On Tue, 4 Jun 2013 18:17:33 -0700, Dan Stromberg 
declaimed the following in gmane.comp.python.general:

 



The C compiler suites used this ability to read the error log from a
compile, and move to the line/column in the source file associated with
each error. (Before "integrated" development environments)


This is a + for compiled environments that you effectively cannot have with
Python, non-syntaxic errors found at runtime.



Sure.  I think they're usually called exceptions.  And lo and behold, 
they come with filenames and line numbers.




--
DaveA
--
http://mail.python.org/mailman/listinfo/python-list


Re: Do you consider Python a 4GL? Why (not)?

2013-06-11 Thread Laurent Pointal
Dennis Lee Bieber wrote:

> On Tue, 4 Jun 2013 18:17:33 -0700, Dan Stromberg 
> declaimed the following in gmane.comp.python.general:
> 
> 
>> Perhaps "Scripting language" is the best general category we have that
>> Python fits into.  But I hope not.
> 
> Heh... Having encountered ARexx (the Amiga version of REXX), Python
> is NOT a scripting language... The ARexx implementation (along with the
> Amiga's interprocess communication system) allowed for scripting any
> application that opened an "ARexx Port"... Other than, maybe, the
> original IBM REXX, I've not seen any other REXX implementation that
> would permit embedding application specific commands into a script.
> 
> Python's subprocess (and related) are all based on explicit startup
> and communication over stdin/stdout... Nothing like:
> 
> address TextEditor/* a fictitious application port */
> 'DN 5'/* move down five lines *?:
> 'MARK'/* start a selection*/
> 'RW 5'/* move right five words */
> 'COPY'/* copy selection to operation result */
> string = result
> address PageSetter/* fictitious here, but a real program */
> 'PASTE' string/* insert selected string into page document /*
> 
> Yes, maybe the above could be done as two sessions of subprocess --
> presuming both programs had a command line interface. But what if the
> script was going to switch between the two of them throughout one
> session.

For me this is not a DSL, but an external API of an application, like you 
have with COM under Windows, DBUS under Linux. Unix streams are just an 
ancestor way of communication, you could have local-RPC also, or CORBA.

So, as this is just inter-process communication procotol, if you have the 
Amigaes interprocess communication system tool written for Python, you could 
easily write things using a Python syntax:

te = TextEditor()
te.dn(5)
te.mark()
te.rw(5)
te.copy()
string = te.result()
ps = PageSetter()
ps.paste(string)

Python is a scripting language, and a nice one to use as glue between 
different components, eventually of different technologies.

(note: if you have more than one process to control via streams, you can 
open more than one pipe)

And... here http://www.solie.ca/articles/pythonmod/pythonmod.html
you could find modules for using Python with Amiga APIs and combining it 
with ARexx.

> The C compiler suites used this ability to read the error log from a
> compile, and move to the line/column in the source file associated with
> each error. (Before "integrated" development environments)

This is a + for compiled environments that you effectively cannot have with 
Python, non-syntaxic errors found at runtime.

A+
Laurent.

-- 
Laurent POINTAL - laurent.poin...@laposte.net

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Do you consider Python a 4GL? Why (not)?

2013-06-05 Thread Ian Kelly
On Tue, Jun 4, 2013 at 6:38 PM, Carlos Nepomuceno
 wrote:
> I don't have an opinion yet, but I've found contradictory evidence from many
> sources, such as:
>
> "A domain-specific language (DSL) is a type of programming language or
> specification language in software development and domain engineering
> dedicated to a particular problem domain,
> [...]
> The opposite is:
>
> a general-purpose programming language, such as C, Java or Python,"
>
> http://en.wikipedia.org/wiki/Domain-specific_programming_language
>
> Since, 4GL is considered a subset of DSLs, this wiki page doesn't consider
> Python a 4GL.
>
> Is is true? Why???

I wasn't previously familiar with the 3GL / 4GL nomenclature, but
based upon the definitions given at Wikipedia, Python is clearly a
3GL.  That said, virtually all general-purpose languages in common
usage today would be 3GLs, so the distinction does not seem terribly
useful to me.  The terms "4GL" and "5GL" while suggesting a language
that is somehow more "advanced" than a 3GL, seem to be mainly 80s
hype.
-- 
http://mail.python.org/mailman/listinfo/python-list


RE: Do you consider Python a 4GL? Why (not)?

2013-06-04 Thread Carlos Nepomuceno
I don't have an opinion yet, but I've found contradictory evidence from many 
sources, such as:

"A domain-specific language (DSL) is a type of programming language or 
specification language in software development and domain engineering dedicated 
to a particular problem domain,
[...]
The opposite is:
a general-purpose programming language, such as C, Java or 
Python,"http://en.wikipedia.org/wiki/Domain-specific_programming_language

Since, 4GL is considered a subset of DSLs, this wiki page doesn't consider 
Python a 4GL.

Is is true? Why???
  -- 
http://mail.python.org/mailman/listinfo/python-list


Re: Do you consider Python a 4GL? Why (not)?

2013-06-04 Thread Mark Lawrence

On 05/06/2013 01:14, Tim Chase wrote:

On 2013-06-05 02:53, Carlos Nepomuceno wrote:

Do you consider Python a 4GL? Why (not)?


Of course it's a 4GL ("4 Guido Language").  You think he wrote it for
somebody else?

Unless you have some magical list of criteria that makes your own
definition of "4GL", in which case you should look at your list of
those "4GL" definitions and weigh them against publicly known facts
about Python, yielding the answer to your question. :-P

-tkc




"Publicly known facts" as in Python is a weakly typed language? :)

--
"Steve is going for the pink ball - and for those of you who are 
watching in black and white, the pink is next to the green." Snooker 
commentator 'Whispering' Ted Lowe.


Mark Lawrence

--
http://mail.python.org/mailman/listinfo/python-list


Re: Do you consider Python a 4GL? Why (not)?

2013-06-04 Thread Tim Chase
On 2013-06-05 02:53, Carlos Nepomuceno wrote:
> Do you consider Python a 4GL? Why (not)?

Of course it's a 4GL ("4 Guido Language").  You think he wrote it for
somebody else?

Unless you have some magical list of criteria that makes your own
definition of "4GL", in which case you should look at your list of
those "4GL" definitions and weigh them against publicly known facts
about Python, yielding the answer to your question. :-P

-tkc


-- 
http://mail.python.org/mailman/listinfo/python-list