>>>C will always be the language of choice for platforms.
>>Why? Is this for technical or social reasons?
>Obviously, tweaked C code will always be smaller and faster.
In a time where a machine with 500Mhz CPU, 128MB RAM, and 10GB HD can be had for around $1000, the limiting factor is programmer productivity, not machine productivity. As I said previously, inner loops and performance critical sections may be best coded in C or assembler -- but less than 1% of the code in the typical software system meets that description. The Lisp Machine was a huge success, technically -- poor marketing, licensing, and pricing destroyed it. Squeak is doing a lot of amazing things for a project going nowhere. And even something like Oberon (which someone else mentioned) or Eiffel is better than C.
>> C will always be the language of choice for platforms.
Why? Is this for technical or social reasons? Lisp and Smalltalk have been used to implement operating systems,HTTP servers, and database systems and quite efficient and powerful ones at that. What advantage does C have besides being close to the hardware?
The art of programming has come a long way since its modern inception. Advances have largely come in stages: the advance from hardwiring to machine language, from machine language to assembler; from assembler to low-level compiled languages; and from low-level compiled language to high-level compiled (native and virtual-machine) languages.
The question now becomes: what next? What obstacles exist to the advancing of the art?
In my opinion, one of the main obstacles is the widespread use of C and C++. Both are low-level languages designed for close interaction with the hardware. (C++ may share features with high-level languages but is too tied to C to actually be an HLL.) This is a useful design for many tasks, but not for general application programming, at least at this time. Moving to safer, more powerful languages (Smalltalk, Dylan, Eiffel, Ada, ML, and Haskell to name a few with useful free implementations) is necessary, IMHO, to further the creation and maintainability of complex software systems. C still has its place of course -- critical inner loops will probably be implemented in many applications where the high-level language does not perform adequately -- but general development should move along to more useful tools.
I believe that the free-software community is uniquely prepared to do this, simply because language choice is a technical and not political problem.
Happy hacking.
Re:Not to sound religiously fanatical...
on
Total Lunar Eclipse
·
· Score: 1
Yes. There is. But there would be a lot of stuff that happened *before* that that hasn't happened yet. =) So you can feel safe.:) (try reading the book instead of half-remembering it.;)
Just because he's not a functional illiterate like most of the Slashdot crowd doesn't mean he's a snob. Seriously -- are four-syllable words too hard for you guys? *sigh*
Re:movemail bug and Cuckoo's Egg
on
RMS The Coder
·
· Score: 2
Yes, the "Cuckoo's Egg" crack was accomplished through movemail and moving a patched kernel over the original. However, this could only be done if emacs was setuid root, which is Bloody Stupid in any case. So don't go blaming Emacs.:)
Don't dis Disney and the Imagineers too much. At least they're giving smart people like Alan Kay, Dan Ingalls, and John Maloney money for working on stuff like Squeak. IMO that's excuse enough to put up with EPCOT etc.:)
Jefferson didn't really create his own translation, he just cut'n'pasted the parts of the Gospels he liked into his own book.... Knuth just made an effort to provide an idiomatic translation of each verse mentioned in 3:16, not the whole Bible. Which is a good strategy, IMO.
Knuth is such a great guy. i'm listening to lecture #1 right now.:) JonKatz (and other assorted trolls) ought to listen to this - not all Christians are crazy, stupid, or preachy. SOme actually do have a clue.:)
I've read Knuth's "3:16 - Scripture Verses Illuminated" as well, it's a beautiful book. Good insight into the verses presented as well. (It would take a computer scientist to invent a scheme such as this:)
"Ratings" as a numeric value is a bit shallow -- CritLink provides free (free source too!), universal web page annotation without client-side software. The annotations appear inline with the webpage when viewed through CritLink, and can be stored on your own webpage rather than on Crit's servers.
Um, pardon me if I come off sounding elitist, but programming is not something that can be taught to your average user without a *lot* of background work. Teaching someone to program without having them understand what the heck is going on inside the machine (as it seems they want to do) is Bad and Wrong. Furthermore, the choice of Python because it's "easy on the eyes" and has "simple syntax" is questionable: Python has its own quirks and weirdnesses that make it just as bad as Perl/Tcl/whatever.
Programming is *not* about languages. Programming is about problem solving and algorithm creation/manipulation. Once you understand these ideas you can learn almost any language and implement them. Granted, there are are a few different programming "styles" available (imperative, applicative, declarative), and learning to translate your solution into those molds is important, but understanding the basic problem-solving and algorithm manipulation *must* be done first, before any actual "coding" begins.
Did I say GPL? No. I just said it was another license that I have to take time to read and figure out its interactions with other licenses... read the essay I linked to. BSD is fine, X11 is fine, Artistic is fine. Whatever. But don't go off making up new licenses just because you can.
>Perl, Haskell and Smalltalk is nothing. Emacs has >special support for TeX, makefiles, java, >lisp, scheme, Eiffel, Sather, C, C++, Shell >script and probably a lot of other stuff too.
Of course. but i was referring to debugging support in the languages i use. I use AUCTeX all the time, plus a wad of the other font-highlighting modes...:)
From http://oss.sgi.com/projects/jessie/li cense.html: 3.Termination. This License and the rights granted hereunder will terminate automatically if Recipient fails to comply with terms herein and fails to cure such breach within 30 days of the breach. . . .
Sure doesn't look like the GPL or even a DFSG-compliant license.:-/ I can't get through to the FTP site, so I don't know if it says differently there.
Agreed. I don't understand the appeal of IDEs such as this -- it lacks scriptability, extensibility, support for languages other than those debugged by gdb (Emacs supports Perl, Haskell, and Smalltalk, just to name those that I work with) and requires Java. No way I'm gonna install that huge JDK (or even JRE) for just this....
OTOH, the profiler is pretty. Maybe it can be broken out and used separately.... compiled with gcj, it might even be fast enough to be usable.:-) (though Swing presents a bit of a difficulty, i guess)
A quite different system of comment upon non-news on the Web is CritLink. It allows you to post and read comments on webpages, from links inline with the webpage being critiqued. It also tracks backlinks. Very nice, makes the Web more useful.
YOU, TOO, can get in on this exciting new field in the privacy of your own home! Download RealTimeBattle and begin programming your own software robots for battle!
There's a competition scheduled for September 11, so start writing an entry! Compete for bragging rights and proof and language advocacy!
or, maybe not... I'm writing an entry in Haskell, the ultimate language... you might as well not bother.:-) (just kidding)
The standard by which all PC keyboards are measured. It could stand some slight improvement (adding a Meta key, mainly, and perhaps some more function keys) but nothing on the market today can beat it. (I still want a 3270 keyboard, it has 20 function keys:) Everyone talks about the Happy Hacker keyboard but it's far too small for desktop use and as far as I can see is just another membrane keyboard....
Bring back the almost-indestructible buckling spring technology IBM made their keyboards with!
This sounds extremely familiar to the Warmenhovian logic used in INTERCAL's "SELECT" statement. Warmenhovian logic has four states: True, False, Undefined (e.g. an uninitialized flip-flop) and Oscillating, represented in the INTERCAL manual as 1, 0, ?, and F. "Note in particular that, while NOT-0 is 1 and NOT-1 is 0 as in two-valued logic, NOT-? is ? and NOT-F is F."
>>>C will always be the language of choice for platforms.
>>Why? Is this for technical or social reasons?
>Obviously, tweaked C code will always be smaller and faster.
In a time where a machine with 500Mhz CPU, 128MB RAM, and 10GB HD can be had for around $1000, the limiting factor is programmer productivity, not machine productivity. As I said previously, inner loops and performance critical sections may be best coded in C or assembler -- but less than 1% of the code in the typical software system meets that description. The Lisp Machine was a huge success, technically -- poor marketing, licensing, and pricing destroyed it. Squeak is doing a lot of amazing things for a project going nowhere. And even something like Oberon (which someone else mentioned) or Eiffel is better than C.
>> C will always be the language of choice for platforms.
Why? Is this for technical or social reasons?
Lisp and Smalltalk have been used to implement operating systems,HTTP servers, and database systems and quite efficient and powerful ones at that. What advantage does C have besides being close to the hardware?
examples:
Li sp Machines
CL-HTTP Hypermedia Server
Squeak
Pluggable Webserver and Swiki
MinneStore
GemStone
The art of programming has come a long way since its modern inception. Advances have largely come in stages: the advance from hardwiring to machine language, from machine language to assembler; from assembler to low-level compiled languages; and from low-level compiled language to high-level compiled (native and virtual-machine) languages.
The question now becomes: what next? What obstacles exist to the advancing of the art?
In my opinion, one of the main obstacles is the widespread use of C and C++. Both are low-level languages designed for close interaction with the hardware. (C++ may share features with high-level languages but is too tied to C to actually be an HLL.) This is a useful design for many tasks, but not for general application programming, at least at this time. Moving to safer, more powerful languages (Smalltalk, Dylan, Eiffel, Ada, ML, and Haskell to name a few with useful free implementations) is necessary, IMHO, to further the creation and maintainability of complex software systems. C still has its place of course -- critical inner loops will probably be implemented in many applications where the high-level language does not perform adequately -- but general development should move along to more useful tools.
I believe that the free-software community is uniquely prepared to do this, simply because language choice is a technical and not political problem.
Happy hacking.
Yes. There is. But there would be a lot of stuff that happened *before* that that hasn't happened yet. =) So you can feel safe. :) ;)
(try reading the book instead of half-remembering it.
I don't want to look like an idiot or anything, but what does something like CodeWarrior give you that Emacs or XEmacs doesn't?
Just because he's not a functional illiterate like most of the Slashdot crowd doesn't mean he's a snob. Seriously -- are four-syllable words too hard for you guys?
*sigh*
Yes, the "Cuckoo's Egg" crack was accomplished through movemail and moving a patched kernel over the original. However, this could only be done if emacs was setuid root, which is Bloody Stupid in any case. So don't go blaming Emacs. :)
Don't dis Disney and the Imagineers too much. At least they're giving smart people like Alan Kay, Dan Ingalls, and John Maloney money for working on stuff like Squeak. IMO that's excuse enough to put up with EPCOT etc. :)
Korolev. ;)
Jefferson didn't really create his own translation, he just cut'n'pasted the parts of the Gospels he liked into his own book....
Knuth just made an effort to provide an idiomatic translation of each verse mentioned in 3:16, not the whole Bible. Which is a good strategy, IMO.
Knuth is such a great guy. i'm listening to lecture #1 right now. :) JonKatz (and other assorted trolls) ought to listen to this - not all Christians are crazy, stupid, or preachy. SOme actually do have a clue. :)
:)
I've read Knuth's "3:16 - Scripture Verses Illuminated" as well, it's a beautiful book. Good insight into the verses presented as well. (It would take a computer scientist to invent a scheme such as this
but easily available birth control and abortion in "developed" countries probably has a lot to do with it.
This looks like another Stinky Public License.
"Ratings" as a numeric value is a bit shallow --
CritLink provides free (free source too!), universal web page annotation without client-side software. The annotations appear inline with the webpage when viewed through CritLink, and can be stored on your own webpage rather than on Crit's servers.
> When linux (the most insecure out of the box OS around) gives a bad result, you all scream like scorched cats.
;-) Debian, for example is much more secure "out of the box" than Red Hat. Linux doesn't just come in one box. :)
Which box?
Um, pardon me if I come off sounding elitist, but programming is not something that can be taught to your average user without a *lot* of background work. Teaching someone to program without having them understand what the heck is going on inside the machine (as it seems they want to do) is Bad and Wrong.
Furthermore, the choice of Python because it's "easy on the eyes" and has "simple syntax" is questionable: Python has its own quirks and weirdnesses that make it just as bad as Perl/Tcl/whatever.
Programming is *not* about languages. Programming is about problem solving and algorithm creation/manipulation. Once you understand these ideas you can learn almost any language and implement them. Granted, there are are a few different programming "styles" available (imperative, applicative, declarative), and learning to translate your solution into those molds is important, but understanding the basic problem-solving and algorithm manipulation *must* be done first, before any actual "coding" begins.
Did I say GPL? No. I just said it was another license that I have to take time to read and figure out its interactions with other licenses...
read the essay I linked to. BSD is fine, X11 is fine, Artistic is fine. Whatever. But don't go off making up new licenses just because you can.
>Perl, Haskell and Smalltalk is nothing. Emacs has
:)
>special support for TeX, makefiles, java,
>lisp, scheme, Eiffel, Sather, C, C++, Shell
>script and probably a lot of other stuff too.
Of course. but i was referring to debugging support in the languages i use. I use AUCTeX all the time, plus a wad of the other font-highlighting modes...
From http://oss.sgi.com/projects/jessie/li cense.html:
:-/
3.Termination. This License and the rights granted hereunder will terminate automatically if Recipient fails to comply with terms herein and fails to cure such breach within 30 days of the breach.
.
.
.
Sure doesn't look like the GPL or even a DFSG-compliant license.
I can't get through to the FTP site, so I don't know if it says differently there.
Agreed. I don't understand the appeal of IDEs such
:-) (though Swing presents a bit of a difficulty, i guess)
as this --
it lacks scriptability, extensibility, support for languages other than those debugged by gdb (Emacs supports Perl, Haskell, and Smalltalk, just to name those that I work with) and requires Java. No way I'm gonna install that huge JDK (or even JRE) for just this....
OTOH, the profiler is pretty. Maybe it can be broken out and used separately.... compiled with gcj, it might even be fast enough to be usable.
A quite different system of comment upon non-news on the Web is CritLink. It allows you to post and read comments on webpages, from links inline with the webpage being critiqued. It also tracks backlinks. Very nice, makes the Web more useful.
Allen
> Is this going to be available in Kansas?
Of course. You just won't be told that it's the only OS.
YOU, TOO, can get in on this exciting new field in the privacy of your own home! Download RealTimeBattle and begin programming your own software robots for battle!
:-)
There's a competition scheduled for September 11, so start writing an entry! Compete for bragging rights and proof and language advocacy!
or, maybe not... I'm writing an entry in Haskell, the ultimate language... you might as well not bother.
(just kidding)
The standard by which all PC keyboards are measured. It could stand some slight improvement :) Everyone talks about the Happy Hacker keyboard but it's far too small for desktop use and as far as I can see is just another membrane keyboard....
(adding a Meta key, mainly, and perhaps some more function keys) but nothing on the market today can beat it. (I still want a 3270 keyboard, it has 20 function keys
Bring back the almost-indestructible buckling spring technology IBM made their keyboards with!
*clicketyclicketyclicketyclick*,
Allen
This sounds extremely familiar to the Warmenhovian logic used in INTERCAL's "SELECT" statement.
Warmenhovian logic has four states: True, False, Undefined (e.g. an uninitialized flip-flop) and Oscillating,
represented in the INTERCAL manual as 1, 0, ?, and F.
"Note in particular that, while NOT-0 is 1 and NOT-1
is 0 as in two-valued logic, NOT-? is ? and NOT-F is F."