Some of this apparently off-topic, but I will get back on-topic by the end.
On Tue, 2016-01-26 at 21:17 +1300, Rikki Cattermole via Digitalmars-d- announce wrote: > I wasn't going to reply, until you tweeted. Sorry for wrongly assigning geography. > No just no. Yes, oh yes, oh yes. > When dealing with tertiary institutions especially New Zealand ones, > you've got to understand they have massive pressure to get through > content. Every single class is standardized nationally, by law. Sounds like the NZ system is not as good a tertiary education system as it should be. Having guidelines for curriculum and examination is fine, but to stadardize at the class level is definitely too low. UK universities went through this debate in the 1980 and managed to escape from legal enforcement. > You're all worried about doing things best practice in an eco-system. > That is just not the case here. In these courses they are not meant > to > be teaching a language. But instead use said language to teach with. There should also be classes in applications construction. Clearly classes on specification, compilers, etc. the language is tool only and workflow and best practice of programming are irrelevant. > The most time a student gets in ANY language is 2 semesters. By the > time > they reach third year (last) they only have 1 per language. > In these classes the concern is teaching some other relevant concept > such as design patterns. Design patterns are not language agnostic. GoF patterns are 23 year old and many totally irrelevant with certain programming languages. However that is a different debate for a different place. > So you're pushing limited class time for the purpose of teaching > actual > class content instead of non required information for assignments. > Its a balancing act. It sounds like the law makers are getting it wrong then. If there is no time for teaching programming best practice then graduates from the programme are not ready for employment without first doing an apprenticeship of some sort. > But you've got to understand that most of the students going through > it, > are just not interested in going much further then the assignments. > Simple things like trying OpenGL are beyond them and this is ok. > They > have a lot of things to learn and have real life requirements outside > of > study. From my time in academia (20 years) I can pretty much agree that most computing students didn't actually give a shit about computing. Certainly 40% of them couldn't program. But because of the curriculum they get degrees, get jobs as programmers and we end up with the mass of crap code we currently have in the world. > The average person learning to program is not spending half the time > most D developers do on a slow week. Again this is ok. But we need > to > acknowledge that they won't be anywhere near us or our expectations > normally. Which gets on to a huge hobby horse of mine. If degrees are about knowledge then there has to be a follow on before people are employed. Medics do this: three year degree, two or three years on the job training. Effectively an apprenticeship. Sadly in computing, most employers assume graduates have the knowledge and the work practice skills. Clearly they do not. It seems NZ is enshrining this in law. UK it is jsut what happens. Of course most university computing academic staff cannot program either. > To assume the average person will play around and learn pip ext. is > just > ridiculous. Especially when they have most if not all the code they > need > already available to them via the distribution. Ridiculous is the wrong word to use here. All Python programmers should know about pip and PyPI. You are talking about students using Python to code up answers to exercises. If the academic ensures there is no need of anything other than the standard distribution, then that is a fine compromise, in that situation. But a person off that course should never claim they can program in Python, nor should tehy be considered for Python programming jobs without further training. > These are the same people who we may barely convince to try D out. > If > they struggle to do basic things or at least perceived basic things > then > they won't bother and just say 'too hard'. > If we can make them happy, most developers over all will be happy. > Even > the average D developer will be glad for it. Mostly because they cannot be arsed. Academic's have a responsibility here to configure things for the students. We did this with C++, Scheme, Miranda, Java, etc. Part of the initial pack for each course were detailed tested instructions for students to set up. They didn't have to think, they just had to follow the recipe. > At the end of the day, the least amount of steps to do what is > perceived > as basic tasks without any conflicting arguments the better. True. 1. Download Dub. 2. Dub install standard-distribution should do it. > I keep saying about perceived basic tasks. Psychology. A fourteen > year > old today was born in 2002. I learned to program when I was 14. In > 2001 > XP was just released. The people learning programming now expect > GUI's > and perceive it as basic. We may know better but at the end of the > day, > how can we appeal to them realistically? In the university context most of the problems you are pointing out land squarely at teh feet of the academic, and law makers, not the students. Students are clearly input and output being treated as cannon fodder, not as individuals wishing to learn things. But to get back on topic. Yes modern development is about IDEs. VIM and Emacs do not count even though a lot of programmers use them. IntelliJ IDEA (CLion, PyCharm,…), NetBeans, Visual Studio, Xcode, even Eclipse, are what people mean by IDEs. In various Scala, Java, Python, Clojure, workshops I have forced people to use IDEs who would otherwise have used VIM or Emacs.It is amazing how much further people get in learning a language and how to use it with all the extras over and above editing that a good IDE provides. As a confirmed believer in "Emacs is the One True Editor, VIM is a scouring agent" I have been converted to good IDEs – bad IDEs get me back to Emacs very quickly. So we need a really good, preferably lightweight, but… IDEs that really make programming, D in this context, easier and fun. The IDE should be editor, manual, guide, mentor. The single incident that really brought this home to me was at a DevoxxUK workshop a couple of years ago, people new to Java were coding up full on good quality RxJava applications in two hours. Without the IntelliJ IDEA environment, they would have been nowhere. So as well as DDT in Eclipse, there should be solid support for Kingsley and the IntelliJ IDEA D plugin. If we get more people using D, we will have more people willing to contribute to D development, in terms of packages on Dub and otherwise. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:[email protected] 41 Buckmaster Road m: +44 7770 465 077 xmpp: [email protected] London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
signature.asc
Description: This is a digitally signed message part
