Although using the MS stuff (Courier New and Times or Arial) together in a document looks pretty bad, the fonts themselves look very nice and modern. I think Computer Modern looks... oldfashioned.
Since the programming is functionally decomposed, is UML the right way to go?
UML is what everybody uses (in my environment at least). A lot of aspects of UML assume object-oriented programming, but nobody stops you from cherry-picking whatever is in UML.
Of course you can think of objects as structs in C, and you can go a long way. However, I found that thinking in objects requires exercise. At first, you'll have people on your hands that will think of your regular C API as an object -- which is not always a good fit to say the least.
So if you go this way, prepare for some education. And don't start the new way of working with an important project.
If I had a team of nine babes who could take over low level coding while I focussed on high level design, that would be sweet.
Reminds me of a discussion at the office some time ago. The question was "what if we were billionaires?". The answer was: a custom made gold-plated, diamond-studded laptop with Ubuntu installed. And a team of beautiful female kernel hackers, ready to whip up a driver for any piece of hardware that we might buy.
I don't understand nVidia and other companies. One of the arguments is that the driver makes the difference between higher- or lowerpriced cards, thus open-sourcing this stuff will make the differences go away. Now I've worked with hardware engineers making FPGAs and ASICs -- I don't see why these graphics cards simply read their config from an EPROM or a small piece of flash, thus letting the driver not make any difference at all.
There's also dillo, for use on underpowered old machines which can barely run X. Kinda carved itself a rapidly dying niche though, but as a completely separate rendering engine it's worth a mention at least.
Well, underpowered doesn't always go hand-in-hand with old -- considering the raft of articles we've seen here on slashdot about small, energy-saving PCs.
So I suppose that's perhaps that's the first step to good project planning: identify the metrics that really matter for your project.
You had me snickering there, since the original question was "what's good software design". The two of us already have agreed that what's really important for us is: "what's good project management". So I guess our answer to the original question is: narrow the scope of your research -- which makes it less and less relevant to our daily routine...
company fired 10 people with only an e-mail notice (...) Then I quit with no notice and they acted like I was some kind of backstabber and to punish me, they refused to pay me my unused vacation time.
I don't see a direct connection between those 10 people and you. Personally, I would make up the balance how I myself was treated by the company and then decide how I would quit. It's not that I don't care about those 10, it's just that it's hard to have all the ins and outs in such situations.
The idea that there are one-size-fits-all design principles is fundamentally flawed.
I bet the original poster has over-simplified his question a bit too much. Of course there is no silver bullet, but there are probably subsets in that pool of good software design that share characteristics.
If such a subset would be 'embedded software', or 'administrative/business software', it would be pretty interesting.
How can you do PhD work on software design principles if you haven't delved into all forms of programming for yourself and applied them to real world scenarios?
Sure, experience would be a good thing, but I fail to see why he must apply them all to find commonalities in good software design.
Looking at the amount of GPL code they put back in Wine, I don't care about tricks they leave out in the open source version but which people can share on the web.
I totally agree; stick with the supported apps or better yet -- the supported apps with the gold (highest compatibility) label. However, a Linux deployment isn't a 1 or 0; most people in a company can deal with missing particular apps.
in my case, they only lost a few dozen sales, but I know another, very, very big company that did a similar evaluation... but they needed a solution within a few weeks
I'm not sure what exactly you would do in their place.
Don't take his word for gospel. I think it's a great use of the word. And kudos to you writing your second book!
Some parents will opt for full out safety and take no risk at all.
Sliding-slope fallacy.
In short, there will be no line.
So you can look into the future?
Seriously, why was this modded up?
It is my job to make sure that good maintainable software is created, and that's what we're doing.
It's not your only job; amongst others, it's also keeping your team members up to speed on current technologies. Just sayin'.
That's an interesting question. They'll have a hard time answering this one!!
It's gonna take your life tonight
Mechanical reptilian might
Shed it's metal skin and destroy
It's such a better METAL SNAKE
Although using the MS stuff (Courier New and Times or Arial) together in a document looks pretty bad, the fonts themselves look very nice and modern. I think Computer Modern looks... oldfashioned.
Of course you can think of objects as structs in C, and you can go a long way. However, I found that thinking in objects requires exercise. At first, you'll have people on your hands that will think of your regular C API as an object -- which is not always a good fit to say the least.
So if you go this way, prepare for some education. And don't start the new way of working with an important project.
I don't understand nVidia and other companies. One of the arguments is that the driver makes the difference between higher- or lowerpriced cards, thus open-sourcing this stuff will make the differences go away. Now I've worked with hardware engineers making FPGAs and ASICs -- I don't see why these graphics cards simply read their config from an EPROM or a small piece of flash, thus letting the driver not make any difference at all.
Seriously -- would you ever comply with my request? How do you feel about me even asking it?
Let me rephrase that then:
"How about the 0xC0FFEE ?"
+1 Dëthkløk reference!
If such a subset would be 'embedded software', or 'administrative/business software', it would be pretty interesting.
- In how far the original design held up during the lifespan of the software
- How quickly the design was grokked by new people on the project
- When delivered, the amount of deviation from the project's schedule
- The total lifespan of the software
- The amount of bugs
Any of these metrics might be miserable for the shuttle software team.Looking at the amount of GPL code they put back in Wine, I don't care about tricks they leave out in the open source version but which people can share on the web.
I totally agree; stick with the supported apps or better yet -- the supported apps with the gold (highest compatibility) label. However, a Linux deployment isn't a 1 or 0; most people in a company can deal with missing particular apps.