The more "PC" like my mobile devices get, the happier I am. A Surface Pro is far more in-line with the wants and needs of the average user than is a Kindle Fire or an iPad. I would hope that this would extend in mobile phones as well. They're one of the few companies with an offering that could make me give up my BlackBerry.
The computer in my pocket should be a computer. Android, while popular here, can't even handle simple task-switching.
I do think a person who is sure that their religion and holy book is 100% true and that every other belief system has been proven to be fake, is not a person who thinks logically. And logical thinking is an essential skill to writing good code, and understanding code other people write.
So you think a persons religious beliefs affect their ability to program.
That's ridiculous. Even more ridiculous is your "reasoning".
Indeed. By introducing abstractions, you exchange performance and flexibility for simplicity (of one kind or another). More than one unmaintainable mess has been made by abstraction-hungry developers layering one leaky abstraction on top of another in a vein attempt to restore some of that flexibility.
This is why I'm a fan of top-down design. It tends to find the right balance almost automatically.
Of course part of the reason is that I refactor as I write.
I'm not sure what that has to do with writing "badly formatted code", but I'd still caution against that. Some of the best advice I ever received: "There are no good writers, only good rewriters." I've found this to be true for code as well. It's amazing how much you can improve your code once you've distanced yourself from it a bit.
So maybe I am just as bad as he is. But I'll bet I'm a better software engineer.
That doesn't make sense to me. Why would a persons beliefs about religion (or politics, race, potato chip flavors) have any influence on their ability to write computer programs?
Do you think Buddhists write better code than Hindus? Are Raeliens better developers than Shintoists? What could possibly compel you to put forward such a silly belief?
I'd rather have a readable and maintainable 4500-line function than an unreadable and unmaintainable 45-line function.
I remember, years ago, standard advice to students to break up code in to functions when some process got over some number of lines. Know what we got? A lot of really odd functions of similar length, as they broke things apart at seemingly random boundaries! I'm still deeply suspicious when I hear people talk about a proper length for functions.
It's time to let that one go, and teach students that while shorter is often better, length doesn't really matter that much. They ought to factor out functions when they see them and when it makes the program more readable. I'll suggest this as a new rule-of-thumb: functions should do just one thing and be named accordingly.
"Refactor" implies simplification, not optimization. Given all the disagreement here, maybe we should stop using such an imprecise term and just go with "rewrite".
but I go back far enough to remember the horrible spaghetti code that people used to write
So do I, though I still think Dijkstra was wrong about that. I used to get skewered for expressing that opinion, however. Not that it matters much, I've found most developers are a bit over zealous when it comes to defending their treasured folk-knowledge.
In before the OOP craze, like you were, I thought it was just going to be a passing fad -- like countless fads before and after. I have no explanation for its sticking power, save the early popularity of Java and Microsoft's subsequent clone, C#. I figure it would have been dead before the new century had Sun and Microsoft hadn't tried to cash-in on it. It's a shame MS's ploy to fragment Java failed. It's one evil plan that might have done us some good!
Fortunately for us, It is weakening. Sacred cows are starting to look like the mistakes they always were. The hipster developers are even promoting composition over inheritance. (And not a moment too soon. I've seen a lot of talk about multiple inheritance lately. I thought we'd already learned our lesson about that!) A lot of young developers are even learning what modularity actually entails, and how OOP is inherently anti-modular. (It used to be a popular belief that OOP gave you modularity for free! It looks foolish in hindsight, I know, but that was the marketing buzz.) It gives me a bit of hope for the future.
So I'll keep my fun Dijkstra quote, to lend support to the next generation who will cast-off our mistakes. It looks like they're trending toward an imperative+functional era. It'll be interesting to see what comes out of that.
I'm convinced that this is just a joke that I've missed. I've tried good displays, crappy displays, various lighting, brightness settings, backgrounds, room lighting, viewing angles and probably something I've forgot. I can not get that dress to look white and gold.
Nowhere do I imply that the icons are appealing -- only that they're rendered with skill that exceeds that of the average six-year-old. If a six-year-old had produced those icons, I'd be very impressed. As they're presumably the work of a professional designer, they're absolutely awful.
Well, it's very basic logic. It just takes a long time to explain, in very painful detail, to someone without a background in formal logic. To see my perspective, try to explain something like 4=2+2 in a post under the assumption that anything you write could be challenged, regardless of the relevance, by someone with no understanding of basic arithmetic. Oh, and without being able to type common operators. It'll be a pain the ass, take forever, and is very unlikely to produce positive results.
Which is exactly what people don't want.
Speak for yourself.
The more "PC" like my mobile devices get, the happier I am. A Surface Pro is far more in-line with the wants and needs of the average user than is a Kindle Fire or an iPad. I would hope that this would extend in mobile phones as well. They're one of the few companies with an offering that could make me give up my BlackBerry.
The computer in my pocket should be a computer. Android, while popular here, can't even handle simple task-switching.
Your information is astonishingly out-of-date.
No innovation? There's nothing else like them in the market.
Just so you know, when Spock used the word 'logical', he was using it incorrectly. Consequently, you are using it incorrectly as well. Please stop.
Back on topic, so you're saying that a persons religious beliefs affect their ability as a developer.
So .. Do Buddhists write better code than Hindus? Are Raeliens better developers than Shintoists? Why or why not?
I do think a person who is sure that their religion and holy book is 100% true and that every other belief system has been proven to be fake, is not a person who thinks logically. And logical thinking is an essential skill to writing good code, and understanding code other people write.
So you think a persons religious beliefs affect their ability to program.
That's ridiculous. Even more ridiculous is your "reasoning".
Indeed. By introducing abstractions, you exchange performance and flexibility for simplicity (of one kind or another). More than one unmaintainable mess has been made by abstraction-hungry developers layering one leaky abstraction on top of another in a vein attempt to restore some of that flexibility.
This is why I'm a fan of top-down design. It tends to find the right balance almost automatically.
Of course part of the reason is that I refactor as I write.
I'm not sure what that has to do with writing "badly formatted code", but I'd still caution against that. Some of the best advice I ever received: "There are no good writers, only good rewriters." I've found this to be true for code as well. It's amazing how much you can improve your code once you've distanced yourself from it a bit.
So maybe I am just as bad as he is. But I'll bet I'm a better software engineer.
That doesn't make sense to me. Why would a persons beliefs about religion (or politics, race, potato chip flavors) have any influence on their ability to write computer programs?
Do you think Buddhists write better code than Hindus? Are Raeliens better developers than Shintoists? What could possibly compel you to put forward such a silly belief?
I'd rather have a readable and maintainable 4500-line function than an unreadable and unmaintainable 45-line function.
I remember, years ago, standard advice to students to break up code in to functions when some process got over some number of lines. Know what we got? A lot of really odd functions of similar length, as they broke things apart at seemingly random boundaries! I'm still deeply suspicious when I hear people talk about a proper length for functions.
It's time to let that one go, and teach students that while shorter is often better, length doesn't really matter that much. They ought to factor out functions when they see them and when it makes the program more readable. I'll suggest this as a new rule-of-thumb: functions should do just one thing and be named accordingly.
(Still, 4500 lines? Damn, that's big.)
"Refactor" implies simplification, not optimization. Given all the disagreement here, maybe we should stop using such an imprecise term and just go with "rewrite".
I hope not.
... There are things it just isn't well suited for...
Like writing computer programs?
1972 called, they're still pissed you returned their 'write-only memory' joke in such poor condition.
I've been saying that for 15 years. I just hope I don't need to wait another 15.
but I go back far enough to remember the horrible spaghetti code that people used to write
So do I, though I still think Dijkstra was wrong about that. I used to get skewered for expressing that opinion, however. Not that it matters much, I've found most developers are a bit over zealous when it comes to defending their treasured folk-knowledge.
In before the OOP craze, like you were, I thought it was just going to be a passing fad -- like countless fads before and after. I have no explanation for its sticking power, save the early popularity of Java and Microsoft's subsequent clone, C#. I figure it would have been dead before the new century had Sun and Microsoft hadn't tried to cash-in on it. It's a shame MS's ploy to fragment Java failed. It's one evil plan that might have done us some good!
Fortunately for us, It is weakening. Sacred cows are starting to look like the mistakes they always were. The hipster developers are even promoting composition over inheritance. (And not a moment too soon. I've seen a lot of talk about multiple inheritance lately. I thought we'd already learned our lesson about that!) A lot of young developers are even learning what modularity actually entails, and how OOP is inherently anti-modular. (It used to be a popular belief that OOP gave you modularity for free! It looks foolish in hindsight, I know, but that was the marketing buzz.) It gives me a bit of hope for the future.
So I'll keep my fun Dijkstra quote, to lend support to the next generation who will cast-off our mistakes. It looks like they're trending toward an imperative+functional era. It'll be interesting to see what comes out of that.
Yes, but it tends not to combust spontaneously.
Ah, so you're in on the conspiracy!
I considered that as well, and pulled down the picture from multiple sources.
I'm convinced that this is just a joke that I've missed. I've tried good displays, crappy displays, various lighting, brightness settings, backgrounds, room lighting, viewing angles and probably something I've forgot. I can not get that dress to look white and gold.
It reminds me of "The emperors new cloths".
Why are you telling me? I don't care. Neither, very likely, does Dijkstra. It's a just a fun throw-away comment he made.
Is the accuracy of the origin of either the term or the concepts essential to the quote? No.
Relax. It's not worth the time.
No, you didn't. You just suck at reading.
Nowhere do I imply that the icons are appealing -- only that they're rendered with skill that exceeds that of the average six-year-old. If a six-year-old had produced those icons, I'd be very impressed. As they're presumably the work of a professional designer, they're absolutely awful.
Well, it's very basic logic. It just takes a long time to explain, in very painful detail, to someone without a background in formal logic. To see my perspective, try to explain something like 4=2+2 in a post under the assumption that anything you write could be challenged, regardless of the relevance, by someone with no understanding of basic arithmetic. Oh, and without being able to type common operators. It'll be a pain the ass, take forever, and is very unlikely to produce positive results.
I think you replied to the wrong post.
You can't choose to believe or not believe.
Really. Don't just take my word for it. Try it out.
Not really. The image I have is of an isolated village in the south seas fruitlessly building runways.