What killed Smalltalk could kill Python

Steven D'Aprano steve+comp.lang.python at pearwood.info
Thu Jan 22 04:23:16 CET 2015


Mario Figueiredo wrote:

> In article <mailman.17933.1421884677.18130.python-list at python.org>,
> rosuav at gmail.com says...
>> 
>> Bad idea. Better to pick a language that makes it easy to get things
>> right, and then work on the fun side with third-party libraries, than
>> to tempt people in with "hey look how easy it is to do X" and then
>> have them stuck with an inferior or flawed language. Too many people
>> already don't know the difference between UTF-16 and Unicode. Please,
>> educators, don't make it worse.
>> 
>> ChrisA
> 
> 
> Indeed. If games and funnies is what drive beginners into programming,
> that's fine. But the educational principles of programming shouldn't be
> trashed in the process. We need serious developers in today's complex
> application systems.

Sure, but are they the *only* kinds of programmers that we need? Isn't there 
room in the world for an open-source developer who creates Firefox plug-ins, 
sys admins who write shell-scripts, cubical workers who write Excel 
worksheets, etc? Why shouldn't my Aunt Tilly write a mobile phone app to 
manage her cheesecake recipes just the way she likes?

http://livecode.com/

Programming games is hard. Arguably, it's *much* harder than most beginners 
can deal with, unless you start with a specialist language designed with 
game-related primitives:

http://scratch.mit.edu/

Even text based games are hard, and arguably need their own specialist 
language:

http://inform7.com/

Modern games *are* part of "today's complex application systems", and games 
developers may need the same skills used by "serious developers":

- project management
- testing
- change control
- release management
- documentation
- networking
- user authentication


etc. I'd further argue that many games developers have to know *more* that 
the typical developer. As a Python programmer, I don't have to manage 
memory, but many games devs are often programming down close to the metal 
and do need to care about the sort of low-level issues (memory, graphics, 
network latency) that I only have the fuzziest concept of. You don't write a 
high-performance 3D physics engine in Python. (At least not yet.)


> Not uneducated programmers with nary a knowledge of
> Software Engineering. Besides if games and funnies are the only thing
> that can drive someone into programming, I'd rather not see that person
> become a developer.

That's a terribly judgemental and rather arrogant statement. If people have 
a passion for mathematics, and that leads them to take up programming and 
invent Mathematica, would you say the world would have been better off if 
they never became a programmer?

What we need is more programmers with a passion for their job, and if that 
means learning to write games, then so be it. One of the problems with "9 to 
5 code monkeys" is that programming is just a job for them. They do the 
absolute minimum they need to keep their job. They don't program for fun, or 
to learn new skills, or to solve problems. They go to user groups and forums 
like here only when they have a question they want answered, they take and 
take and take and they never give back.

I'd rather teach somebody passionate about writing games than somebody 
apathetic about programming, and I'd rather the games person became a 
programmer.


-- 
Steven




More information about the Python-list mailing list