[lug] First Programming Language

Louis Krupp louis.krupp at gmail.com
Fri Jan 5 14:21:54 MST 2018


Python has its issues -- Perl, for all its weirdness, lets you declare
variables and therefore seems like more of a language for adults -- but if
the goal is to pick up the basics of programming, Python is as good a place
to start as any. Think of how kids learn their first human language; they
start with a few words and then work their way up to *The Elements of Style*
.

Actually, I'd be tempted to start new programmers with BASIC. Sure, it's
old, but I'm not sure that brand-new programmers are any different now than
they were 50 years ago. I'd show them

http://yohan.es/swbasic/

or

https://www.jdoodle.com/execute-freebasic-online

and once they got that, I'd introduce them to Python. They'd like Python
better (hopefully), they'd get used to the idea of moving to a new language
early in their career, and they'd be more receptive to whatever you show
them next.

Louis

On Thu, Jan 4, 2018 at 2:02 PM, Steve Litt <slitt at troubleshooters.com>
wrote:

> On Thu, 04 Jan 2018 11:35:25 -0700
> "Michael J. Hammel" <mjhammel at graphics-muse.org> wrote:
>
> > On Thu, 2018-01-04 at 10:27 -0700, Jed S. Baer wrote:
> > > Oh, come now. Laying poor programming knowledge at the feet of
> > > Python,
> > > vs. any other language?
> >
> > I'd actually lay it at the feet of universities who teach Python
> > because it's easy to learn, without backing it with the foundations of
> > programming practice.
>
> Puh-leeeeze. Python is popular: There's a chance of the student getting
> a job based on knowing Python. I'd imagine most university and Junior
> College instructors will add material about good programming practice,
> but even if they don't, the newbie will learn that as a junior
> programmer on his/her first gig.
>
> With its indent-dependent syntax and lack of matching braces, Python
> gets rid of one of the biggest stumbling blocks to newbies just trying
> to learn how to run a loop and terminate on a certain condition. Its
> lax typing means that they're not constantly and forever going to be
> stopped in their tracks by a type violation in an otherwise sound
> algorithm.
>
> Python's lists and dictionaries make it extremely capable of doing all
> sorts of simple and complex data abstractions, making it much easier
> for the instructor to teach them how to substitute data complexity for
> algorithmic complexity. References to functions (and therefore callback
> routines) are much easier in Python than C because you don't need to
> put all the data types in the declaration. Unlike C, Python has
> built-in classes and objects. Unlike Java, Python students can postpone
> learning classes and objects until it makes sense to do so.
>
> Unlike many programming language, Python has a curated group of tested
> and working add-ons resulting in the programmer's ability to finish the
> job in Python rather than backing out and starting in another language
> or doing some sort of kludge with another language.
>
> Ask any instructor: The theory behind learning and instruction is "From
> the familiar to the unknown." The quicker the student leaves the "what
> the asf9872yh is going on here" mode to the "this I know to be true,
> now let me try this small modification", the quicker the student
> learns, and the less likely the student is to "drop out."
>
> If I were teaching a non-programmer to program, I'd start with either
> Python or Lua. And because Python is universally used and is a job
> requirement many places, and because Python has addons that Lua
> doesn't, I'd choose Python.
>
> > The first hint to me that this was a problem was when I tried to
> > examine XBMC plugins.  Ugh.  What a mess.  But I've seen it at work on
> > projects I came into after the fact as well.
>
> Insane code can be and is found in any language.
>
> > Absolutely.  Except it's Python being taught at Universities, where
> > the people I have to mentor come from.
>
> Are you implying that's a bad thing? When I went to Santa Monica
> Community College to learn programming, they started us out in Pascal,
> for which there were almost no jobs. Had they started us out in
> something more popular like C, all of our careers would have
> accellerated. Teaching a minority language is no favor to the student
> unless that minority language is especially easy to learn.
>
> SteveT
>
> Steve Litt
> December 2017 featured book: Thriving in Tough Times
> http://www.troubleshooters.com/thrive
> _______________________________________________
> Web Page:  http://lug.boulder.co.us
> Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug
> Join us on IRC: irc.hackingsociety.org port=6667 channel=#hackingsociety
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lug.boulder.co.us/pipermail/lug/attachments/20180105/216dcb1e/attachment.html>


More information about the LUG mailing list