Re:Functional languages and parentheses
on
Apocalypse 3
·
· Score: 1
It's not easy at all... Particularly when some of the data structures we're teached in intro programming courses
don't work so well in this context (e.g. hashtables)
Hugs is an easy to setup interpreter, ghc is a good compiler, with an accompanying interpreter.haskell.org is a good place to start.
Now another difference between Haskell and usual
programming is that it's lazy, meaning that expressions
are only evaluated only as needed to produce the result
(think the behavior of && in C, applied to the whole
language). This is a rather cool feature, but it makes wrapping your head around haskell even more difficult,
because it's not easy to tell how a Haskell
program executes.You can also try a more traditional
strict functional language like Ocaml, for size!
Re:Functional languages and parentheses
on
Apocalypse 3
·
· Score: 0
You can say that "pure" functional languages don't have variables, but names, as in math. Or, if you prefer, that their
variables can only be assigned to (defined) once:-)
Re:Functional languages and parentheses
on
Apocalypse 3
·
· Score: 0
Just trying to appease the parenthesis hating crowd (Wait... I'm part of that!) Of course you can still write f(0) + f(1) if you think that's easier/clearer.
Functional languages and parentheses
on
Apocalypse 3
·
· Score: 2, Informative
Actually, not all functional languages use parentheses;
that's just Lisp & friends. In modern functional languages
like Haskell, you
end up using fewer parentheses (and other punctuation)
than in C, Python, or Perl.
For example, Haskell parses f 0 + f 1 as: f(0) + f(1) (In a less obvious way, it also parses f g x as f(g, x), but that's another story...)
And all the broadband providers that went under where exactly that: Required infrastructure that
"the internet needs"...
Didn't help them one bit!
Re:what's the difference?
on
VIM 6.0 is Out
·
· Score: 0
The solution is one of course: Make the incredibly
stupid CapsLock key into Ctrl! An easy thing
to do in X with xmodmap, slightly more complicated
in console.
W3C is a private (and self appointed) consortium, not a standards organization (cf. ISO, ANSI). As such it can only publish recommendations,
not standards.
Duh - executable size means nothing these days people!
What's 190k of disk space, when you got GBs of them? The space it takes in memory may mean
something, the space it takes in cache means a lot.
Comparing executable size for "hello world" is
NOT a meaningful benchmark. (And comparing code
produced by an IDE to handcrafted assembly is
rather low too).
What I'm saying is, that since you have
two caches, there is a better chance for
data that get into a cache to stay
there. For a more detailed explanation see
item 4.2.2 in
SGI's multiprocessor programming manual.
Don't forget that a dual processor system not
only has twice the CPUs (duh!), it also has
twice the cache memory of a single processor
system. So it is possible to get superlinear
speedups, simply because you have more high
speed memory, and a better cache hit ratio.
1. What does comparing BSD and Linux has to do, with comparing the BSD *license* with GPL?!?
2. Besides, as a for-profit concern, I don't think the MySQL people could choose a BSD license for their product. With the GPL, as the copyright holders they can still sell additional features and software under a different license, while "competitors" have to stick with the GPL and release code.
3. Having said all that, I must also say that PostgreSQL (BSD license or not) has *lots* more "real database" features than MySQL. If you're looking for a full-featured relational database, PostgreSQL is the way to go (Although for simple web based stuff, MySQL is a bit lighter and faster).
>And that was perfectly ok in your case, CmdrTaco. After all, you had to run the damn site during all that time.
...snip...
> Now I may be wrong, but the main job of the sourceforge guy is to maintain and develop the software, right?
So you think the sourceforge guys didn't have to maintain sourceforge.net? Get real...
And everybody: free vs. nonfree software is completely orthogonal with "cathedral" vs. "bazaar", no matter what ESR says.
A lot of successfull free software projects worked and work in a "cathedral" fashion, with stable or mostly semistable releases.
I think that at least for relatively new projects, having a small initial group of designers and developers leads to a much better design (think early versions of linux)
There are a lot of relevant quotations about design by committee, but I'll spare you...
Well, since the subject was OO in Perl, it *is* kinda hard to imagine doing OO without references, newbie or not, right?
I think this is part of the reason few people (AFAIK) write classes in Perl, for normal, everyday code (I'm not talking about reusable modules going to CPAN). Creating a (usable) new class is such a hassle...
The problem isn't perl's OO framework itself. The *real* problem is at a level below: references. Syntax for references in Perl was chosen to match the syntax for pointers in C/C++, with explicit referencing/dereferencing, which is too low level, for most of the stuff you want to do with Perl. Contrast this with the much cleaner syntax in Python/Java/almost all modern languages. Even "Perl luvers" admit that! Check the relevant section in Sins of Perl revisited> mentioning: "Doom and gloom" !
Hugs is an easy to setup interpreter, ghc is a good compiler, with an accompanying interpreter.haskell.org is a good place to start.
Now another difference between Haskell and usual programming is that it's lazy, meaning that expressions are only evaluated only as needed to produce the result (think the behavior of && in C, applied to the whole language). This is a rather cool feature, but it makes wrapping your head around haskell even more difficult, because it's not easy to tell how a Haskell program executes.You can also try a more traditional strict functional language like Ocaml, for size!
You can say that "pure" functional languages don't have variables, but names, as in math. Or, if you prefer, that their :-)
variables can only be assigned to (defined) once
Just trying to appease the parenthesis hating crowd (Wait... I'm part of that!) Of course you can still write f(0) + f(1) if you think that's easier/clearer.
For example, Haskell parses f 0 + f 1 as: f(0) + f(1) (In a less obvious way, it also parses f g x as f(g, x), but that's another story...)
What's nidump, BTW?
And all the broadband providers that went under where exactly that: Required infrastructure that
"the internet needs"...
Didn't help them one bit!
Just say no to pinky twisting!
W3C is a private (and self appointed) consortium, not a standards organization (cf. ISO, ANSI). As such it can only publish recommendations, not standards.
What's 190k of disk space, when you got GBs of them? The space it takes in memory may mean something, the space it takes in cache means a lot.
Comparing executable size for "hello world" is NOT a meaningful benchmark. (And comparing code produced by an IDE to handcrafted assembly is rather low too).
Actually, Amazon gets 15% plus $0.15 per transaction, so in a typical $1 tip, 30 cents go to Amazon...
What I'm saying is, that since you have two caches, there is a better chance for data that get into a cache to stay there. For a more detailed explanation see item 4.2.2 in SGI's multiprocessor programming manual.
Don't forget that a dual processor system not only has twice the CPUs (duh!), it also has twice the cache memory of a single processor system. So it is possible to get superlinear speedups, simply because you have more high speed memory, and a better cache hit ratio.
2. Besides, as a for-profit concern, I don't think the MySQL people could choose a BSD license for their product. With the GPL, as the copyright holders they can still sell additional features and software under a different license, while "competitors" have to stick with the GPL and release code.
3. Having said all that, I must also say that PostgreSQL (BSD license or not) has *lots* more "real database" features than MySQL. If you're looking for a full-featured relational database, PostgreSQL is the way to go (Although for simple web based stuff, MySQL is a bit lighter and faster).
Sorry for this display of ignorance, but what's a "dynamic" array?
Is that any different than e.g.
String sa[] = new String[10];
that Java already has?
> Now I may be wrong, but the main job of the sourceforge guy is to maintain and develop the software, right?
So you think the sourceforge guys didn't have to maintain sourceforge.net? Get real...
And everybody: free vs. nonfree software is completely orthogonal with "cathedral" vs. "bazaar", no matter what ESR says.
A lot of successfull free software projects worked and work in a "cathedral" fashion, with stable or mostly semistable releases.
I think that at least for relatively new projects, having a small initial group of designers and developers leads to a much better design (think early versions of linux)
There are a lot of relevant quotations about design by committee, but I'll spare you...
I think this is part of the reason few people (AFAIK) write classes in Perl, for normal, everyday code (I'm not talking about reusable modules going to CPAN). Creating a (usable) new class is such a hassle...
The problem isn't perl's OO framework itself. The *real* problem is at a level below: references. Syntax for references in Perl was chosen to match the syntax for pointers in C/C++, with explicit referencing/dereferencing, which is too low level, for most of the stuff you want to do with Perl. Contrast this with the much cleaner syntax in Python/Java/almost all modern languages. Even "Perl luvers" admit that! Check the relevant section in Sins of Perl revisited> mentioning: "Doom and gloom" !