If what you want to do is build java apps and database applications then go to college and learn those skills instead of all of the theory involved in a CS degree.
Excuse me, but Java is just a language. As is C, as is Perl, as is Lisp. As is English. You can express and develop theory in any language. You can write grand poetry as well as rank obscenity, in any language.
I agree with your point 100%, but Java has nothing to do with it.
Quite right. The complexity of C/C++ is a "feature" of the language, and should probably be taken into account when choosing the language(s) for a major project.
When did I say "developing" a new language. Learning a new one should not be too painful for a competent programmer. Especially if the "sort" of language is already known.
Going from one imperative language to another should not be a matter of more than a few days, for the basics, and a few weeks for fluency. Mastery is another matter, but again, good coders can grok new languages very quickly.
Going from an imperative language to a (first) functional once can indeed pose a problem for a few months, as it requires a change in the way one thinks. But this is exactly why all programmers should have a working knowledge of Lisp as well as C - to exercise those mental muscles which make one a flexible, portable, non-offshoreable asset.
Developing new languages is not what is required when developing an application of a known sort, that has been previously and successfully solved using existing languages. In other words, there's no need to develop a new language, only to learn an already existing one.
Project requirements often dictate the choice of language.
A developer who knows only one language is not a developer, but a one trick pony; a single-purpose tool that is easily replaced with a cheaper, off-shore alternative, for example.
Learning the syntax of a new language should not be a significant challenge to an experienced, talented developer. And, it is experienced, talented developers who should be sought for this project. People who know (language X) and can not adapt to new requirements are not likely to contribute anything innovative, new, or original.
All that said, I don't know Eiffel, nor the particular requirements of the Gnome desktop. If a more popular language fits the bill, great, that's the language that should be used. However, if Eiffel offers particular advantaged, through inherent features not forthcoming in something like C++ or Java, then guess what? A decent developer will eat a book or two over the course of a couple of weeks, and hit the ground running.
Of course, if you want *accurate* and *authoritative* information, rather than something any middle-schooler can toss together, you still have to subscribe.
It's burried in huge subterranean (submartian?) cavens. These are all interconnected. Then there's this huge nuclear reactor, which if turned on, will terraform the surface in less time than it would take the governor of California to suffocate in the present Martian atmosphere.
The US spent millions of dollars, developing a pen that would write in space, and the lo-tek Russians brought pencils.
Now, the Russians, the Chinese and whoever else is worried about US dominance of space, will send up low power nukes to fry US electronics, and cannisters packed with BB's, with small detonators to make them go really fast through US solar panels, those laser mirrors, and crew compartments.
And after a hundred years or so, someone will make a fortune on the cleanup.
Ladies and Gentlemen of the Slashdot community... Code in C.
If I could offer you only one tip for your future as programmers, C would be it. The long-term benefits of C have been proved by scientists, and academics, and professionals, and corporations all over the world, whereas the rest of my advice has no basis more reliable than a Microsoft marketing report. I will dispense this advice now.
Enjoy the power and beauty of simple command line tools. Oh never mind, you will not understand the benefits of vi, make, grep and gcc until you're working as a contractor, and that fancy environment you have at home isn't available. But trust me, in 5 years, you'll sit down in front of an expensive IDE, pore over the GUI menus and checkboxes, read the badly written two-inch-thick manual twice, and still not be able to write a program to say "Hello World!" You'll then recall in a way you can't grasp now, the importance of understanding how to get useful work done with the standard, simple tools.
Don't worry about not using the latest and greatest Microsoft tools or language; or worry, but know that worrying is as effective as watching all your carefully crafted code fail because a registry setting or dll you depend on was changed by the installation of some do-nothing program. The real troubles in your programming career are apt to be things that never crossed your worried mind; like a middle manager who wipes out the/opt directory thinking it to be "optional" while trying to make space for his porn collection, or a lethal bug in your fancy CASE tool.
Write one script every day to aid you.
csh!
Don't be reckless with other people's test procedures, don't put up with people who are reckless with yours.
Lint.
Don't waste time on hand-optimizing your code; sometimes you're elegant, sometimes you're a kludge... The optimizing compiler will do it better anyway, and in the end you'll have to maintain the source code - so keep it readable.
Remember the useful code snippets you receive, forget the cruft. If you succeed in putting together an elegant an efficient source "proverb" library, send it to me.
Keep a logbook of your programming efforts. Toss your core dumps.
Top.
Don't feel guilty about not following a particular development methodology completely. The most useful programs I've seen have been cobbled together ad hoc. Projects I've seen follow the Rational Unified Process, Extreme Programming or Aspect Oriented Programming methodologies to the letter, dies over budget and behind schedule.
Get comfortable with revision control.
Be kind to your O'Reilly books. You'll miss them when they're gone.
Maybe you'll become famous, maybe you won't, maybe you'll win the Turing, maybe you won't, maybe your codified soul will be ignored sight unseen, maybe you'll crank out the next Mosaic... Whatever you do, don't congratulate yourself too much or berate yourself either - the commercial success of your program depends more on the whims of lawyers and marketing drones than on the technical merits of your application or the effort you've put in. So does everybody else's.
Enjoy your home computer, use it every way you can... Don't just use it to hack away at code or to automate your bedroom lights or to run a website, it's the greatest tool for self-expression you'll ever own.
Learn... even if you have nowhere to do it but from a weblog forum. Read the responses, even if you don't agree with them. Do NOT read Ziff-Davis magazines, they will only make you feel like a long-haired, smelly zealot.
Get to know your kernel, you never know when you'll need to recompile it yourself. Be prudent about your patches, they are the best trace of development and the means most likely to keep you safe and relevant in the future.
Understand that CASE, GUI and other developer tools come and go, but for the precious few you should truly know. Work hard to bridge the gaps between convenience and uti
There is a privacy issue, though not in a very direct way, nor at the level of the individual.
Consider "economies of scale". If aggregate data shows that a majority of viewers react in a particular way to particular stimuli, the privacy of the minority is at risk. For example, if viewers are willing to sit through certain commercials, or tend to flip to a particular kind of show during commercials in their primary choice of program, this data is useful. Such data can then be used by the networks to tailor programming to reflect the bland tastes of the majority.
Because of anonymous, aggregate data collection, the minority of users who do not fit the mainstream mold stand to lose the content they want to access. They're at risk of being effectively slashdotted on a cultural level, through the practice of aggregate usage statistics.
Now, is a DDOS attack a violation of privacy? Not in strict terms, but denial of service is a violation. TV viewing and the choice of programming one watches, are private, personal matters. By allowing mass actions to shape "the market" to the point where I can not choose how I want to spend my private time, my privacy is violated - if you squint just right.
Can you imagine TV composed of nothing but Reality TV and Law & Order reruns? Oh... Wait... Nevermind...
But, can you imagine every show frequently showing "accidental" boob flashes?
If our mission planner's contractors don't know the difference between a plain and a plane (not to mention intermediate grammar), I not only fear for the future, but also suddenly have a whole new perspective on the Iraqi war.
You're applying common sense to something relating to the government. Stop it! Immediately!
The definition of "hacking", used by the RIAA and the Honorable Senator from the Disney Corporation, is the one you want to be using.
Put simply, "If I can see it, by any means I choose, it's mine! If you can see what's mine, even if I do nothing to secure it, you're a criminal just for looking!"
Trust me, it makes perfect sense when you don't actually think about anything but your own interests.
People living near nuclear (new-cue-laar) plants glow when you turn out the light, don't you know?
Really, to make nuclear power free (in technical terms) of that nasty waste, you need to use the same technology that would allow you to make mushroom clouds. This makes people^H^H^H^H^H^Hpoliticians all over the world very nervous.
Nevermind that it makes CEOs of major petroleum corporations fidgety.
And these retouched images are then released to the general public as "real". Right. And "Type R" stickers add 50 HP to any vehicle they're affixed to.
Not at all. Kids can easily use a PDA in school, right? And with their notes, and "advance copies" of the exams loaded into their PDA, they don't need to do math at all!
Back in *my* day, we were only allowed to bring in some beans on strings. And only the yuppies could affor that. The rest of us had to carry a bucket of dirt, and make little piles on our desks. And we were THANKFUL!
Have you any idea how hard it is to compute logarithms by counting grains of dirt?
Is there still a niche for calculators? I mean, between engineering computers, calculation programs, and PDAs with scientific calculators in software, dedicated calculators seem to be more and more on the wane.
Sure, I keep one on my desk, both at work and at home, for incidental calculations, but any "heavy lifting" is done via spreadsheet or a quickie program, or the likes of Mathematica if you're a real freak.
So, is there still a point to "scientific calculators" which seem to be becoming PDAs with specialized keyboards, less the address book, less the calendar, with the math software in firmware.
If what you want to do is build java apps and database applications then go to college and learn those skills instead of all of the theory involved in a CS degree.
Excuse me, but Java is just a language. As is C, as is Perl, as is Lisp. As is English. You can express and develop theory in any language. You can write grand poetry as well as rank obscenity, in any language.
I agree with your point 100%, but Java has nothing to do with it.
Nevermind the chemical-resistant super-germs people are breeding by trying to disinfect every single thing they could possibly touch.
Just wait until the new "Lysol with bleach" home enema kit hits the market.
Riiiight. Exactly the compassionate, conservative response one would expect.
It all depends on how you look at it.
You bastards!
Did they use the Diebold machines?
What does the US Constitution say about GW Bush being "elected" President in two countries at the same time?
BRAVO!
Quite right. The complexity of C/C++ is a "feature" of the language, and should probably be taken into account when choosing the language(s) for a major project.
When did I say "developing" a new language. Learning a new one should not be too painful for a competent programmer. Especially if the "sort" of language is already known.
Going from one imperative language to another should not be a matter of more than a few days, for the basics, and a few weeks for fluency. Mastery is another matter, but again, good coders can grok new languages very quickly.
Going from an imperative language to a (first) functional once can indeed pose a problem for a few months, as it requires a change in the way one thinks. But this is exactly why all programmers should have a working knowledge of Lisp as well as C - to exercise those mental muscles which make one a flexible, portable, non-offshoreable asset.
Developing new languages is not what is required when developing an application of a known sort, that has been previously and successfully solved using existing languages. In other words, there's no need to develop a new language, only to learn an already existing one.
Project requirements often dictate the choice of language.
A developer who knows only one language is not a developer, but a one trick pony; a single-purpose tool that is easily replaced with a cheaper, off-shore alternative, for example.
Learning the syntax of a new language should not be a significant challenge to an experienced, talented developer. And, it is experienced, talented developers who should be sought for this project. People who know (language X) and can not adapt to new requirements are not likely to contribute anything innovative, new, or original.
All that said, I don't know Eiffel, nor the particular requirements of the Gnome desktop. If a more popular language fits the bill, great, that's the language that should be used. However, if Eiffel offers particular advantaged, through inherent features not forthcoming in something like C++ or Java, then guess what? A decent developer will eat a book or two over the course of a couple of weeks, and hit the ground running.
Because everything that's on TV/in books, is TRUE.
Certainly, it is a possibility to keep in mind, but let's not toss the idea aside because a work of ficition argues against it.
Of course, if you want *accurate* and *authoritative* information, rather than something any middle-schooler can toss together, you still have to subscribe.
It's burried in huge subterranean (submartian?) cavens. These are all interconnected. Then there's this huge nuclear reactor, which if turned on, will terraform the surface in less time than it would take the governor of California to suffocate in the present Martian atmosphere.
The US spent millions of dollars, developing a pen that would write in space, and the lo-tek Russians brought pencils.
Now, the Russians, the Chinese and whoever else is worried about US dominance of space, will send up low power nukes to fry US electronics, and cannisters packed with BB's, with small detonators to make them go really fast through US solar panels, those laser mirrors, and crew compartments.
And after a hundred years or so, someone will make a fortune on the cleanup.
Ladies and Gentlemen of the Slashdot community... Code in C.
/opt directory thinking it to be "optional" while trying to make space for his porn collection, or a lethal bug in your fancy CASE tool.
If I could offer you only one tip for your future as programmers, C would be it. The long-term benefits of C have been proved by scientists, and academics, and professionals, and corporations all over the world, whereas the rest of my advice has no basis more reliable than a Microsoft marketing report. I will dispense this advice now.
Enjoy the power and beauty of simple command line tools. Oh never mind, you will not understand the benefits of vi, make, grep and gcc until you're working as a contractor, and that fancy environment you have at home isn't available. But trust me, in 5 years, you'll sit down in front of an expensive IDE, pore over the GUI menus and checkboxes, read the badly written two-inch-thick manual twice, and still not be able to write a program to say "Hello World!" You'll then recall in a way you can't grasp now, the importance of understanding how to get useful work done with the standard, simple tools.
Don't worry about not using the latest and greatest Microsoft tools or language; or worry, but know that worrying is as effective as watching all your carefully crafted code fail because a registry setting or dll you depend on was changed by the installation of some do-nothing program. The real troubles in your programming career are apt to be things that never crossed your worried mind; like a middle manager who wipes out the
Write one script every day to aid you.
csh!
Don't be reckless with other people's test procedures, don't put up with people who are reckless with yours.
Lint.
Don't waste time on hand-optimizing your code; sometimes you're elegant, sometimes you're a kludge... The optimizing compiler will do it better anyway, and in the end you'll have to maintain the source code - so keep it readable.
Remember the useful code snippets you receive, forget the cruft. If you succeed in putting together an elegant an efficient source "proverb" library, send it to me.
Keep a logbook of your programming efforts. Toss your core dumps.
Top.
Don't feel guilty about not following a particular development methodology completely. The most useful programs I've seen have been cobbled together ad hoc. Projects I've seen follow the Rational Unified Process, Extreme Programming or Aspect Oriented Programming methodologies to the letter, dies over budget and behind schedule.
Get comfortable with revision control.
Be kind to your O'Reilly books. You'll miss them when they're gone.
Maybe you'll become famous, maybe you won't, maybe you'll win the Turing, maybe you won't, maybe your codified soul will be ignored sight unseen, maybe you'll crank out the next Mosaic... Whatever you do, don't congratulate yourself too much or berate yourself either - the commercial success of your program depends more on the whims of lawyers and marketing drones than on the technical merits of your application or the effort you've put in. So does everybody else's.
Enjoy your home computer, use it every way you can... Don't just use it to hack away at code or to automate your bedroom lights or to run a website, it's the greatest tool for self-expression you'll ever own.
Learn... even if you have nowhere to do it but from a weblog forum. Read the responses, even if you don't agree with them. Do NOT read Ziff-Davis magazines, they will only make you feel like a long-haired, smelly zealot.
Get to know your kernel, you never know when you'll need to recompile it yourself. Be prudent about your patches, they are the best trace of development and the means most likely to keep you safe and relevant in the future.
Understand that CASE, GUI and other developer tools come and go, but for the precious few you should truly know. Work hard to bridge the gaps between convenience and uti
There is a privacy issue, though not in a very direct way, nor at the level of the individual.
Consider "economies of scale". If aggregate data shows that a majority of viewers react in a particular way to particular stimuli, the privacy of the minority is at risk. For example, if viewers are willing to sit through certain commercials, or tend to flip to a particular kind of show during commercials in their primary choice of program, this data is useful. Such data can then be used by the networks to tailor programming to reflect the bland tastes of the majority.
Because of anonymous, aggregate data collection, the minority of users who do not fit the mainstream mold stand to lose the content they want to access. They're at risk of being effectively slashdotted on a cultural level, through the practice of aggregate usage statistics.
Now, is a DDOS attack a violation of privacy? Not in strict terms, but denial of service is a violation. TV viewing and the choice of programming one watches, are private, personal matters. By allowing mass actions to shape "the market" to the point where I can not choose how I want to spend my private time, my privacy is violated - if you squint just right.
Can you imagine TV composed of nothing but Reality TV and Law & Order reruns? Oh... Wait... Nevermind...
But, can you imagine every show frequently showing "accidental" boob flashes?
If our mission planner's contractors don't know the difference between a plain and a plane (not to mention intermediate grammar), I not only fear for the future, but also suddenly have a whole new perspective on the Iraqi war.
You're applying common sense to something relating to the government. Stop it! Immediately!
The definition of "hacking", used by the RIAA and the Honorable Senator from the Disney Corporation, is the one you want to be using.
Put simply, "If I can see it, by any means I choose, it's mine! If you can see what's mine, even if I do nothing to secure it, you're a criminal just for looking!"
Trust me, it makes perfect sense when you don't actually think about anything but your own interests.
It seems his webserver has even less horsepower than that Tatra.
The Patriot Act also says that hacking is an act of domestic terrorism.
Oh, the conundrum!
Yes. FUD.
People living near nuclear (new-cue-laar) plants glow when you turn out the light, don't you know?
Really, to make nuclear power free (in technical terms) of that nasty waste, you need to use the same technology that would allow you to make mushroom clouds. This makes people^H^H^H^H^H^Hpoliticians all over the world very nervous.
Nevermind that it makes CEOs of major petroleum corporations fidgety.
And these retouched images are then released to the general public as "real". Right. And "Type R" stickers add 50 HP to any vehicle they're affixed to.
Not at all. Kids can easily use a PDA in school, right? And with their notes, and "advance copies" of the exams loaded into their PDA, they don't need to do math at all!
Back in *my* day, we were only allowed to bring in some beans on strings. And only the yuppies could affor that. The rest of us had to carry a bucket of dirt, and make little piles on our desks. And we were THANKFUL!
Have you any idea how hard it is to compute logarithms by counting grains of dirt?
Kids these days! Sheesh!
Is there still a niche for calculators? I mean, between engineering computers, calculation programs, and PDAs with scientific calculators in software, dedicated calculators seem to be more and more on the wane.
Sure, I keep one on my desk, both at work and at home, for incidental calculations, but any "heavy lifting" is done via spreadsheet or a quickie program, or the likes of Mathematica if you're a real freak.
So, is there still a point to "scientific calculators" which seem to be becoming PDAs with specialized keyboards, less the address book, less the calendar, with the math software in firmware.