Re: Do you consider Python a 4GL? Why (not)?
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)?
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)?
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)?
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)?
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)?
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)?
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