When I went to school ( in the dark age of 1985 ), we were taught LISP as the initial language. Not because the school thought LISP was a particularly eximplary language, but because almost no one entering college had ever used LISP. The professor thought that this ignorance made it easier for him to teach Computer Science as opposed to computer programming. If it were a well known language, people would come into the course with biases they had already developed. Looking back, I agree with his assesment. All of us learning the language at the same time afforded us the opportunity to learn the language within the framework of basic Computer Science.
So, my suggestion would be to use a quite functional, but not very well known language or even have the professor write a language themselves and use that.
I am a consultant in the fast paced B2B market. While I appreciate the quandry, I don't think there's a cut and dry answer here. I always enter a site with the intention of doing what's best for the customer. However, I often find that the customer is not educated nearly enough for the project they are undertaking. Further, for all the allegations that they look to me for solutions, they often are looking to me for an answer they already have in mind. So, what do I do then? Give them what they want despite the fact that, according to my expertise it isn't the best answer for them? Often the situation can leave me looking like I'm doing a pretty shoddy job for the customer.
Many of these startup dot coms that I have dealt with have a completely non-viable business plan. Should I recuse my services at that point because nothing I can do will make their business plan viable? I guess what I'm trying to say is that I don't think you can easily enumerate a set of ethical guidelines which will help you for anything but the most basic and obvious of situations. I think you should make every effort to do what's best for the customer, but that is very different for each customer and each situation.
When I went to school ( in the dark age of 1985 ), we were taught LISP as the initial language. Not because the school thought LISP was a particularly eximplary language, but because almost no one entering college had ever used LISP. The professor thought that this ignorance made it easier for him to teach Computer Science as opposed to computer programming. If it were a well known language, people would come into the course with biases they had already developed. Looking back, I agree with his assesment. All of us learning the language at the same time afforded us the opportunity to learn the language within the framework of basic Computer Science.
So, my suggestion would be to use a quite functional, but not very well known language or even have the professor write a language themselves and use that.
I am a consultant in the fast paced B2B market. While I appreciate the quandry, I don't think there's a cut and dry answer here. I always enter a site with the intention of doing what's best for the customer. However, I often find that the customer is not educated nearly enough for the project they are undertaking. Further, for all the allegations that they look to me for solutions, they often are looking to me for an answer they already have in mind. So, what do I do then? Give them what they want despite the fact that, according to my expertise it isn't the best answer for them? Often the situation can leave me looking like I'm doing a pretty shoddy job for the customer.
Many of these startup dot coms that I have dealt with have a completely non-viable business plan. Should I recuse my services at that point because nothing I can do will make their business plan viable? I guess what I'm trying to say is that I don't think you can easily enumerate a set of ethical guidelines which will help you for anything but the most basic and obvious of situations. I think you should make every effort to do what's best for the customer, but that is very different for each customer and each situation.