I had a bit of Smalltalk, Pascal and Hypercard under my belt before I
learned Pop-11 as a Ph.D. student at Sussex (then Birmingham). It
really shaped my way of viewing programming languages ever since.
I'm very happy to have learned Pop-11. It's a language that occupies a
region of the space of possible programming languages which provides a
good vantage to other languages. Another such language at the time was
Dylan, but it stalled. Learning C/C++ is the easy out to programming,
IMHO. By learning Pop-11 you learn more than just about one programming
language, but language design issues. Pop-11's syntax is extensible, so
as you get into more advanced techniques you can extend the language
for your purposes.
The open stack architecture is a lot of fun. Once you get used to it
for looping you will see the iteration constructs of other languages in
a different light.
There are several oo extensions to choose from, with objectclass being
my recommendation. It has multi-methods and multiple inheritance and
other neat features. Working with this allows you to see single
inheritance and message passing as just special cases.
Dynamic typing is often very handy. It does mean that the compiler
doesn't catch a whole class of errors. Spice will improve on this.
If you're interested in AI, then Pop-11 becomes a very obvious choice,
given the features of the language, the libraries available, and the
tutorial. There used to be a bigger community of people to rely on for
help. I think Pop bottomed out a few years ago and is slowly working
its way back up there. The fact that Pop-11 is now open source is a key
to the upswing.
The integrated teach/help/ref is very useful.
Pop-11 comes with VED which is a great general purpose editor, as well
as other applications like mail, news, a csh interface (imcsh), a
directory editor (dired), so you don't need to switch editors to use
these basic applications. (I personally am likely to switch back from
other mail apps to ved because I'm plain tired of these other
applications corrupting mail and storing mail in formats that I can't
deal with outside of them.)
I had to move away from Pop-11 in 1995, because i couldn't afford a
Sparc workstation. But the linux port made it available to me again.
I'm forgetting lots of things.
Pop-11 is in need of some modernization (e.g., TCP/IP facilities) and
some of the ways in which it handles things are idiosynchratic (e.g.,
string regular expression syntax). There are facilities to integrate
with C/C++ though I've never used them (or C for that matter).
Cheers,
Luc
On Thursday, February 20, 2003, at 08:53 AM, Stephen Leach wrote:
> Hi,
>
>> I'm currently decideing what university to go too, I have got it down
>> too 2,
>> and at one I'll be doing AI and pop11 will be my primary language, at
>> the
>> other I'll be doing more general computer stuff, and Java or c++ will
>> be
>> muy primary language, I f I go to the pop11 I'll teach myself more c++
>> (because of my interesting in Linux coding) but I want to know if you
>> think
>> pop11 is a usefull language worth learning at ini at my primary
>> language,
>
> Short answer: yes.
>
> Long answer:
>
> It obviously depends on what you hope to learn - AI or the techniques
> of a particular programming language. Speaking as someone who has
> been doing AI programming professionally for many years, you won't be
> too surprised if I rate the AI knowledge as the more worthwhile.
>
> Sure, C++ is a challenging language to master and, right now, still
> has significant commercial value. On the other hand, it is very
> tedious to work with and the majority of important C++ programming
> techniques are irrelevant to AI. Ask yourself this - when you have
> mastered the half-a-dozen or so variants of smart pointers, a
> prerequisite for real world C++ in my view, what have you learned
> about behaviour, intelligence or the architecture of mind? Zero.
>
> Java is a great deal more relevant to AI study. You can, with
> determination, do serious AI programming in Java. But in my opinion,
> this is a unsuitable vehicle for learning how to do AI programming. It
> is OK for the experts because they already know exactly what they are
> trying to achieve.
>
> In my opinion, you need to ensure that your AI course utilizes an
> exploratory programming environment with a very high level programming
> language. Poplog, which hosts Pop-11, is a very good vehicle indeed.
> Smalltalk has much to commend it. Prolog systems are typically
> unsuitable since their IDEs are impoverished - Poplog Prolog being a
> notable exception. Lisp systems are usually very good as well.
>
> So, trying to put myself in your shoes, I certainly would not be put
> off by the fact that a non-commercial programming language is the
> backbone of an AI course. I would concentrate on the substance of the
> subject (AI, architecture, design & structure) rather than the
> packaging.
>
> --
> Steve
>
>
|