I taught programming to a group of teenagers with no previous programming experience. I chose Common Lisp, using Conrad Barski's 'Land of Lisp' as the text. My objective was not to teach a particular language, but to teach HOW to program. The big advantage to Lisp is that there's no syntax, after all, everything's a list. I've also taught C++, Perl, and JavaScript, and in my judgement, those teenagers made mare progress in Lisp than college age kids did with the more traditional languages. At the end of the course, they were successfully writing real programs, which is more than my college students ever did.
I wore a uniform for two years, consisting of a white shirt with the company logo and khaki trousers, and thought it was a good idea. My department was held in high regard as a result of the services it performed, and I gained instant credibility as a result of my visual identification with the department. Wasn't a help desk, but as an instructor in a technical college. Still, if the department is respected, the members will be as well.
First, read "Advanced Unix Programming" by Marc J. Rochkind. This is perhaps THE one source book for learning to program Unix.
Then, become proficient in C. C was developed to write Unix, and Unix was written in C.
After that, read the source. You can't write for any application (OSes included) until you can read the source... which in this case is in C.
I also have a mixed job, part manager and part worker bee. My job is to push data out the door in different kinds of formats. My CHIEF criteria is to use the technology that will do the job quick and right.
I use a lot of different technologies, depending on the job. This includes Perl, C, Java,.NET, Office (Excel and Access), Coldfusion, Python, and I have also used Erlang and Lisp on rare occasions.
More than half of my production consists of Perl. Why? It's quick and powerful, and since I don't have to maintain the scripts I don't worry about it. Writing a one-off 50 liner in Perl in an hour beats everything else out there, including Python.
If I had to maintain a code base, I would probably gravitate to Java. I have a file cabinet full of hard copies of unreadable Perl scripts. Still, if your job is transforming data and almost every job requires a custom script, you can't beat Perl.
I've taught a number of introductory programming courses at the junior college level. For my money, teach Java on Windows using DOS edit (or notepad) and use javac and java.
Python comes with it's own native IDE, which you should use.
The probmes lwith IDEs is that the student learns the interface, not the language. I've dealt with a lot of students after the fact, and they were whizes on the interface, but know very little about logic, pseudo code, variable scopes, and little things like that. If you want to teach them to program, don't use something that hinders learning to program. Serve it up raw.
CC
Be professional. Develop a letter explaining the situation and saying that you will no longer be able to continue user support. Apologize for it and offer to assist in finding another professional who can meet their needs.
Be honest and polite, but definitive. Your users will appreciate it. What they will not appreciate is dishonesty on your part or an unexplained cutoff.
I taught programming to a group of teenagers with no previous programming experience. I chose Common Lisp, using Conrad Barski's 'Land of Lisp' as the text. My objective was not to teach a particular language, but to teach HOW to program. The big advantage to Lisp is that there's no syntax, after all, everything's a list. I've also taught C++, Perl, and JavaScript, and in my judgement, those teenagers made mare progress in Lisp than college age kids did with the more traditional languages. At the end of the course, they were successfully writing real programs, which is more than my college students ever did.
I wore a uniform for two years, consisting of a white shirt with the company logo and khaki trousers, and thought it was a good idea. My department was held in high regard as a result of the services it performed, and I gained instant credibility as a result of my visual identification with the department. Wasn't a help desk, but as an instructor in a technical college. Still, if the department is respected, the members will be as well.
First, read "Advanced Unix Programming" by Marc J. Rochkind. This is perhaps THE one source book for learning to program Unix. Then, become proficient in C. C was developed to write Unix, and Unix was written in C. After that, read the source. You can't write for any application (OSes included) until you can read the source ... which in this case is in C.
I also have a mixed job, part manager and part worker bee. My job is to push data out the door in different kinds of formats. My CHIEF criteria is to use the technology that will do the job quick and right. I use a lot of different technologies, depending on the job. This includes Perl, C, Java, .NET, Office (Excel and Access), Coldfusion, Python, and I have also used Erlang and Lisp on rare occasions.
More than half of my production consists of Perl. Why? It's quick and powerful, and since I don't have to maintain the scripts I don't worry about it. Writing a one-off 50 liner in Perl in an hour beats everything else out there, including Python.
If I had to maintain a code base, I would probably gravitate to Java. I have a file cabinet full of hard copies of unreadable Perl scripts. Still, if your job is transforming data and almost every job requires a custom script, you can't beat Perl.
I've taught a number of introductory programming courses at the junior college level. For my money, teach Java on Windows using DOS edit (or notepad) and use javac and java. Python comes with it's own native IDE, which you should use. The probmes lwith IDEs is that the student learns the interface, not the language. I've dealt with a lot of students after the fact, and they were whizes on the interface, but know very little about logic, pseudo code, variable scopes, and little things like that. If you want to teach them to program, don't use something that hinders learning to program. Serve it up raw. CC
Be professional. Develop a letter explaining the situation and saying that you will no longer be able to continue user support. Apologize for it and offer to assist in finding another professional who can meet their needs.
Be honest and polite, but definitive. Your users will appreciate it. What they will not appreciate is dishonesty on your part or an unexplained cutoff.
CC