When I first started with Java/VB, I found programming to be really hard. I decided to learn assembly/C++ and, just like dasunt said, I think they taught me how computers really work.
Once I knew that everything is a just a number (pointers, instructions, everything) and that memory is just one big linear array, nothing was a mystery anymore -- I could figure out what the compilers and other languages were really doing. This put me way ahead of average programmers my age until 4th year university when they forced everyone else to learn that stuff.
To be a good programmer I think you have to understand how computer really work, and C/assembly is the best way to pull back the curtain and be confident that you can get anything to work.
On a related note, when people are teaching object oriented C++ to beginners, it's common to focus on the high level stuff (encapsulation, polymorphism). What I'd like to see is for them to mix in a little bit of "and here's how you would implement polymorphism in C" -- then people see how it all comes together. Er, well, that's what I think:~)
While there's no real debate about whether mathematical theorems should be patentable, let's think about that for a second...
I don't think patent offices do (or should) decide whether something is patentable based on purist arguments like "programs are mathematical proofs, and we obviously should not patent proofs". Instead I hope they decide these things based on whether it's good for research and/or the economy.
So if patents on theorems magically encouraged the pace of advancements in mathematics, then I think it'd be a good idea. Of course, when it comes to math, it's a little more obvious that patents won't have this effect -- that's a better reason to not want patents in math, or any field.
Bottom line: whether patents are good for software is independent from whether they're good for math, regardless of how related the two fields are. I personally think software patents impede innovation in our industry, but both yourself and I could be wrong about that.
Another reason MS should've gone with a medium performance single core:
Sony would be the only one asking developers to please please pretty-please write multithreaded code. Developers would stick to one or two threads because changing a game engine to accommodate Cell would be too much effort. End result? Xbox360 would outperform Cell on any cross-console game.
I think if your kids have a few good friends when they're growing up, then there's nothing to worry about.
My parents tell me that the first word I could spell was RUN on the C64. Despite being surrounded by computer stuff, I never really spent much time with them until about grade 10 when I started thinking about careers and whatnot (or maybe it was because DOOM came out:)
I wish Google would extend Gmail and Gmail Notifier to include PDA stuff like TODO lists and a calender (with reminders). They could call the new client program "Google Notifier" since it would notify you about anything in your Google account, not just new e-mails.
Gmail is great, so I bet Google could design an excellent web-based calendar program (could work on PDAs too, no HotSync necessary!)
I already save a collection of Gmail Drafts that aren't "To" anyone, but have subjects like "Programming Ideas" and "Stuff To Remember". That way I can add stuff whether I'm at work, home, or school.
Think of how many goatse tombstones there'll be after our generation passes away.
Where's the karma for this guy??
Once I knew that everything is a just a number (pointers, instructions, everything) and that memory is just one big linear array, nothing was a mystery anymore -- I could figure out what the compilers and other languages were really doing. This put me way ahead of average programmers my age until 4th year university when they forced everyone else to learn that stuff.
To be a good programmer I think you have to understand how computer really work, and C/assembly is the best way to pull back the curtain and be confident that you can get anything to work.
On a related note, when people are teaching object oriented C++ to beginners, it's common to focus on the high level stuff (encapsulation, polymorphism). What I'd like to see is for them to mix in a little bit of "and here's how you would implement polymorphism in C" -- then people see how it all comes together. Er, well, that's what I think :~)
I don't think patent offices do (or should) decide whether something is patentable based on purist arguments like "programs are mathematical proofs, and we obviously should not patent proofs". Instead I hope they decide these things based on whether it's good for research and/or the economy.
So if patents on theorems magically encouraged the pace of advancements in mathematics, then I think it'd be a good idea. Of course, when it comes to math, it's a little more obvious that patents won't have this effect -- that's a better reason to not want patents in math, or any field.
Bottom line: whether patents are good for software is independent from whether they're good for math, regardless of how related the two fields are. I personally think software patents impede innovation in our industry, but both yourself and I could be wrong about that.
<sizzlesizzle>
I don't get how companies like that justify their existence since they don't innovate, period. sigh
My gf liked to play the Sims and make virtual babies, over and over. Think she was trying to tell me something? (rhetorical question!)
Heh, after all the hubbub lately caused by Anandtech's article I thought for a sec that these new devkits might drop the IBM processor ... sigh.
Another reason MS should've gone with a medium performance single core:
Sony would be the only one asking developers to please please pretty-please write multithreaded code. Developers would stick to one or two threads because changing a game engine to accommodate Cell would be too much effort. End result? Xbox360 would outperform Cell on any cross-console game.
I think if your kids have a few good friends when they're growing up, then there's nothing to worry about.
:)
My parents tell me that the first word I could spell was RUN on the C64. Despite being surrounded by computer stuff, I never really spent much time with them until about grade 10 when I started thinking about careers and whatnot (or maybe it was because DOOM came out
You can't use them from unix clients.
They are easy to lose.
I wish Google would extend Gmail and Gmail Notifier to include PDA stuff like TODO lists and a calender (with reminders). They could call the new client program "Google Notifier" since it would notify you about anything in your Google account, not just new e-mails.
Gmail is great, so I bet Google could design an excellent web-based calendar program (could work on PDAs too, no HotSync necessary!)
I already save a collection of Gmail Drafts that aren't "To" anyone, but have subjects like "Programming Ideas" and "Stuff To Remember". That way I can add stuff whether I'm at work, home, or school.