As per Kenny Kerr and Scott Hanselman, here's my take on three things I've learned about software both in and out of college.
In College
1) It's not about getting the right answers. It's about getting the process right and jumping through hoops to do so, regardless of whether they make sense or not.2) Java is the best thing since sliced bread. :: snorts ::
3) It's hard to learn when the person teaching you speaks broken English with a thich accent.
Out of College
1) Good features mean more than just code -- accomplishing the feature is only a minor part of the overall problem. The true goal is to get the feature working, with maintainable and elegant code, that is fully documented and well-planned.2) Memorizing facts was a useless waste of time. Memorizing and understanding why those facts were important is the key to being a good programmer. Anyone can write Win32 code. Not everyone understands why the Win32 code works the way it does, and how to properly utilize it.
3) If you think something is a kludge, then you're setting yourself up for failure. It may have worked in college (at least, for some people -- I avoided it then too), and it may appease your boss in the real world, but it's the worst thing you can do. It's better to understand what the problem is and truly solve it.
So what are yours? And if you didn't go to college (or are in college now), just skip the part that doesn't apply to you.
1) getting the right answer is worth more than using the right process. Great process and crappy results are worthless. I've seen that one a few times. In one instance the company died with great process and a product that they simply could not get out the door.
2) XXXXXX is the great new language/tool/process. I've heard this one so many times it's not funny.
3) kludges sometimes outlive great code. I wrote one for a $25 billion corp and it lasted in their accounting dept for 10+ years and in fact helped them cope with a merger with another $20 billion corp.
4) no one is prescient and able to forecast the future so write the best code you can today and revamp it when you find it needs it
5) users don't care how elegant the code is; it just has to work right.
In college:
Don't let a lawyer who is taking other computer classes with you teach the advanced C++ class and explain the class object model to you just because he as a PhD. "Classes are like a sandwich..."
Java helped me learn classes.
Out of college:
When you are writing the internal customer profile/billing system for the DOS to Windows conversion, and the Windows version of the product is out of a rolling beta. It's your fault that your boss never told you to turn on the billing for the Windows side so they were losing money. (Man, I thought I was going to lose my job over that. I could *feel* the anger.)
In college:
The stuff you shrug off, avoid, or don't take any interest in is the stuff you will need 10 years down the road. The converse is also true.
Out of college:
I should've stayed in college.
In College:
Memorizing counts because "In the real world you won't have books". Quote from my first year electrical engineering professor.
As a Co-op Working Through College:
Look it up in the books because your 40 year old boss doesn't trust you or the college you're going to.
After college:
You can't have enough reference sources. Google is your friend.
Sort of sounds like the more you know, the more you don't know. :)
In College:
It´s not too importand how much you understand and what you really can do for yourself. It´s more important to communicate efficiently and precise to let the group work together.
After College:
It´s not too importand how much you understand and what you really can do for yourself. It´s more important to communicate efficiently and precise to let the group work together.
Looks Like I didn´t learn a lot. Sorry.
Jens
@Jens -- it sounds like you learned what you needed to learn. :-)
Since Open is a verb, I read Serial.Open as a method and not a property. Properties tend to be adjectives, nouns or sometime adverbs. Methods DO something. Properties ARE something.
Yes there can be some ambiguity in the Serial.Open API, but at least it works. RB has much bigger fish to fry...