Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror

Comment Re:Scheme looks scary and unreadable to me (Score 1) 107

> 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

Comment Re:Why are calculators still relevant? (Score 1) 233

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.

Comment Geek summary - tech specs (Score 4, Informative) 233

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.

Comment Re:will they kill the patch/reboot/patch/reboot cy (Score 1) 199

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.

Comment Re:Matter of Perspective (Score 1) 223

> 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.

Comment Re:Matter of Perspective (Score 1) 223

>> 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.

Comment Matter of Perspective (Score 4, Interesting) 223

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.

Comment Re:A better question (Score 1) 320

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.

Comment Re:Amazing. (Score 1) 279

> 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

Slashdot Top Deals

Repel them. Repel them. Induce them to relinquish the spheroid. - Indiana University fans' chant for their perennially bad football team

Working...