Originally Posted by
samjh
Hmmm... comparing Brain**** to C++ is stretching it.
C++ is whatever you want it to be.
err, no .. c++ is like fighting windmills .. they never back down and do what i want them to do .. now why would i do such a crazy thing?
pffft..you'll never get it anyway .. and i'll turn out be a smug weenie no matter what i say .. so it's up to you and only you - like it was up to me back when i was confronted and determined to "prove them wrong"
this reminds me of this btw.: "True, only the creatively intelligent can prosper in the Lisp world."
from: http://wiki.alu.org/Pascal_Costanza%27s_Road_To_Lisp .. from a collection of writings found here: http://wiki.alu.org/The_Road_to_Lisp_Survey
here; remove the FOR keyword from c++ .. then try to implement it using templates or whatever .. (note; it must be _clean_, _sane_ and work in all situations .. and the code must be beautiful and simple) .. see how the language isn't what you want it to be?
here i do this in lisp, in ..uh.. like 1 effective line of code or so?
Code:
(defmacro for ((var initial-value pred update-value) &body body)
`(do ((,var ,initial-value ,update-value)) ((not ,pred))
,@body))
..now, this is just a silly example (written in 2.5 seconds, on the go, just now) .. heck, maybe you're able to pull this off in c++ using the macro preprocessor or whatever .. but just add a tiiiny bit more complexity and you'd be stuck
.. i do these kinds of things _all day long_ in lisp without even _thinking_ about it .. yes, it is (or could be, in your case) that easy; it is natural and "safe" .. it's not a "hack" ..
i add new constructs .. new keywords .. extend the language .. it's a programmable programming language .. if lisp lacked OOP support? .. no problem, i'd just do this:
Code:
(defmacro defclass (..)
..)
..then i'd have a new keyword DEFCLASS that i could use to define classes .. but lisp already has _excellent_ OOP support via CLOS, which is included in Common Lisp .. it is way way beyond anything found in C++
"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." - (Alan Kay)
it can be whatever i want, and c++ can never come close to this .. at .. all
edit: oh, and this is compiled to native optimized machine language btw. .. SBCL is known to generate machine code that runs faster than C in some cases
Originally Posted by
samjh
If you want to be insane with C++, it will oblige without question!
oh, if this was true my views would maybe be somewhat different .. but this isn't true and never will be, so never mind
Originally Posted by
samjh
Frankly, I have little patience with it,
this should ring a bell or two; it means you have good taste
Originally Posted by
samjh
but it is undoubtedly a very powerful language in the right hands, dangerous in the wrong hands.
power and danger don't go together because if it really was powerful it would be possible to implement a "safe layer" on "top of it" .. but it isn't powerful, so this isn't possible ..
you are stuck with something that always "leaks" -- you will always be patching the holes that show up over and over again from the bottom layers of your application/library-code to the top .. you can never fix something "at the bottom" and be done with it once and for all
power is _worthless_ if you _cannot_ bind it down, control it and bend it to your will .. c++ is like the atom bomb concept of "power" .. it's just a huge release of _crap_ as it unexpectedly blows up in your face over and over again without any way of fixing the "internal leak" (whatever it might be; these leaks show up in other languages all the time ofc., with "leaks" i mean "general programming problems", but these languages provide the power to fix the leak at the core!) once and for all
.. if you've had enough of my ranting then simply ignore me and i won't "bother you" (this is how some of you people work, ain't it?) any more ..
Bookmarks