This is totally not true. I build real programs that do real stuff in SML every day.
Thus, there's a MASSIVE performance loss when a functional programming language is executed on any of the existing processors.
This is also completely false. Optimizing high-level languages is often easier, because there is more semantic information to exploit (types, higher-order code). My SML programs typically run about 20% slower than a C counterpart, while being much shorter, more frequently correct, and more secure.
I'm not a big fan of C#, but I think we should let C die for application development. It just makes you write too much code, has questionable performance benefits, and is ripe with security problems.
I am excited about the CLI, though, because it means I will be able to write "native" code in any number of much better languages!
LCD screens help a lot for me. I have a window at work, though, so "full spectrum" lighting is free.
Also, go get your vision checked, I was surprised how much getting glasses helped, even though I am nearsighted---it makes it more comfortable to look at far-away things, which means that when I take a break, I'm not constantly looking downward or at walls in order to keep things in focus, and I'm giving my eyes a little rest.
They've been working on it since the beginning of the academic year, at least. I don't know if that counts as quickly, but they definitely did work hard on it. (My brother was up late into the night many times a week last semester!) Especially when it took a flip and destroyed a bunch of equipment days before the competition...
Try switching pens. I find my handwriting is much better when I use felt-tip or liquid ink ball-points on a soft surface (put some paper behind what you're writing on). That may not help you on a tablet PC, but it may help with your co-workers, at least. =)
Where did you hear that they have hundreds of terabytes?
It just smacks of unfairness, that's all.
Well, the complaining smacks of sour grapes, to me. Perhaps I am biased because I go to CMU and have friends that work on it, but I know that they have put a lot of work into this, and that insinuating that they are cheating and have it easy is really unfair to that intellectual and physical effort.
From what I understand, the "loophole" allows them to use 1m satellite imagery of the route and, in two hours, plan something for the robot to follow. The robot still has to see its way when it's going, to avoid ditches and rocks and other things--it needs to do "local" route planning at 35mph. Even if the route were totally pre-programmed, the problem of following that route would still be pretty hard over hundreds of miles. You can't just do "dead reckoning."
What about if they invade somewhere they don't have good maps of? Somewhere with a dynamic landscape (desert, rocks etc)?
This is in the desert, and they're doing it with only satellite imagery.
There's a huge amount of mechanical and software engineering in this thing. I think that someone must have exaggerated this "loophole" to you, because it is far from making the project easy (as far as I know, it doesn't help them in the quals at all). The robot is impressive!
Well, CMU was probably working pretty hard since their robot flipped and destroyed a bunch of equipment. But there is a post about successful qualification on monday.
You can do all stuff with any programming language, but it is really painful and verbose to do functional programming in Java. It's true that ML-style polymorphism is not the only kind, and, ok, Java now has some kinds of polymorphism, but its type system still really sucks!
Sure--and also you want a language that makes expressing those transformations easy. Algebraic data types and pattern matching are really convenient for tree-structured data (like parse trees or XML), and higher order functions help you abstract out operations (like mapping and folding) on the data structures. Writing functionally in C is very painful.
the primitive 'soundtracks' of early 1980s classics such as Donkey Kong or Mario Bros.,
The square quotes around soundtracks do these games disservice. Some of the early NES games have the most recognizable and lasting (and wonderful!) music that has ever appeared in any video game. What those guys could do with 2 square waves and a sawtooth wave amazes me to this day.
Regarding write-once variables: the reviewer makes it sounds as though this is some terrible burden or restriction that functional programmers must deal with. I offer the contrary point: immutable structures are an *invariant* that make programming much, much easier. Have you ever been in a situation where some other part of the code has an alias to something you're working with, and is modifying it when you don't want it to? Functional programming totally avoids that by having a language-enforced invariant of immutability.
That (along with all of the other features that functional languages typically have that languages like Java and C don't, like higher order nested lexically-scoped functions, polymorphism, algebraic data types and pattern matching, parameterized modules, tuple and sum types, etc.) is the reason to do functional programming. Of course, SML and O'Caml allow you to program imperatively too, since some activities are more naturally expressed that way.
I used to be a total C cowboy, and now I love functional programming. You can just do so much more great stuff with it.
IMO, mlton is a great compiler with which to start functional (SML) programming. The performance is incredibly good, it behaves like a real compiler from the command line, and it's free (GPL) software.
The command line tools are great for "macros" (scripting). Truthfully, I don't really know any graphical programs on linux that I'd want to script. So, emacs works great for me there---but I guess I deal mostly with text.
A 3D window manager is a dumb idea. Stop wasting money on it!
Yeah, I even go in there to make calls sometimes.
I guess this is a troll, but I can't resist:
Functional language are only good in theory.
This is totally not true. I build real programs that do real stuff in SML every day.
Thus, there's a MASSIVE performance loss when a functional programming language is executed on any of the existing processors.
This is also completely false. Optimizing high-level languages is often easier, because there is more semantic information to exploit (types, higher-order code). My SML programs typically run about 20% slower than a C counterpart, while being much shorter, more frequently correct, and more secure.
Yeah, but the germs on my desk come from my hands and nose, not other people's asses.
I'm not a big fan of C#, but I think we should let C die for application development. It just makes you write too much code, has questionable performance benefits, and is ripe with security problems.
I am excited about the CLI, though, because it means I will be able to write "native" code in any number of much better languages!
Man, this is like when they tell us to drink our own purified urine.
I, for one, will not use electricity with poo in it!
Holy shit, portals, P2P, B2C, IT whitepapers...? Are you sure you're at the right site??
LCD screens help a lot for me. I have a window at work, though, so "full spectrum" lighting is free.
Also, go get your vision checked, I was surprised how much getting glasses helped, even though I am nearsighted---it makes it more comfortable to look at far-away things, which means that when I take a break, I'm not constantly looking downward or at walls in order to keep things in focus, and I'm giving my eyes a little rest.
Yikes!
;)
One of the many reasons I prefer proofs -- once they're done they're not quite so fragile.
They've been working on it since the beginning of the academic year, at least. I don't know if that counts as quickly, but they definitely did work hard on it. (My brother was up late into the night many times a week last semester!) Especially when it took a flip and destroyed a bunch of equipment days before the competition...
Try switching pens. I find my handwriting is much better when I use felt-tip or liquid ink ball-points on a soft surface (put some paper behind what you're writing on). That may not help you on a tablet PC, but it may help with your co-workers, at least. =)
Don't support copyright holders who want you to consume under restricted circumstances. There is plenty of free music out there.
So they have hundreds of terabytes
Where did you hear that they have hundreds of terabytes?
It just smacks of unfairness, that's all.
Well, the complaining smacks of sour grapes, to me. Perhaps I am biased because I go to CMU and have friends that work on it, but I know that they have put a lot of work into this, and that insinuating that they are cheating and have it easy is really unfair to that intellectual and physical effort.
It is, but GPS doesn't tell you the location of rocks and ravines.
From what I understand, the "loophole" allows them to use 1m satellite imagery of the route and, in two hours, plan something for the robot to follow. The robot still has to see its way when it's going, to avoid ditches and rocks and other things--it needs to do "local" route planning at 35mph. Even if the route were totally pre-programmed, the problem of following that route would still be pretty hard over hundreds of miles. You can't just do "dead reckoning."
What about if they invade somewhere they don't have good maps of? Somewhere with a dynamic landscape (desert, rocks etc)?
This is in the desert, and they're doing it with only satellite imagery.
There's a huge amount of mechanical and software engineering in this thing. I think that someone must have exaggerated this "loophole" to you, because it is far from making the project easy (as far as I know, it doesn't help them in the quals at all). The robot is impressive!
Oops, you're right, I misread it. In any case, they are updating...
Well, CMU was probably working pretty hard since their robot flipped and destroyed a bunch of equipment. But there is a post about successful qualification on monday .
Do developers out there voice the need to store binaries?
Hell yes. There's often binary data in my projects, like graphics. cvs add -kb does work, but it doesn't work very well.
I've never felt a need for the other features listed. The main draw for me is that it can actually rename files and remove directories.
I'll use it as soon as sourceforge starts supporting it...
You can do all stuff with any programming language, but it is really painful and verbose to do functional programming in Java. It's true that ML-style polymorphism is not the only kind, and, ok, Java now has some kinds of polymorphism, but its type system still really sucks!
In the US it's usually pronounced "Oh Camel", since it comes from "Caml", which is pronounced like the animal.
Sure--and also you want a language that makes expressing those transformations easy. Algebraic data types and pattern matching are really convenient for tree-structured data (like parse trees or XML), and higher order functions help you abstract out operations (like mapping and folding) on the data structures. Writing functionally in C is very painful.
the primitive 'soundtracks' of early 1980s classics such as Donkey Kong or Mario Bros.,
The square quotes around soundtracks do these games disservice. Some of the early NES games have the most recognizable and lasting (and wonderful!) music that has ever appeared in any video game. What those guys could do with 2 square waves and a sawtooth wave amazes me to this day.
Regarding write-once variables: the reviewer makes it sounds as though this is some terrible burden or restriction that functional programmers must deal with. I offer the contrary point: immutable structures are an *invariant* that make programming much, much easier. Have you ever been in a situation where some other part of the code has an alias to something you're working with, and is modifying it when you don't want it to? Functional programming totally avoids that by having a language-enforced invariant of immutability.
That (along with all of the other features that functional languages typically have that languages like Java and C don't, like higher order nested lexically-scoped functions, polymorphism, algebraic data types and pattern matching, parameterized modules, tuple and sum types, etc.) is the reason to do functional programming. Of course, SML and O'Caml allow you to program imperatively too, since some activities are more naturally expressed that way.
I used to be a total C cowboy, and now I love functional programming. You can just do so much more great stuff with it.
IMO, mlton is a great compiler with which to start functional (SML) programming. The performance is incredibly good, it behaves like a real compiler from the command line, and it's free (GPL) software.
"Twin Galaxies referee Robert Mruczek watched the entire game on videotape before declaring the feat a new world record."
Oh my god, a huge video game nerd actually sat through five minutes of video tape before declaring a world record?!? Call the police!
The command line tools are great for "macros" (scripting). Truthfully, I don't really know any graphical programs on linux that I'd want to script. So, emacs works great for me there---but I guess I deal mostly with text.