mathementical/formal foundations of computing ? - Programming Languages
This is a discussion on mathementical/formal foundations of computing ? - Programming Languages ; 2 independant issues here:
1. I'm still searching for material re. "the mathementical/formal
foundation[s] of computing" to help move programming away from an
art towards a science. Patterns seem to be a heuristic step in that
direction ?
Here's some ...
-
mathementical/formal foundations of computing ?
2 independant issues here:
1. I'm still searching for material re. "the mathementical/formal
foundation[s] of computing" to help move programming away from an
art towards a science. Patterns seem to be a heuristic step in that
direction ?
Here's some text re. the language :joy
[url]http://www.latrobe.edu.au/philosophy/phimvt/joy/j00ovr.html[/url][color=blue]
> Overview of the language JOY
> Two other functional languages are the combinatory logic of Curry and
> the FP language of Backus. They are not based on the lambda calculus,
> they eliminate abstraction completely and hence do not have to deal
> with substitution and environments. As a result these languages can be
> manipulated using simple algebraic techniques
> ........Backus acknowledges a dept to
> combinatory logic, but his aim was to produce a variable free notation
> that is amenable to simple algebraic manipulation by people. Such ease
> should produce clearer and more reliable programs. .........
> Paulson remarked that "Programming and pure mathematics are
> difficult to combine into one formal framework". Joy attempts this task.[/color]
2. the second issue is about how NOT to write tutors.
The correct way is to chain-backwards from the goal.
Ie. put the 'bottom line' first, so the reader knows if he wants
to invest the labour to 'build forward' towards the goal.
I've been reading pages of the details of 'joy', without knowing
if & when & how it will claim to allow manipulation of 'joy code'
in a formal, mathematical way.
Q - does anybody know if joy can help me reach that goal ?
I don't want to learn another language which is a hybrid of forth, lisp
& pop-11 just to repeat "hello world: 2+3=5".
The correct way to present the capabilities which I/we seek is:
1. In order to simplify/formalise/be-able-to-prove-XYZ, we
need to have the 'format ABC'.
2. This is acheived by transforming .....
3. On the basis of proven rules & manipulations ...
Ie. don't start with pages of rules & manipulations, where the
reader doesn't know if the effort will take him towards his goal.
== Chris Glur.
-
Re: mathementical/formal foundations of computing ?
[email]news@absamail.co.za[/email] wrote:
[color=blue]
> I don't want to learn another language which is a hybrid of forth, lisp
> & pop-11 just to repeat "hello world: 2+3=5".[/color]
pop-11 is /already/ viewable as a hybrid of forth and lisp.
--
Chris "electric hedgehog" Dollin
"People are part of the design. It's dangerous to forget that." /Star Cops/
-
Re: mathementical/formal foundations of computing ?
On Feb 22, 9:50 am, n...@absamail.co.za wrote:[color=blue]
> 1. I'm still searching for material re. "the mathementical/formal
> foundation[s] of computing" to help move programming away from an
> art towards a science. Patterns seem to be a heuristic step in that
> direction ?[/color]
This may be the boy scout who helped the little old lady across the
street who did not want to cross the street.
The target of moving some aspects of programming from an art (ie,
craft) to a science is not to move all of programming to a science,
but to clear clutter from the palette to provide more leverage to the
craft of design.
Its like the move from pen to typewriter to word processor ... the
goal is not to eliminate the writer from the act of writing, it is to
reduce the effort of recording and editing the written word so that
attention can be focused on the actual composition.
-
Re: mathementical/formal foundations of computing ?
On Feb 22, 7:50 am, n...@absamail.co.za wrote:[color=blue]
> 2 independant issues here:
>
> 1. I'm still searching for material re. "the mathementical/formal
> foundation[s] of computing" to help move programming away from an
> art towards a science. Patterns seem to be a heuristic step in that
> direction ?
>
> Here's some text re. the language :joyhttp://www.latrobe.edu.au/philosophy/phimvt/joy/j00ovr.html
>[color=green]
> > Overview of the language JOY
> > Two other functional languages are the combinatory logic of Curry and
> > the FP language of Backus. They are not based on the lambda calculus,
> > they eliminate abstraction completely and hence do not have to deal
> > with substitution and environments. As a result these languages can be
> > manipulated using simple algebraic techniques
> > ........Backus acknowledges a dept to
> > combinatory logic, but his aim was to produce a variable free notation
> > that is amenable to simple algebraic manipulation by people. Such ease
> > should produce clearer and more reliable programs. .........
> > Paulson remarked that "Programming and pure mathematics are
> > difficult to combine into one formal framework". Joy attempts this task.[/color]
>
> 2. the second issue is about how NOT to write tutors.
> The correct way is to chain-backwards from the goal.
> Ie. put the 'bottom line' first, so the reader knows if he wants
> to invest the labour to 'build forward' towards the goal.
>
> I've been reading pages of the details of 'joy', without knowing
> if & when & how it will claim to allow manipulation of 'joy code'
> in a formal, mathematical way.
>
> Q - does anybody know if joy can help me reach that goal ?
>
> I don't want to learn another language which is a hybrid of forth, lisp
> & pop-11 just to repeat "hello world: 2+3=5".
>
> The correct way to present the capabilities which I/we seek is:
>
> 1. In order to simplify/formalise/be-able-to-prove-XYZ, we
> need to have the 'format ABC'.
>
> 2. This is acheived by transforming .....
>
> 3. On the basis of proven rules & manipulations ...
>
> Ie. don't start with pages of rules & manipulations, where the
> reader doesn't know if the effort will take him towards his goal.
>
> == Chris Glur.[/color]
-
Re: mathementical/formal foundations of computing ?
> 1. I'm still searching for material re. "the mathementical/formal[color=blue]
> foundation[s] of computing" to help move programming away from an
> art towards a science.[/color]
ever tried algorithms ?
ever tried Google with keyword: Lisp (where functions are data)
also, [url]http://www.cs.mu.oz.au/research/mercury/[/url]
[color=blue]
> Patterns seem to be a heuristic step in that direction ?[/color]
you mean Desgn-Patterns ?
[color=blue]
> Here's some text re. the language :joyhttp://www.latrobe.edu.au/philosophy/phimvt/joy/j00ovr.html
>[color=green]
> > Overview of the language JOY
> > Two other functional languages are the combinatory logic of Curry and
> > the FP language of Backus. They are not based on the lambda calculus,
> > they eliminate abstraction completely and hence do not have to deal
> > with substitution and environments. As a result these languages can be
> > manipulated using simple algebraic techniques
> > ........Backus acknowledges a dept to
> > combinatory logic, but his aim was to produce a variable free notation
> > that is amenable to simple algebraic manipulation by people. Such ease
> > should produce clearer and more reliable programs. .........
> > Paulson remarked that "Programming and pure mathematics are
> > difficult to combine into one formal framework". Joy attempts this task.[/color]
>
> 2. the second issue is about how NOT to write tutors.
> The correct way is to chain-backwards from the goal.
> Ie. put the 'bottom line' first, so the reader knows if he wants
> to invest the labour to 'build forward' towards the goal.
>
> I've been reading pages of the details of 'joy', without knowing
> if & when & how it will claim to allow manipulation of 'joy code'
> in a formal, mathematical way.
>
> Q - does anybody know if joy can help me reach that goal ?
>
> I don't want to learn another language which is a hybrid of forth, lisp
> & pop-11 just to repeat "hello world: 2+3=5".
>
> The correct way to present the capabilities which I/we seek is:
>
> 1. In order to simplify/formalise/be-able-to-prove-XYZ, we
> need to have the 'format ABC'.
>
> 2. This is acheived by transforming .....
>
> 3. On the basis of proven rules & manipulations ...
>
> Ie. don't start with pages of rules & manipulations, where the
> reader doesn't know if the effort will take him towards his goal.
>
> == Chris Glur.[/color]
i can not understand that as my a programming Newbie.
-
Re: mathementical/formal foundations of computing ?
[email]news@absamail.co.za[/email] schrieb:[color=blue]
> 1. I'm still searching for material re. "the mathementical/formal
> foundation[s] of computing" to help move programming away from an
> art towards a science.[/color]
First, programming is a craft, not an art (though it *can* be art, just
as craft can be art).
Second, mathematics alone isn't going to help programming move along. It
won't help with getting customer requirements into something that can be
programmed (mathematics could even be an obstacle here), and it won't
help with getting bugs out of programs (which is a question of human
error, and quality testing: again, the obstacles here are more human
than technological, and mathematics isn't going to help with that).
That doesn't mean that mathematics is unimportant in programming, just
as an architect needs mathematics to do his work when calculating loads
and stability. However, it's just a tool, not an end to be pursued.
That said, "functional programming languages" are "more mathematical" in
some sense, and they do have properties that make it easier to avoid the
technical bugs, and a portion of the customer requirements bugs, too.
That's not because it's mathematics, it's because being nearer to
mathematics simplifies the semantics of these languages...
[color=blue]
> Patterns seem to be a heuristic step in that direction ?[/color]
No. Patterns are just like tricks of the trade: helpful if you know what
you're doing, nonsensical if you don't.
[color=blue]
> Here's some text re. the language :joy[/color]
Language rationales list what the designers had in mind.
I have observed that few if any languages actually do as the designer
intended. Most underperform; a few overperform (Lisp and PHP being the
cases where the difference is most marked). Fewer perform as expected
(Haskell, I think).
[color=blue]
> 2. the second issue is about how NOT to write tutors.
> The correct way is to chain-backwards from the goal.
> Ie. put the 'bottom line' first, so the reader knows if he wants
> to invest the labour to 'build forward' towards the goal.[/color]
An interesting thought, though I can't tell whether that style will be
successful. It's good to determine whether a language (or other
technology) fits your needs, but it doesn't help with actually learning
it, so I fear this style won't become very popular.
Regards,
Jo
-
Re: mathementical/formal foundations of computing ?
Joachim Durchholz <jo@durchholz.org> writes:[color=blue][color=green]
> > 2. the second issue is about how NOT to write tutors.
> > The correct way is to chain-backwards from the goal.
> > Ie. put the 'bottom line' first, so the reader knows if he wants
> > to invest the labour to 'build forward' towards the goal.[/color]
>
> An interesting thought, though I can't tell whether that style will be
> successful. It's good to determine whether a language (or other
> technology) fits your needs, but it doesn't help with actually
> learning it, so I fear this style won't become very popular.[/color]
Reading this group makes me feel like the underwear gnomes from South
Park:
1. Abstract category theory, GADT, Curry-Howard isomorphism, etc.
2. ???
3. Software!
I've bought into it enough to be spending time banging my head against
learning Haskell, but it would help a lot if step 2 were explained
better.
-
Re: mathementical/formal foundations of computing ?
[email]news@absamail.co.za[/email] wrote:[color=blue]
> 2 independant issues here:
>
> 1. I'm still searching for material re. "the mathementical/formal
> foundation[s] of computing" to help move programming away from an
> art towards a science. Patterns seem to be a heuristic step in that[/color]
That direction is a dead end. It is no more possible to create a
mathematical/formal foundation[s] of computing than it is to create one
of bridge or cathedral design. To be sure, mathematics is a useful tool
in the process, but we would have no Ponte Veccio or Chartres if it were
the foundation.
The foundation is craft. Math builds on that foundation.
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
-
Re: mathementical/formal foundations of computing ?
In article <7x7iuarlce.fsf@ruckus.brouhaha.com>, Paul Rubin wrote:[color=blue]
>
> Reading this group makes me feel like the underwear gnomes from South
> Park:
>
> 1. Abstract category theory, GADT, Curry-Howard isomorphism, etc.
> 2. ???
> 3. Software!
>
> I've bought into it enough to be spending time banging my head
> against learning Haskell, but it would help a lot if step 2 were
> explained better.[/color]
Step 2 is:
2. Algebraic structures == insanely effective design patterns for libraries
--
Neel R. Krishnaswami
[email]neelk@cs.cmu.edu[/email]
-
Re: mathementical/formal foundations of computing ?
Joachim Durchholz wrote:
[color=blue]
> [email]news@absamail.co.za[/email] schrieb:[color=green]
>> 1. I'm still searching for material re. "the mathementical/formal
>> foundation[s] of computing" to help move programming away from an
>> art towards a science.[/color][/color]
Which gets me wondering why he hasn't done a search on Formal methods with
google to start with before worrying us here.
[color=blue]
> First, programming is a craft, not an art (though it *can* be art, just
> as craft can be art)[/color]
I'm with you on that front. It is also a craft that requires a degree of
skill and intelligence to accomplish a satisfactory end product.
[color=blue]
> Second, mathematics alone isn't going to help programming move along. It
> won't help with getting customer requirements into something that can be
> programmed (mathematics could even be an obstacle here), and it won't
> help with getting bugs out of programs (which is a question of human
> error, and quality testing: again, the obstacles here are more human
> than technological, and mathematics isn't going to help with that).[/color]
I have seen some places where maths (formal methods) has been a help in
extracting sense out of complex customer requirements in order to re-write
the requirements in a way that made a great deal more sense to system
developers. It is a process best left to those with a distinctly weird bent
of mathematical mind. On the other hand, there are limitations to the use
of formal methods and it is of no use at all in some situations.
[color=blue]
> That doesn't mean that mathematics is unimportant in programming, just
> as an architect needs mathematics to do his work when calculating loads
> and stability. However, it's just a tool, not an end to be pursued.[/color]
Sometimes a highly specialised tool that needs to be wielded by experts.
[color=blue]
> That said, "functional programming languages" are "more mathematical" in
> some sense, and they do have properties that make it easier to avoid the
> technical bugs, and a portion of the customer requirements bugs, too.
> That's not because it's mathematics, it's because being nearer to
> mathematics simplifies the semantics of these languages...[/color]
Have heard a proponent of Haskell and Gopher talk of Forth as a language
that is half way between procedural and functional and "quite nice for some
things".
--
********************************************************************
Paul E. Bennett ....................<email://peb@amleth.demon.co.uk>
Forth based HIDECS Consultancy .....<http://www.amleth.demon.co.uk/>
Mob: +44 (0)7811-639972
Tel: +44 (0)1235-811095
Going Forth Safely ..... EBA. [url]www.electric-boat-association.org.uk[/url]..
********************************************************************
Similar Threads
-
By Application Development in forum Theory and Concepts
Replies: 220
Last Post: 04-09-2007, 06:19 AM