> Awesome language at being verbose; almost as bad as Cobol.
FTFY
Pascal sucks for readability: its ass-backwards variable declarations so you can't declare multiple variables, verbose keywords, redundant keywords, two character assignment ':=' (colon equals) instead one '=' (equals) (this WOULD of been fine if you were forced to use this in an IF statement and the single 'equals' elsewhere), and useless distinction between functions and procedures makes it hard to focus on the code when you have to wade through so much on-screen spew of text.
Compare Pascal's verbosity...
{ Calculate the hypotenuse using the Pythagoras theorem: SquareRoot( (a*a) + (b*b) ) Function Pythagoras( A:Integer; B:Integer) : Integer;
Var SumSquared : Integer; Begin
SumSquared:= A*A + B*B;
PythagorasFunc:= Trunc( SQRT(SumSquared) ); End
... with C which has a good balance of minimal and compact keywords; much cleaner and compact with no useless verbosity, stopping before it goes for the nearly unreadable minimalism of APL, Pearl, etc.
// Calculate the hypotenuse using the Pythagoras theorem: SquareRoot( (a*a) + (b*b) ) float Pythagoras( int A, int B ) {
int SumSquared = A*A + B*B;
return (int)sqrt( SumSquared ); }
One of the few things Pascal did right back in the day was use a proper recursive descent parser which enabled a wicked-fast one-pass compiler. C and C++'s grammar was (and still is) so fucked up that there was no official BNF* grammar for ages. Thankfully D fixes some of the broken C/C++ design -- but adds it own set of kludges -- time will tell if it will ever reach critical mass.
They didn't steal it, he "voluntarily surrendered" it.
When the TSA goon confiscated my toothpaste I calmly asked him "Why are you confiscating my toothpaste?"
He corrected my misunderstanding. "We are not confiscating anything. You are voluntarily surrendering it."
At that point there was no point in arguing with someone so brainwashed that they are forced to play lawyer semantics to "Take something that doesn't belong to them under the threat of duress."
Yup, some of those old calcs have fantastic battery life.
My HP48SX would last a year on 3 AA batteries (a month with rechargeables.) Its "Saturn" CPU is a 64-bit CPU too ! Sadly almost everyone doesn't prioritize battery life anymore.
Only a spiritual retard uses (unprovoked) violence.
It would behoove you as a wise man to consider your 3 options:
* Bring him up to your level -- if the animal (pseudo-man) is already attacking you then sadly this option is probably already ruled out,
* Go down to his level -- you have the right to defend yourself from such animals -- the question then becomes: How MUCH violence is necessary to force the fool to stop?
* Do nothing - if the idiot just wants your money, give him money, and the both of you can carry on. He is too [spiritually] stupid to realize he is hurting himself by robbing others.
What you are failing to comprehend is that you can "kick his ass" and NOT be angry. As soon as you are angry you have already lost self-control and that is half of the battle.
> 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.
(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({...})
"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
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.
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.
>> 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.
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.
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.
> For a lot of things, it won't be useful. Indeed! The one good thing about today's web 3D now is that it is used in moderation -- by only the techie crowd who want substance over flash. The bad thing is that In the future it will be abused.
There are a couple of satarical Futurama episodes where the gang visits the internet is inundated by ads that shows how things might be.:-/ In the "Real World" Casino's overload the senses too. One can't escape the fundamental problem that Greed tends to motivate people to cause as much distraction as they cause to get your limited attention. 3D is just another medium/tool that will eventually be exploited.:-(
At for right now it is useful.:-)
> I guess maps in 3D, History places in 3D. Yup, 3D should be used as a way _augment_ data presentation NOT replace it.
> Ok, just make sure the whole web doesn't use it for now reason (flash, cough, cough.) I completely hear your lament and am right along with you. Sadly the corruption of 3D is coming.:-/
You will see this in tech. all the time. The pioneers invent a cool new tech -- radio, phone, TV, BBS, internet, newsgroups, email, IRC, Instant Messenger, etc. Then business and/or marketing get on board and you get advertising and spam diluting the S/N ratio and usefulness of said invention.
Fads come and go about every 20 years. i.e. VRML of the 90's. WebGL of the 2010's. Each new generation of kids "re-discovers" something "cool" new solution to an existing problem, generally ignoring the last time it was "popular", along with the strengths & weaknesses.
At least this time around we have some sense of standard API's instead of proprietary API's that Microsoft, Sony, etc. like to push.
> Why should take off? What's the drive behind it? What need does it satisfy?
Short Answer: Curiosity
Long Answer: If you have to ask why you're _completely_ missing the point. That's akin to asking: "Why on earth do we need to visualize our data from a different perspective??"
To help us understand, model, and relate to existing structures, design, and art in a new and clever ways to help expand our paradigms.
Having an unified 3D standard is GOOD thing. It means developers can spend less time using proprietary APIs and more time creating interesting content. Javascript + WebGL helps us bypass years of proprietary and over-engineered tech and just focusing on bringing content to the masses without needing yet another set of downloads that may or may not be safe.
> Awesome language at being verbose; almost as bad as Cobol.
FTFY
Pascal sucks for readability: its ass-backwards variable declarations so you can't declare multiple variables, verbose keywords, redundant keywords, two character assignment ':=' (colon equals) instead one '=' (equals) (this WOULD of been fine if you were forced to use this in an IF statement and the single 'equals' elsewhere), and useless distinction between functions and procedures makes it hard to focus on the code when you have to wade through so much on-screen spew of text.
Compare Pascal's verbosity ...
... with C which has a good balance of minimal and compact keywords; much cleaner and compact with no useless verbosity, stopping before it goes for the nearly unreadable minimalism of APL, Pearl, etc.
One of the few things Pascal did right back in the day was use a proper recursive descent parser which enabled a wicked-fast one-pass compiler. C and C++'s grammar was (and still is) so fucked up that there was no official BNF* grammar for ages. Thankfully D fixes some of the broken C/C++ design -- but adds it own set of kludges -- time will tell if it will ever reach critical mass.
You can see the verbosity of other languages here:
http://www.codecodex.com/wiki/Calculate_an_integer_square_root
Note: * BNF = http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form
> Besides, 60 fps, which is the refresh of the "image" is more then the human eye can distinguish
No it is not. A few us gamers can tell the difference between 60 Hz and 120 Hz.
The "practical" limit is anywhere from 72 Hz - 96 Hz. Sadly I'm not aware of anyone who has actually a done study what the practical limit is.
They didn't steal it, he "voluntarily surrendered" it.
When the TSA goon confiscated my toothpaste I calmly asked him "Why are you confiscating my toothpaste?"
He corrected my misunderstanding. "We are not confiscating anything. You are voluntarily surrendering it."
At that point there was no point in arguing with someone so brainwashed that they are forced to play lawyer semantics to "Take something that doesn't belong to them under the threat of duress."
God help us all.
--
"Only a coward uses censorship."
Yup, some of those old calcs have fantastic battery life.
My HP48SX would last a year on 3 AA batteries (a month with rechargeables.) Its "Saturn" CPU is a 64-bit CPU too ! Sadly almost everyone doesn't prioritize battery life anymore.
You are under the fallacy of anger == violence.
Only a spiritual retard uses (unprovoked) violence.
It would behoove you as a wise man to consider your 3 options:
* Bring him up to your level -- if the animal (pseudo-man) is already attacking you then sadly this option is probably already ruled out,
* Go down to his level -- you have the right to defend yourself from such animals -- the question then becomes: How MUCH violence is necessary to force the fool to stop?
* Do nothing - if the idiot just wants your money, give him money, and the both of you can carry on. He is too [spiritually] stupid to realize he is hurting himself by robbing others.
What you are failing to comprehend is that you can "kick his ass" and NOT be angry. As soon as you are angry you have already lost self-control and that is half of the battle.
So get off your high horse.
--
Only cowards use censorship.
I know you jest but sometimes you DO want to re-write SQL. i.e. row store vs column store.
NewSQL vs. NoSQL for New OLTP
http://www.youtube.com/watch?v=uhDM4fcI2aI
One Size Does Not Fit All in DB Systems
http://www.youtube.com/watch?v=QQdbTpvjITM
Oblg. :-)
http://highscalability.com/blog/2010/9/5/hilarious-video-relational-database-vs-nosql-fanbois.html
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
compare with Sweet-expression 0.2
and
http://www.dwheeler.com/readable/retort-lisp-can-be-readable.html
--
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 /. reader knew / knows / was-interested / cared about OpenBSD back then but the back story is quite interesting:
http://www.theos.com/dispute.html
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 /. Silly me, here I thought the editors might give a dam about being professional.
--
Only cowards use censorship
Well, you could always point them to the geek hierarchy :-0
http://brunching.com/images/geekchartbig.gif
> 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
> For a lot of things, it won't be useful.
Indeed! The one good thing about today's web 3D now is that it is used in moderation -- by only the techie crowd who want substance over flash. The bad thing is that In the future it will be abused.
There are a couple of satarical Futurama episodes where the gang visits the internet is inundated by ads that shows how things might be. :-/ In the "Real World" Casino's overload the senses too. One can't escape the fundamental problem that Greed tends to motivate people to cause as much distraction as they cause to get your limited attention. 3D is just another medium/tool that will eventually be exploited. :-(
At for right now it is useful. :-)
> I guess maps in 3D, History places in 3D.
Yup, 3D should be used as a way _augment_ data presentation NOT replace it.
> Ok, just make sure the whole web doesn't use it for now reason (flash, cough, cough.) :-/
I completely hear your lament and am right along with you. Sadly the corruption of 3D is coming.
You will see this in tech. all the time. The pioneers invent a cool new tech -- radio, phone, TV, BBS, internet, newsgroups, email, IRC, Instant Messenger, etc. Then business and/or marketing get on board and you get advertising and spam diluting the S/N ratio and usefulness of said invention.
Fads come and go about every 20 years. i.e. VRML of the 90's. WebGL of the 2010's. Each new generation of kids "re-discovers" something "cool" new solution to an existing problem, generally ignoring the last time it was "popular", along with the strengths & weaknesses.
At least this time around we have some sense of standard API's instead of proprietary API's that Microsoft, Sony, etc. like to push.
> Everything 3D is either FPS or gimmick.
Total nonsense. http://slashdot.org/comments.pl?sid=3470211&cid=42935685
--
Only cowards use censorship.
> Why should take off? What's the drive behind it? What need does it satisfy?
Short Answer: Curiosity
Long Answer: If you have to ask why you're _completely_ missing the point. That's akin to asking: "Why on earth do we need to visualize our data from a different perspective??"
To help us understand, model, and relate to existing structures, design, and art in a new and clever ways to help expand our paradigms.
Instead of wasting time explaining in a textual context, please see my previous post:
http://slashdot.org/comments.pl?sid=3470211&cid=42935685
Having an unified 3D standard is GOOD thing. It means developers can spend less time using proprietary APIs and more time creating interesting content. Javascript + WebGL helps us bypass years of proprietary and over-engineered tech and just focusing on bringing content to the masses without needing yet another set of downloads that may or may not be safe.