www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Performance is not everything

reply Henrik <zodiachus gmail.com> writes:
I found this article on wikipedia today: http://en.wikipedia.org/wiki/SISAL

"SISAL (Streams and Iteration in a Single Assignment Language) is a
general-purpose single assignment functional programming language with strict
semantics, implicit parallelism, and efficient array handling."

On top of automatic parallelism and whatnot, the article claims that it
outperforms C. Sounds great! So is this the Next Big Language(tm)? Nope. It's
been around since 1986. 

It reminded me that performance must only be a small part of whether a language
is widely adopted or not. So what determines whether people start using a
language? Is it only a matter of inertia, tradition, habit and prior
investments? Or are there more complex considerations to be taken into
considerations?

Why haven't we been writing applications and games in SISAL the last 21 years?
In ten years, will people look back at D and ask themselves the same thing or
is D:s future different? If so, why?
Aug 17 2007
next sibling parent reply Deewiant <deewiant.doesnotlike.spam gmail.com> writes:
Henrik wrote:
 I found this article on wikipedia today: http://en.wikipedia.org/wiki/SISAL
 
 "SISAL (Streams and Iteration in a Single Assignment Language) is a
 general-purpose single assignment functional programming language with strict
 semantics, implicit parallelism, and efficient array handling."
 
 On top of automatic parallelism and whatnot, the article claims that it
 outperforms C. Sounds great! So is this the Next Big Language(tm)? Nope. It's
 been around since 1986.
 
 It reminded me that performance must only be a small part of whether a
 language is widely adopted or not. So what determines whether people start
 using a language? Is it only a matter of inertia, tradition, habit and prior
 investments? Or are there more complex considerations to be taken into
 considerations?
 
 Why haven't we been writing applications and games in SISAL the last 21
 years? In ten years, will people look back at D and ask themselves the same
 thing or is D:s future different? If so, why?

Here's one possible reason: http://hackety.org/2007/08/15/oneLinersAreCrucial.html I don't know SISAL, but I doubt you can be productive with it within an hour (or 15 minutes, as suggested). With scripting languages like Python or Ruby, you can. I'd say that with D, it's the case only if you already know C or C++, maybe also Java. D isn't a very beginner-oriented language. -- Remove ".doesnotlike.spam" from the mail address.
Aug 17 2007
next sibling parent reply =?UTF-8?B?QW5kZXJzIEYgQmrDtnJrbHVuZA==?= <afb algonet.se> writes:
Deewiant wrote:

 I don't know SISAL, but I doubt you can be productive with it within an hour
(or
 15 minutes, as suggested). With scripting languages like Python or Ruby, you
can.
 
 I'd say that with D, it's the case only if you already know C or C++, maybe
also
 Java. D isn't a very beginner-oriented language.

"Who D is Not For" (http://www.digitalmars.com/d/1.0/overview.html) "* As a first programming language - Basic or Java is more suitable for beginners. D makes an excellent second language for intermediate to advanced programmers." I'd probably rate it third, as you want to learn C (or assembler...) --anders
Aug 17 2007
next sibling parent Deewiant <deewiant.doesnotlike.spam gmail.com> writes:
Anders F Björklund wrote:
 "Who D is Not For" (http://www.digitalmars.com/d/1.0/overview.html)
 
 "* As a first programming language - Basic or Java is more suitable for
 beginners. D makes an excellent second language for intermediate to
 advanced programmers."
 
 I'd probably rate it third, as you want to learn C (or assembler...)
 

Yep. And that's one thing which will, at the very least, slow down D's proliferation. -- Remove ".doesnotlike.spam" from the mail address.
Aug 17 2007
prev sibling parent reply BCS <ao pathlink.com> writes:
Reply to Anders,

 Deewiant wrote:
 
 I don't know SISAL, but I doubt you can be productive with it within
 an hour (or 15 minutes, as suggested). With scripting languages like
 Python or Ruby, you can.
 
 I'd say that with D, it's the case only if you already know C or C++,
 maybe also Java. D isn't a very beginner-oriented language.
 

"* As a first programming language - Basic or Java is more suitable for beginners. D makes an excellent second language for intermediate to advanced programmers." I'd probably rate it third, as you want to learn C

but only because it's so common, but with luck that will change.
 (or assembler...)

Ohhh Yahhh! Why don't more people think like that?
 
 --anders
 

Aug 17 2007
next sibling parent reply Sean Kelly <sean f4.ca> writes:
BCS wrote:
 Reply to Anders,
 "* As a first programming language - Basic or Java is more suitable
 for beginners. D makes an excellent second language for intermediate
 to advanced programmers."

 I'd probably rate it third, as you want to learn C 

but only because it's so common, but with luck that will change.

I hope not. Having a single language available for basically every device in existence is tremendously useful. If nothing else, other languages can build a c-front compiler and gain tremendous portability.
 (or assembler...)

Ohhh Yahhh! Why don't more people think like that?

Because those people find assembler difficult/confusing :-) I don't really understand why, as there's not much magic in copying values around and performing basic operations on them, but it was enough of an issue for Randy Hyde to create HLA to teach assembler to his students. Sean
Aug 17 2007
parent BCS <ao pathlink.com> writes:
Reply to Sean,

 BCS wrote:
 
 Reply to Anders,
 
 "* As a first programming language - Basic or Java is more suitable
 for beginners. D makes an excellent second language for intermediate
 to advanced programmers."
 
 I'd probably rate it third, as you want to learn C
 


device in existence is tremendously useful.

Yes it is. I wish that language was D.
Aug 17 2007
prev sibling parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
BCS wrote:

 I'd probably rate it third, as you want to learn C 

but only because it's so common, but with luck that will change.

C here being the "glorified portable assembler", that is ;-)
 (or assembler...)

