I think M$ tools and frameworks actually make developers dumber
-
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
-
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
-
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:
For example, take the Entity Model framework and the MVC approach
which MS will, of course, stop supporting in some future version of whatever they think developers should be developing with, leaving you tied to a buggy black box that will never be fixed.
-
Brian C Hart wrote:
For example, take the Entity Model framework and the MVC approach
which MS will, of course, stop supporting in some future version of whatever they think developers should be developing with, leaving you tied to a buggy black box that will never be fixed.
Or which will go out of "vogue" entirely...
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 a topic that crops up regularly here in the lounge. The arguments for and against are nothing new, and we will continue to rehash them. However, a point to put in here - the type of developer I want to hire is the developer who's cracked open the framework, and actually thought about things. I don't care if they aren't comfortable with working with an earlier version of the framework - the simple fact that they've taken the time to go outside the wizards is enough for me to know that they will probably be able to adapt. This is not a unique phenomonon to MS - any time there's a framework, there's a perception that it leads to dumbing down; after all, how many coders are comfortable working with the various idiosyncracies of the different browser implementations? That's what jQuery is for - to make my job easier - but I can get down and dirty with JavaScript if I have to.
*pre-emptive celebratory nipple tassle jiggle* - Sean Ewington
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier
-
True, and why not? Talent is expensive! It allows less talented (less educated, less passionate) developers to get stuff done! Ever wander to QA? :doh:
Funny, how folks who are skilled in the "latest and greatest handholding" are often the most highly-paid...
Sincerely Yours, Brian Hart
-
Funny, how folks who are skilled in the "latest and greatest handholding" are often the most highly-paid...
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 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.
-
no i am talking just among the subset of IT folks who actually do the coding.
Sincerely Yours, Brian Hart
-
no i am talking just among the subset of IT folks who actually do the coding.
Sincerely Yours, Brian Hart
-
True, and why not? Talent is expensive! It allows less talented (less educated, less passionate) developers to get stuff done! Ever wander to QA? :doh:
wizardzz wrote:
True, and why not? Talent is expensive! It allows less talented (less educated, less passionate) developers to get stuff done! Ever wander to QA?
Amen
VS2010/Atmel Studio 6.0 ToDo Manager Extension
Version 3.0 now available. There is no place like 127.0.0.1 -
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
In my case, I find it harder to understand some of the more advanced frameworks as opposed to the more fundamental things. I like to understand code in terms of function calls which carry arguments, properties and such. Frameworks to me seem arbitrary and contrived, especially things like dependency properties and attached properties.
The difficult we do right away... ...the impossible takes slightly longer.
-
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:
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.
A couple of thoughts about your post. #1: Whether a framework/model/etc makes someone else, or a lot of someone else, dumber is entirely irrelevant to me as I don't see myself as some sort of corporate intelligence policeman. #2: Re-writing pure algorithms may be a good learning excercise but there is no reason to substitute your own hackwork to fix a well known problem that has been already throughly addressed. Well, I mean, besides arrogance. #3: I'd like to know how M$ frameworks make people dumber but opensource Java frameworks don't also make their developers dumber - or is this just thinly veiled Microsoft hatred? (I'm pretending the M$ syntax didn't already answer that question). The truth is that frameworks don't make people stupd - laziness makes people stupid. I wish it was really complex enough to pin on a particular corporation, but it's not.
-
In my case, I find it harder to understand some of the more advanced frameworks as opposed to the more fundamental things. I like to understand code in terms of function calls which carry arguments, properties and such. Frameworks to me seem arbitrary and contrived, especially things like dependency properties and attached properties.
The difficult we do right away... ...the impossible takes slightly longer.
-
No they not make us dumber they make us a lot more productive, i think they make us more lazy because as programmers you make to a point where you dont want to reinvent the wheel
-
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
Yes.
-
True, and why not? Talent is expensive! It allows less talented (less educated, less passionate) developers to get stuff done! Ever wander to QA? :doh:
Exactly -- Microsoft is actively working to reduce average salaries for developers world-wide and therefore reduce what they have to pay their own developers.
-
Brian C Hart wrote:
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.
A couple of thoughts about your post. #1: Whether a framework/model/etc makes someone else, or a lot of someone else, dumber is entirely irrelevant to me as I don't see myself as some sort of corporate intelligence policeman. #2: Re-writing pure algorithms may be a good learning excercise but there is no reason to substitute your own hackwork to fix a well known problem that has been already throughly addressed. Well, I mean, besides arrogance. #3: I'd like to know how M$ frameworks make people dumber but opensource Java frameworks don't also make their developers dumber - or is this just thinly veiled Microsoft hatred? (I'm pretending the M$ syntax didn't already answer that question). The truth is that frameworks don't make people stupd - laziness makes people stupid. I wish it was really complex enough to pin on a particular corporation, but it's not.
MehGerbil wrote:
#1: Whether a framework/model/etc makes someone else, or a lot of someone else, dumber is entirely irrelevant to me as I don't see myself as some sort of corporate intelligence policeman.
I am all for using new technology and I am against laziness about not being concerned with what the guts are doing behind the scenes. The closed-source nature of M$ tech, though, makes this more difficult to do the higher-level stuff gets. My point is, you just never know what could be asked of you at your next job. For example, when one has done, e.g., .NET 1.1 way in the past, moved along with increasing technology like everyone else during their career and then finds themselves having to debug, enhance and maintain a .NET 1.1 codebase again as well as .NET 3.5 or .NET 4, if one is not careful certain skills can atrophy rendering such an employee impotent. I am aiming this scorn at M$ because their close source tech blocks the pathways to backward-skillset-propagation because as things are increasingly abstracted and then teh source is closed so you don't know what's going on under the hood, then you are more prone to forget skills you may need in a job further on. That's why it's imperative for computing professionals to always be somewhat familiar with the under the hood just in case you have to, next job you have, step back a bit in abstraction and still do the same tech but with a lower version.
Sincerely Yours, Brian Hart