This where we disagree. I don't think ANY program should be "a million lines of code".
If any single "build" is that large it means you're not developing software properly and have to learn to refactor code.
As for "100s of developers" that has nothing todo with any of the languages. You can use a CVS for Java just as easily for C# or C.
Writing in C isn't always about "getting the fastest program." In my case C is a very easy language. The syntax is easy to describe and the standard C functions are consistent [for the most part].
The fact that C programs build out of the box on things like embedded targets is a plus.
Besides there are many cases where a desktop OS makes sense...
1. You don't have net access. 2. You don't have fast net access 3. You're in a place that doesn't have net access. 4. Access to the net has been blocked or denied. 5. You can't access resources on the net. 6. You don't have money for net access.
And last but not least
7. You don't have net access.
I've taken my laptop all over the place and there are quite a few times where I'm "disconnected". either because there IS not net or because I don't want to pay 15 euros for an hours worth of net....
Having a local copy of the CVS on my laptop has kept me busy on travel more than once and is a plenty nice feature.
Um the fact that my software is used in things you can buy at BestBuy [hint: routers and voip boxes from Linksys, and anything that uses MatrixSSL e.g. some dlink equipment for instance] may hint otherwise.
What you people routinely fail to acknowledge is you can have a built up library of handy functions in C just like your classes in Java/C++/etc.
I don't sit around all day re-writing AES over and over and over... I just use the code from my library, I don't re-write bignum multiplications, I just use the code, etc, etc, etc.
The fact that you can't comprehend the simplest of build instructions [e.g. how to compile/link] shows you really don't understand the basics of how an OS works.
Even your beloved Java/C# programs go through some level of linking [e.g. importing classes and then compiling against it].
I'm not saying Java/C# are bad. I'm saying they're not improvements over C. There is a difference
The point is VB isn't that great. Over C it gave people the desire to quickly write very inefficient programs. Neither VB nor C# have any significant technical advantages over C that make writing a variety of programs people use every day any "easier".
And you're right though, newer cpus have been overhyped marketting flops. P4 is a good example and quite a few of the K7 cores were "hotter than the sun".
Though the theme of my rant today was "what is Microsoft doing to get me to buy Vista".
To be fair I haven't really used MacOS that much. I had a Mac Mini for about 27 hours before I returned it [tried to Gentoo it, gentoo built fine but yaboot screwed it up and I couldn't recover it].
The point is people like Microsoft invest money in the stupidest of things [e.g. animated recycle bin, alphablending WM, etc.] and then totally skip over essentials like a good shell or automator...
Dunno about you but I can manage files faster with a shell + scripting then with a gui.
Ok let's do a simple test. You have 500 files in a directory and you want to replace SMG with TSF in the file names. You use the GUI and I'll use a 80 character shell script...;-)
Ok another test... you have 200 files and you want to move all the files that contain _testing_ somewhere in the file name. You use the GUI and I'll use...
So on and so on.
Though I agree having a Desktop around is nice [I use Gnome at home] but I think you're not giving Gnome enough credit. It works fine on my two desktops here and my laptop for that matter.
Yeah, it would be nice to trim some stuff out of it [name evolution] but it isn't that bad. KDE certainly is far worse though with 512M of ram it's comfortable [last I used it 5 months ago...].
Point taken. However, my point is they're feeding into "fad languages" instead of "tools to get work done".
For example, if VB was so great when they first started peddling it why are they now onto C#?
It's just more and more "let's not use standard tools so we can sucker people into endless support cycles and platform lockin". Granted mono exists but I imagine that won't happen again and look at the number of games [for instance] tied to DX instead of just using GL?
hash tables? you mean like writing your own hash library and then re-using it?
hash_add(table, "key", "value");
Wow that's hard.
Quick prototyping... um standard libraries.
Windowed applications... um glade + GTK
Database driven applications? libmysql?
Got any more complaints?
Again I totally agree that string manips are where C fails. If someone would write a public domain regex suite for C then that would be solved and you'd have no legit bitches.
ReiserFS and O(1) schedulers and IPv6 and... were not in UNIX 40 years ago. Heck ReiserFS is a relatively new addition. I recall using ext2/ext3 and having to "fix up" the drive after every unclean shutdown.
I have yet to lose a single file to a ReiserFS on a medium that still operates. Even through several blackouts [before I got my UPS] and other shutdowns [emergency and otherwise].
I think you just need to reflect on what is actually in the Linux kernel to realize it is nothing like UNIX of 40 years ago.
Sure the overall design (e.g. monolithic with a touch of micro going on) is similar but that's about it. Sure the userland is the similar [with many UI enhancements!] but why not? Do you know a better way to remove files? What does "rm" lack?... etc.
I think in the near future any OS improvements [e.g. new mm or FS or taskscheduler] will just find their way into Linux just like many new compiler breakthroughs find their way into GCC.
What Linux [and GCC in this case] give people is a well studied and tested framework to base new ideas on.
I dunno, I can express my thoughts in C just fine. Want a binary tree? Simple structure. Want to append to it? Write a function... use the function everywhere....
About the only thing C sucks at are string manipulations. It sucks that if I want todo
$a = s/blah(me|you)/foo/g; # etc....
I have to write regex parser [or link GPL software like the GNU regex]...
But for my crypto/math tasks C has been just fine. And as the author of a highly extensible crypto library I'd say it works fine if you know what you are doing.
I'm not saying C# is bad as a language [certainly you need to compile it to use it on embedded platforms which means you lose one of its supposed benefits] it's just doesn't enable you to do something you couldn't do before.
Gnome is getting a bit big [evolution being loaded is annoying] but you can always use icewm if you're totally strapped for memory.
That said I use Gnome [+redhat default bloat services] on a 256M box here at my work and it runs "decent". Evolution takes a while to load but I can compile/run things in a snap.
And frankly if you know how to use a shell you just need WM not a desktop anyways. icewm gives you multiple desktops, a taskbar, icon tray and the usual WM features all while sitting around 9-10M of memory.
um... you need the sort of help that can be personally dispensed with a 9mm "tool" aimed at the head.
I've been on "big people lans" and they generally suck. At nortel it was nothing to have regular "sludge" periods where you basically couldn't open/save anything and took the chance for a good walk around the campus [hey healthplan?].
Just because you have a "cisco box" in your cabinet doesn't mean your network is running properly.
Actually I have 2G of ram [four $55 512M boards] but that's because I also run a huge mysql database for a friend and let people use the box for research.
Nut the point is when I run "free" the thing sits at around 140M [without mysqld] with apache/sshd/fewothers/xorg/gnome/gaim/firefox/etc.
All loaded. If I was really strapped for memory I'd do builds by turning off xorg. something I can do in linux but not Windows.
Just sitting at the prompt in Linux the entire OS + services take about 30M of memory.
A typical GCC invokation takes 200M of memory [decent sized source + optimizations] 230M 256M.
What's wrong with C? If you know what you're doing it can be very useful and safe.
It's like a scalpel. If you don't know what you're doing you can cut yourself [or others] quite badly. But with training you can make precision cuts that are efficient [say minimal scarring] that get the job done.
Sure in C you can get buffer overflows, etc, etc but if you know what you're doing when you design the application [or library] those don't really come up.
And if you think about it, at some point people hav to know the lower level [assembly level for instance] stuff. If everyone on earth just "coded" in C# then you'd have nobody left to develop for say embedded platforms where you have trivial amounts of ram/processing power, etc...
I'm so sick of seeing these new languages that just exist solely for the sake of existing then become "the norm".
C for general purpose. Perl for string hacking. sh for shell tasks.
Can't get much easier than that. I can you one thing. If you know how the typical processor works [e.g. comfortable coding in assembler], how to use C properly and Perl you can make it a lot further than the typical "computer scientist" that only knows C#....
Um no, it's a "fuck off we route packets just fine" network.
We have all of 20 computers, a few servers and other appliances. Why do we need to shell out thousands for a dedicated cisco switch/router block when a 24-port switch we can pick up for cheap will work just fine and a 100$ linksys router will act as a gateway?
It's stupid yuppies like you that think you need to spend millions on a network just to route packets for a few dozen people...
Sure if you had 1000s of people you need something a bit more redundant... but less than that and you're wasting money...
My stats are better
/proc/driver/nvidia/cards/0
;-)
tom@tombox ~ $ uname -a
Linux tombox 2.6.12.2 #5 SMP Mon Jul 18 06:38:23 EDT 2005 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ AuthenticAMD GNU/Linux
tom@tombox ~ $ cat
Model: GeForce 6600
IRQ: 10
Video BIOS: ??.??.??.??.??
Card Type: PCI-E
:-)
Oddly enough nvidia-settings can read the BIOS version ok...
At anyrate the card works fine with ut2004-linux-amd64-bin [orwhatever it's called] which is fine with me
Tom
This where we disagree. I don't think ANY program should be "a million lines of code".
If any single "build" is that large it means you're not developing software properly and have to learn to refactor code.
As for "100s of developers" that has nothing todo with any of the languages. You can use a CVS for Java just as easily for C# or C.
Writing in C isn't always about "getting the fastest program." In my case C is a very easy language. The syntax is easy to describe and the standard C functions are consistent [for the most part].
The fact that C programs build out of the box on things like embedded targets is a plus.
Tom
How about "what I'm working on now"...
At least that's practical.
Besides there are many cases where a desktop OS makes sense...
1. You don't have net access.
2. You don't have fast net access
3. You're in a place that doesn't have net access.
4. Access to the net has been blocked or denied.
5. You can't access resources on the net.
6. You don't have money for net access.
And last but not least
7. You don't have net access.
I've taken my laptop all over the place and there are quite a few times where I'm "disconnected". either because there IS not net or because I don't want to pay 15 euros for an hours worth of net....
Having a local copy of the CVS on my laptop has kept me busy on travel more than once and is a plenty nice feature.
Tom
Not really. It's hard to tell zealots from trolls.
To my credit I did tell him to suicide early on in the thread.
tom
Um the fact that my software is used in things you can buy at BestBuy [hint: routers and voip boxes from Linksys, and anything that uses MatrixSSL e.g. some dlink equipment for instance] may hint otherwise.
... I just use the code from my library, I don't re-write bignum multiplications, I just use the code, etc, etc, etc.
What you people routinely fail to acknowledge is you can have a built up library of handy functions in C just like your classes in Java/C++/etc.
I don't sit around all day re-writing AES over and over and over
The fact that you can't comprehend the simplest of build instructions [e.g. how to compile/link] shows you really don't understand the basics of how an OS works.
Even your beloved Java/C# programs go through some level of linking [e.g. importing classes and then compiling against it].
I'm not saying Java/C# are bad. I'm saying they're not improvements over C. There is a difference
Tom
The point is VB isn't that great. Over C it gave people the desire to quickly write very inefficient programs. Neither VB nor C# have any significant technical advantages over C that make writing a variety of programs people use every day any "easier".
And you're right though, newer cpus have been overhyped marketting flops. P4 is a good example and quite a few of the K7 cores were "hotter than the sun".
Tom
um I've overclocked my 5200FX and played UT2k4 for an hour on it without so much as a video glitch.
What lockups are you talking about?
Tom
Ok I'll give you that one.
Though the theme of my rant today was "what is Microsoft doing to get me to buy Vista".
To be fair I haven't really used MacOS that much. I had a Mac Mini for about 27 hours before I returned it [tried to Gentoo it, gentoo built fine but yaboot screwed it up and I couldn't recover it].
The point is people like Microsoft invest money in the stupidest of things [e.g. animated recycle bin, alphablending WM, etc.] and then totally skip over essentials like a good shell or automator...
Tom
You mean like with nvidia cards [low-end ones which sell for less than a hundred dollars] ???
Is that what you meant? Is it? I really want to know what level of stupidity people like you seek to.
So am I close? Is that what you mean?
Tom
That's a lot of typing just to troll.
You sir, are amazing.
Tom
Automator? I haven't found anything that suggests that comes with Windows.
/tmp/tree/ 's/\_test/_release'
A default gentoo install includes bash + sed + userland which is all you need.
Frankly, If i was doing a lot of those sorts of moves I could write a shell script so I could do something like
move_ex src_file_pattern destination file_name_change
e.g..
move_ex *.c
I can do that for free, I don't have to download or install or buy addons...
Tom
Computer science has NOTHING to do with what language you express your ideas in.
And because you think that shows you don't truly understand what computer science is and therefor are reinforcing my point.
Computer science is about compilers and sorting, matching and transforming, storing and indexing, etc, etc.
It isn't about which generics operator is the best, or how "synergetic" the latest hyped up super language is.
Tom
Dunno about you but I can manage files faster with a shell + scripting then with a gui.
;-)
...
Ok let's do a simple test. You have 500 files in a directory and you want to replace SMG with TSF in the file names. You use the GUI and I'll use a 80 character shell script...
Ok another test... you have 200 files and you want to move all the files that contain _testing_ somewhere in the file name. You use the GUI and I'll use
So on and so on.
Though I agree having a Desktop around is nice [I use Gnome at home] but I think you're not giving Gnome enough credit. It works fine on my two desktops here and my laptop for that matter.
Yeah, it would be nice to trim some stuff out of it [name evolution] but it isn't that bad. KDE certainly is far worse though with 512M of ram it's comfortable [last I used it 5 months ago...].
Tom
Point taken. However, my point is they're feeding into "fad languages" instead of "tools to get work done".
For example, if VB was so great when they first started peddling it why are they now onto C#?
It's just more and more "let's not use standard tools so we can sucker people into endless support cycles and platform lockin". Granted mono exists but I imagine that won't happen again and look at the number of games [for instance] tied to DX instead of just using GL?
Tom
what?
file:///home/tom/myfile?
Oh that's so much easier than ~/myfile...
Tom
hash tables? you mean like writing your own hash library and then re-using it?
... um standard libraries.
... um glade + GTK
hash_add(table, "key", "value");
Wow that's hard.
Quick prototyping
Windowed applications
Database driven applications? libmysql?
Got any more complaints?
Again I totally agree that string manips are where C fails. If someone would write a public domain regex suite for C then that would be solved and you'd have no legit bitches.
Tom
Naive.
... were not in UNIX 40 years ago. Heck ReiserFS is a relatively new addition. I recall using ext2/ext3 and having to "fix up" the drive after every unclean shutdown.
... etc.
ReiserFS and O(1) schedulers and IPv6 and
I have yet to lose a single file to a ReiserFS on a medium that still operates. Even through several blackouts [before I got my UPS] and other shutdowns [emergency and otherwise].
I think you just need to reflect on what is actually in the Linux kernel to realize it is nothing like UNIX of 40 years ago.
Sure the overall design (e.g. monolithic with a touch of micro going on) is similar but that's about it. Sure the userland is the similar [with many UI enhancements!] but why not? Do you know a better way to remove files? What does "rm" lack?
I think in the near future any OS improvements [e.g. new mm or FS or taskscheduler] will just find their way into Linux just like many new compiler breakthroughs find their way into GCC.
What Linux [and GCC in this case] give people is a well studied and tested framework to base new ideas on.
Tom
Tom
Well if Microsoft didn't want to get the "piss ripped out of it" they should either
1. Shut the fuck up until release day.
2. Actually make REAL improvements in the OS.
Changing a GUI around or two and making everything alphablended doesn't constitute improvements in my playbook.
The OS still is not scalable [can you boot and use it properly from a TTY?]. It's still tied to "windowisms" e.g. drive letters and the like.
It's still lacking development features like multiple desktops, a proper shell, other tools [compiler?]
If an animated recycle bin made it above "make the shell not suck" in their TODO list then you know what their priorities are.
Tom
I dunno, I can express my thoughts in C just fine. Want a binary tree? Simple structure. Want to append to it? Write a function... use the function everywhere....
About the only thing C sucks at are string manipulations. It sucks that if I want todo
$a = s/blah(me|you)/foo/g; # etc....
I have to write regex parser [or link GPL software like the GNU regex]...
But for my crypto/math tasks C has been just fine. And as the author of a highly extensible crypto library I'd say it works fine if you know what you are doing.
I'm not saying C# is bad as a language [certainly you need to compile it to use it on embedded platforms which means you lose one of its supposed benefits] it's just doesn't enable you to do something you couldn't do before.
Tom
Gnome is getting a bit big [evolution being loaded is annoying] but you can always use icewm if you're totally strapped for memory.
That said I use Gnome [+redhat default bloat services] on a 256M box here at my work and it runs "decent". Evolution takes a while to load but I can compile/run things in a snap.
And frankly if you know how to use a shell you just need WM not a desktop anyways. icewm gives you multiple desktops, a taskbar, icon tray and the usual WM features all while sitting around 9-10M of memory.
Tom
um ... you need the sort of help that can be personally dispensed with a 9mm "tool" aimed at the head.
I've been on "big people lans" and they generally suck. At nortel it was nothing to have regular "sludge" periods where you basically couldn't open/save anything and took the chance for a good walk around the campus [hey healthplan?].
Just because you have a "cisco box" in your cabinet doesn't mean your network is running properly.
Tom
Actually I have 2G of ram [four $55 512M boards] but that's because I also run a huge mysql database for a friend and let people use the box for research.
.
Nut the point is when I run "free" the thing sits at around 140M [without mysqld] with apache/sshd/fewothers/xorg/gnome/gaim/firefox/etc
All loaded. If I was really strapped for memory I'd do builds by turning off xorg. something I can do in linux but not Windows.
Just sitting at the prompt in Linux the entire OS + services take about 30M of memory.
A typical GCC invokation takes 200M of memory [decent sized source + optimizations] 230M 256M.
I've read the reviews.
The winsite one for instance makes a point of discussing the "recycle bin animations"...
"recycle bin animations" + "requires 512M of ram to boot".
You do the math.
Tom
What's wrong with C? If you know what you're doing it can be very useful and safe.
It's like a scalpel. If you don't know what you're doing you can cut yourself [or others] quite badly. But with training you can make precision cuts that are efficient [say minimal scarring] that get the job done.
Sure in C you can get buffer overflows, etc, etc but if you know what you're doing when you design the application [or library] those don't really come up.
And if you think about it, at some point people hav to know the lower level [assembly level for instance] stuff. If everyone on earth just "coded" in C# then you'd have nobody left to develop for say embedded platforms where you have trivial amounts of ram/processing power, etc...
I'm so sick of seeing these new languages that just exist solely for the sake of existing then become "the norm".
C for general purpose.
Perl for string hacking.
sh for shell tasks.
Can't get much easier than that. I can you one thing. If you know how the typical processor works [e.g. comfortable coding in assembler], how to use C properly and Perl you can make it a lot further than the typical "computer scientist" that only knows C#....
Tom
Um no, it's a "fuck off we route packets just fine" network.
We have all of 20 computers, a few servers and other appliances. Why do we need to shell out thousands for a dedicated cisco switch/router block when a 24-port switch we can pick up for cheap will work just fine and a 100$ linksys router will act as a gateway?
It's stupid yuppies like you that think you need to spend millions on a network just to route packets for a few dozen people...
Sure if you had 1000s of people you need something a bit more redundant... but less than that and you're wasting money...
Tom