4 ms·
Like many have said, a variety is important. Back in the day when I went to school we learned a primary language to do most things - compiler writing, algorit
by sloaken 8y ago
Like many have said, a variety is important.
Back in the day when I went to school we learned a primary language to do most things - compiler writing, algorithms etc. We then learned an assembly language. Then we learned a bunch of algorithms, then a bunch of topics. In my school we had 4 different specialty areas: Science - ie fortran, Systems - no additional language, Business - Cobol (yuck), SPSS, and SQL, And Architecture - you had to learn micro code.
Today things are different. IMHO the first language you learn should be fairly safe with a great debugger. Why? Well few things suck as much as when the program is due at 10 AM, you are trying to figure WTF at 3 AM, and thus cute little print statements you are using are not coming out in a logical fashion. You are trying to teach them, not weed them out, a good debugger helps a lot.
Second I would introduce them to something tough like assembly language. Teaches them some of the truly dark arts. Lets them appreciate what is happening. If you really want to educate them get into Micro code and nano code. Although my personal experience was 80% did not truly understand it.
Everyone needs to learn some SQL to be well rounded.
An object oriented class is a good thing. While specific language? I always like the 'With a good debugger' answer. It is more learning less crying.
I think a functional language is a great thing. Although I would insist that they already have a grasp of recursion. If not they will slide through the class and never grasp it.
Coding where they build a web page and code is run at the client and some of their code is run on the server.
And I agree with matt_the_bass about version control, testing, code reviews. But I would add in requirements gathering.
Also inflict them with a real world problem - George, the guy we liked better than you and paid more and gave a better office to, just quite (because he is a real shmoozer and BSed his way into a better job). He has left behind this wonderful code, which he almost had finished. You have to get it working. What he left was some half baked requirements, a design document that looks more like a drawing of Santa and his reindeer, code that has a few bugs coding and 2 syntax bugs that keep it from compiling. Test documentation that is surprisingly well done (because someone else did it). If needed I can provide a list of people who can provide code for this ....