Size: 8450
Comment:
|
Size: 6844
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
'''''Please add comments and questions as "wiki comments" - see HelpOnComments for details. Note that !JavaScript needs to be enabled to take advantage of this feature.''''' | == wikipedia APL page revamp - wiki draft == |
Line 3: | Line 3: |
''Can I suggest that we ignore the above exhortation and make all comments visible. There really is no good reason to hide them and it's almost impossible to recognise that we're looking at the same page after hitting the edit button.'' -- PhilLast <<DateTime(2009-07-27T07:10:49Z)>> | ''Deletions & Comments have been moved to the bottom. Those referring to a specific entry have their target repeated above.'' |
Line 5: | Line 5: |
''There are now ten potential refs marked in the text and at the bottom with "[n]". Seven of them require actual citations. It would be really good if individuals could add relevant citations in stead of the placeholder text. '' | ''If you add new entries in the text Please add references in the reference section at the bottom of the article.'' ----- === Draft of wikipedia APL prog lang article === |
Line 7: | Line 9: |
''What about toggling the comment on/off by clicking at "Comments" ?'' -- KaiJaeger <<DateTime(2009-07-27T16:27:26Z)>> | APL is an acronym for A Programming Language - it is based on a strict (unambiguous) mathematical notation invented by the late Kenneth E Iverson; it is an interpreted, interactive, and array oriented commercial language available for all contemporary platforms. Amongst programming languages, APL has several unique/exclusive hallmarks: * It is culture 'neutral'; it uses symbols rather than 'reserved' keywords. * It is solution 'focussed'; it promotes the expression of algorithms without any consideration of machine architecture or operating system - APL is a type 'inferred' language that rarely necessitates coding structures for loops. * It has just one 'simple' operator precedence rule: all expressions evaluate from right to left; if necessary, this default can be overrridden by enclosing parts of an expression in round brackets, with innermost sets of brackets imposing the highest level of precedence. |
Line 9: | Line 14: |
''Ahh - doesn't work anymore because the comments are not comments anymore. Pity...'' | It was an important influence on the development of spreadsheets, functional programming[1], Mathematica and !MatLab[2], and its descendents J[3], K[4] & q[4]. The language flourishes in scientific[5], actuarial[6], statistical[7] and financial[8] applications, and is favored by domain experts writing software for their own purposes. APL is also associated with rapid and lightweight development projects in volatile business environments. Recent notable extensions to APL interpreters and IDEs include: * anonymous lambdas[9] * support for class/object programming <<BR>> * support .Net assemblies * APL as a native .NET language using Visual Studio 2008 [10] * ActiveX or COM Interrop support allowing APL to use Windows resources, notably the operating system's Shell, Win32 APIs, and WMI (Windows Management Instrumentation),as well as any COM aware applications, including the MS Office suite. * XML-array conversion primitives [11] ---- === References === ---- [1] [[http://awards.acm.org/citation.cfm?id=0703524&srt=all&aw=140&ao=AMTURING|ACM Award Citation – John Backus. 1977]] <<BR>> [2] [[http://www.mathworks.com/company/newsletters/news_notes/clevescorner/jan06.pdf|The Growth of MatLab - Cleve Moler]] <<BR>> [3] insert ref to J-software <<BR>> [4] insert ref to Kx-Systems <<BR>> [5] http://www.vector.org.uk/archive/v233/webber.htm <<BR>> [6] insert ref to actuarial (?) <<BR>> [7] insert ref to statistical (?) <<BR>> [8] insert ref to financial (?) <<BR>> [9] [[http://www.dyalog.com/download/dfns.pdf|Dynamic Functions in Dyalog APL - John Scholes. 1997]] <<BR>> [10] insert ref to Visual APL <<BR>> [11] insert ref to APLX & Dyalog []XML here! ---- === End of article === ---- === Deletions === ---- --(APL is one of the oldest programming languages, )-- --(It is a dynamic, interpreted language based on Iverson's mathematical notation. All data are arrays. Primitive operations all extend to arrays, and are denoted by distinctive graphic symbols rather than words, making APL programs compact and visually striking, with few or no loops.)-- ---- --(* support for Subversion and Unicode text handling)-- ---- === Comments === ''APL is an acronym for A Programming Language '' ''First, it isn't an acronym, which is a word whether made up or not. It's an abbreviation or initialism. More importantly it doesn't warrant being mentioned in the introduction. It's History! -- PhilLast <<DateTime(2009-07-29T00:15:27Z)>> '' ---- ''ActiveX or COM Interrop support allowing '' ''is far too long for a bullet point. Could the author reduce it to between 2 & 10 words and add a reference in the reference section? -- PhilLast <<DateTime(2009-07-29T00:15:27Z)>> '' |
Line 23: | Line 67: |
APL is an acronym for A Programming Language - it is based on a strict (unambiguous) mathematical notation invented by the late Kenneth E Iverson; it is an interpreted, interactive, and array oriented commercial language available for all contemporary platforms. Amongst programming languages, APL has several unique/exclusive hallmarks: * It is culture 'neutral'; it uses symbols rather than 'reserved' keywords. ---- |
. ''It is culture 'neutral'; it uses symbols rather than 'reserved' keywords.'' |
Line 28: | Line 70: |
* It is solution 'focussed'; it promotes the expression of algorithms without any consideration of machine architecture or operating system - APL is a type 'inferred' language that rarely necessitates coding structures for loops. * It has just one 'simple' operator precedence rule: all expressions evaluate from right to left; if necessary, this default can be overrridden by enclosing parts of an expression in round brackets, with innermost sets of brackets imposing the highest level of precedence. --(APL is one of the oldest programming languages, )-- --(It is a dynamic, interpreted language based on Iverson's mathematical notation. All data are arrays. Primitive operations all extend to arrays, and are denoted by distinctive graphic symbols rather than words, making APL programs compact and visually striking, with few or no loops.)-- It was an important influence on the development of spreadsheets, functional programming[1], Mathematica and !MatLab[2], and its descendents J[3], K[4] & q[4]. The language flourishes in scientific[5], actuarial[6], statistical[7] and financial[8] applications, and is favored by domain experts writing software for their own purposes. APL is also associated with rapid and lightweight development projects in volatile business environments. |
''The language flourishes in ...'' ''Flourishing?! Certainly not. "APL is still used in..." or "APL is used in..." seems to me much more appropriate. '' |
Line 38: | Line 73: |
''Flourishing?! Certainly not. "APL is still used in..." or "APL is used in..." seems to me much more appropriate. '' |
''and is favored by domain experts'' |
Line 41: | Line 75: |
''The Wikipedia article about this (see http://en.wikipedia.org/wiki/Domain_specific_language) mentions APL: '' ''"Although notorious for its use of Greek letters and special symbols, the APL programming language, with its interactive session, provided for rapid design and deployment of interactive and scriptable domain specific languages. These usually, by design, required no special input consideration from its users such as APL keyboards or fonts." '' ''The first sentence is gramatically incorrect. Both sentences make no sense. Worse, these sentences are located under the caption "Unix Shell Scripts". -- KaiJaeger <<DateTime(2009-07-26T08:04:22Z)>>'' |
|
Line 48: | Line 76: |
--(Interpreters are available for a wide range of platforms including PCs, Macs, Linux, mainframes and hand-held computers.)-- Recent notable extensions to APL interpreters and IDEs include: * anonymous lambdas[9] * support for class/object programming <<BR>> * support .Net assemblies |
''What I am missing is a remark about the most important enhancements: Namespaces in Dyalog and integrated debuggers in some implementation. -- KaiJaeger <<DateTime(2009-07-26T08:04:22Z)>>'' ''Put one in then. -- PhilLast <<DateTime(2009-07-29T00:15:27Z)>> '' |
Line 56: | Line 79: |
''But this is not a feature of APL as such! It is a matter of implementation. In other words, it should not be mentioned here at all.'' . ''Exactly! that's what this list is - recent extensions! Any extension must of necessity be implemented somewhere first! And it shows that APL continues to develop!'' ''Otherwise the two things should not be summarized under one topic: OO and .NET are in this context two different things.'' -- KaiJaeger <<DateTime(2009-07-26T08:07:09Z)>> |
''The word "seamlessly" is hard to justify in a Wikipedia article. It works when the type declarations delivered by the authors of the COM thing are correct. If not it won't. Often they are not, including some from Microsoft.'' ''the offending word seems to have been removed'' |
Line 60: | Line 82: |
* a version of APL, Visual APL, that is a native .NET language using Visual Studio 2008 as its IDE. {{{#!wiki comment Visual APL is so fundamentally different from others (I dare say: real!) APLs that it needs more details - or shouldn't be mentioned at all! -- KaiJaeger <<DateTime(2009-07-26T08:04:22Z)>> }}} * ActiveX or COM Interrop support allowing APL to use Windows resources, notably the operating system's Shell, Win32 APIs, and WMI (Windows Management Instrumentation),as well as any COM aware applications, including the MS Office suite. {{{#!wiki comment Again: this is implementation stuff. The word "seamlessly" is hard to justify in a Wikipedia article anyway. It works when the type declarations delivered by the authors of the COM thing are correct. If not it won't. Often they are not, including some from Microsoft. -- KaiJaeger <<DateTime(2009-07-26T08:07:09Z)>> }}} * XML-array conversion primitives [10] --(* support for Subversion and Unicode text handling)-- {{{#!wiki comment What I am missing is a remark about the most important enhancements: Namespaces in Dyalog and integrated debuggers in some implementation. This is again implementation stuff, but very closely related to the language and it's usage. -- KaiJaeger <<DateTime(2009-07-26T08:04:22Z)>> }}} -- StephenTaylor <<DateTime(2009-07-25T05:36:32Z)>> ---- ''I'd just like to point out that none (not one) of the editors amending the above has seen fit to include a citation leaving the only two citations gathered so far (the main point of the excercise) sitting quietly here at the bottom with no remaining referent!'' -- PhilLast <<DateTime(2009-07-27T06:58:01Z)>> ---- [1] http://awards.acm.org/citation.cfm?id=0703524&srt=all&aw=140&ao=AMTURING <<BR>> [2] http://www.mathworks.com/company/newsletters/news_notes/clevescorner/jan06.pdf <<BR>> [3] insert ref to J-software <<BR>> [4] insert ref to Kx-Systems <<BR>> [5] http://www.vector.org.uk/archive/v233/webber.htm <<BR>> [6] insert ref to actuarial (?) <<BR>> [7] insert ref to statistical (?) <<BR>> [8] insert ref to financial (?) <<BR>> [9] insert ref to JScholes Dynamic functions paper here! <<BR>> [10] insert ref to APLX & Dyalog []XML here! |
wikipedia APL page revamp - wiki draft
Deletions & Comments have been moved to the bottom. Those referring to a specific entry have their target repeated above.
If you add new entries in the text Please add references in the reference section at the bottom of the article.
Draft of wikipedia APL prog lang article
APL is an acronym for A Programming Language - it is based on a strict (unambiguous) mathematical notation invented by the late Kenneth E Iverson; it is an interpreted, interactive, and array oriented commercial language available for all contemporary platforms. Amongst programming languages, APL has several unique/exclusive hallmarks:
- It is culture 'neutral'; it uses symbols rather than 'reserved' keywords.
- It is solution 'focussed'; it promotes the expression of algorithms without any consideration of machine architecture or operating system - APL is a type 'inferred' language that rarely necessitates coding structures for loops.
- It has just one 'simple' operator precedence rule: all expressions evaluate from right to left; if necessary, this default can be overrridden by enclosing parts of an expression in round brackets, with innermost sets of brackets imposing the highest level of precedence.
It was an important influence on the development of spreadsheets, functional programming[1], Mathematica and MatLab[2], and its descendents J[3], K[4] & q[4].
The language flourishes in scientific[5], actuarial[6], statistical[7] and financial[8] applications, and is favored by domain experts writing software for their own purposes. APL is also associated with rapid and lightweight development projects in volatile business environments.
Recent notable extensions to APL interpreters and IDEs include:
- anonymous lambdas[9]
support for class/object programming
- support .Net assemblies
- APL as a native .NET language using Visual Studio 2008 [10]
- ActiveX or COM Interrop support allowing APL to use Windows resources, notably the operating system's Shell, Win32 APIs, and WMI (Windows Management Instrumentation),as well as any COM aware applications, including the MS Office suite.
- XML-array conversion primitives [11]
References
[1] ACM Award Citation – John Backus. 1977
[2] The Growth of MatLab - Cleve Moler
[3] insert ref to J-software
[4] insert ref to Kx-Systems
[5] http://www.vector.org.uk/archive/v233/webber.htm
[6] insert ref to actuarial (?)
[7] insert ref to statistical (?)
[8] insert ref to financial (?)
[9] Dynamic Functions in Dyalog APL - John Scholes. 1997
[10] insert ref to Visual APL
[11] insert ref to APLX & Dyalog []XML here!
End of article
Deletions
APL is one of the oldest programming languages, It is a dynamic, interpreted language based on Iverson's mathematical notation. All data are arrays. Primitive operations all extend to arrays, and are denoted by distinctive graphic symbols rather than words, making APL programs compact and visually striking, with few or no loops.
* support for Subversion and Unicode text handling
Comments
APL is an acronym for A Programming Language
First, it isn't an acronym, which is a word whether made up or not. It's an abbreviation or initialism. More importantly it doesn't warrant being mentioned in the introduction. It's History! -- PhilLast 2009-07-29 00:15:27
ActiveX or COM Interrop support allowing
is far too long for a bullet point. Could the author reduce it to between 2 & 10 words and add a reference in the reference section? -- PhilLast 2009-07-29 00:15:27
I am a trifle worried by the direction this is going - possibly an effect of working on this online rather than face-to-face. At the meeting on Friday we were able to use the time to discuss/hone/agree, the five (can I count correctly?) of us had a discussion of direction that is perhaps not explicit in the proposed text. At risk of being tedious I think that to get a revised introductory paragraph together we need to understand our intent (which, I think, is to present APL the way we see it - as a living and evolving entity; certainly we need to get ourselves out of the rut of so many well-worn arguments). I am also musing what should come after the introductory paragraph - I think that history should be consigned to the past. I'd like to see a couple of sections, one that tells "the management" what their enterprise should gain by including APL in their IT arsenal, and another that shows programmers/problemsolvers why APL is a good tools to use. I'm saying these things because my view is that someone using the Wikipedia wants to learn "about something" rather than "the history of something". Sorry to be counterproductive - but it may be that head-to-head is a quicker way to get where we want to be than pecking away at words on a page. Also apologising if I'm breaking the rules/exhortations about comments here - Dick Bowman (27 July 2009).
It is culture 'neutral'; it uses symbols rather than 'reserved' keywords.
Really? The manuals are still available in English only. All System commands and System variables are English. All workspaces delivered by vendors are English-centric as well. I don't think it's a good idea to claim that. I cannot see a Chinaman withouth English language skills learning APL. -- KaiJaeger 2009-07-26 08:04:22
The language flourishes in ...
Flourishing?! Certainly not. "APL is still used in..." or "APL is used in..." seems to me much more appropriate.
and is favored by domain experts
Favoured by Domain Experts?. Certainly not. There is a whole range of programming languages available which focus on that. Some of them are quite successful. Almost all of them are more successful than APL in total.
What I am missing is a remark about the most important enhancements: Namespaces in Dyalog and integrated debuggers in some implementation. -- KaiJaeger 2009-07-26 08:04:22
Put one in then. -- PhilLast 2009-07-29 00:15:27
The word "seamlessly" is hard to justify in a Wikipedia article. It works when the type declarations delivered by the authors of the COM thing are correct. If not it won't. Often they are not, including some from Microsoft.
the offending word seems to have been removed