Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

The D programming language

Name: Anonymous 2011-04-29 3:59

Lisp (DSL):

map [I Arg]~>say."Args[$I] = '$Arg'" enum.Args


D:

foreach (i, arg; args) Stdout("args[")(i)("] = '")(arg)("'").newline();


any question?

Name: Anonymous 2011-04-29 4:01

Lisp (DSL):

mapI [I Arg]~>say."Args[$I] = '$Arg'" Args


D:

foreach (i, arg; args) Stdout("args[")(i)("] = '")(arg)("'").newline();

Name: Anonymous 2011-04-29 4:33

The advantage the bit-twiddling languages like C, C++, and now Go, provide is the ability for the programmer to apply optimizations by hand. This is an advantage to a language designer- all that tedious optimization work can be skipped (notice how proud the Go designers are of compile time- optimizations take time for the compiler to apply). Hand applying optimizations is also an advantage in micro-benchmarks (like the Shootout), and in blog posts and similar. Places where the code size is small enough that the cost, especially in terms of lost abstraction, is negligible.

Name: Anonymous 2011-04-29 8:29

>>3
No, the advantage of languages like C, C++, and maybe Go, is that they allow truly manual memory management (while malloc/free are considered semi-automatic). You can store any object as a field of another object, or as a local variable, or in a special allocation pool.

This produces significant steady improvements in performance across the entire program, compared to the situation where each object has to be allocated on the heap. You get reduced memory pressure, much better locality, fewer indirections, and all that synergizes and accumulates.

Your idea of optimizations as being primarily about "bit-twiddling" was outdated 30 years ago, sorry.

Name: Anonymous 2011-04-29 8:32

>>4
Enjoy your undefined behaviours, non-standard extensions, no threads and concurrency, etc.

Name: Anonymous 2011-04-29 9:21

>>5
Enjoy your undefined behaviours
I do.
non-standard extensions
I don't.
no threads and concurrency
Your crazy.

Name: Anonymous 2011-04-29 9:30

>>6
Your crazy.
Which part of the C99 standard defines them?

Name: GNU 2011-04-29 10:06

VICTORY TO EVIL STALLMAN

Name: Anonymous 2011-04-29 10:41

>>7
C is getting concurrency and threading support in C1x. It will be forwards/backwards compatible with C++11.

http://en.wikipedia.org/wiki/C1X

C++11 already has threading, concurrency, and fine-grained atomic memory support.

http://en.wikipedia.org/wiki/C++11

Name: Anonymous 2011-04-30 6:21


Don't change these.
Name: Email:
Entire Thread Thread List