4 ms·
I would actually solve the game/show problem a different way. I would teach kids how to build MVC web apps and set up a cheap server so that apps could be "show
by memracom 12y ago
I would actually solve the game/show problem a different way. I would teach kids how to build MVC web apps and set up a cheap server so that apps could be "shown" to anyone on any device. If you use a mobile-first design philosophy for the webapps then phones are not likely to be an issue.
Yes, there is still the issue of response time but no language works for everything. You have to accept certain limitations and make compromises.
Actually, I might no longer even use webapps. Nowadays it is pretty cheap to give every kid a Raspberry PI so WxPython or Pygame can be used for everything. The showing problem boils down to borrowing a monitor, keyboard and mouse. You could actually carry around a small portable bluetooth keyboard and a mouse in your backpack with the Raspberry PI.
So, why stick with Python? It is because Python is a leader in moving up the evolutionary curve towards functional languages and functional reactive programming. I still think that Python is easier to get into that Erlang or Scala because you can "make mistakes" but still have a working program. And by examining the implications of mistakes you have a learning opportunity too. Note that Javascript has been following Python's lead in adding more functional features.
There is a general language evolution going on and Python is in the thick of it, maintaining compatibility with the old imperative style beloved of data crunching scientists along with the functional goodies that Haskell, Erlang and Scala focus on. It is not out of date. It is not mired in the past like PERL and PHP. What was good about Python 5 years ago is still good.
- cageface 12y agoI would teach kids how to build MVC web apps and set up a cheap server so that apps could be "shown" to anyone on any device. That's a pretty big hurdle for a newbie to get over before "Hello World". JS in the browser has the massive advantage of being pre-installed and requiring no special tools, with an immediate edit-run feedback loop. Wrestling with a server and code deployment etc is a problem they can learn to solve once they've been bitten by the programming bug.
- qzcx 12y agoI'm not sure your responding to the problem the OP has. He isn't saying Python isn't good for all the things you've listen. He is saying that for starting off in an introductory classroom environment, python is too complicated for simple interactive applications. MVC web app certainly goes above and beyond TkInter in complexity. If you need to develop the web app, then you'll probably end up teaching Javascript anyways to accomplish what he is addressing. Having tutored friends in introductory courses before, functional programming would certainly also go over their heads. So while I agree with you on your points. I agree with the OP that perhaps Python isn't the best language you want to use as an introductory course (if interactive GUI are on the to do list at least), but maybe bring it in during the second or third course.
- dinkumthinkum 12y agoYou realize all these "new" concepts you think exist in these "modern" programming languages have been around since the early 1960s, right? MVC Web Apps ugh ... Maybe for some ... I just think there is a class of learner that wants to actually learn about computers and not just show web sites to their friends.
- coldtea 12y ago>I would actually solve the game/show problem a different way. I would teach kids how to build MVC web apps and set up a cheap server so that apps could be "shown" to anyone on any device. If you use a mobile-first design philosophy for the webapps then phones are not likely to be an issue. Emm, MVC web apps are not appropriate for games. The could be the backend for SOME games, quizzes, RPGs maybe etc, but for the vast majority of games you need a canvas to draw in. So that would still require using Javascript, not just Python on the server side.
- rattray 12y agoI don't hear many 13-year-olds wanting a computer with no screen, keyboard, or mouse. I do hear a lot of kids with smartphones who want to play games on them.