February 11, 2004
> But can you develope new ideas in a language you don't like?

I know no languages I don't like. ;)

> So people weren't very creative in the last decade. That's a pity.

People were extremely creative last decade, judging by a huge
number of 'new' programming languages developed. ;)
But if we'll have cold-eyed look at then we'll discover they're
nothing new at all and consist of altered and combined ideas.

All the languages you mentioned are pretty old and the ideas they are based on are even older.

Haskell originates from ML, which originates from Backus' FP,
which was introduced in late 70s, which itself originates from LISP,
which as you probably know appeared at 1960.

And what's apparent to me - All the ideas(these languages are based on)
come from math and linguistics. ;)

There is nothing new in this world. The human can only 'invent'
the things which are logically descendant from the previous ideas.
"The revolution" in any branch of science(computational
science here) is not possible(and never was) and if such revolution
is proclaimed it's nothing more than marketing trick.

> >C is not ugly, but ugly are the people who do not understand the natural flow of life.
> Could you please explain this?

Life is evolution. It applies not also to live beings, but to programming
languages too. It's survival of the fittest. C became the most popular
language, not because it was the most "amazing", but it was the
fittest one. And the number of successful ideas developed with it proves
that its nice language, not ugly. ;)

> So Haskell and Lisp aren't functional? But I haven't learned any logic
language.

They are functional(though Lisp isn't 'purely' functional), but
if you think you have learned Haskell, go back and try to learn a bit more.
;)

Try to learn Prolog, Mercury, Erlang.
Logic programming is my favourite, but chances that you'll like it aren't
exactly high. :(

LP is the newest programming paradigm,
though logic is foundation of programming.
It's not even as popular as functional programming,
but Erlang being half-functional,
half-logic programming language is being used heavily in industry.
Example of great program made in it is Wings3D(polygonal mesh modeller)

> >you understanding of what it really is - simple array of characters.
> So perhaps we should do everithing in Assembler?

Assembler has no arrays, really. ;)
But I think everybody should start learning programming with Assembler.
There are still a lot of things which could be done efficiently only with
assembler.

By the way most functional languages treat string as list of characters and
array
is just the simplest representation of list.


> I should stop learning new stuff? That's an interesting oppinion.
> >By accident you will find out that all the
> >stuff you learned before is plain pathetic.

I mean that by stoping 'learning new stuff' you will learn a lot more accidentally. ;)

> Hm, I used the stuff I learnd e.g. to develope my virtual guitar amplifier
(
> http://helium.ex0.org/guitifier.zip ; you need a VST-compatible host to
use it;
> this is a Win-PC-version only, MacOSX will follow).
> So my amp is plain pathetic? :(

Is it written in Haskell or Lisp!? :)))
I guess it's written in something like C++ and you probably had to
study some other areas of knowledge(other than plain knowledge of C++)
to write it, like signal processing, VST plugin interface, Win32 API, etc.

I meant knowledge of programming without serious application is pathetic.

Haven't checked your amp yet, but I will, as I have some VST-compatible host apps(like Modplug Tracker).


February 11, 2004
>> Hm, I used the stuff I learnd e.g. to develope my virtual guitar amplifier
>(
>> http://helium.ex0.org/guitifier.zip ; you need a VST-compatible host to
>use it;
>> this is a Win-PC-version only, MacOSX will follow).
>> So my amp is plain pathetic? :(
>
>Is it written in Haskell or Lisp!? :)))
>I guess it's written in something like C++ and you probably had to
>study some other areas of knowledge(other than plain knowledge of C++)
>to write it, like signal processing, VST plugin interface, Win32 API, etc.
>
>I meant knowledge of programming without serious application is pathetic.

Yes, right.


>Haven't checked your amp yet, but I will, as I have some VST-compatible host apps(like Modplug Tracker).

It's still in developement and has no own user-interface. So it uses the hosts default interface. But you'll see on your own.


February 11, 2004
Alex A. B. wrote:
>
> Try to learn Prolog, Mercury, Erlang.
> Logic programming is my favourite, but chances that you'll like it aren't
> exactly high. :(
> 
> LP is the newest programming paradigm,
> though logic is foundation of programming.
> It's not even as popular as functional programming,
> but Erlang being half-functional,
> half-logic programming language is being used heavily in industry.
> Example of great program made in it is Wings3D(polygonal mesh modeller)

Interesting.  I used Prolog way back in college but haven't been exposed to LP since then.  My only issue with Prolog was that it seemed perhaps too limited--Erlang sounds like an interesting sort of Frasnkenstein monster ;)

 > Assembler has no arrays, really. ;)
> But I think everybody should start learning programming with Assembler.
> There are still a lot of things which could be done efficiently only with
> assembler.

Assembler should definately be part of the curriculum.  I actually had a major problem fiding a decent book on assembler recently.  Sadly, the best one I could find taught it through a sort of high-level macro language.  The reason the author gave was that most of his students didn't understand Assembler until he taught it using abstractions.  I'm not sure if this means that ASM is becoming a lost art or if colleges are merely generating a mass of second-rate programmers.

To return to D for a moment... it's not revolutionary but then it wasn't meant to be.  As far as the industry is concerned, this is actually a good thing.  Its compatibility with C gives it a massive amount of library support, and the language similarities with many popular procedural languages makes it easy to learn.  At the same time, it draws some of the best features from popular languages: C, C++, Java, Ada (if Ada could be considered popular ;) ) and adds some new tricks as well. The compiler is relatively lightweight, performance is very good, and binary size is comparable to an equivalent C program.  What's not to like?


Sean

