People have been using IDE's as a reason for not learning proper software design.
This objection to IDEs is a popular one, and there's some truth to it: how many C++ developers recoil at the thought of poorly done, MsgBox-laden code thrown together by some guy who just bought himself a copy of Visual Basic and thinks he's a programmer now? I think this image leads us to condemn IDEs as whole. But really, IDEs are not the problem. The problem is that, no matter how simple the tool, programming problems still require some complexity of thought that no RAD tool can replace. The developer's mind still has to figure out what needs to be done and then figure out how to do it, and that's seldom a trivial task.
For some tasks, IDEs make life simpler. For others, they just get in the way of productivity. In both cases, it's more a question of "What's the right tool for this particular job?"
As it stands IDE's do not provide a software DESIGN tool, and therefore are a restraint to how well a piece of software ends up being produced.
Here I agree with you. In many cases, people use some flashy IDE to build a mock-up, which quickly gets turned into the real thing before anyone has had time to think about really making the program useful. But I haven't seen a CLI text editor that's a good software design tool, either. My favorite software design tool is an 8.5x11" (or A4 in a pinch) piece of paper and an erasable pen. To each his own.
IDE's make it too easy to lameify coding to the point where it has no plan, except the final product, which is not enough.
I agree that this is an area of IDEs that needs to improve: they still generate horrendous code! I try to find ones that make "less horrendous code," or at least what my opinion of less horrendous code is.
I'd be interested to see the results of that study--post 'em on/. when you're done!
You may produce and distribute, in executable form only, programs which you created
The problem is that this phrase could be interpreted in more than one way:
The only thing you're allowed to distribute is executables; or
You may choose (in addition to other options not specified here) to distribute the executable by itself; or
unDees is a big idiot and doesn't know what he's talking about.
The arguments seem to center on choosing one of the first two meanings. The one that makes the most sense to me is the second (though of course IANAL), and I think Borland or anyone else would be hard pressed to prosecute anyone following the clause to the letter and using the second interpretation.
So does this mean I can grab somebody's Amazon.com cookie, paste it into my own cookie file, and order stuff from Amazon using "One-click"
Well, yeah, but all the stuff will go to the poor sap whose cookies you stole. Hey, you could order him lots of pr0nography and stuff--let 'im explain that to his significant other.
To me, Metallica have always seemed to be champions of freedom of thought and action. Whether it was your intent or not, this lawsuit appears to put you on the side of the corporation--the record label--rather than on the individual's side.
Do you perceive a shift on your part? Does your audience seem to be made up of more of the record companies' "ideal" demographics now, rather than of the self-styled rebels and outcasts of the '80s?
If I were an English teacher (my fiancee is!), I'd return this thing with a huge "F" scrawled on it, and red marks all over! Moral issues aside, the wording is entirely unclear. They should write this document in English before asking a bunch of legislators to pass it.
All I could find in this nonsense (yes, I read it!) is the bit about how the licensor could reach into a non-conforming licensee's PC and twiddle some bits to break the software. That's bad enough.
But where's all this stuff about prohibiting reverse engineering? I think giving M-soft the ability to prevent someone from figuring out and plugging into their brain-dead protocols would be tragic. But where's this language in the bill? Somebody quote it for me!
Seriously, though. I don't give _my_ legislators credit for being able to make head or tail of this carefully crafted monstrosity. They'll just vote it in unless I call them and yell loudly enough. Someone tell me when Texas will be looking at this thing, and someone give me more ammo than "somewhere in there is a comment about reverse engineering," and let's stike a blow for common sense!
The new Aqua looks very pretty. Do we need that? I mean, I used to gag when Win95 would show cute little files flying around while doing routine system operations. Showing status is important, but I used to wonder how much faster the computer would be if it just did its job instead of trying to be cute.
I like the fact that Apple appears to be trying to reduce clutter and differentiate between controls using color (though that should _never_ be the only way to tell buttons apart, of course--I don't think "showing the symbols on mouse-over" is gonna cut it).
But why has there been a trend lately of making buttons "jump up" under the mouse cursor? Admittedly, in Aqua it's clear all along that they're buttons, but what about so-called "coolbars" in recent Win32 apps? Why do we have to guess what is or isn't a button and then waste time moving the mouse over it to see if it pops up? Maybe a graphics designer won a bet and the interface designer had to give in and make these braindead contraptions....
I want to see _new_ ideas in GUI, not just a rearrangement of the buttons!
How 'bout a dialog box that shows, in subtle grayscale or red/yellow/green shades, which controls still need data to be entered? The dialog could allow the user to submit the data anyway, depending on him to fill in the blanks later.
Move status information to a modeless, slightly bigger status bar! Make the detail level customizable!
These may be terrible ideas! They may be fantastic! Who's got some better ones? Post! Write software! Make money!
I am a student, not an industry worker, but at my department (Rice University) the idea that you must abstract and reuse code as much as possible is drilled into our heads pretty unrelentingly
It wasn't always that way, even at Rice. Even just a few years ago, during my sophomore year (1993-1994), they stressed abstraction quite a bit (algorithms, Scheme, etc.), but reuse was barely even given lip service, much less graded. Even within two years, the department had finally started to modernize and teach code reuse. (I'm assuming you mean the COMP department, not ELEC.)
And yes, licensing is a two-edged sword. Accountability is a Good Thing where safety's on the line, but there are plenty of incompetent doctors and lawyers who still have their licenses. Make no mistake, requiring such an "insider's club" for software engineering would attract the same kind of buddy-buddying and industry-wide lobbying (to the detriment of the consumer) we've seen between, for example, the AMA and the pharmaceutical industry. (You know some folks wanna make you pay for a prescription for Vitamin C?)
I always thought they'd simply create a new category of Professional Engineer, or make it a subset of Electrical Engineer. That system is definitely a racket. I've personally had to read, debug, and scrap really--really--lousy code written by licensed professional engineers. Licensing kinda makes me wonder why I would have to pay to take two expensive tests (in Texas, anyway, barring some exceptions), accompanying classes, and make a fscking diary of all my projects for four years, just so I can be in the same esteemed company as the idiots whose code I had to destroy.
Perhaps licensing would solve a few problems, but I agree with other commentators here that, with or without licensing, we need more clueful managers. We need people who can design the software as a whole. We need user interface specialists. In small shops, a developer might have to become an expert at all of these things.
I have one question: Exactly what are students with high speed connections supposed to use their bandwidth for now?
Downloading the linux kernel and slashdot silly!
A high-speed connection won't do you any good for SlashDot -- hell, you don't even need to upgrade to one of those fancy new "14400 bps" modems. "Waiting for reply..." looks the same at any bandwidth!
"You are forgeting most of you don't know how your car works. You just turn a key, press some pedals, and turn a wheel. You don't appreciate everything it is doing for you."
Well, that's a nice analogy, but you've got the order of magnitude wrong. To drive a car, you should know a few things about it, such as how to open the fuel door to put gas in, how to press the accelerator and let the clutch out gently, etc. Some users are more like a driver who just sits there and mashes the brake pedal without turning on the engine, wondering why the car won't go.
A second thing I'd like to point out is that there _are_ a lot of people who know their cars down to the nuts and bolts. I'd also argue that anyone will be a little better driver if he learns how his brakes work and a few physics principles so he can get out of a skid.
"Features can be selected/deselected and loaded on demand when they are used" That sounds great, actually. (I'd be able to see it if Office 2000 installed on Windows 2000, but that's another rant). What I'd like to see next is the ability for different vendors to provide all these features, and I don't mean through the current clunky mechanism of throwing a few COM interface descriptions in a HLP file. At least they're on the right track, but I'd love to see users have really good control over feature sets. "The other thing they did is made the menus only show the most common features, which reorders itself depending on which features you actually use." I don't think that's a good thing. IMO, menus are teaching tools. The user knows he can always find Cut on the Edit menu, so when he forgets that Ctrl-X is the shortcut, or forgets what the scissors mean, he can use the menus. To have them re-arranging themselves whenever the user's habits change (as is wont to happen when he works through a few tutorials and then starts actually using the product) could make things confusing. I myself hate it when menus change. Hate it hate it hate it. As an example, National Instruments has a nifty little device driver-maker called Lab Windows, but its IDE is almost unusable, because certain project-wide options don't appear in the project window's menu. Instead, you have to open up a source file and then go to the same menu to find an option that affects the entire project's scope. Ah well. To sum up: bloat removal good, changing menus bad. --unDees
Actually, I run Red Hat 5.1 with X Windows on a 486 DX133 and 16MB RAM. Runs fine. Hell, it was even (barely) runnable on my old 33 MHz machine, though the 8 MB of RAM was a little snug. Ha!
Some numb nut waved the legal stick at my old boss, saying that we had stepped on his patented toes by using a lame control feedback algorithm this other guy had "developed." The crude technique basically adjusted parameters by a constant value each time the output was outside an allowed margin of error. The technique was cheesy to begin with, and certainly zillions of people used it.
Did we pay their bullsh*t nuisance fees? Hell no! We made a real control algorithm (which worked much better, incidentally) and patented that as a defensive measure against the same numbskulls. We needn't have worried, though. Tying their shoes was taxing for these guys; figuring out a mathematical rule would be beyond their capacity.
unDees
We have noticed a balance of $0.02 on your account. To continue receiving our quality opinions, please remit payment immediately.
I've always thought that if I went back for a graduate degree (*shudder*), I'd do a thesis comparing the distribution of jokes with the circulation of the flu. Jokes replicate verbally the way we wheeze on each other at work, and then the anecdote is sent via e-mail to distant continents--do microorganisms hitch a ride in the bloodstreams of transatlantic travellers?
It would take a lot more work than I feel like doing without getting something for it (like a lot of debt and a Master's Degree), but the idea intrigues me.
<sarcasm&;gt 'Course, we could always wait for Microsoft and AOL to publish the results of that e-mail tracking system they're beta-testing. Come to think of it, I never did get my check for four thousand dollars.... </sarcasm>
unDees
We have noticed a balance of $0.02 on your account. In order to continue receiving our quality opinions, please remit payment immediately.
I think that's the point really. How free can we feel if we know we're being watched
Then again, there are those who would say if you truly feel free, it doesn't matter who's watching. Go ahead. Dance naked in a board meeting. Leave the bathroom door unlocked. If you fear embarrassment, you're still making a free choice--to act or not to act--but you've chosen modesty as a priority.
unDees
We have noticed a balance of $0.02 on your account. If you wish to continue receiving our quality opinions, please remit payment immediately.
The article sure looked like a shameless plug to me. And sure, many people have posted comments to the effect that users have gotta store their preferences somewhere, BUT:
I've seen poor implementation of cookies lead to server B looking at cookies that had been set and should only have been readable from server A. I've gotten spam because of it. Blame the Webmasters? Sure, but I'll stick to blaming the browsers. They ought to have more fine-grained control over cookies. Why, even IE4 (*suppresses gag reflex*), on which I am typing this post, only offers "cookies on" or "cookies off." What about "prohibit cookies from server foo.bar.com" or "foo.bar.com can only read foo.bar.com's cookies?" Then, the users who still wanted loads of customizable preferences could leave everything on and not worry about it, while people like me could turn on just enough cookies to keep our favorite tech support sites from barfing in a cookie-less environment.
Hope some browser writer is listening somewhere (or better, a knowledgeable user of an existing browser I don't know about).
Wow, you can tell over the phone that they have greasy hair?
This objection to IDEs is a popular one, and there's some truth to it: how many C++ developers recoil at the thought of poorly done, MsgBox-laden code thrown together by some guy who just bought himself a copy of Visual Basic and thinks he's a programmer now? I think this image leads us to condemn IDEs as whole. But really, IDEs are not the problem. The problem is that, no matter how simple the tool, programming problems still require some complexity of thought that no RAD tool can replace. The developer's mind still has to figure out what needs to be done and then figure out how to do it, and that's seldom a trivial task.
For some tasks, IDEs make life simpler. For others, they just get in the way of productivity. In both cases, it's more a question of "What's the right tool for this particular job?"
As it stands IDE's do not provide a software DESIGN tool, and therefore are a restraint to how well a piece of software ends up being produced.
Here I agree with you. In many cases, people use some flashy IDE to build a mock-up, which quickly gets turned into the real thing before anyone has had time to think about really making the program useful. But I haven't seen a CLI text editor that's a good software design tool, either. My favorite software design tool is an 8.5x11" (or A4 in a pinch) piece of paper and an erasable pen. To each his own.
IDE's make it too easy to lameify coding to the point where it has no plan, except the final product, which is not enough.
I agree that this is an area of IDEs that needs to improve: they still generate horrendous code! I try to find ones that make "less horrendous code," or at least what my opinion of less horrendous code is.
I'd be interested to see the results of that study--post 'em on /. when you're done!
unDees
The problem is that this phrase could be interpreted in more than one way:
The arguments seem to center on choosing one of the first two meanings. The one that makes the most sense to me is the second (though of course IANAL), and I think Borland or anyone else would be hard pressed to prosecute anyone following the clause to the letter and using the second interpretation.
unDees
Well, yeah, but all the stuff will go to the poor sap whose cookies you stole. Hey, you could order him lots of pr0nography and stuff--let 'im explain that to his significant other.
unDees
Do you perceive a shift on your part? Does your audience seem to be made up of more of the record companies' "ideal" demographics now, rather than of the self-styled rebels and outcasts of the '80s?
unDees
If I were an English teacher (my fiancee is!), I'd return this thing with a huge "F" scrawled on it, and red marks all over! Moral issues aside, the wording is entirely unclear. They should write this document in English before asking a bunch of legislators to pass it.
All I could find in this nonsense (yes, I read it!) is the bit about how the licensor could reach into a non-conforming licensee's PC and twiddle some bits to break the software. That's bad enough.
But where's all this stuff about prohibiting reverse engineering? I think giving M-soft the ability to prevent someone from figuring out and plugging into their brain-dead protocols would be tragic. But where's this language in the bill? Somebody quote it for me!
Seriously, though. I don't give _my_ legislators credit for being able to make head or tail of this carefully crafted monstrosity. They'll just vote it in unless I call them and yell loudly enough. Someone tell me when Texas will be looking at this thing, and someone give me more ammo than "somewhere in there is a comment about reverse engineering," and let's stike a blow for common sense!
unDees
I like the fact that Apple appears to be trying to reduce clutter and differentiate between controls using color (though that should _never_ be the only way to tell buttons apart, of course--I don't think "showing the symbols on mouse-over" is gonna cut it).
But why has there been a trend lately of making buttons "jump up" under the mouse cursor? Admittedly, in Aqua it's clear all along that they're buttons, but what about so-called "coolbars" in recent Win32 apps? Why do we have to guess what is or isn't a button and then waste time moving the mouse over it to see if it pops up? Maybe a graphics designer won a bet and the interface designer had to give in and make these braindead contraptions....
I want to see _new_ ideas in GUI, not just a rearrangement of the buttons!
How 'bout a dialog box that shows, in subtle grayscale or red/yellow/green shades, which controls still need data to be entered? The dialog could allow the user to submit the data anyway, depending on him to fill in the blanks later.
Move status information to a modeless, slightly bigger status bar! Make the detail level customizable!
These may be terrible ideas! They may be fantastic! Who's got some better ones? Post! Write software! Make money!
[end desperate plea]
unDees
It wasn't always that way, even at Rice. Even just a few years ago, during my sophomore year (1993-1994), they stressed abstraction quite a bit (algorithms, Scheme, etc.), but reuse was barely even given lip service, much less graded. Even within two years, the department had finally started to modernize and teach code reuse. (I'm assuming you mean the COMP department, not ELEC.)
And yes, licensing is a two-edged sword. Accountability is a Good Thing where safety's on the line, but there are plenty of incompetent doctors and lawyers who still have their licenses. Make no mistake, requiring such an "insider's club" for software engineering would attract the same kind of buddy-buddying and industry-wide lobbying (to the detriment of the consumer) we've seen between, for example, the AMA and the pharmaceutical industry. (You know some folks wanna make you pay for a prescription for Vitamin C?)
I always thought they'd simply create a new category of Professional Engineer, or make it a subset of Electrical Engineer. That system is definitely a racket. I've personally had to read, debug, and scrap really--really--lousy code written by licensed professional engineers. Licensing kinda makes me wonder why I would have to pay to take two expensive tests (in Texas, anyway, barring some exceptions), accompanying classes, and make a fscking diary of all my projects for four years, just so I can be in the same esteemed company as the idiots whose code I had to destroy.
Perhaps licensing would solve a few problems, but I agree with other commentators here that, with or without licensing, we need more clueful managers. We need people who can design the software as a whole. We need user interface specialists. In small shops, a developer might have to become an expert at all of these things.
So how do we do that?
I welcome suggestions.
--unDees
undees@remove-this-part.hotmail.com
Thanks,
a curious unDees
A high-speed connection won't do you any good for SlashDot -- hell, you don't even need to upgrade to one of those fancy new "14400 bps" modems. "Waiting for reply..." looks the same at any bandwidth!
[evil sarcastic rude voice OFF]
unDees
because 90% of online p0rn is crap too :+)
Do you mean fecofilia, or just low quality? *impertinent smirk*
--unDees
Well, that's a nice analogy, but you've got the order of magnitude wrong. To drive a car, you should know a few things about it, such as how to open the fuel door to put gas in, how to press the accelerator and let the clutch out gently, etc. Some users are more like a driver who just sits there and mashes the brake pedal without turning on the engine, wondering why the car won't go.
A second thing I'd like to point out is that there _are_ a lot of people who know their cars down to the nuts and bolts. I'd also argue that anyone will be a little better driver if he learns how his brakes work and a few physics principles so he can get out of a skid.
unDees
"Features can be selected/deselected and loaded on demand when they are used" That sounds great, actually. (I'd be able to see it if Office 2000 installed on Windows 2000, but that's another rant). What I'd like to see next is the ability for different vendors to provide all these features, and I don't mean through the current clunky mechanism of throwing a few COM interface descriptions in a HLP file. At least they're on the right track, but I'd love to see users have really good control over feature sets. "The other thing they did is made the menus only show the most common features, which reorders itself depending on which features you actually use." I don't think that's a good thing. IMO, menus are teaching tools. The user knows he can always find Cut on the Edit menu, so when he forgets that Ctrl-X is the shortcut, or forgets what the scissors mean, he can use the menus. To have them re-arranging themselves whenever the user's habits change (as is wont to happen when he works through a few tutorials and then starts actually using the product) could make things confusing. I myself hate it when menus change. Hate it hate it hate it. As an example, National Instruments has a nifty little device driver-maker called Lab Windows, but its IDE is almost unusable, because certain project-wide options don't appear in the project window's menu. Instead, you have to open up a source file and then go to the same menu to find an option that affects the entire project's scope. Ah well. To sum up: bloat removal good, changing menus bad. --unDees
Actually, I run Red Hat 5.1 with X Windows on a 486 DX133 and 16MB RAM. Runs fine. Hell, it was even (barely) runnable on my old 33 MHz machine, though the 8 MB of RAM was a little snug. Ha!
Did we pay their bullsh*t nuisance fees? Hell no! We made a real control algorithm (which worked much better, incidentally) and patented that as a defensive measure against the same numbskulls. We needn't have worried, though. Tying their shoes was taxing for these guys; figuring out a mathematical rule would be beyond their capacity.
unDees
We have noticed a balance of $0.02 on your account. To continue receiving our quality opinions, please remit payment immediately.
It would take a lot more work than I feel like doing without getting something for it (like a lot of debt and a Master's Degree), but the idea intrigues me.
<sarcasm&;gt
'Course, we could always wait for Microsoft and AOL to publish the results of that e-mail tracking system they're beta-testing. Come to think of it, I never did get my check for four thousand dollars....
</sarcasm>
unDees
We have noticed a balance of $0.02 on your account. In order to continue receiving our quality opinions, please remit payment immediately.
Then again, there are those who would say if you truly feel free, it doesn't matter who's watching. Go ahead. Dance naked in a board meeting. Leave the bathroom door unlocked. If you fear embarrassment, you're still making a free choice--to act or not to act--but you've chosen modesty as a priority.
unDees
We have noticed a balance of $0.02 on your account. If you wish to continue receiving our quality opinions, please remit payment immediately.
I've seen poor implementation of cookies lead to server B looking at cookies that had been set and should only have been readable from server A. I've gotten spam because of it. Blame the Webmasters? Sure, but I'll stick to blaming the browsers. They ought to have more fine-grained control over cookies. Why, even IE4 (*suppresses gag reflex*), on which I am typing this post, only offers "cookies on" or "cookies off." What about "prohibit cookies from server foo.bar.com" or "foo.bar.com can only read foo.bar.com's cookies?" Then, the users who still wanted loads of customizable preferences could leave everything on and not worry about it, while people like me could turn on just enough cookies to keep our favorite tech support sites from barfing in a cookie-less environment.
Hope some browser writer is listening somewhere (or better, a knowledgeable user of an existing browser I don't know about).
Bye all....
--unDees