Apple offers a 2 year end to end warranty for $99, which covers accidental breakage. How exactly is that so expensive for a high end fragile portable device?
It's wonderful not to be forced to use side-effects to express just about everything you write, as in Pascal, C, and the like. But it's crippling not to be able to use them when they're the point of your whole algorithm.
I'm not sure if I can think of what an I/O algorithm that isn't very low level would even be. But I agree that Haskell is a terrible choice for programs that aren't mainly about side-effects.
Get stuff do something complex put stuff = Haskell complex get stuff dos something simple complex put stuff = Haskell is a terrible choice.
Languages like Lisp and Scheme and Caml and ML and OCAML, on the other hand. are called 'functional' even though they are quite free in allowing side effects. They even have variables whose values can change in time! But they are still considered functional because they don't force you to use side effects as frequently as breathing. YOu can code in a functional style if you wish. Most users end up doing that most of the time because it's clear and easy. But when you do, they're thre as part of the toolkit.
I agree you can write functionally styled code. Scala seems to be the big recent winner. I program quite functionally in Perl. But IMHO the advantage of purity is you don't end up with 95% side effect free code blocks. When I want to make a change to something like the I/O handling of even a very functional Perl program I have to read every line of code.
And as for web design? Isn't the OCAML website is programmed in OCAML?
He said 3 or 4 orders of magnitude, that's a casual way of talking about log base 10. I.E. his statement translates to 1000-10000 times slower, not 3 times slower. I actually assume it is more like 2 to 3.5.
Thank you for the spelling correction on Gofer! I thought Gopher was wrong. As for lazy data structures I agree Haskell didn't invent them, they go back to LISP. Haskell popularized them and is the reason we are starting to see them in more mainstream languages.
I get that using something like void* bypasses the safety of the IDE. The difference is that in a dynamic language the problems with void* are the norm not the exception.
As for your point about debugger vs. static code analysis... Yes I was responding to the original poster. I agree with the differences you are citing and in that limited sense dynamic languages often offer better debuggers because removing debugging code is unlikely to create new bugs.
Point well taken about the space in JavaScript. Though in all fairness Netscape/Sun created the confusion by renaming LiveScript as part of their whole Java and browsers as a replacement for desktops.
As for a PHP IDE that is great, great compared to the static IDE's like Visual Studio, XCode...? Which ones? Your comment below makes me think you don't get the static advantages:
Dynamic typing doesn't really impact a debugger
I don't think you get how static language debugging works. If I have a function f, and a call like f(a,b) the debugger can't do much. In many of the dynamic languages it can't even check that I have the right number of arguments. In a static language the entire call is checked for consistency of type.
If I use the type system effectively with data objects that are highly specific so something like: a is of type "glassesShoppingCode" b is of type "lensSize"
and f:: glassesShoppingCode -> lensSize -> List of frames that will fit that lens meeting shopping code criteria
you start to get substantial debugging advantages. If your function calls pass the debugger they often do exactly what you wanted.
That's part of the problem. No one is quite sure what the proper analogies are. Komodo (Perl GUI) about a decade ago started in the right direction. I wish it had been more popular.
Point well taken about Smalltalk,. I'd agree that Smalltalk was a huge innovator on IDE/Debuggers. In general too many things resolve runtime for debugging in the classic sense to work well. So I give the static languages the credit for GUI/Debugger.
That being said there is no static language (except possibly Haskell) I'd rather write in that Smalltalk.
Some level of debugging exists and there are semi-GUIs. But the kind of integrated syntax checking, debugging, IDE that exists for static languages don't exist for any dynamic languages. No one has figured out how to make them.
But things like Haskell were around too in that time and have never really caught on.
Huh? When Haskell came out it was a replacement to Gopher, a language not even terribly popular with the functional community. Haskell is now by far the #2 most popular functional language, passing even languages like Mathematica. Haskell has become the primary language of compiler design with ideas from Haskell leaking into most compilers including most importantly the Visual Studio compilers. Ideas from Haskell have led to whole new classes of languages like Scala and Clojure. Ideas like lazy data structures are become standard approaches in many languages.
Further Haskell has completely altered the entire way people think of functional programming. Monadic methods are now standard in most functional languages.
In what sense is Haskell not a huge success? Sure it isn't the mainstream language of choice, but then again a language that isn't good with interactive I/O is going to be unsuited for most day to day programming problems.
I'm hoping you are being sarcastic with Java failed? Java went quickly to becoming the most popular language. I can accuse Java of lots of bad stuff. Failing to win market share ain't one of them.
I don't see any evidence that's the case. The whole debugger / IDE culture was built around a small subset of languages; essentially Algol syntax with static typing like C++, C#, Objective-C Java and Visual Basic.
On the other hand the major languages that have become popular in the last 15 years are often dynamically typed: Perl, Python, Ruby, PHP, Java Script. They don't have good debugger / IDE's as the technology doesn't exist yet.
Certainly the wealth of wonderful debuggers has helped the static languages. But they aren't a necessary condition.
Huh? In 2002 Larry Sanger was still running wikipedia and it was mainly a testbed to get articles ready for nupedia. It wasn't even using the current software and around a decade ago had under 1% of the articles it does today.
I bought it on CD and DVD several times getting updates and installing it on my laptop. I stopped when I no longer was ever checking it because everything I was looking up that wasn't on wikipedia wasn't on Brittanica either.
Notwithstanding the fact that printing and distribution of the hardcopy was only a very small fraction of the total cost.
Where are you getting that from? 30 volumes hardbound, often imitation leather bound, with good stitching. 2000 pages each with paper designed to hold up to many repeated readings. That ain't a small fraction of the total cost.
However, I'm going with the cliche and saying it was Wikipedia. Encarta damaged the revenue stream. But with Encarta Encyclopedia Britannica was still widely hailed as by far the most comprehensive encyclopedia with the longest and best articles. It was Wikipedia that changed that by becoming equally large and then twice and then 20x and now more like 100x the size of Britannica. Wikipedia as this point has better articles on most subjects than specialized encyclopedias. And had the deletionists not seized control in 2007, Wikipedia would probably be at least an order of magnitude larger than it is.
Britannica could, until Wikipedia, have moved to a different model. Say for example bundling an entire information service that was sold by subscription, that was available on cell phones, that was included in all schools and libraries. What they couldn't do if find any reason to get huge amounts of money once something that was better in most respects was free.
Britannica has competed with cheaper encyclopedias before, like World Book and beat them. Heck they themselves owned Comptons.
So, fascinating opinion but I stick with the cliche.
Where to start here? Are you a troll, or just retarded? (1) you compared an acceleration to a velocity without a correlating factor - that's not valid. (2) you compared acceleration to energy, that's even worse. (3) 2.70 * 10^8 / 9.8 = 2.75 * 10^9? Horrible math. (4) The fusion comment is batshit senseless. If the object is accelerated uniformly, fusion will not be induced (except, possibly with the atmosphere).
Lets say retarded for now.
1) Velocity is irrelevant. The acceleration is getting from a standstill to the velocity. The factor would be something like.9c in.01sec is 90c / s^2.
2) I compared acceleration to gravity. And that's the main finding of general relativity, that you can interchange between the two. Gravity doesn't just feel like accelerated it is relative to curved space time accelerated motion.
3) You forgot you had it happening in.01 seconds. You have to multiple by 100. And this BTW is why.01 seconds is relevant. If you had this take place over a decade then the force would be equivalent to earth's gravity, not what's experienced by matter inside a large star.
4) No, wrong wrong wrong. Uniform velocity doesn't create any effect. Uniform acceleration most certainly does. All the fusion in the universe comes from the effects
Have you ever done a kinematic problem in your life?
Kinematics addresses the geometry of motion without consideration of cause i.e. the energy equations you are citing aren't even part of kinematics. What I think you mean is kinetics, not kinematics.
Second the equation you are using doesn't work at speeds close to the speed of light, it breaks down, because relativistic mass increases. For one thing you are switching frames, relative to the stationary observer the relativistic mass of the 100kg person going at.9c is 230kg, (the gamma factor). For another you are forgetting this was a ship, the energy isn't external you have to integrate
But even assuming the equation were correct, you forgot to square the speed:
1/2 * 100 kg * (270m / sec)^2 = 3.645 10^18J which is over twice the total energy of a 9.0 earthquake.
I understand what you were doing. You are defending in this comment, using my numbering, point (1) not point (2).
The main problem with your post is "You fail at relativity. Just because we haven't observed it yet, doesn't mean it hasn't happened."
That has nothing to do with relativity. What relativity talks about is that there is not universal agreement on "what has happened yet". In fact the point of your post does better without the complexity of relativity. Relativity throws it off, because what you were saying is no longer true. What you really wanted was something like Galileo's model of space/time or Lorentz's not Einstein's, because what you really wanted to say was that we backdate our observations taking into account travel time. Which is something people did long before relativity.
I understood that. I was just commenting that you want to be careful about those things when being critical of others.
To be honest when I first estimated in my head, I had thought you would form a black hole. I was shocked when I did the calculation it was slow enough that subatomic structures would remain intact.
Apple offers a 2 year end to end warranty for $99, which covers accidental breakage. How exactly is that so expensive for a high end fragile portable device?
And *nothing* annoys me more than their "Sent from my iFad" appended to e-mail messages. So long, commercial-free e-mail.
That's an adjustable setting in mail. Settings app -> Mail -> Signature.
Maybe Apple products do offer plenty of adjustability and you just don't know how.
It's wonderful not to be forced to use side-effects to express just about everything you write, as in Pascal, C, and the like. But it's crippling not to be able to use them when they're the point of your whole algorithm.
I'm not sure if I can think of what an I/O algorithm that isn't very low level would even be. But I agree that Haskell is a terrible choice for programs that aren't mainly about side-effects.
Get stuff do something complex put stuff = Haskell
complex get stuff dos something simple complex put stuff = Haskell is a terrible choice.
Languages like Lisp and Scheme and Caml and ML and OCAML, on the other hand. are called 'functional' even though they are quite free in allowing side effects. They even have variables whose values can change in time! But they are still considered functional because they don't force you to use side effects as frequently as breathing. YOu can code in a functional style if you wish. Most users end up doing that most of the time because it's clear and easy. But when you do, they're thre as part of the toolkit.
I agree you can write functionally styled code. Scala seems to be the big recent winner. I program quite functionally in Perl. But IMHO the advantage of purity is you don't end up with 95% side effect free code blocks. When I want to make a change to something like the I/O handling of even a very functional Perl program I have to read every line of code.
And as for web design? Isn't the OCAML website is programmed in OCAML?
Yeah but that doesn't mean much:
http://happstack.com/index.html
I meant 2 to 3.5 orders of magnitude. We aren't disagreeing.
That's mainly because version 6 has taken so long. Perl 6 is not backwards compatible.
As an aside there were some minor problems moving from 4 to 5. I caught the tail end of that.
He said 3 or 4 orders of magnitude, that's a casual way of talking about log base 10. I.E. his statement translates to 1000-10000 times slower, not 3 times slower. I actually assume it is more like 2 to 3.5.
See the comments above about automatic syntax correction, type verification, argument checking....
I said "ideas from Haskell"...
Thank you for the spelling correction on Gofer! I thought Gopher was wrong. As for lazy data structures I agree Haskell didn't invent them, they go back to LISP. Haskell popularized them and is the reason we are starting to see them in more mainstream languages.
I get that using something like void* bypasses the safety of the IDE. The difference is that in a dynamic language the problems with void* are the norm not the exception.
As for your point about debugger vs. static code analysis... Yes I was responding to the original poster. I agree with the differences you are citing and in that limited sense dynamic languages often offer better debuggers because removing debugging code is unlikely to create new bugs.
Point well taken about the space in JavaScript. Though in all fairness Netscape/Sun created the confusion by renaming LiveScript as part of their whole Java and browsers as a replacement for desktops.
As for a PHP IDE that is great, great compared to the static IDE's like Visual Studio, XCode...? Which ones? Your comment below makes me think you don't get the static advantages:
Dynamic typing doesn't really impact a debugger
I don't think you get how static language debugging works. If I have a function f, and a call like f(a,b) the debugger can't do much. In many of the dynamic languages it can't even check that I have the right number of arguments. In a static language the entire call is checked for consistency of type.
If I use the type system effectively with data objects that are highly specific so something like:
a is of type "glassesShoppingCode"
b is of type "lensSize"
and
f:: glassesShoppingCode -> lensSize -> List of frames that will fit that lens meeting shopping code criteria
you start to get substantial debugging advantages. If your function calls pass the debugger they often do exactly what you wanted.
No he didn't as VGPowerlord mentioned.
But even if he had, Java failures in the browser had nothing to do with conversion tools. There were no browser based apps to convert.
That's part of the problem. No one is quite sure what the proper analogies are. Komodo (Perl GUI) about a decade ago started in the right direction. I wish it had been more popular.
Point well taken about Smalltalk,. I'd agree that Smalltalk was a huge innovator on IDE/Debuggers. In general too many things resolve runtime for debugging in the classic sense to work well. So I give the static languages the credit for GUI/Debugger.
That being said there is no static language (except possibly Haskell) I'd rather write in that Smalltalk.
Some level of debugging exists and there are semi-GUIs. But the kind of integrated syntax checking, debugging, IDE that exists for static languages don't exist for any dynamic languages. No one has figured out how to make them.
But things like Haskell were around too in that time and have never really caught on.
Huh? When Haskell came out it was a replacement to Gopher, a language not even terribly popular with the functional community. Haskell is now by far the #2 most popular functional language, passing even languages like Mathematica. Haskell has become the primary language of compiler design with ideas from Haskell leaking into most compilers including most importantly the Visual Studio compilers. Ideas from Haskell have led to whole new classes of languages like Scala and Clojure. Ideas like lazy data structures are become standard approaches in many languages.
Further Haskell has completely altered the entire way people think of functional programming. Monadic methods are now standard in most functional languages.
In what sense is Haskell not a huge success? Sure it isn't the mainstream language of choice, but then again a language that isn't good with interactive I/O is going to be unsuited for most day to day programming problems.
I'm hoping you are being sarcastic with Java failed? Java went quickly to becoming the most popular language. I can accuse Java of lots of bad stuff. Failing to win market share ain't one of them.
I don't see any evidence that's the case. The whole debugger / IDE culture was built around a small subset of languages; essentially Algol syntax with static typing like C++, C#, Objective-C Java and Visual Basic.
On the other hand the major languages that have become popular in the last 15 years are often dynamically typed: Perl, Python, Ruby, PHP, Java Script. They don't have good debugger / IDE's as the technology doesn't exist yet.
Certainly the wealth of wonderful debuggers has helped the static languages. But they aren't a necessary condition.
the website has been stagnant for a decade.
Huh? In 2002 Larry Sanger was still running wikipedia and it was mainly a testbed to get articles ready for nupedia. It wasn't even using the current software and around a decade ago had under 1% of the articles it does today.
I bought it on CD and DVD several times getting updates and installing it on my laptop. I stopped when I no longer was ever checking it because everything I was looking up that wasn't on wikipedia wasn't on Brittanica either.
Notwithstanding the fact that printing and distribution of the hardcopy was only a very small fraction of the total cost.
Where are you getting that from? 30 volumes hardbound, often imitation leather bound, with good stitching. 2000 pages each with paper designed to hold up to many repeated readings. That ain't a small fraction of the total cost.
Interesting post.
However, I'm going with the cliche and saying it was Wikipedia. Encarta damaged the revenue stream. But with Encarta Encyclopedia Britannica was still widely hailed as by far the most comprehensive encyclopedia with the longest and best articles. It was Wikipedia that changed that by becoming equally large and then twice and then 20x and now more like 100x the size of Britannica. Wikipedia as this point has better articles on most subjects than specialized encyclopedias. And had the deletionists not seized control in 2007, Wikipedia would probably be at least an order of magnitude larger than it is.
Britannica could, until Wikipedia, have moved to a different model. Say for example bundling an entire information service that was sold by subscription, that was available on cell phones, that was included in all schools and libraries. What they couldn't do if find any reason to get huge amounts of money once something that was better in most respects was free.
Britannica has competed with cheaper encyclopedias before, like World Book and beat them. Heck they themselves owned Comptons.
So, fascinating opinion but I stick with the cliche.
Lets say retarded for now.
1) Velocity is irrelevant. The acceleration is getting from a standstill to the velocity. The factor would be something like .9c in .01sec is 90c / s^2.
2) I compared acceleration to gravity. And that's the main finding of general relativity, that you can interchange between the two. Gravity doesn't just feel like accelerated it is relative to curved space time accelerated motion.
3) You forgot you had it happening in .01 seconds. You have to multiple by 100. And this BTW is why .01 seconds is relevant. If you had this take place over a decade then the force would be equivalent to earth's gravity, not what's experienced by matter inside a large star.
4) No, wrong wrong wrong. Uniform velocity doesn't create any effect. Uniform acceleration most certainly does. All the fusion in the universe comes from the effects
Kinematics addresses the geometry of motion without consideration of cause i.e. the energy equations you are citing aren't even part of kinematics. What I think you mean is kinetics, not kinematics.
Second the equation you are using doesn't work at speeds close to the speed of light, it breaks down, because relativistic mass increases. .9c is 230kg, (the gamma factor). For another you are forgetting this was a ship, the energy isn't external you have to integrate
For one thing you are switching frames, relative to the stationary observer the relativistic mass of the 100kg person going at
But even assuming the equation were correct, you forgot to square the speed:
1/2 * 100 kg * (270m / sec)^2 = 3.645 10^18J which is over twice the total energy of a 9.0 earthquake.
I understand what you were doing. You are defending in this comment, using my numbering, point (1) not point (2).
The main problem with your post is "You fail at relativity. Just because we haven't observed it yet, doesn't mean it hasn't happened."
That has nothing to do with relativity. What relativity talks about is that there is not universal agreement on "what has happened yet". In fact the point of your post does better without the complexity of relativity. Relativity throws it off, because what you were saying is no longer true. What you really wanted was something like Galileo's model of space/time or Lorentz's not Einstein's, because what you really wanted to say was that we backdate our observations taking into account travel time. Which is something people did long before relativity.
I understood that. I was just commenting that you want to be careful about those things when being critical of others.
To be honest when I first estimated in my head, I had thought you would form a black hole. I was shocked when I did the calculation it was slow enough that subatomic structures would remain intact.