Comment Re:Scheme looks scary and unreadable to me (Score 1) 107
Addendum: All Lisp and C programmers should watch the video:
Readable Lisp S-expressions: Curly-infix-, Neoteric-, and Sweet-expressions
http://readable.sourceforge.net/
Addendum: All Lisp and C programmers should watch the video:
Readable Lisp S-expressions: Curly-infix-, Neoteric-, and Sweet-expressions
http://readable.sourceforge.net/
> Scheme is great but the problem is I'm a crap programmer.
Actually the first sign of a great programmer is realizing they are not great !
THE key point that everyone forgets: We were ALL noobs at one point. You don't really master a language until you've been using it for years.
> prefer to pick a language where there are already tons of existing good libraries/modules/code I can _easily_ use to do what I want.
Yup, that's very pragmatic. However, I would add, EVERY programmer should know how to or have at least once in their lifetime written atoi() and the corresponding dual itoa() aka, printf.
From a business point of view you want to use a 3rd party library that just works.
From a learning point of view you should write everything yourself (once.)
> I don't normally have to support, document and fix that 3rd party code that I didn't write.
Part of the process of becoming a great programmer is to not only WRITE your code but READ other people's code. The sides of the same coin help each other.
I _love_ the consistency and simplicity of LISP but hate its syntax. Thankfully there is a solution! Readable S-expressions is for LISP programmers who love C style braces but hate LISP parenthesis.
http://www.dwheeler.com/readable/
(Ugly) S-expression
(define (fibfast n)
(if (< n 2)
n
(fibup n 2 1 0)))
define fibfast(n) ; Typical function notation
if {n < 2} ; Indentation, infix {...}
n ; Single expr = no new list
fibup(n 2 1 0) ; Simple function calls
(define (fibup max count n-1 n-2)
(if (= max count)
(+ n-1 n-2)
(fibup max (+ count 1) (+ n-1 n-2) n-1)))
compare with Sweet-expression 0.2
define fibup(max count n-1 n-2)
if {max = count}
{n-1 + n-2}
fibup max {count + 1} {n-1 + n-2} n-1
(define (factorial n)
(if (<= n 1)
1
(* n (factorial (- n 1)))))
define factorial(n)
if {n <= 1}
1
{n * factorial{n - 1}} ; f{...} => f({...})
and
http://www.dwheeler.com/readable/retort-lisp-can-be-readable.html
"Even people like me, who have used Lisp for over 20 years, understand that it's a bug. I wrote my first Lisp program circa 1982, and professionally wrote Lisp code on $120,000 equipment. Lisp has advantages, which is why I used and use it.
But all the whining about it being "superficial" doesn't change the fact that most developers avoid Lisp-like languages, precisely because they're unreadable. There's a reason why Lisp is widely referred to as "Lots of Irritating Silly Parentheses" (and worse)."
--
The progression of a Lisp programmer:
* The newbie realizes that the difference between code and data is trivial.
* The expert realizes that all code is data.
* And the true master realizes that all data is code.
-- Sriram Krishnan
Dedicated keys.
While every calculator is a computer, not every computer is a calculator. Having dedicated keys helps streamline problem solving when all you have is graph paper and pencil.
But yeah, Mathematica, Maple, Matlab, Octave, Derive, Excel, have pretty much replaced calcs. I haven't used my HP48SX and HP48GX in years -- partially because of the emulator.
Pity the article was too darn lazy to summarize the tech specs:
CPU: custom z80 @ 6 / 15 MHz
LCD: 320x240, 16-bit
RAM: 128K of internal RAM, 21K user-accessible
ROM: 4MB Flash ROM chip, 3.5MB user-accessible.
IO: serial port, miniUSB jack
Keys: 50 dedicated keys
Programming languages: TI BASIC, z80 Assembly
Pity people couldn't provide benchmarks of couple common integrals across the HP48GX, HP49, HP50, TI-82, TI-84, so we can see how fast it is.
Indeed !
Plus in OSX the user gets an icon showing them if a reboot is even required in the first place. This is an OS doing what it is supposed to: presenting information to the user and letting the user decide AND then getting out of the way of their choice -- that is, respecting it.
I give Microsoft another 5 years before they figure it out.
> I've never known a "civilized person" who didn't want to beat the living crap out of another" at one time or another.
Anger comes from a false belief system. The emotion is the symptom, not the cause.
> The real marker of a civilized person isn't that he doesn't want to beat the crap out of another, but that he overcomes the urge to do so....
That is the beginning of being enlightenment. When a person realizes there is no _need_ to.
>> The millions murdered in World War 1 & 2 never played video games.
> What has that to do with anything? That's a bit like saying "my granddad smoked like a chimey and lived 'til he was 95, so smoking isn't unhealthy
The point is, humans have been violent (fighting wars) since the beginning of time.
Making video-games a scapegoat (even if it is a factor) is nothing new.
Sadly, you've missed the points:
1. Yoga and Meditation have been around for _thousands_ of years. The music that goes along with them is not "New"; more like "Old Sage."
2. Overloading the same term for Music and Religion is idiotic and confusing.
Not every
One thing that is important is to keep in mind is perspective:
The millions murdered in World War 1 & 2 never played video games.
So I'm not sure ready to jump on the "video games == violence" bandwagon; no doubt "video game violence" and the "causation vs correlation" will be debated till the end of time so I did my own experiment. As both a game programmer and designer I have found that when take a month long break from gaming I have found that my mind is significantly calmer. I have also done experiment with Aikido, meditation and yoga (found Aikido to be very interesting, meditation to largely be a waste of time, and found yoga to be extremely helpful.) Gaming with my online buddies is also a great stress reliever since we're almost all 40+, can joke around with each other, have fun cooperating, and don't have to worry about the typical bullshit drama. I would wager to bet that we all find it therapeutic after a long day at the office. The point of all this is that each person needs to find out what works for them. i.e. Listen to a new genre of music and keep a log of how it effects you, etc.
Since the human brain is at least a threefold structure ( http://en.wikipedia.org/wiki/Triune_brain ) I wouldn't be at least bit surprised if the reptilian complex ( http://en.wikipedia.org/wiki/Basal_ganglia ) is responsible for some of the inherent violence in men. A civilized person doesn't want to beat the living crap out of another person -- yet our species is "entertained" by such mindless violence -- one has to wonder if it isn't deeply ingrained in our genetics.
--
Only cowards use censorship.
Well, I can already do that in Firefox.
i.e.
Tools - Dev Tools - Inspect - "3D View"
Introducing Firefox 3D View for Developers
http://www.youtube.com/watch?v=zqHV625EU3E
As opposed to Microsoft and Direct 3D versions 1, 2, 3, and 5 ?? LOL. They couldn't even design the API properly the first time!
At least OpenGL was designed _properly_ from the beginning after going thru the IrisGL to OpenGL re-badge. No one ever said the Khronos Group was perfect -- however, WebGL _IS_ OpenGL ES 2.x. It is a clean, minimal, API for the most part. Part of my day job is to use it on everything from small Set-Top-Boxes, through mobile, and Desktops (browsers.) I have never seen another graphics API that is _that_ scalable and cross-platform. Is it perfect? No, but for the most part is a good solution unlike other proprietary vendor-lockin solutions.
--
Standards exist to keep the vendor's implementations honest.
Conflating Irish Enya's Celtic inspired World music with New Age religion is extremely sloppy journalism.
Oh wait, this is
--
Only cowards use censorship
Well, you could always point them to the geek hierarchy
> Slashdot, Google and the whole rest of the internet is much more annoying, since to disable ads you have to download AdBlock.
Eh? Try blocking at the hostname-ip-lookup level.
i.e.
http://winhelp2002.mvps.org/hosts.txt
Why aren't you blocking ads at the router level?
e.g.
http://lifehacker.com/5060053/set-up-universal-ad-blocking-through-your-router
To do nothing is to be nothing.