February 11, 2004
[...]
>At the same time, it draws some of the best features from popular languages: C, C++, Java, Ada (if Ada could be considered popular ;) ) and adds some new tricks as well.

Which?


February 11, 2004
"Matthias Becker" <Matthias_member@pathlink.com> wrote in message news:c0dr7h$8t8$1@digitaldaemon.com...
> [...]
> >At the same time, it draws
> >some of the best features from popular languages: C, C++, Java, Ada (if
> >Ada could be considered popular ;) ) and adds some new tricks as well.
> Which?

I assume you mean what's new. The biggest 'new' thing in D is the foreach statement and the way one writes a class collection that is foreach'able. This technique is much easier to write for than other languages, and is unique to D.

For a rough comparison of features, there's www.digitalmars.com/d/comparison.html, though that table does not include Ada.

I agree that D is not a revolutionary language. It's evolutionary - a 'refactoring' so to speak of existing ideas and experience. If you ever watch the History Channel, for example, they once ran a history of power tools. The first handheld electric drill was revolutionary. What followed were a series of refinements, none of which were revolutionary, but the net effect is that the electric drill of today is far superior to the original.


February 12, 2004
"Sean Kelly" wrote...

>
> Assembler should definately be part of the curriculum.  I actually
had a
> major problem fiding a decent book on assembler recently.  Sadly,
the
> best one I could find taught it through a sort of high-level macro language.  The reason the author gave was that most of his students didn't understand Assembler until he taught it using abstractions.
I'm
> not sure if this means that ASM is becoming a lost art or if
colleges
> are merely generating a mass of second-rate programmers.
>

If you're talking about the AOA book using HLA, then that's incorrect. HLA 1.x is kinda an asm compiler that translate the codes you written to other assembler to assembled (i.e. MASM, GAS). With HLA 2.0, it will become a true assembler.

The reasoning behind the approach to the book was that the student didn't have to jump straight into ASM but use their existing knowledge of HLL programming and have a shallower learning curve. According to the author, his students actually get to the same point with ASM quicker (and thus can learn more within a given time). The HLA language in itself is asm (with some higher level construct added that one don't have to use), just that it uses different sytanx to what one might have already know (i.e. MASM, TASM etc.)

KTC

-- 
Experience is a good school but the fees are high.
    - Heinrich Heine


February 12, 2004
KTC wrote:
> 
> If you're talking about the AOA book using HLA, then that's incorrect.
> HLA 1.x is kinda an asm compiler that translate the codes you written
> to other assembler to assembled (i.e. MASM, GAS). With HLA 2.0, it
> will become a true assembler.

That's the book alright.  It's very well-written, which is why I picked it up.

> The reasoning behind the approach to the book was that the student
> didn't have to jump straight into ASM but use their existing knowledge
> of HLL programming and have a shallower learning curve. According to
> the author, his students actually get to the same point with ASM
> quicker (and thus can learn more within a given time). The HLA
> language in itself is asm (with some higher level construct added that
> one don't have to use), just that it uses different sytanx to what one
> might have already know (i.e. MASM, TASM etc.)

Yeah, I understand the reasoning, and it does make sense.  Anyone who spends a lot of time in ASM eventually wants to use the sort of abstractions he provides.  I just wish that more time were spent with ASM itself rather than focusing so heavily on HLA.  I had originally learned ASM on RISC machines and mostly bought the book as reference material, so if there were one thing I could change it would be to have more pure ASM examples.


Sean

February 12, 2004
"Sean Kelly" wrote...
> I had originally learned ASM on RISC machines and mostly bought the book as reference material, so if there were one thing I could change it would be to have more pure ASM examples.

Then you already know ASM and don't form part of his target audience :-P

Seriously tho, I agree with your point and I think he's trying to gather some more examples from people for his site so that eventually there will be examples for all types of program of varying sizes etc.

Oh and you can always just use the IBM opcodes docs as a reference :-P

KTC
-- 
Experience is a good school but the fees are high.
    - Heinrich Heine


February 12, 2004
"Sean Kelly" <sean@ffwd.cx> wrote in message news:c0ek9o$1jlm$1@digitaldaemon.com...
> Yeah, I understand the reasoning, and it does make sense.  Anyone who spends a lot of time in ASM eventually wants to use the sort of abstractions he provides.  I just wish that more time were spent with ASM itself rather than focusing so heavily on HLA.

I used to use a number of advanced asm macros to produce high level constructs, but eventually yanked them all out and just wrote out the raw code. Sometimes, when I'd get asm from someone else that heavilly used such macros, I'd assemble it, run the output through OBJ2ASM, and proceed with that output <g>.


February 12, 2004
kinghajj wrote:
>>"The general look of D is like C and C++."
>>As C is very ugly, this is plain stupid. Most people I talked to (not all) don't
>>like C's general look. So I consider this as being bad.
> 
> what? C code is ugly? I think that C-based programming languages have the best
> style: why else would it have stayed the same for over 30 years if it wasn't?

Because it was popular from the beginning on. Because the largest system to date was written in it (UNIX). Because all other languages were unusable, and as they became better it was too late, since C was too popular to deal with it. So. And because someone counted keystrokes, instead of seeing that a word is faster to type and often easier to read then a symbol which requieres - what was it again? alt, ctrl, shift? Besides, parens requiered in if, while, and so on else it doesn't parse... Words have different length, this makes them particularly easy to read.

> If you don't like C's look, then which language's look do you like?

I must agree with Matthias. I like Pascal and especially Sather syntax. After i got used to C's idioms i don't care much though. But before i did, C syntax was a major source of bugs. And it stays a source of redundant parenthesis.

-eye