Well, STL (and using C++ templates for containers in general) will always introduce some bloat. Every time you use vector<T> with a different type T, the compiler essentially creates a new copy of the vector code that only handles T.
In current versions of Java you have less code bloat (since there is just one instance of the vector code), but you pay for that with worse performance (you have to cast things into and out of Objectcontainers), and less static checking (the compiler can't ensure that you're only placing Ts in the container).
You can use GRUB with many OSs, not just HURD. I'm using it with Linux right now. Much better than LILO since it can actually read ext2 and other filesystems and find the kernel and its configuration file using a path name, without hardcoding block numbers in it.
Which also means that you don't have to put up with LILO messing up your system every now and then, or having to run 'lilo' every time you install a new kernel or want to change something in the boot configuration.
Uhm, hello? There is no Tandem to kill. Tandem has been acquired by Compaq more than
four years ago Of course Compaq managed to f@&k this up just as they did with Digital shortly afterwards.
Intel has lots of sysadmins, and it's their job to "verify that people are following the password policy". That's like saying that it's OK for you to put microphones and cameras in your neighbor's
house, to "verify" that he's not breaking the law, even after he noticed you doing that and told you to stop.
Just because this was Randal Schwartz and not Random J. Hacker, people invent all these silly excuses. Yes, he probably meant no harm, and it was just an exercise in ego, but no, he shouldn't get away with it just because he is somebody. (Notice that after all, he only got a suspended sentence, and the obligation to notify all his future employers of his conviction, which is just as well IMO).
What we plan on doing is rewriting a module at a time and then doing extensive testing on that module.
An even better way to go (a.k.a. extreme programming) would be to write the "extensive tests" first. This way you can uncover problems in your design before you start messing with the original code. Besides, having the tests available from the beginning makes
it much easier to ensure that your changes don't mess up the intended functionality.
One reason for this is that gcc can't simply check the first few bytes (the 'magic' header) of a file to decide what to do with it.
For instance lots of C/C++/Java files begin with a huge comment, and gcc would have to read arbitrarily far into the file to determine if it's C, C++, Java or what not.
Has anybody else noticed that the author, while talking about Finland and its contribution to Linux,
only colors Sweden as 'red' in his map, and leaves
Finland blank?!?
Oh well, Americans and geography don't mix apparently!
If it's in compliance with the GPL (source code re-released) then there is no reason why you
can't make a Windows 32 port of debian.
Sure, but why do you expect Debian as a project to support your port (connectivity, disk space, developer time)?
If they want to start their own distribution, it's their right to do it using their own resources, if they want to do this under the umbrella of Debian, they'll have to get the approval of debian developers (and RMS will soon be one!)
Hehe, I submitted that as an RFE in their bugzilla system (#10450)
and their reply was: "Feature bloat". In every damn text-based MUA you can do 's-ENTER' and be prompted to save the message to a mailbox (e.g. by sender).
Not to mention that you can't access regular mbox files without 'importing' them.
How do they suppose that mutt/pine/elm users are going to migrate to evolution if they regard basic stuff like these as 'feature bloat' (while displaying HTML spam in all its glory isn't) ?
Backus wouldn't classify any of the languages you mentioned (ML, Haskell...) as functional,
but rather as "applicative", since they're all derivatives of the lambda calculus
A quarter of a century (almost) after that Turing award paper, I'm not
sure anyone has written any non-toy program in Backus's FP. People like naming their function arguments!
Careful there, "von Neumann" is a term that applies to computer architectures, not programming languages. (AFAIK there weren't many programming
languages when
John von Neumann was around)
The distinction you're making is between imperative and functional or declarative languages.
You don't really need a virtual machine to run Java. If you
just use Java in its "C-like OO language with garbage collection" role, you can just use GCJ
(part of GCC).
Most of the Java 1.2 standard libraries are available for GCJ (but not AWT/Swing unfortunately)
P.S. Also, the converse is true: You don't have to code in Java to run programs in a JVM (see languages for the Java VM for a list of languages that can be
compiled into Java bytecode)
Re:Functional languages and parentheses
on
Apocalypse 3
·
· Score: 1
Sure, being able to manipulate code as data is wonderful,
it's just not needed all the time. Also, the fact that you can
use other syntaxes, if you want to, does not mean much
(I know there are versions of Lisp with a C-like syntax; not many followers!)
This is the default syntax, 99% of the people
will use it, so 99% of other people's code will use it,
and 99% of the people won't like your code if you use
something else.
Re:Functional languages and parentheses
on
Apocalypse 3
·
· Score: 1
f(0) + f(1) is fine for me too. What some people (me included!) can't get their heads around is writing the
above as:
(+ (f 0) (f 1))
which is what you have to do in most versions of Lisp (I think)
Check out this article for some political background on Netbeans vs. Eclipse. Does not go into technical details unfortunately.
In current versions of Java you have less code bloat (since there is just one instance of the vector code), but you pay for that with worse performance (you have to cast things into and out of Objectcontainers), and less static checking (the compiler can't ensure that you're only placing Ts in the container).
MATLAB and ORACLE have been in development for so long that I'd bet that most of that "C++" is age-old C code that nobody understands any more.
Which also means that you don't have to put up with LILO messing up your system every now and then, or having to run 'lilo' every time you install a new kernel or want to change something in the boot configuration.
Uhm, hello? There is no Tandem to kill. Tandem has been acquired by Compaq more than four years ago Of course Compaq managed to f@&k this up just as they did with Digital shortly afterwards.
Oh, the conspiracy theories!
Just because this was Randal Schwartz and not Random J. Hacker, people invent all these silly excuses. Yes, he probably meant no harm, and it was just an exercise in ego, but no, he shouldn't get away with it just because he is somebody. (Notice that after all, he only got a suspended sentence, and the obligation to notify all his future employers of his conviction, which is just as well IMO).
Maybe that turned out to be a good short-term business decision, but, boy, did he alienate a lot of people (including Motorola) with this...
An even better way to go (a.k.a. extreme programming) would be to write the "extensive tests" first. This way you can uncover problems in your design before you start messing with the original code. Besides, having the tests available from the beginning makes it much easier to ensure that your changes don't mess up the intended functionality.
Write tests first!
Because after all these years people still think that programming in a language without array bounds checking is so damn expensive.
For instance lots of C/C++/Java files begin with a huge comment, and gcc would have to read arbitrarily far into the file to determine if it's C, C++, Java or what not.
Oh well, Americans and geography don't mix apparently!
Call from a payphone, that should baffle their evil plans.
Sure, but why do you expect Debian as a project to support your port (connectivity, disk space, developer time)?
If they want to start their own distribution, it's their right to do it using their own resources, if they want to do this under the umbrella of Debian, they'll have to get the approval of debian developers (and RMS will soon be one!)
How do they suppose that mutt/pine/elm users are going to migrate to evolution if they regard basic stuff like these as 'feature bloat' (while displaying HTML spam in all its glory isn't) ?
Still, if you have to use Windows, get the Cygwin command line tools too; they make your life much easier.
Could it be...
Power?
Just setting both views into their proper perspective. Don't fool yourselves, it will be an exercise in power, either way.
A quarter of a century (almost) after that Turing award paper, I'm not sure anyone has written any non-toy program in Backus's FP. People like naming their function arguments!
The distinction you're making is between imperative and functional or declarative languages.
Most of the Java 1.2 standard libraries are available for GCJ (but not AWT/Swing unfortunately)
P.S. Also, the converse is true: You don't have to code in Java to run programs in a JVM (see languages for the Java VM for a list of languages that can be compiled into Java bytecode)
People call it the "user/kernel interface", or just "system calls".
You're confusing Asia minor (peninsula in the Mediterranean, part of Turkey, not many camels) with Central Asia there...
He's not dead! He's resting!
This is the default syntax, 99% of the people will use it, so 99% of other people's code will use it, and 99% of the people won't like your code if you use something else.
(+ (f 0) (f 1)) which is what you have to do in most versions of Lisp (I think)