Ohhh Yahhh! Why don't more people think like that?

Maybe they are thinking "because my computer is fast enough" --anders
Aug 17 2007
parent reply BCS <ao pathlink.com> writes:
Reply to Anders,

 BCS wrote:
 
 I'd probably rate it third, as you want to learn C
 


 (or assembler...)
 



Oh well. I wish more people would notice the other advantages of learning ASM (even if you never use it again).
 --anders
 

Aug 17 2007
parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
BCS wrote:

 Ohhh Yahhh! Why don't more people think like that?


Oh well. I wish more people would notice the other advantages of learning ASM (even if you never use it again).

These days, getting people to learn C is probably as close to the machine (or assembler / machine code) as you can hope for... :-) I know that besides debugging and disassembling, I haven't used it myself for years - but it does indeed help a lot for those tasks. --anders
Aug 17 2007
prev sibling parent Tristam MacDonald <swiftcoder gmail.com> writes:
In general, Sisal is no longer-winded than C. However, it isn't a C like 
language, though trivial examples show some similarities. It is a 
functional language, and one based on mathematical process (perhaps most 
similar to Erlang), and while more advanced than the C-family in 
expressiveness, correctness and parallelism, C programmers seem to have 
a lot of trouble transitioning to these sorts of languages (hell, even 
Scheme seems to be a stretch for many).

Deewiant wrote:
 Henrik wrote:
 I found this article on wikipedia today: http://en.wikipedia.org/wiki/SISAL

 "SISAL (Streams and Iteration in a Single Assignment Language) is a
 general-purpose single assignment functional programming language with strict
 semantics, implicit parallelism, and efficient array handling."

 On top of automatic parallelism and whatnot, the article claims that it
 outperforms C. Sounds great! So is this the Next Big Language(tm)? Nope. It's
 been around since 1986.

 It reminded me that performance must only be a small part of whether a
 language is widely adopted or not. So what determines whether people start
 using a language? Is it only a matter of inertia, tradition, habit and prior
 investments? Or are there more complex considerations to be taken into
 considerations?

 Why haven't we been writing applications and games in SISAL the last 21
 years? In ten years, will people look back at D and ask themselves the same
 thing or is D:s future different? If so, why?

Here's one possible reason: http://hackety.org/2007/08/15/oneLinersAreCrucial.html I don't know SISAL, but I doubt you can be productive with it within an hour (or 15 minutes, as suggested). With scripting languages like Python or Ruby, you can. I'd say that with D, it's the case only if you already know C or C++, maybe also Java. D isn't a very beginner-oriented language.

Aug 17 2007
prev sibling parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Henrik wrote:

 It reminded me that performance must only be a small part of whether
 a language is widely adopted or not. So what determines whether
 people start using a language? Is it only a matter of inertia,
 tradition, habit and prior investments? Or are there more complex
 considerations to be taken into considerations?

Marketing. --anders
Aug 17 2007