Tuesday, August 03, 2010 12:18 AM
So I'm on this private email group and a discussion starts by someone pointing out this blog post which talks about the Microsoft.Data.dll and the Microsoft.Data namespace. From the blog post:
It’s an awesome new assembly/namespace that contains everything you’ll ever need to access a database. In ASP.NET WebPages we wanted people to be able to access the database without having to write too many lines of code.
...
The user doesn’t have to learn about connection strings or how to create a command with a connection and then use a reader to get the results.
Check out the full blog post for all the details, but remember the context of this is around the Webmatrix product release. Still, it created a shitstorm of discussion on the private email group I mentioned earlier on whether this type of functionality should be available as many would see this as not a good practice for accessing a datastore.
Some people commented that we try to make software development too hard or too complicated and that this may scare of people from entering the field; that we also dictate best practices and shun those that don't follow them; and that if you don't use language-x then you aren't a *real* programmer.
But software development is difficult, sophisticated, uses complicated IDE's, and if you aren't creating software according to professional standards then no, you shouldn't be doing it.
We're building complex systems that have to take into account business process, security, scalability, availability, and maintainability. We need to consider laws (local, territory, and country), understand client business policies, and create the most ideal user experience. We need to provide metrics such as code coverage of unit tests to prove and meet client expectations of quality.
I could go on, but the point is that I think what some may see as haughty or snobby devs ranting and raving are really people that realize we need to mature and who get frustrated when mixed messages get sent to new developers as to what's *really* involved in software development. Software development is hard, just like electrical engineering is hard, just like being a bio-chemist is hard. When we try to show how "easy" it is in our industry, that's when we do a disservice by pretending to be something we aren't to prospective students and job seekers.
I think that releasing tools for the student and hobby levels of developers are great, but what I'd love to see is a roadmap that these people could be provided to help guide them. Start on Webmatrix and play with the tools provided, but know what they should look at next to continue their progression. I also question if students and hobbyists should be grouped together: one will eventually move on in learning, while the other one might be happy to just play on weekends or in free time. One is not equal to the other.
Anyway, intersted to hear thoughts. I'm always reminded of what a former boss said to me: If what we did was easy, then companies would just hire high school kids to do it.
D