I think M$ tools and frameworks actually make developers dumber
-
It is all about productivity. I agree. But I am at a shop right now that supports factories that make packaging. We write the control software for their machinery and they aren't willing to spend the time and money very often to upgrade their whole plant and to re-train 30-year-veteran-union-worker machine operators on a new system except every 2-3 years. Therefore you are stuck with packaging plants (our customers) some of whom are still using WinXP and .NET 1.1 because their CEO wants more money for their next private jet and less to spend on software upgrading and training. So then when you have a developer who has been using .NET 4 and the latest and greatest, which holds their hands through wizards and does everything for them, they do not qualify for employment at our shop if they don't know how to access a DB the old-fashioned way, i.e., if they don't know what's going on behind the scenes. Then productivity actually DECREASES because there are so many layers of abstraction and hand-holding, now developers have only an idea of what's going on up on the surface as opposed to deep down in the bowels. I had professors in college and grad school who emphasized being intimately knowledgeable about what your computer system is doing on all levels, even if you have to work on the surface for increased productivity. Take for exmaple the statement
var q = list.Where(x => x.Property == true);
in LINQ. How are you going to code that in .NET 1.1? Today's devs some of them fresh out of today's budget-cut "computer science" programs, won't know how to implement that with an ArrayList and no LINQ. Maybe that is a bad example, but what aboutvar q = list.Where(x => x.Property == true).GroupBy(x => x.IntegerProperty == 10).Selct(x => x.IntegerProperty).ToList();
keep in mind the previous is pseudo-code; I am not going for correctness. There is a loss of productivity if someone has only been taught LINQ in computer science class and then they are at a desk in the 'real world' and they have only .NET 1.1 and ArrayList and have to do the same thing with an algorithm.Sincerely Yours, Brian Hart
Brian C Hart wrote:
How are you going to code that in .NET 1.1? Today's devs some of them fresh out of today's budget-cut "computer science" programs, won't know how to implement that with an ArrayList and no LINQ.
I suppose that the Net 4 shop that thinks that they can depend on the same programmer to produce their business critical code will find out how meaningless that statement is. It doesn't matter what API a new college grad learned about they still cannot program until they have experience.
-
I do agree. Between that, Mr. Gate's population control initiative, and his want to monitor our children, I might invest in some foil. Who has a nice hat template?
wizardzz wrote:
Between that, Mr. Gate's population control initiative, and his want to monitor our children, I might invest in some foil.
Given that the first would solve any number of world wide problems even being fanciful I find it a worthwhile goal. And its his money and his other initiatives do work. However it has nothing to do with this thread since Gates hasn't had any technological input into Microsoft for years.
-
wizardzz wrote:
Between that, Mr. Gate's population control initiative, and his want to monitor our children, I might invest in some foil.
Given that the first would solve any number of world wide problems even being fanciful I find it a worthwhile goal. And its his money and his other initiatives do work. However it has nothing to do with this thread since Gates hasn't had any technological input into Microsoft for years.
Apparently you aren't so good at identifying a joke.
jschell wrote:
However it has nothing to do with this thread since Gates hasn't had any technological input into Microsoft for years.
Yeah, he must have zero influence over everything MS does. He only owns a nice chunk of it.
-
The human mind has limits, such as being bound by limited time, limited capacity to learn, and limited capacity to retain information. As time goes on, programming environments will become more and more high level. After all, you wouldn't blame somebody for avoiding writing their entire business application in machine code, right? LINQ, MVC, and things of this sort are just another level that abstracts away the details and automates things which were previously manual. Sure, it may mean a developer can go some time without being exposed to some of the underlying fundamentals, but the time required to learn all those fundamentals may not be worthwhile. Another example of when this phenomenon applies is to an organization. You may have a Sharepoint developer who knows that tool really well, and a C++ guru who can do that well, and somebody who does LINQ/MVC, and they may share a manager, and that manager may have a department manager as their supervisor, and those managers may answer to VPs, CIOs, CEOs, and so on. Are you really going to blame the CEO for not knowing C++ or Sharepoint programming? If an abstraction layer is built well enough, you don't have to know about its implementatino details. That applies to people just as much as it applies to software. Sure, a developer may be better for knowing some of those details, but developers like all people have their limits and can't be expected to know everything.
AspDotNetDev wrote:
If an abstraction layer is built well enough, you don't have to know about its implementatino details
I see only the following possibilities. 1. The abstraction layer hides details such that they are no longer available. Thus the abstraction layer is only suitable for some subset of problems that the real layer solved. 2. The abstraction layer exposes all of the details and as such it is just as complex as what it intends to abstract. 3. There is some variation on the above depending on how 'good' each layer is. So if the abstracted layer was poorly done, a good layer on top, even with the same complexity, might help. But there are many variations possible.
-
Call me a Puritan, but I think that the MVC framework and the enhanced IDE tools, and LINQ etc actually remove developers from the pure algorithms they need to implement and make developers, on the whole, dumber. Don't get me wrong, these frameworks help make our jobs easier and make it easier to develop more quickly; however, should one have to revert to using a version of the IDE that is prior to the one that introduces novel database use features or hides implementation details and then develop according to the same pattern it makes it more difficult for skillsets to become backward compatible. For example, take the Entity Model framework and the MVC approach to using DbContexts to access the Database Connection etc. This dumbs away and hides connection details from the even the advanced developer behind a closed-source implementation so there is no way to Go To Definition and figure out what is behind the scenes so what if the next project is using, say, the old N-Tier Data Application model with the same data source and same model and now the task is, create an MVC app but using the old stuff. Shops can get pretty retarded at times with their insistance that developers go back to older frameworks and versions of the .NET framework, but sometimes it's necessary if the customer's machine infrastructure won't support the latest and greatest and customers necessarily can't be persuaded to upgrade due to the implementation and rollout logistics and cost limitations. So therefore, a developer who has been using .NET 4 and ASP MVC framework and Entities , may be unable to secure employment at a shop utilizing an earlier version of VS.
Sincerely Yours, Brian Hart
Wrong. It does not make programmers dumber. It's the dumber programmers that simply uses those tools and frameworks without knowing why or what the alternatives are. The good programmers will use it because they need it, because they know the alternatives and they know this is the best solution. Alternatively, the lesser programmers would write some horrible code to achieve the same thing if the tool or framework wasn't available to them. I guess these tools and frameworks protect the better programmers from the dumber programmers code, simply because there is less of it :D
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
} -
Call me a Puritan, but I think that the MVC framework and the enhanced IDE tools, and LINQ etc actually remove developers from the pure algorithms they need to implement and make developers, on the whole, dumber. Don't get me wrong, these frameworks help make our jobs easier and make it easier to develop more quickly; however, should one have to revert to using a version of the IDE that is prior to the one that introduces novel database use features or hides implementation details and then develop according to the same pattern it makes it more difficult for skillsets to become backward compatible. For example, take the Entity Model framework and the MVC approach to using DbContexts to access the Database Connection etc. This dumbs away and hides connection details from the even the advanced developer behind a closed-source implementation so there is no way to Go To Definition and figure out what is behind the scenes so what if the next project is using, say, the old N-Tier Data Application model with the same data source and same model and now the task is, create an MVC app but using the old stuff. Shops can get pretty retarded at times with their insistance that developers go back to older frameworks and versions of the .NET framework, but sometimes it's necessary if the customer's machine infrastructure won't support the latest and greatest and customers necessarily can't be persuaded to upgrade due to the implementation and rollout logistics and cost limitations. So therefore, a developer who has been using .NET 4 and ASP MVC framework and Entities , may be unable to secure employment at a shop utilizing an earlier version of VS.
Sincerely Yours, Brian Hart
-
Call me a Puritan, but I think that the MVC framework and the enhanced IDE tools, and LINQ etc actually remove developers from the pure algorithms they need to implement and make developers, on the whole, dumber. Don't get me wrong, these frameworks help make our jobs easier and make it easier to develop more quickly; however, should one have to revert to using a version of the IDE that is prior to the one that introduces novel database use features or hides implementation details and then develop according to the same pattern it makes it more difficult for skillsets to become backward compatible. For example, take the Entity Model framework and the MVC approach to using DbContexts to access the Database Connection etc. This dumbs away and hides connection details from the even the advanced developer behind a closed-source implementation so there is no way to Go To Definition and figure out what is behind the scenes so what if the next project is using, say, the old N-Tier Data Application model with the same data source and same model and now the task is, create an MVC app but using the old stuff. Shops can get pretty retarded at times with their insistance that developers go back to older frameworks and versions of the .NET framework, but sometimes it's necessary if the customer's machine infrastructure won't support the latest and greatest and customers necessarily can't be persuaded to upgrade due to the implementation and rollout logistics and cost limitations. So therefore, a developer who has been using .NET 4 and ASP MVC framework and Entities , may be unable to secure employment at a shop utilizing an earlier version of VS.
Sincerely Yours, Brian Hart
This is in part a "but of course" matter, and in part an inevitable consequence of technological advance. Software is not immune to such influences.
Yes, a tool that relieves you of part of what was once "your" work will make it unnecessary to understand (or be competent at) that part. And yes, I have argued in the past that many a young sofware engineer is intellectually and culturally poorer for never having been introduced to the demands and practices of earlier days. But to pursue that notion too far inevitably begins to sound like "You young folks don't know how lucky you are. Why, when I was your age, a byte only had two bits. And they were both ones! Zero hadn't been invented yet. We had to do everything in Roman numerals!"
The magnificent advances in tool technology pertinent to software development have made many things possible within practical bounds on time and cost that were previously unthinkable for a dollars-and-cents shop. They don't have a place in every sort of development -- the smallest, most resource-poor execution environments demand that we eschew such things as GUIs with 16 million colors and the .NET Frameworks -- but when they're applicable, they're Godsends.
Engineers are still responsible for choosing the right tool for the job. Not every tool is right for every job. But in a great many programming situations today, the feasibility of the project is founded on how much work the most advanced IDEs, frameworks, and similar conveniences have taken off our hands.
(This message is programming you in ways you cannot detect. Be afraid.)
-
Call me a Puritan, but I think that the MVC framework and the enhanced IDE tools, and LINQ etc actually remove developers from the pure algorithms they need to implement and make developers, on the whole, dumber. Don't get me wrong, these frameworks help make our jobs easier and make it easier to develop more quickly; however, should one have to revert to using a version of the IDE that is prior to the one that introduces novel database use features or hides implementation details and then develop according to the same pattern it makes it more difficult for skillsets to become backward compatible. For example, take the Entity Model framework and the MVC approach to using DbContexts to access the Database Connection etc. This dumbs away and hides connection details from the even the advanced developer behind a closed-source implementation so there is no way to Go To Definition and figure out what is behind the scenes so what if the next project is using, say, the old N-Tier Data Application model with the same data source and same model and now the task is, create an MVC app but using the old stuff. Shops can get pretty retarded at times with their insistance that developers go back to older frameworks and versions of the .NET framework, but sometimes it's necessary if the customer's machine infrastructure won't support the latest and greatest and customers necessarily can't be persuaded to upgrade due to the implementation and rollout logistics and cost limitations. So therefore, a developer who has been using .NET 4 and ASP MVC framework and Entities , may be unable to secure employment at a shop utilizing an earlier version of VS.
Sincerely Yours, Brian Hart
-
Call me a Puritan, but I think that the MVC framework and the enhanced IDE tools, and LINQ etc actually remove developers from the pure algorithms they need to implement and make developers, on the whole, dumber. Don't get me wrong, these frameworks help make our jobs easier and make it easier to develop more quickly; however, should one have to revert to using a version of the IDE that is prior to the one that introduces novel database use features or hides implementation details and then develop according to the same pattern it makes it more difficult for skillsets to become backward compatible. For example, take the Entity Model framework and the MVC approach to using DbContexts to access the Database Connection etc. This dumbs away and hides connection details from the even the advanced developer behind a closed-source implementation so there is no way to Go To Definition and figure out what is behind the scenes so what if the next project is using, say, the old N-Tier Data Application model with the same data source and same model and now the task is, create an MVC app but using the old stuff. Shops can get pretty retarded at times with their insistance that developers go back to older frameworks and versions of the .NET framework, but sometimes it's necessary if the customer's machine infrastructure won't support the latest and greatest and customers necessarily can't be persuaded to upgrade due to the implementation and rollout logistics and cost limitations. So therefore, a developer who has been using .NET 4 and ASP MVC framework and Entities , may be unable to secure employment at a shop utilizing an earlier version of VS.
Sincerely Yours, Brian Hart
-
Call me a Puritan, but I think that the MVC framework and the enhanced IDE tools, and LINQ etc actually remove developers from the pure algorithms they need to implement and make developers, on the whole, dumber. Don't get me wrong, these frameworks help make our jobs easier and make it easier to develop more quickly; however, should one have to revert to using a version of the IDE that is prior to the one that introduces novel database use features or hides implementation details and then develop according to the same pattern it makes it more difficult for skillsets to become backward compatible. For example, take the Entity Model framework and the MVC approach to using DbContexts to access the Database Connection etc. This dumbs away and hides connection details from the even the advanced developer behind a closed-source implementation so there is no way to Go To Definition and figure out what is behind the scenes so what if the next project is using, say, the old N-Tier Data Application model with the same data source and same model and now the task is, create an MVC app but using the old stuff. Shops can get pretty retarded at times with their insistance that developers go back to older frameworks and versions of the .NET framework, but sometimes it's necessary if the customer's machine infrastructure won't support the latest and greatest and customers necessarily can't be persuaded to upgrade due to the implementation and rollout logistics and cost limitations. So therefore, a developer who has been using .NET 4 and ASP MVC framework and Entities , may be unable to secure employment at a shop utilizing an earlier version of VS.
Sincerely Yours, Brian Hart
The worse thing is that because of that, I see highly skilled programmers getting paid as much as a "dumb" ones. The demand for productivity development is much higher than a kernel type of development, so these great traits of great programmers are simply not noticed.
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia
-
Call me a Puritan, but I think that the MVC framework and the enhanced IDE tools, and LINQ etc actually remove developers from the pure algorithms they need to implement and make developers, on the whole, dumber. Don't get me wrong, these frameworks help make our jobs easier and make it easier to develop more quickly; however, should one have to revert to using a version of the IDE that is prior to the one that introduces novel database use features or hides implementation details and then develop according to the same pattern it makes it more difficult for skillsets to become backward compatible. For example, take the Entity Model framework and the MVC approach to using DbContexts to access the Database Connection etc. This dumbs away and hides connection details from the even the advanced developer behind a closed-source implementation so there is no way to Go To Definition and figure out what is behind the scenes so what if the next project is using, say, the old N-Tier Data Application model with the same data source and same model and now the task is, create an MVC app but using the old stuff. Shops can get pretty retarded at times with their insistance that developers go back to older frameworks and versions of the .NET framework, but sometimes it's necessary if the customer's machine infrastructure won't support the latest and greatest and customers necessarily can't be persuaded to upgrade due to the implementation and rollout logistics and cost limitations. So therefore, a developer who has been using .NET 4 and ASP MVC framework and Entities , may be unable to secure employment at a shop utilizing an earlier version of VS.
Sincerely Yours, Brian Hart
That's what people said when C started to displace assembly code...
-
Funny, how folks who are skilled in the "latest and greatest handholding" are often the most highly-paid...
Sincerely Yours, Brian Hart
Actually, they aren't. I make way more than those script-kiddies who know all about the latest hip new technology. All those articles that tell you otherwise are written by people who don't know the first thing about what they are talking. And they are writing about employers who don't have a clue what it takes to actually write decent software or don't actually care about doing so.
-
The human mind has limits, such as being bound by limited time, limited capacity to learn, and limited capacity to retain information. As time goes on, programming environments will become more and more high level. After all, you wouldn't blame somebody for avoiding writing their entire business application in machine code, right? LINQ, MVC, and things of this sort are just another level that abstracts away the details and automates things which were previously manual. Sure, it may mean a developer can go some time without being exposed to some of the underlying fundamentals, but the time required to learn all those fundamentals may not be worthwhile. Another example of when this phenomenon applies is to an organization. You may have a Sharepoint developer who knows that tool really well, and a C++ guru who can do that well, and somebody who does LINQ/MVC, and they may share a manager, and that manager may have a department manager as their supervisor, and those managers may answer to VPs, CIOs, CEOs, and so on. Are you really going to blame the CEO for not knowing C++ or Sharepoint programming? If an abstraction layer is built well enough, you don't have to know about its implementatino details. That applies to people just as much as it applies to software. Sure, a developer may be better for knowing some of those details, but developers like all people have their limits and can't be expected to know everything.
I am not sure I agree with your first sentence. I don't know of any hard limit on the capacity of the human mide to retain information or to learn, nor am I conviced that time is a limiting factor on the mind itself. There are plenty of exmaples of people who have full recall of everything they have every seen. Such people exist, so it's not clear there is a limit on what the human mind can retain and recall. There are numerous examples of child prodigies that learn incredible amounts at early ages. And I've never run into anything I couldn't learn if I was motivated to do so. I suspect the only limit on learning is one's own consideration about what they are capable of learning. As for time? How long does it take to come up with an idea? Ideas are instantaneous. Putting the idea into the physical universe does take time. All that said, I do agree with the rest of your statement.
-
Call me a Puritan, but I think that the MVC framework and the enhanced IDE tools, and LINQ etc actually remove developers from the pure algorithms they need to implement and make developers, on the whole, dumber. Don't get me wrong, these frameworks help make our jobs easier and make it easier to develop more quickly; however, should one have to revert to using a version of the IDE that is prior to the one that introduces novel database use features or hides implementation details and then develop according to the same pattern it makes it more difficult for skillsets to become backward compatible. For example, take the Entity Model framework and the MVC approach to using DbContexts to access the Database Connection etc. This dumbs away and hides connection details from the even the advanced developer behind a closed-source implementation so there is no way to Go To Definition and figure out what is behind the scenes so what if the next project is using, say, the old N-Tier Data Application model with the same data source and same model and now the task is, create an MVC app but using the old stuff. Shops can get pretty retarded at times with their insistance that developers go back to older frameworks and versions of the .NET framework, but sometimes it's necessary if the customer's machine infrastructure won't support the latest and greatest and customers necessarily can't be persuaded to upgrade due to the implementation and rollout logistics and cost limitations. So therefore, a developer who has been using .NET 4 and ASP MVC framework and Entities , may be unable to secure employment at a shop utilizing an earlier version of VS.
Sincerely Yours, Brian Hart
Brian C Hart wrote:
a developer who has been using .NET 4 and ASP MVC framework and Entities , may be unable to secure employment at a shop utilizing an earlier version of VS.
Surely the same thing could be said about RPG or Cobol or FORTRAN. Newfangled languages are ok, but what if your boss wants you to go back to FORTRAN II for compatibility with their 45 year old mainframe? The wonderful thing about free market economies is that they are self-cleaning. Backward-looking shops don't last long.
-
Apparently you aren't so good at identifying a joke.
jschell wrote:
However it has nothing to do with this thread since Gates hasn't had any technological input into Microsoft for years.
Yeah, he must have zero influence over everything MS does. He only owns a nice chunk of it.
wizardzz wrote:
Yeah, he must have zero influence over everything MS does. He only owns a nice chunk of it.
I have seen no evidence that he has had any input into the technology for years. If you have other proof then present it. Matter of fact he doesn't have much to do with the business (monetary) side either for quite some time except at a very high level.
-
I am not sure I agree with your first sentence. I don't know of any hard limit on the capacity of the human mide to retain information or to learn, nor am I conviced that time is a limiting factor on the mind itself. There are plenty of exmaples of people who have full recall of everything they have every seen. Such people exist, so it's not clear there is a limit on what the human mind can retain and recall. There are numerous examples of child prodigies that learn incredible amounts at early ages. And I've never run into anything I couldn't learn if I was motivated to do so. I suspect the only limit on learning is one's own consideration about what they are capable of learning. As for time? How long does it take to come up with an idea? Ideas are instantaneous. Putting the idea into the physical universe does take time. All that said, I do agree with the rest of your statement.
TRK3 wrote:
nor am I conviced that time is a limiting factor on the mind itself.
Of course there is. It is physical thus there is a limit. And it cannot absorb information faster than it can be presented - so another limit. And there are limits in all individuals in terms of the ability focus for extended period of times - so another limit.
TRK3 wrote:
There are plenty of exmaples of people who have full recall of everything they have every seen.
There are people that run very fast too. But since there is no gene-engineering at birth, no reasonable expectation that that will be possible in the near future and no explanation at the gene level for remarkable skills that point has nothing to with the current situation.
TRK3 wrote:
As for time? How long does it take to come up with an idea? Ideas are instantaneous.
Not sure what you mean but "ideas" do not spring into existence from nothing. They require previous knowledge. And that is even more true for ideas that can actually lead to something in the real world.
-
TRK3 wrote:
nor am I conviced that time is a limiting factor on the mind itself.
Of course there is. It is physical thus there is a limit. And it cannot absorb information faster than it can be presented - so another limit. And there are limits in all individuals in terms of the ability focus for extended period of times - so another limit.
TRK3 wrote:
There are plenty of exmaples of people who have full recall of everything they have every seen.
There are people that run very fast too. But since there is no gene-engineering at birth, no reasonable expectation that that will be possible in the near future and no explanation at the gene level for remarkable skills that point has nothing to with the current situation.
TRK3 wrote:
As for time? How long does it take to come up with an idea? Ideas are instantaneous.
Not sure what you mean but "ideas" do not spring into existence from nothing. They require previous knowledge. And that is even more true for ideas that can actually lead to something in the real world.
On what basis do you make the statement that the mind is physical? The brain is physical. There is a time limit on how fast electrical impulses travel down nerves and how fast neurons in the brain fire. There seems to some correlation between neurons firing in the brain and a person thinking a thought. However, correlation does not imply causation. I would just as readily concede that the thought caused the neurons to fire as the neurons firing caused the thought. There are profound implications of either theory. The theory that physical phenomenon causes thought implies that free will is an illusion. The theory that thought causes physical phenomenon implies that thought is not a physical process but something outside what we currently understand as physical. The full implications of either theory are a bit staggering.
-
Call me a Puritan, but I think that the MVC framework and the enhanced IDE tools, and LINQ etc actually remove developers from the pure algorithms they need to implement and make developers, on the whole, dumber. Don't get me wrong, these frameworks help make our jobs easier and make it easier to develop more quickly; however, should one have to revert to using a version of the IDE that is prior to the one that introduces novel database use features or hides implementation details and then develop according to the same pattern it makes it more difficult for skillsets to become backward compatible. For example, take the Entity Model framework and the MVC approach to using DbContexts to access the Database Connection etc. This dumbs away and hides connection details from the even the advanced developer behind a closed-source implementation so there is no way to Go To Definition and figure out what is behind the scenes so what if the next project is using, say, the old N-Tier Data Application model with the same data source and same model and now the task is, create an MVC app but using the old stuff. Shops can get pretty retarded at times with their insistance that developers go back to older frameworks and versions of the .NET framework, but sometimes it's necessary if the customer's machine infrastructure won't support the latest and greatest and customers necessarily can't be persuaded to upgrade due to the implementation and rollout logistics and cost limitations. So therefore, a developer who has been using .NET 4 and ASP MVC framework and Entities , may be unable to secure employment at a shop utilizing an earlier version of VS.
Sincerely Yours, Brian Hart
I agree completely. If you have no idea how something works it can make fixing problems exceedingly difficult!
-
It is all about productivity. I agree. But I am at a shop right now that supports factories that make packaging. We write the control software for their machinery and they aren't willing to spend the time and money very often to upgrade their whole plant and to re-train 30-year-veteran-union-worker machine operators on a new system except every 2-3 years. Therefore you are stuck with packaging plants (our customers) some of whom are still using WinXP and .NET 1.1 because their CEO wants more money for their next private jet and less to spend on software upgrading and training. So then when you have a developer who has been using .NET 4 and the latest and greatest, which holds their hands through wizards and does everything for them, they do not qualify for employment at our shop if they don't know how to access a DB the old-fashioned way, i.e., if they don't know what's going on behind the scenes. Then productivity actually DECREASES because there are so many layers of abstraction and hand-holding, now developers have only an idea of what's going on up on the surface as opposed to deep down in the bowels. I had professors in college and grad school who emphasized being intimately knowledgeable about what your computer system is doing on all levels, even if you have to work on the surface for increased productivity. Take for exmaple the statement
var q = list.Where(x => x.Property == true);
in LINQ. How are you going to code that in .NET 1.1? Today's devs some of them fresh out of today's budget-cut "computer science" programs, won't know how to implement that with an ArrayList and no LINQ. Maybe that is a bad example, but what aboutvar q = list.Where(x => x.Property == true).GroupBy(x => x.IntegerProperty == 10).Selct(x => x.IntegerProperty).ToList();
keep in mind the previous is pseudo-code; I am not going for correctness. There is a loss of productivity if someone has only been taught LINQ in computer science class and then they are at a desk in the 'real world' and they have only .NET 1.1 and ArrayList and have to do the same thing with an algorithm.Sincerely Yours, Brian Hart
Well perhaps some fail to teach the students what the underlying result of linq is. But if they can't figure out to run a foreach loop and do the filter on the inside they won't be productive in .NET 4 either. Then again the flip side of the coin is that to get me to consider even interviewing at place using 1.1 they would have to offer 50% premium on what I make now. And they may as well know up front that I would only stay for 9 months. Beyond that the rate would go up close to double. I realize that some organizations practice false economy. And I am sure that the same stupid people would provide an old slow computer to develop on because after all why spend a grand to make the developer more proficient? And I realize that some will scoff at my take on working there. But in DFW there are more jobs than developers. Further, most of those jobs require knowledge of .NET 4. So the smart thing is to stay current and leave the dinosaurs to die their slow death. My first priority is my career. My second is my employer's longevity. And I consider it foolish to swap those positions.
-
Call me a Puritan, but I think that the MVC framework and the enhanced IDE tools, and LINQ etc actually remove developers from the pure algorithms they need to implement and make developers, on the whole, dumber. Don't get me wrong, these frameworks help make our jobs easier and make it easier to develop more quickly; however, should one have to revert to using a version of the IDE that is prior to the one that introduces novel database use features or hides implementation details and then develop according to the same pattern it makes it more difficult for skillsets to become backward compatible. For example, take the Entity Model framework and the MVC approach to using DbContexts to access the Database Connection etc. This dumbs away and hides connection details from the even the advanced developer behind a closed-source implementation so there is no way to Go To Definition and figure out what is behind the scenes so what if the next project is using, say, the old N-Tier Data Application model with the same data source and same model and now the task is, create an MVC app but using the old stuff. Shops can get pretty retarded at times with their insistance that developers go back to older frameworks and versions of the .NET framework, but sometimes it's necessary if the customer's machine infrastructure won't support the latest and greatest and customers necessarily can't be persuaded to upgrade due to the implementation and rollout logistics and cost limitations. So therefore, a developer who has been using .NET 4 and ASP MVC framework and Entities , may be unable to secure employment at a shop utilizing an earlier version of VS.
Sincerely Yours, Brian Hart
I think the .Net4 and higher like(EF,MVC3) not good way for new developers