Re: Python Learning

2017-12-21 Thread Rustom Mody
On Friday, December 22, 2017 at 12:12:58 AM UTC+5:30, Python wrote:
> On Fri, Dec 15, 2017 at 04:51:09PM -0500, Bill wrote:
> > >I'm new to programming, can anyone guide me, how to start learning python 
> > >programming language,...plz suggest some books also.
> > >
> > >Thanks all
> > 
> > Are you sure you want to learn Python first?
> > Python does enough things "behind the scene"
> > that it makes me question the wisdom of that.
> > Other points of view are welcome, of course.
> > Learning the primitives of C++ first, may make for an easier transition.
> 
> This suggestion seems completely backwards to me.

In the locution "computer programming" there are two words
One can choose which one emphasizes I guess??

My own teacher of programming used to relate that when his teacher taught him
assembly language was "programming" and Fortran as "advanced"
Obviously the world today is different from the 1960s

But Gödel's theorem remains true as ever: No formal system (aka language)
is complete (suitable) for expressing everything
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-21 Thread Python
On Fri, Dec 15, 2017 at 04:51:09PM -0500, Bill wrote:
> >I'm new to programming, can anyone guide me, how to start learning python 
> >programming language,...plz suggest some books also.
> >
> >Thanks all
> 
> Are you sure you want to learn Python first?
> Python does enough things "behind the scene"
> that it makes me question the wisdom of that.
> Other points of view are welcome, of course.
> Learning the primitives of C++ first, may make for an easier transition.

This suggestion seems completely backwards to me.  One of Python's
greatest strengths is its relative simplicity, as compared to
lower level languages like C++ or assembly, or even other scripting
languages like Perl (which is comparitively large lexicographically
and syntactically).  Part of the process of learning is being rewarded
for what you have learned; Python does this exceptionally well by
enabling the student to write useful programs with simple syntax in a
very short time.

Pyhon is extremely well suited to teaching basic programming skills
like *using* data structures, flow control, subroutines, etc.
*without* having to grasp more difficult concepts like addressing and
pointers, static typing, low-level data structure implementation, etc..
Those topics would perhaps be better suited to a subsequent course,
once the student has mastered (or at least gained familiarity) with
some of the more introductory concents.

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-21 Thread Larry Martell
On Mon, Dec 18, 2017 at 3:22 PM, Marko Rauhamaa  wrote:
>
> Larry Martell :
>
> > On Mon, Dec 18, 2017 at 11:33 AM, Marko Rauhamaa  wrote:
> >> However, one great way to stand out is a portfolio of GitHub
> >> projects. Several people have gotten an offer largely based on those
> >> (after they aced the technical interviews). For example, we just
> >> hired someone who had written a game in sed. That doesn't make him an
> >> "interesting person," nor do we look for game or sed developers. But
> >> that silly exercise deeply resonated with our team. We expect to have
> >> great synergy with him.
> >
> > I have been excluded from even getting an interview because I did not
> > have a portfolio of GitHub projects. I think that is a bad filter. I
> > work 60-70 hours a week for pay, and I have a family and personal
> > interests.
>
> Personal programming projects are not a requirement. They are just a
> very effective advertising tool.
>
> As for 60—70 hours a week... sounds horrible. My sympathies.

Nah - I get paid by the hour and I love what I do.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-20 Thread Marko Rauhamaa
Larry Martell :

> On Mon, Dec 18, 2017 at 11:33 AM, Marko Rauhamaa  wrote:
>> However, one great way to stand out is a portfolio of GitHub
>> projects. Several people have gotten an offer largely based on those
>> (after they aced the technical interviews). For example, we just
>> hired someone who had written a game in sed. That doesn't make him an
>> "interesting person," nor do we look for game or sed developers. But
>> that silly exercise deeply resonated with our team. We expect to have
>> great synergy with him.
>
> I have been excluded from even getting an interview because I did not
> have a portfolio of GitHub projects. I think that is a bad filter. I
> work 60-70 hours a week for pay, and I have a family and personal
> interests.

Personal programming projects are not a requirement. They are just a
very effective advertising tool.

As for 60—70 hours a week... sounds horrible. My sympathies.


Marko
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Bill

Christian Gollwitzer wrote:


You don't need to explain a vtable to explain dynamic_cast. Only if 
you want to become a compiler writer. It is not even required, vtables 
are just the most common implementation.


dynamic_cast simply checks if the actual object that the pointer 
points to is an instance of a derived class, and then casts it into 
that. You could "explain" it with the following pseudo-code


template 
T* dynamic_cast(base *input) {
if (isinstanceof(base, *input)) { return (T*)input; }
else { return nullptr; }
}

How that works (particularly the "isinstanceof") is not the business 
of the programmer - it is sufficient to know that the compiler 
somewhere stores this information for every object.


Christian


With that, the students would "boo you off the stage!"... and maybe 
accuse you of being a "know it all".  ; )The point of college is 
more about teaching students to think rather than in being efficient.  I 
have little doubt that a tech school could "get through everything" much 
faster.


Bill
--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Rob Gaddi

On 12/18/2017 01:52 PM, Gene Heskett wrote:

On Monday 18 December 2017 16:05:10 Rob Gaddi wrote:


On 12/18/2017 08:45 AM, Larry Martell wrote:

On Mon, Dec 18, 2017 at 11:33 AM, Marko Rauhamaa 

wrote:

However, one great way to stand out is a portfolio of GitHub
projects. Several people have gotten an offer largely based on
those (after they aced the technical interviews). For example, we
just hired someone who had written a game in sed. That doesn't make
him an "interesting person," nor do we look for game or sed
developers. But that silly exercise deeply resonated with our team.
We expect to have great synergy with him.


I have been excluded from even getting an interview because I did
not have a portfolio of GitHub projects. I think that is a bad
filter. I work 60-70 hours a week for pay, and I have a family and
personal interests.


When I'm hiring I don't necessarily need a candidate to have an
extensive open-source portfolio, but I need to see some kind of
portfolio, just as a bar of "This is what I consider my good work to
be."  The idea that someone is going to have years of experience, but
not a single page of code that they can let me look over always
strikes me as odd.


I've known Larry for years via another list. He has worked on a lot of
stuff in the financial arena, wrapped in non-disclosure clauses that
prevent him from even saying what color he dots the i's with, so he gets
work as much by word of mouth as other more conventional paths.

To not hire him because he doesn't have a big portfolio could be a
mistake, Rob. Its up to you.

--
Rob Gaddi, Highland Technology -- www.highlandtechnology.com
Email address domain is currently out of order.  See above to fix.



Cheers, Gene Heskett



Not a big portfolio, anything.  Shell scripts that you're using to 
simplify your home login.  The garage door monitor you rigged up from an 
Arduino.  The Python script I wrote to fill a USB stick with a randomly 
chosen selection of MP3s.


I as well don't have a huge portfolio of GitHub projects that I spend my 
life maintaining, but I refuse to believe any of us get away with not 
writing any code outside out professional lives.  Personally, I'd argue 
I can get a better read of a programmer from the 120 line toy they 
tossed off one day to solve an immediate need than I can from the 50 
kLOC proprietary project they share with two other developers and are 
NDAed to the hilt on.


And as for Larry in particular, he's posted a portfolio's worth of code 
to this mailing list just in trying to help folks through their issues. 
For an actual interview I'd want it cleaned up to what he'd consider to 
be acceptable documentation standards for a project, but "demonstrate 
competence" is a well-cleared bar.  I just don't have any work at the 
moment that would justify bringing that big a cannon to bear.


So I stick to my point.  If you have literally nothing that you can show 
me at an interview, I'm dubious.


--
Rob Gaddi, Highland Technology -- www.highlandtechnology.com
Email address domain is currently out of order.  See above to fix.
--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Larry Martell
On Mon, Dec 18, 2017 at 4:52 PM, Gene Heskett  wrote:
> On Monday 18 December 2017 16:05:10 Rob Gaddi wrote:
>
>> On 12/18/2017 08:45 AM, Larry Martell wrote:
>> > On Mon, Dec 18, 2017 at 11:33 AM, Marko Rauhamaa 
> wrote:
>> >> However, one great way to stand out is a portfolio of GitHub
>> >> projects. Several people have gotten an offer largely based on
>> >> those (after they aced the technical interviews). For example, we
>> >> just hired someone who had written a game in sed. That doesn't make
>> >> him an "interesting person," nor do we look for game or sed
>> >> developers. But that silly exercise deeply resonated with our team.
>> >> We expect to have great synergy with him.
>> >
>> > I have been excluded from even getting an interview because I did
>> > not have a portfolio of GitHub projects. I think that is a bad
>> > filter. I work 60-70 hours a week for pay, and I have a family and
>> > personal interests.
>>
>> When I'm hiring I don't necessarily need a candidate to have an
>> extensive open-source portfolio, but I need to see some kind of
>> portfolio, just as a bar of "This is what I consider my good work to
>> be."  The idea that someone is going to have years of experience, but
>> not a single page of code that they can let me look over always
>> strikes me as odd.
>
> I've known Larry for years via another list. He has worked on a lot of
> stuff in the financial arena, wrapped in non-disclosure clauses that
> prevent him from even saying what color he dots the i's with, so he gets
> work as much by word of mouth as other more conventional paths.

True story.

> To not hire him because he doesn't have a big portfolio could be a
> mistake, Rob. Its up to you.

Thank you my friend.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Larry Martell
On Mon, Dec 18, 2017 at 4:05 PM, Rob Gaddi
 wrote:
> On 12/18/2017 08:45 AM, Larry Martell wrote:
>>
>> On Mon, Dec 18, 2017 at 11:33 AM, Marko Rauhamaa  wrote:
>>>
>>> However, one great way to stand out is a portfolio of GitHub projects.
>>> Several people have gotten an offer largely based on those (after they
>>> aced the technical interviews). For example, we just hired someone who
>>> had written a game in sed. That doesn't make him an "interesting
>>> person," nor do we look for game or sed developers. But that silly
>>> exercise deeply resonated with our team. We expect to have great synergy
>>> with him.
>>
>>
>> I have been excluded from even getting an interview because I did not
>> have a portfolio of GitHub projects. I think that is a bad filter. I
>> work 60-70 hours a week for pay, and I have a family and personal
>> interests.
>>
>
> When I'm hiring I don't necessarily need a candidate to have an extensive
> open-source portfolio, but I need to see some kind of portfolio, just as a
> bar of "This is what I consider my good work to be."  The idea that someone
> is going to have years of experience, but not a single page of code that
> they can let me look over always strikes me as odd.

I have lots of code and projects to show, but only on my computer. I
once got a django/python job because I had a PHP app I did to show.
But if they had not interviewed me because I had nothing on a public
site they never would have seen it.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Gene Heskett
On Monday 18 December 2017 16:05:10 Rob Gaddi wrote:

> On 12/18/2017 08:45 AM, Larry Martell wrote:
> > On Mon, Dec 18, 2017 at 11:33 AM, Marko Rauhamaa  
wrote:
> >> However, one great way to stand out is a portfolio of GitHub
> >> projects. Several people have gotten an offer largely based on
> >> those (after they aced the technical interviews). For example, we
> >> just hired someone who had written a game in sed. That doesn't make
> >> him an "interesting person," nor do we look for game or sed
> >> developers. But that silly exercise deeply resonated with our team.
> >> We expect to have great synergy with him.
> >
> > I have been excluded from even getting an interview because I did
> > not have a portfolio of GitHub projects. I think that is a bad
> > filter. I work 60-70 hours a week for pay, and I have a family and
> > personal interests.
>
> When I'm hiring I don't necessarily need a candidate to have an
> extensive open-source portfolio, but I need to see some kind of
> portfolio, just as a bar of "This is what I consider my good work to
> be."  The idea that someone is going to have years of experience, but
> not a single page of code that they can let me look over always
> strikes me as odd.

I've known Larry for years via another list. He has worked on a lot of 
stuff in the financial arena, wrapped in non-disclosure clauses that 
prevent him from even saying what color he dots the i's with, so he gets 
work as much by word of mouth as other more conventional paths.

To not hire him because he doesn't have a big portfolio could be a 
mistake, Rob. Its up to you.
> --
> Rob Gaddi, Highland Technology -- www.highlandtechnology.com
> Email address domain is currently out of order.  See above to fix.


Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page 
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Christian Gollwitzer

Am 18.12.17 um 05:54 schrieb Bill:

Chris Angelico wrote:

I don't know about vtables as needing to be in ANY programming course.
They're part of a "let's dive into the internals of C++" course. You
certainly don't need them to understand how things work in Python,
because they don't exist; and I'm doubtful that you need to explain
them even to C++ programmers.


Then how are you going to explain dynamic_cast?



You don't need to explain a vtable to explain dynamic_cast. Only if you 
want to become a compiler writer. It is not even required, vtables are 
just the most common implementation.


dynamic_cast simply checks if the actual object that the pointer points 
to is an instance of a derived class, and then casts it into that. You 
could "explain" it with the following pseudo-code


template 
T* dynamic_cast(base *input) {
if (isinstanceof(base, *input)) { return (T*)input; }
else { return nullptr; }
}

How that works (particularly the "isinstanceof") is not the business of 
the programmer - it is sufficient to know that the compiler somewhere 
stores this information for every object.


Christian
--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Rob Gaddi

On 12/18/2017 08:45 AM, Larry Martell wrote:

On Mon, Dec 18, 2017 at 11:33 AM, Marko Rauhamaa  wrote:

However, one great way to stand out is a portfolio of GitHub projects.
Several people have gotten an offer largely based on those (after they
aced the technical interviews). For example, we just hired someone who
had written a game in sed. That doesn't make him an "interesting
person," nor do we look for game or sed developers. But that silly
exercise deeply resonated with our team. We expect to have great synergy
with him.


I have been excluded from even getting an interview because I did not
have a portfolio of GitHub projects. I think that is a bad filter. I
work 60-70 hours a week for pay, and I have a family and personal
interests.



When I'm hiring I don't necessarily need a candidate to have an 
extensive open-source portfolio, but I need to see some kind of 
portfolio, just as a bar of "This is what I consider my good work to 
be."  The idea that someone is going to have years of experience, but 
not a single page of code that they can let me look over always strikes 
me as odd.


--
Rob Gaddi, Highland Technology -- www.highlandtechnology.com
Email address domain is currently out of order.  See above to fix.
--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Marko Rauhamaa
Rhodri James :

> On 18/12/17 16:33, Marko Rauhamaa wrote:
>> Rhodri James :
>>> Exactly what "interesting" meant was somewhat arbitrary; we put one
>>> person through to interview because she was a cellist, and that
>>> would have given us a complete string quartet (she didn't get the
>>> job, sadly).
>>
>> We want to hire for the job and not bring in extracurricular
>> activities.
>>
>> However, one great way to stand out is a portfolio of GitHub
>> projects.
>
> Er, isn't that an extracurricular activity? I certainly don't have
> time for it outside work.

GitHub projects are directly applicable to our line of business. Music
is not.


Marko
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Gene Heskett
On Monday 18 December 2017 09:19:01 Chris Angelico wrote:

> On Tue, Dec 19, 2017 at 1:09 AM, Rhodri James  
wrote:
> > On 18/12/17 13:28, Marko Rauhamaa wrote:
> >> However, I have been doing quite a bit of hiring, quite
> >> successfully, I might add. I am not prejudiced one way or another.
> >> Your résumé doesn't count. Your education doesn't count. What you
> >> can do for the team counts, and that is measured during the
> >> interview process.
> >
> > While I agree with most of what you say, I disagree with you here. 
> > Your CV (résumé) does count, just not necessarily in the way most
> > people expect.
> >
> > I haven't often been involved in hiring, but the few times I have we
> > had more applicants than it was feasible to interview.  We used CVs
> > as the only thing we had to filter with, looking for *interesting*
> > people.
>
> This is NORMALLY going to be the case. How many hours does it take to
> truly evaluate a candidate? You can't afford to interview a hundred
> people only to find that ninety of them are hopelessly unqualified.
> Somehow, you have to sift out the most likely candidates, and THEN you
> actually meet with them.
>
> But Marko is partly right too. Your CV/résumé isn't going to land you
> the job, nor is your education. But they might land you the interview.
> With the students I work with, there's a dedicated Careers Services
> team that help them to polish their portfolio projects, because a
> portfolio is *way* more indicative than a CV or a college degree; but
> even then, the best portfolio in the world is only good enough to get
> you as far as an interview.
>
> > Exactly what
> > "interesting" meant was somewhat arbitrary; we put one person
> > through to interview because she was a cellist, and that would have
> > given us a complete string quartet (she didn't get the job, sadly).
>
> Heh. Pity. That would be fun.
>
> ChrisA

I'll have to agree with most of this about "interesting" people.

But one thing I always  note from the resume or CV is any certifications 
they may carry. I am a C.E.T., and that card laid in front of an HR/GM 
type has gotten me every job I've applied for since 1972, but sadly 
those are rare birds indeed as I've not in the 45 years since, 
encountered another such individual. So I've had to depend on their 
familiarity with a soldering iron and some scope probes to determine if 
they would be useful to me.

That certification is required to get a business license for an 
electronics service business in Kalipornia, weeds out the fly by 
nighters there was a plague of back in the 60's _& 70's.

There really ought to be a similar program for coders. I'd probably fail 
that one, but generally my code works, and does not crash. And I've 
learned a lot while fixing it if it does crash. :)

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page 
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Rhodri James

On 18/12/17 16:33, Marko Rauhamaa wrote:

Rhodri James :

I haven't often been involved in hiring, but the few times I have we
had more applicants than it was feasible to interview.


You don't have to interview them all. Once you encounter an excellent
candidate, you can close the deal. If you don't, you might lose them.
You don't have to find the one pearl in a thousand.


We used CVs as the only thing we had to filter with, looking for
*interesting* people.


For a developer position, we use a home assignment as a filter. There's
no knowing who completes the assignment, but (1) it gives an idea what
is expected of them and (2) it demonstrates interest from their part.


I believe we have a standard set of C programming questions we throw at 
interviewees, on the same principle.


One place I worked at used to request a hand-written cover letter with 
applications.  This too was a filter, though not by graphological 
analysis as many people assumed (and took umbrage at).  No, we were 
testing if you could follow instructions and take some degree of care. 
A hastily scribbled piece of paper with lots of crossings out didn't 
auger well for how careful you would be with the code base!



Exactly what "interesting" meant was somewhat arbitrary; we put one
person through to interview because she was a cellist, and that would
have given us a complete string quartet (she didn't get the job,
sadly).


We want to hire for the job and not bring in extracurricular activities.

However, one great way to stand out is a portfolio of GitHub projects.


Er, isn't that an extracurricular activity?  I certainly don't have time 
for it outside work.



Several people have gotten an offer largely based on those (after they
aced the technical interviews). For example, we just hired someone who
had written a game in sed. That doesn't make him an "interesting
person," nor do we look for game or sed developers. But that silly
exercise deeply resonated with our team. We expect to have great synergy
with him.


In other words, you find him interesting because of that.

--
Rhodri James *-* Kynesim Ltd
--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Larry Martell
On Mon, Dec 18, 2017 at 12:05 PM, Chris Angelico  wrote:
> On Tue, Dec 19, 2017 at 3:45 AM, Larry Martell  
> wrote:
>> On Mon, Dec 18, 2017 at 11:33 AM, Marko Rauhamaa  wrote:
>>> However, one great way to stand out is a portfolio of GitHub projects.
>>> Several people have gotten an offer largely based on those (after they
>>> aced the technical interviews). For example, we just hired someone who
>>> had written a game in sed. That doesn't make him an "interesting
>>> person," nor do we look for game or sed developers. But that silly
>>> exercise deeply resonated with our team. We expect to have great synergy
>>> with him.
>>
>> I have been excluded from even getting an interview because I did not
>> have a portfolio of GitHub projects. I think that is a bad filter. I
>> work 60-70 hours a week for pay, and I have a family and personal
>> interests.
>
> Maybe not GitHub, but something else. Do you have, anywhere on the
> internet, a list of demo-worthy projects? Again drawing from the
> students I work with, they're encouraged to build an actual portfolio
> web site. Granted, they *are* full stack web developers, so this may
> not be applicable to everyone, but still, it's independent of GitHub.

Nothing I can put on the internet because the work I have done is
either an embedded system or proprietary and used in house for a
company, or part of a commercial project. I do have things I can show
from my machine using my development environment, and I have offered
that up, but for those who want to see something on GitHub it does not
get that far.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Chris Angelico
On Tue, Dec 19, 2017 at 3:45 AM, Larry Martell  wrote:
> On Mon, Dec 18, 2017 at 11:33 AM, Marko Rauhamaa  wrote:
>> However, one great way to stand out is a portfolio of GitHub projects.
>> Several people have gotten an offer largely based on those (after they
>> aced the technical interviews). For example, we just hired someone who
>> had written a game in sed. That doesn't make him an "interesting
>> person," nor do we look for game or sed developers. But that silly
>> exercise deeply resonated with our team. We expect to have great synergy
>> with him.
>
> I have been excluded from even getting an interview because I did not
> have a portfolio of GitHub projects. I think that is a bad filter. I
> work 60-70 hours a week for pay, and I have a family and personal
> interests.

Maybe not GitHub, but something else. Do you have, anywhere on the
internet, a list of demo-worthy projects? Again drawing from the
students I work with, they're encouraged to build an actual portfolio
web site. Granted, they *are* full stack web developers, so this may
not be applicable to everyone, but still, it's independent of GitHub.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Larry Martell
On Mon, Dec 18, 2017 at 11:33 AM, Marko Rauhamaa  wrote:
> However, one great way to stand out is a portfolio of GitHub projects.
> Several people have gotten an offer largely based on those (after they
> aced the technical interviews). For example, we just hired someone who
> had written a game in sed. That doesn't make him an "interesting
> person," nor do we look for game or sed developers. But that silly
> exercise deeply resonated with our team. We expect to have great synergy
> with him.

I have been excluded from even getting an interview because I did not
have a portfolio of GitHub projects. I think that is a bad filter. I
work 60-70 hours a week for pay, and I have a family and personal
interests.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Marko Rauhamaa
Rhodri James :
> I haven't often been involved in hiring, but the few times I have we
> had more applicants than it was feasible to interview.

You don't have to interview them all. Once you encounter an excellent
candidate, you can close the deal. If you don't, you might lose them.
You don't have to find the one pearl in a thousand.

> We used CVs as the only thing we had to filter with, looking for
> *interesting* people.

For a developer position, we use a home assignment as a filter. There's
no knowing who completes the assignment, but (1) it gives an idea what
is expected of them and (2) it demonstrates interest from their part.

I only take a look at the CV when I arrive at the interview so I have
talking points with the candidate.

> Exactly what "interesting" meant was somewhat arbitrary; we put one
> person through to interview because she was a cellist, and that would
> have given us a complete string quartet (she didn't get the job,
> sadly).

We want to hire for the job and not bring in extracurricular activities.

However, one great way to stand out is a portfolio of GitHub projects.
Several people have gotten an offer largely based on those (after they
aced the technical interviews). For example, we just hired someone who
had written a game in sed. That doesn't make him an "interesting
person," nor do we look for game or sed developers. But that silly
exercise deeply resonated with our team. We expect to have great synergy
with him.


Marko
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Chris Angelico
On Tue, Dec 19, 2017 at 1:09 AM, Rhodri James  wrote:
> On 18/12/17 13:28, Marko Rauhamaa wrote:
>>
>> However, I have been doing quite a bit of hiring, quite successfully, I
>> might add. I am not prejudiced one way or another. Your résumé doesn't
>> count. Your education doesn't count. What you can do for the team
>> counts, and that is measured during the interview process.
>
>
> While I agree with most of what you say, I disagree with you here.  Your CV
> (résumé) does count, just not necessarily in the way most people expect.
>
> I haven't often been involved in hiring, but the few times I have we had
> more applicants than it was feasible to interview.  We used CVs as the only
> thing we had to filter with, looking for *interesting* people.

This is NORMALLY going to be the case. How many hours does it take to
truly evaluate a candidate? You can't afford to interview a hundred
people only to find that ninety of them are hopelessly unqualified.
Somehow, you have to sift out the most likely candidates, and THEN you
actually meet with them.

But Marko is partly right too. Your CV/résumé isn't going to land you
the job, nor is your education. But they might land you the interview.
With the students I work with, there's a dedicated Careers Services
team that help them to polish their portfolio projects, because a
portfolio is *way* more indicative than a CV or a college degree; but
even then, the best portfolio in the world is only good enough to get
you as far as an interview.

> Exactly what
> "interesting" meant was somewhat arbitrary; we put one person through to
> interview because she was a cellist, and that would have given us a complete
> string quartet (she didn't get the job, sadly).

Heh. Pity. That would be fun.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Larry Martell
On Mon, Dec 18, 2017 at 9:09 AM, Rhodri James  wrote:
> On 18/12/17 13:28, Marko Rauhamaa wrote:
>>
>> However, I have been doing quite a bit of hiring, quite successfully, I
>> might add. I am not prejudiced one way or another. Your résumé doesn't
>> count. Your education doesn't count. What you can do for the team
>> counts, and that is measured during the interview process.
>
>
> While I agree with most of what you say, I disagree with you here.  Your CV
> (résumé) does count, just not necessarily in the way most people expect.
>
> I haven't often been involved in hiring, but the few times I have we had
> more applicants than it was feasible to interview.  We used CVs as the only
> thing we had to filter with, looking for *interesting* people. Exactly what
> "interesting" meant was somewhat arbitrary; we put one person through to
> interview because she was a cellist, and that would have given us a complete
> string quartet (she didn't get the job, sadly).

Yes, I once chose to interview someone because he had on his resume
that he was an award winning duck decoy carver. He also did not get
the job.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Rhodri James

On 18/12/17 13:28, Marko Rauhamaa wrote:

However, I have been doing quite a bit of hiring, quite successfully, I
might add. I am not prejudiced one way or another. Your résumé doesn't
count. Your education doesn't count. What you can do for the team
counts, and that is measured during the interview process.


While I agree with most of what you say, I disagree with you here.  Your 
CV (résumé) does count, just not necessarily in the way most people expect.


I haven't often been involved in hiring, but the few times I have we had 
more applicants than it was feasible to interview.  We used CVs as the 
only thing we had to filter with, looking for *interesting* people. 
Exactly what "interesting" meant was somewhat arbitrary; we put one 
person through to interview because she was a cellist, and that would 
have given us a complete string quartet (she didn't get the job, sadly).


--
Rhodri James *-* Kynesim Ltd
--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Marko Rauhamaa
Chris Angelico :

> On Mon, Dec 18, 2017 at 5:59 PM, Marko Rauhamaa  wrote:
>> Let's see. What I have learned on the job is projects and processes
>> (even though college tried to give a taste of those, as well). Then,
>> I have gathered some encyclopedic knowledge about programming
>> languages, libraries, frameworks and operating systems. Finally, I
>> have developed routine.
>>
>> But true eye-openers took place in college: data structures,
>> algorithms, complexity theory, parsing and compiling, recursion,
>> object-oriented programming, logic programming, functional
>> programming, distributed systems, cryptography, logic and formalisms,
>> mathematical rigor etc.
>
> So if you were to choose between two potential hires, one who had 25
> years' experience and the other had nothing but college, which would
> you choose? Are you worth virtually the same salary now as you were
> worth straight out of college?

I am not in management at the moment so I don't do salary negotiations.
I do know people's compensation is *very* loosely correlated with their
value to the organization for various shortsighted and/or exploitative
reasons.

However, I have been doing quite a bit of hiring, quite successfully, I
might add. I am not prejudiced one way or another. Your résumé doesn't
count. Your education doesn't count. What you can do for the team
counts, and that is measured during the interview process.

The team where I work has a gamut of education and experience
backgrounds. Some are college dropouts, some have a PhD. Some are still
in school. I'm the most senior. Frankly, I have *not* detected much
advantage (or disadvantage, for that matter) with a long on-the-job
experience. What has been hugely more important is adaptability and
sheer smarts. The team members have to be able to grasp, evaluate and
express new abstract concepts and be generally on the same wave-length.

Long years in service don't automatically translate into wisdom or
practical solutions. However, I have put to good use what I have learned
along the way.

As for my take-home pay? It peaked during the telecom bubble in the
1990's. Don't worry. I get by fine.


Marko
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Chris Angelico
On Sun, Dec 17, 2017 at 4:42 PM, Bill  wrote:
> Chris Angelico wrote:
>>
>> On Sun, Dec 17, 2017 at 12:01 PM, Bill  wrote:
>>>
>>>
>>> I think we are talking about the same people.
>>> But in college, the prerequisite of "at least co-enrolled in pre-calc",
>>> turned out to be the right one (based upon quite a lot of teaching
>>> experience).
>>
>> Fortunately for the programming world, college isn't when everyone
>> starts. I started coding at six years old. Should I have waited till I
>> had some pre-calc before getting into programming?
>
>
> It probably wouldn't have hurt if you had co-enrolled in it.  ;)
> And add an English course too to help you to write suitable documentation!
> I would think a 6 year old would have priorities above coding--what's the
> hurry?
>

You mean priorities like "making sure my older brother isn't better
than me"? Because that motive - jealousy - was exactly what got me
started :) Sure, it may not be the most noble of goals, but it sure
gave me a good incentive to work hard. (And not just in programming.
That's what made me study hard in other areas, like spelling and
mathematics.)

And that was two decades ago. It's now the 21st century; computers are
ubiquitous. Starting to toy around with coding - maybe with Scratch,
or one of those online algorithm development sites - is an excellent
thing for a single-digit-age person to get into. I don't know of
anyone younger than 4 getting started, but plenty of pre-teens, and
they're doing well at it.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-18 Thread Bill

Chris Angelico wrote:

On Sun, Dec 17, 2017 at 12:01 PM, Bill  wrote:


I think we are talking about the same people.
But in college, the prerequisite of "at least co-enrolled in pre-calc",
turned out to be the right one (based upon quite a lot of teaching
experience).

Fortunately for the programming world, college isn't when everyone
starts. I started coding at six years old. Should I have waited till I
had some pre-calc before getting into programming?


It probably wouldn't have hurt if you had co-enrolled in it.  ;)
And add an English course too to help you to write suitable documentation!
I would think a 6 year old would have priorities above coding--what's 
the hurry?


Bill



ChrisA


--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Chris Angelico
On Mon, Dec 18, 2017 at 5:59 PM, Marko Rauhamaa  wrote:
> Chris Angelico :
>
>> On Mon, Dec 18, 2017 at 9:33 AM, Marko Rauhamaa  wrote:
>>> Then I graduated and joined the workforce. Since then, I have learned
>>> a thing or two, but I learned more during my first year in college
>>> than I have during the 25 since I left.
>>
>> Interesting. I'm not surprised that you can learn more in college than
>> in the years *prior* to it (if you were just dabbling), but I would
>> have expected that you learn more actually on the job. Are you
>> seriously saying that you've been 25 years in the workforce and not
>> learned anything new?
>
> Let's see. What I have learned on the job is projects and processes
> (even though college tried to give a taste of those, as well). Then, I
> have gathered some encyclopedic knowledge about programming languages,
> libraries, frameworks and operating systems. Finally, I have developed
> routine.
>
> But true eye-openers took place in college: data structures, algorithms,
> complexity theory, parsing and compiling, recursion, object-oriented
> programming, logic programming, functional programming, distributed
> systems, cryptography, logic and formalisms, mathematical rigor etc.
>

So if you were to choose between two potential hires, one who had 25
years' experience and the other had nothing but college, which would
you choose? Are you worth virtually the same salary now as you were
worth straight out of college?

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Marko Rauhamaa
Chris Angelico :

> On Mon, Dec 18, 2017 at 9:33 AM, Marko Rauhamaa  wrote:
>> Then I graduated and joined the workforce. Since then, I have learned
>> a thing or two, but I learned more during my first year in college
>> than I have during the 25 since I left.
>
> Interesting. I'm not surprised that you can learn more in college than
> in the years *prior* to it (if you were just dabbling), but I would
> have expected that you learn more actually on the job. Are you
> seriously saying that you've been 25 years in the workforce and not
> learned anything new?

Let's see. What I have learned on the job is projects and processes
(even though college tried to give a taste of those, as well). Then, I
have gathered some encyclopedic knowledge about programming languages,
libraries, frameworks and operating systems. Finally, I have developed
routine.

But true eye-openers took place in college: data structures, algorithms,
complexity theory, parsing and compiling, recursion, object-oriented
programming, logic programming, functional programming, distributed
systems, cryptography, logic and formalisms, mathematical rigor etc.


Marko
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Bill

Chris Angelico wrote:

On Mon, Dec 18, 2017 at 4:04 PM, Chris Angelico  wrote:

On Mon, Dec 18, 2017 at 3:54 PM, Bill  wrote:

Chris Angelico wrote:

I don't know about vtables as needing to be in ANY programming course.
They're part of a "let's dive into the internals of C++" course. You
certainly don't need them to understand how things work in Python,
because they don't exist; and I'm doubtful that you need to explain
them even to C++ programmers.


Then how are you going to explain dynamic_cast?


I wouldn't. I'd teach Python to beginning programmers. C++ is not a
good first language.

And even for C++ programners, you can go a pretty long way without dynamic_cast.
You either know it exists, and what it can do for you, or you don't.  If 
you want to teach a 2nd course in C++, and leave out vtables and 
dynamic_cast, I don't have a problem with that. If you always choose the 
lowest common denominator, your class may not be that interesting.  I 
told my students that my goal was for them was to learn how to learn so 
that they "didn't need me".




ChrisA


--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Bill

Chris Angelico wrote:


I agree with some of that, but you then take it to absurdity. You most
certainly CAN drive a car without knowing how one works; in fact, with
this century's cars, I think that's very much the case. How many
people REALLY know what happens when you push the accelerator pedal,
and how that makes the car go faster? Originally, it would actually
open a valve and allow more fuel into the engine; now, it's all
managed by a computer. So how much can you really understand of how it
works?


You can understand the "systems" which comprise your car. Engine, 
Cooling, braking, transmission, exhaust, etc.  And you can similarly 
understand the systems which comprise the workings of your computer 
program. As it happens, I've been studying electronics lately.
In answer to your question, there is an "invisible line" between 
hardware and software which most people don't generally cross. As 
another response to your question, try to master all of the features of 
the emacs editor. Personally, I've never felt motivated enough to do so.





You can certainly use functions without knowing details of the
run-time stack, though you'll need at least SOME comprehension of it.

Avoiding functions and documentation, though, now you're just being ridiculous.

ChrisA


--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Chris Angelico
On Mon, Dec 18, 2017 at 4:04 PM, Chris Angelico  wrote:
> On Mon, Dec 18, 2017 at 3:54 PM, Bill  wrote:
>> Chris Angelico wrote:
>>>
>>> I don't know about vtables as needing to be in ANY programming course.
>>> They're part of a "let's dive into the internals of C++" course. You
>>> certainly don't need them to understand how things work in Python,
>>> because they don't exist; and I'm doubtful that you need to explain
>>> them even to C++ programmers.
>>>
>> Then how are you going to explain dynamic_cast?
>>
>
> I wouldn't. I'd teach Python to beginning programmers. C++ is not a
> good first language.

And even for C++ programners, you can go a pretty long way without dynamic_cast.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Chris Angelico
On Mon, Dec 18, 2017 at 3:54 PM, Bill  wrote:
> Chris Angelico wrote:
>>
>> I don't know about vtables as needing to be in ANY programming course.
>> They're part of a "let's dive into the internals of C++" course. You
>> certainly don't need them to understand how things work in Python,
>> because they don't exist; and I'm doubtful that you need to explain
>> them even to C++ programmers.
>>
> Then how are you going to explain dynamic_cast?
>

I wouldn't. I'd teach Python to beginning programmers. C++ is not a
good first language.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Bill

Chris Angelico wrote:

I don't know about vtables as needing to be in ANY programming course.
They're part of a "let's dive into the internals of C++" course. You
certainly don't need them to understand how things work in Python,
because they don't exist; and I'm doubtful that you need to explain
them even to C++ programmers.


Then how are you going to explain dynamic_cast?



Polymorphism... actually, I could explain that to a three year old.

"Eat your broccoli"

"Eat your dessert"

See? Polymorphism. The same operation being done to different things
and having different results.

ChrisA


--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Chris Angelico
On Mon, Dec 18, 2017 at 3:31 PM, Bill  wrote:
> Chris Angelico wrote:
>>
>>
>> I don't know about vtables as needing to be in ANY programming course.
>> They're part of a "let's dive into the internals of C++" course. You
>> certainly don't need them to understand how things work in Python,
>> because they don't exist; and I'm doubtful that you need to explain
>> them even to C++ programmers.
>
>
> I guess "need to" is a relative thing. You can drive a car without know how
> one works. You can use functions with little knowledge of a run-time stack.
> You can avoid recursion if you are scared of it. And you can totally avoid
> functions if you are scared of them. And who needs documentation...seems
> like a big waste of time! Programmers don't need to know how to write, do
> they?  Ask some programmers that just taught themselves, and they will tell
> you!
>
> After reading, writing, and arithmetic, then perhaps programming.
>

I agree with some of that, but you then take it to absurdity. You most
certainly CAN drive a car without knowing how one works; in fact, with
this century's cars, I think that's very much the case. How many
people REALLY know what happens when you push the accelerator pedal,
and how that makes the car go faster? Originally, it would actually
open a valve and allow more fuel into the engine; now, it's all
managed by a computer. So how much can you really understand of how it
works?

You can certainly use functions without knowing details of the
run-time stack, though you'll need at least SOME comprehension of it.

Avoiding functions and documentation, though, now you're just being ridiculous.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Bill

Chris Angelico wrote:


I don't know about vtables as needing to be in ANY programming course.
They're part of a "let's dive into the internals of C++" course. You
certainly don't need them to understand how things work in Python,
because they don't exist; and I'm doubtful that you need to explain
them even to C++ programmers.


I guess "need to" is a relative thing. You can drive a car without know 
how one works. You can use functions with little knowledge of a run-time 
stack. You can avoid recursion if you are scared of it. And you can 
totally avoid functions if you are scared of them. And who needs 
documentation...seems like a big waste of time! Programmers don't need 
to know how to write, do they?  Ask some programmers that just taught 
themselves, and they will tell you!


After reading, writing, and arithmetic, then perhaps programming.




Polymorphism... actually, I could explain that to a three year old.

"Eat your broccoli"

"Eat your dessert"

See? Polymorphism. The same operation being done to different things
and having different results.

ChrisA


--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Chris Angelico
On Mon, Dec 18, 2017 at 3:09 PM, Bill  wrote:
> I tried pretty hard not to say that. I said they needed some "mathematical
> sophistication"--not actual mathematics.  My error was using that expression
> among an audience not so familiar with that terminology. That said, I think
> I would have a hard time explaining polymorphism and vtables to a student
> who had not grasped the distributive property of multiplication over
> addition.
> You can try, and let me know how it goes for you... I've been there.

I don't know about vtables as needing to be in ANY programming course.
They're part of a "let's dive into the internals of C++" course. You
certainly don't need them to understand how things work in Python,
because they don't exist; and I'm doubtful that you need to explain
them even to C++ programmers.

Polymorphism... actually, I could explain that to a three year old.

"Eat your broccoli"

"Eat your dessert"

See? Polymorphism. The same operation being done to different things
and having different results.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Bill

Chris Angelico wrote:

On Mon, Dec 18, 2017 at 11:31 AM, Bill  wrote:

Larry Martell wrote:

So, your experience is that the style of learning you offer is

unsuitable to anyone who doesn't have some background in algebra.
That's fine. For your course, you set the prereqs. But that's not the
only way for someone to get into coding. You do NOT have to go to
college before you start creating software. That is also not an
opinion; it's a fact backed by a number of proven instances (myself
included).


You might benefit by a course in logic.  I never said that was the only way
to learn. I learned (BASIC) in 8th grade too.


You said earlier:


In my years of teaching experience, students who came to college without
the equivalent of "college algebra" were under-prepared for what was
expected of them. This is not just an opinion, it's a fact.

If you want to qualify that by saying that coming to college is not
the only way to learn programming, you'd better say so, because
otherwise, the tone of what you're saying says that students NEED
algebra prior to learning a programming language.


I tried pretty hard not to say that. I said they needed some 
"mathematical sophistication"--not actual mathematics.  My error was 
using that expression among an audience not so familiar with that 
terminology. That said, I think I would have a hard time explaining 
polymorphism and vtables to a student who had not grasped the 
distributive property of multiplication over addition.

You can try, and let me know how it goes for you... I've been there.

Bill




Logic isn't the problem here. Clarity of language is. Watch your
implications if you don't want to be misunderstood.

ChrisA


--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Chris Angelico
On Mon, Dec 18, 2017 at 11:31 AM, Bill  wrote:
> Larry Martell wrote:
>>
>> So, your experience is that the style of learning you offer is
>>>
>>> unsuitable to anyone who doesn't have some background in algebra.
>>> That's fine. For your course, you set the prereqs. But that's not the
>>> only way for someone to get into coding. You do NOT have to go to
>>> college before you start creating software. That is also not an
>>> opinion; it's a fact backed by a number of proven instances (myself
>>> included).
>
>
> You might benefit by a course in logic.  I never said that was the only way
> to learn. I learned (BASIC) in 8th grade too.
>

You said earlier:

> In my years of teaching experience, students who came to college without
> the equivalent of "college algebra" were under-prepared for what was
> expected of them. This is not just an opinion, it's a fact.

If you want to qualify that by saying that coming to college is not
the only way to learn programming, you'd better say so, because
otherwise, the tone of what you're saying says that students NEED
algebra prior to learning a programming language.

Logic isn't the problem here. Clarity of language is. Watch your
implications if you don't want to be misunderstood.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Bill

Chris Angelico wrote:

On Mon, Dec 18, 2017 at 6:51 AM, Bill  wrote:

The point is that it takes a certain amount of what is referred to as
"mathematical maturity" (not mathematical knowledge) to digest a book
concerning computer programming.

Emphasis on *a book*.


In my years of teaching experience,
students who came to college without the equivalent of "college algebra"
were under-prepared for what was expected of them. This is not just an
opinion, it's a fact.

So, your experience is that the style of learning you offer is
unsuitable to anyone who doesn't have some background in algebra. That's fine. 
For your course, you set the prereqs.


I never said that they needed any knowledge of algebra.  But if they 
don't understand the logic behind an inequality, for instance, then may 
run into some trouble.

--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Bill

Gregory Ewing wrote:

Bill wrote:
In my years of teaching experience, students who came to college 
without the equivalent of "college algebra" were under-prepared for 
what was expected of them.


This could be simply because it weeds out people who aren't
good at the required style of thinking. 


I think that's absolutely true.  If someone gets out of high school and 
doesn't understand college algebra (~8th grade math), they come into a 
programming class with an inherent disadvantage. They "can't understand" 
the book, just like they "couldn't" understand their math book.





If that's true,
anything that exercises mathematical thinking should have
the same effect. There just doesn't happen to be anything
else in the mainstream education curriculum that does that.



--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Bill

Larry Martell wrote:

So, your experience is that the style of learning you offer is

unsuitable to anyone who doesn't have some background in algebra.
That's fine. For your course, you set the prereqs. But that's not the
only way for someone to get into coding. You do NOT have to go to
college before you start creating software. That is also not an
opinion; it's a fact backed by a number of proven instances (myself
included).


You might benefit by a course in logic.  I never said that was the only 
way to learn. I learned (BASIC) in 8th grade too.



I started coding when I was 16, in 1975. I wrote a downhill skiing
game in basic, which I had taught to myself. I went to collage when I
was 17, and I had taught myself FORTRAN and I tested out of the class.


--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Chris Angelico
On Mon, Dec 18, 2017 at 9:33 AM, Marko Rauhamaa  wrote:
> Gregory Ewing :
>> Chris Angelico wrote:
>>> You do NOT have to go to college before you start creating software.
>>> That is also not an opinion; it's a fact backed by a number of proven
>>> instances (myself included).
>>
>> Me, too. I started programming (a tiny homebrew machine) when I was
>> about 12 or 13. I was just starting to get exposed to algebra at
>> school then.
>
> I thought I had programming covered when I entered college. I wondered
> if I'd be wasting my time and just collecting my diploma. However, after
> every year I realized I hadn't understood anything the year before.
> There was just such a wealth of understanding I never would have been
> able to come up with on my own.
>
> Then I graduated and joined the workforce. Since then, I have learned a
> thing or two, but I learned more during my first year in college than I
> have during the 25 since I left.
>
> What's more, everything I learned in college has been priceless in
> practical day-to-day work.
>

Interesting. I'm not surprised that you can learn more in college than
in the years *prior* to it (if you were just dabbling), but I would
have expected that you learn more actually on the job. Are you
seriously saying that you've been 25 years in the workforce and not
learned anything new?

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Marko Rauhamaa
Gregory Ewing :
> Chris Angelico wrote:
>> You do NOT have to go to college before you start creating software.
>> That is also not an opinion; it's a fact backed by a number of proven
>> instances (myself included).
>
> Me, too. I started programming (a tiny homebrew machine) when I was
> about 12 or 13. I was just starting to get exposed to algebra at
> school then.

I thought I had programming covered when I entered college. I wondered
if I'd be wasting my time and just collecting my diploma. However, after
every year I realized I hadn't understood anything the year before.
There was just such a wealth of understanding I never would have been
able to come up with on my own.

Then I graduated and joined the workforce. Since then, I have learned a
thing or two, but I learned more during my first year in college than I
have during the 25 since I left.

What's more, everything I learned in college has been priceless in
practical day-to-day work.


Marko
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Gregory Ewing

Chris Angelico wrote:

You do NOT have to go to
college before you start creating software. That is also not an
opinion; it's a fact backed by a number of proven instances (myself
included).


Me, too. I started programming (a tiny homebrew machine) when
I was about 12 or 13. I was just starting to get exposed to
algebra at school then.

--
Greg
--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Gregory Ewing

Bill wrote:
In my years of teaching experience, 
students who came to college without the equivalent of "college algebra" 
were under-prepared for what was expected of them.


This could be simply because it weeds out people who aren't
good at the required style of thinking. If that's true,
anything that exercises mathematical thinking should have
the same effect. There just doesn't happen to be anything
else in the mainstream education curriculum that does that.

--
Greg
--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Larry Martell
On Sun, Dec 17, 2017 at 4:18 PM, Chris Angelico  wrote:
> On Mon, Dec 18, 2017 at 6:51 AM, Bill  wrote:
>> The point is that it takes a certain amount of what is referred to as
>> "mathematical maturity" (not mathematical knowledge) to digest a book
>> concerning computer programming.
>
> Emphasis on *a book*.
>
>> In my years of teaching experience,
>> students who came to college without the equivalent of "college algebra"
>> were under-prepared for what was expected of them. This is not just an
>> opinion, it's a fact.
>
> So, your experience is that the style of learning you offer is
> unsuitable to anyone who doesn't have some background in algebra.
> That's fine. For your course, you set the prereqs. But that's not the
> only way for someone to get into coding. You do NOT have to go to
> college before you start creating software. That is also not an
> opinion; it's a fact backed by a number of proven instances (myself
> included).

I started coding when I was 16, in 1975. I wrote a downhill skiing
game in basic, which I had taught to myself. I went to collage when I
was 17, and I had taught myself FORTRAN and I tested out of the class.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Chris Angelico
On Mon, Dec 18, 2017 at 6:51 AM, Bill  wrote:
> The point is that it takes a certain amount of what is referred to as
> "mathematical maturity" (not mathematical knowledge) to digest a book
> concerning computer programming.

Emphasis on *a book*.

> In my years of teaching experience,
> students who came to college without the equivalent of "college algebra"
> were under-prepared for what was expected of them. This is not just an
> opinion, it's a fact.

So, your experience is that the style of learning you offer is
unsuitable to anyone who doesn't have some background in algebra.
That's fine. For your course, you set the prereqs. But that's not the
only way for someone to get into coding. You do NOT have to go to
college before you start creating software. That is also not an
opinion; it's a fact backed by a number of proven instances (myself
included).

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Bill

Rustom Mody wrote:

In response to


Rustom Mody wrote:

On Saturday, December 16, 2017 at 9:45:17 AM UTC+5:30, Bill wrote:

so it really doesn't make that much difference where one starts, just
"Do It!".  :  )

Really ¿?
https://en.wikipedia.org/wiki/Principles_of_learning#Primacy


On Sunday, December 17, 2017 Bill wrote:

You would give precedence to something written on a wikipedia page over
your experience?

Bill also wrote:

…in college, the prerequisite of "at least co-enrolled in pre-calc",
turned out to be the right one (based upon quite a lot of teaching
experience).

So… I dont understand where you are coming from:
Is there such a thing as a “learning curve” or not?


The point is that it takes a certain amount of what is referred to as 
"mathematical maturity" (not mathematical knowledge) to digest a book 
concerning computer programming. In my years of teaching experience, 
students who came to college without the equivalent of "college algebra" 
were under-prepared for what was expected of them. This is not just an 
opinion, it's a fact. Of course, you could argue that a student who 
arrives at college needing to take college algebra is of a certain 
category. In your words, they are not yet ready to face any sort of 
(steep) learning curve.


Bill
--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Rustom Mody
On Saturday, December 16, 2017 at 6:11:31 PM UTC+5:30, Marko Rauhamaa wrote:
> Stefan Ram:
> 
> > Varun R writes:
> >>I'm new to programming, can anyone guide me, how to start
> >>learning python programming language
> >
> >   As a start, one should learn:
> >
> > 1.) how to install Python
> > (if not already installed)
> >
> > 2.) how to start the Python console
> > (if not already started)
> >
> > 3.) how to type characters into a line of the
> > console and how to submit the line (using
> > the Enter key) (if this is not already known)
> 
> A good list. Even more important, though, is the installation, use and
> understanding of a text editor. What is the difference of MS Word,
> Notepad and a Python-aware text editor? 

This is a useful 3-way classification
Just now dealing with a class in which students write python resolutely 
- using gedit
- on linux VMs
- on Windows hosts

So I wonder where on the spectrum
MS Word → notepad → Programmer’s editor
would you place gedit??
[If you know what that is ]


> What text editors are there?
Seriously?!?
Does that list ever end?

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread Rustom Mody
In response to

> Rustom Mody wrote:
>> On Saturday, December 16, 2017 at 9:45:17 AM UTC+5:30, Bill wrote:
>>> so it really doesn't make that much difference where one starts, just
>>> "Do It!".  :  )
>> Really ¿?
>> https://en.wikipedia.org/wiki/Principles_of_learning#Primacy


On Sunday, December 17, 2017 Bill wrote:
> You would give precedence to something written on a wikipedia page over
> your experience?

Bill also wrote:
> …in college, the prerequisite of "at least co-enrolled in pre-calc",
> turned out to be the right one (based upon quite a lot of teaching
> experience).

So… I dont understand where you are coming from:
Is there such a thing as a “learning curve” or not?
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning (Posting On Python-List Prohibited)

2017-12-17 Thread Rustom Mody
On Sunday, December 17, 2017 at 6:39:41 AM UTC+5:30, Lawrence D’Oliveiro wrote:
> On Sunday, December 17, 2017 at 2:26:43 AM UTC+13, Marko Rauhamaa wrote:
> 
> > Unfortunately, Python's indentation mechanism makes the REPL too
> > frustrating an environment to type in even the simplest of function
> > definitions, let alone a whole class.
> 
> Let me suggest using a Jupyter notebook as an introductory program editor.

Um… Well…
At first I did not take jupyter seriously
“browser is the universal OS” — Sounds like the usual empty fluff

But now seeing things like this:
http://www.leouieda.com/blog/scipy-on-android.html
I guess I am going to be force
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-17 Thread alister via Python-list
On Sat, 16 Dec 2017 14:41:00 +1200, Marko Rauhamaa wrote:

> r...@zedat.fu-berlin.de (Stefan Ram):
> 
>> Varun R  writes:
>>>I'm new to programming, can anyone guide me, how to start learning
>>>python programming language
>>
>>   As a start, one should learn:
>>
>> 1.) how to install Python
>> (if not already installed)
>>
>> 2.) how to start the Python console
>> (if not already started)
>>
>> 3.) how to type characters into a line of the
>> console and how to submit the line (using the Enter key) (if
>> this is not already known)
> 
> A good list. Even more important, though, is the installation, use and
> understanding of a text editor. What is the difference of MS Word,
> Notepad and a Python-aware text editor? What text editors are there?
> What is a newline? What is whitespace? (Advanced: what is a TAB.) What
> is the difference between lower case and upper case? What is trailing
> whitespace? What is an underscore?
> What is the difference between a parenthesis, bracket and a brace?
> 
> What is a file? What is a filename? What is a directory/folder? What is
> a pathname? What is a terminal (emulator)? What is standard input? What
> is standard output?
> 
> How do I see the listing of files? How do I erase a file? How do I
> rename a file? What is the current working directory? How do I change it
> and why?
> 
> 
> Marko

you seem to be moving more into knowledge about the operating system 
rather than programming itself.

Still a good pre-requisite you cannot hope to successfully program a 
system you do no know how to use



-- 
Mr Young hadn't had to quiet a screaming baby for years. He'd never been
much good at it to start with. He'd always respected Sir Winston 
Churchill,
and patting small versions of him on the bottom had always seemed
ungracious.
-- (Terry Pratchett & Neil Gaiman, Good Omens)
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-16 Thread Chris Angelico
On Sun, Dec 17, 2017 at 12:01 PM, Bill  wrote:
> Gregory Ewing wrote:
>>
>> Bill wrote:
>>>
>>> In my experience, if they do not have the basic (~pre-calc) math behind
>>> them, then learning from a textbook on a programming language, say,  may be
>>> a bit beyond them.
>>
>>
>> Very little mathematical *knowledge* is needed to get started
>> with programming. You can do a lot of useful things in Python
>> without even using any arithmetic.
>>
>> What does seem to correlate is that if you're the sort of
>> person who finds maths interesting and fun to play with, you're
>> also likely to take to programming easily. The same kind of
>> logical thought processes are involved.
>>
>
> I think we are talking about the same people.
> But in college, the prerequisite of "at least co-enrolled in pre-calc",
> turned out to be the right one (based upon quite a lot of teaching
> experience).

Fortunately for the programming world, college isn't when everyone
starts. I started coding at six years old. Should I have waited till I
had some pre-calc before getting into programming?

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-16 Thread Bill

Gregory Ewing wrote:

Bill wrote:
In my experience, if they do not have the basic (~pre-calc) math 
behind them, then learning from a textbook on a programming language, 
say,  may be a bit beyond them.


Very little mathematical *knowledge* is needed to get started
with programming. You can do a lot of useful things in Python
without even using any arithmetic.

What does seem to correlate is that if you're the sort of
person who finds maths interesting and fun to play with, you're
also likely to take to programming easily. The same kind of
logical thought processes are involved.



I think we are talking about the same people.
But in college, the prerequisite of "at least co-enrolled in pre-calc", 
turned out to be the right one (based upon quite a lot of teaching 
experience).

--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-16 Thread Gregory Ewing

Bill wrote:
In my experience, 
if they do not have the basic (~pre-calc) math behind them, then 
learning from a textbook on a programming language, say,  may be a bit 
beyond them.


Very little mathematical *knowledge* is needed to get started
with programming. You can do a lot of useful things in Python
without even using any arithmetic.

What does seem to correlate is that if you're the sort of
person who finds maths interesting and fun to play with, you're
also likely to take to programming easily. The same kind of
logical thought processes are involved.

--
Greg
--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-16 Thread Bill

Rustom Mody (Rustom Mody) wrote:

On Saturday, December 16, 2017 at 9:45:17 AM UTC+5:30, Bill wrote:

Chris Angelico wrote:

On Sat, Dec 16, 2017 at 8:51 AM, Bill wrote:

Varun R wrote:

Hi All,

I'm new to programming, can anyone guide me, how to start learning python
programming language,...plz suggest some books also.

Thanks all

Are you sure you want to learn Python first?
Python does enough things "behind the scene"
that it makes me question the wisdom of that.
Other points of view are welcome, of course.
Learning the primitives of C++ first, may make for an easier transition.
Surely this has been discussed before?

On the contrary, that makes Python an *excellent* first language. We
don't force people to learn about the chemistry of petrochemical
combustion before letting them learn how to drive a car; we don't make
people understand TCP/IP networking before they're allowed to type
something into Google. And if you DO want people to start off with a
lower-level language, why C++? Why not machine code (or at least
assembly code), since that's what the CPU actually executes?

Most decent introductions to C++ discuss machine language (it helps make
sense of compilation).
As you indirectly suggest, learning is something of a circular process,
so it really doesn't make that much difference where one starts, just
"Do It!".  :  )

Reallyâ¿?
https://en.wikipedia.org/wiki/Principles_of_learning#Primacy



You would give precedence to something written on a wikipedia page over 
your experience?
In our current context, we are talking about self-learning where one is 
one's own teacher. To my mind, if one gets that part right, one doesn't 
need to worry about the other types. I learned a great deal from BYTE 
magazine and before that Popular Electronics. Computer technology is so 
ubiquitous today, that the interested person one need only grab hold of 
something and start learning. YouTube for instance, offers a plethora of 
places to "begin".  I tell students, that if they have the math behind 
them, then the doors of science will be open to them. In my experience, 
if they do not have the basic (~pre-calc) math behind them, then 
learning from a textbook on a programming language, say,  may be a bit 
beyond them.

--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-16 Thread Terry Reedy

On 12/16/2017 8:26 AM, Marko Rauhamaa wrote:


Unfortunately, Python's indentation mechanism makes the REPL too
frustrating an environment to type in even the simplest of function
definitions, let alone a whole class.


The fundamental problem is that most REPLs are for 'command lines', and 
Python does not have 'command lines'.  It has statements.  A statement 
may consist of a single line, and if simple, it looks and acts like a 
command line.  But a statement may also be multiple lines.  Even without 
indentation, a single-line editing and history mechanism is a poor fit 
to a multiline statement language.


IDLE has a shell built for Python and Python only.  One enters, edits, 
and retrieves complete statements.  Indentation is automatic.  There is 
currently a glitch in that Shell indents with tabs instead of spaces, 
but I want to change that and know of two ways to do so.


--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-16 Thread Ziggy
On 2017-12-15, Varun R wrote:
> Hi All,
>
> I'm new to programming, can anyone guide me, how to start learning python 
> programming language,...plz suggest some books also.
>
> Thanks all

IMHO These're must have look at:
http://opim.wharton.upenn.edu/~sok/idtresources/python/instant-hacking.html
https://www.learnpython.org
https://docs.python.org/3.5/

http://stackoverflow.com

--
Thank you
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-16 Thread ROGER GRAYDON CHRISTMAN

On Sat, Dec 16, 2017, Marko Rauhamaa wrote: >
Chris Angelico :
>
>> On Sat, Dec 16, 2017 at 11:41 PM, Marko Rauhamaa  wrote:
>> r...@zedat.fu-berlin.de (Stefan Ram):
>>   As a start, one should learn:
>>
>> 1.) how to install Python
>> (if not already installed)
>>
>> 2.) how to start the Python console
>> (if not already started)
>>
>> 3.) how to type characters into a line of the
>> console and how to submit the line (using
>> the Enter key) (if this is not already known)
>>
>> A good list. Even more important, though, is the installation, use and
>> understanding of a text editor. What is the difference of MS Word,
>> Notepad and a Python-aware text editor? What text editors are there?
>> What is a newline? What is whitespace? (Advanced: what is a TAB.) What
>> is the difference between lower case and upper case? What is trailing
>> whitespace? What is an underscore? What is the difference between a
>> parenthesis, bracket and a brace?
>>
>> What is a file? What is a filename? What is a directory/folder? What is
>> a pathname? What is a terminal (emulator)? What is standard input? What
>> is standard output?
>>
>> How do I see the listing of files? How do I erase a file? How do I
>> rename a file? What is the current working directory? How do I change it
>> and why?
>>
>> ... at which point you realize that you're deep in TL;DR territory and
>> none of what you mentioned will be even thought about.
>
>Hm. I don't think you can get away from getting acquainted with all of
>the above before you can write your first "Hello, World!" program in
>Python.
>
>It was simpler when I first learned Basic. There were no files, and your
>REPL was your editor. The ingenious line numbers took the role of the
>text editor.
>
>Unfortunately, Python's indentation mechanism makes the REPL too
>frustrating an environment to type in even the simplest of function
>definitions, let alone a whole class.
>
>
>Marko
>


On the contrary, I think I think you can getaway with a lot of those items:
Let's see:

All the stuff about files, folders, directories, etc:

Running the Python IDLE environment that comes for free along with the
free download, creates its own little folder for all the work, saves the files
in that folder, and makes it easy for you to see what is in there, recover
your previous programs, etc.  I have never had any difficulty in using the
File menu to Open a Recent File, etc.

Of course, I assume the ability to obtain the Python environment, that
requires pointing your browser at the appropriate web site, find the
download page, and so on.   I guess I am assuming that most of my 
students have either used the web before, or have downloaded software
(such as their favorite games or apps).   It has been about twenty years
since I felt a need to teach my students how to find the on/off switch.

MS Word, vs. Notepad, vs. vi, vs. Emacs, vs. vs. vs. vs.
Since Python IDLE has its own development environment,
that is sufficient.   And it even addresses the tab vs. space
indentation issues all by itself, and lets you Indent and Dedent
whole blocks of code cleanly and easily.   

So, Hello World is trivial.  In fact, there are two trivial ways to do it
with Python IDLE.

You get the Shell for free, and just type your print call there.

Or you go to the File Menu, Open a new file, type in one statement,
and activate the Run option on the menu bar.

Now, as far as those other items you think impose an excessive
burden on our poor students:

Difference between parenthesis, bracket, and a brace:
These are simple syntactic punctuation, introduced one item at a time.
They should already know about parentheses from even elementary
arithmetic courses, if not basic algebra.
Brackets can be postponed until you are ready to reach about lists.
Braces can be postponed until you are ready to teach about dictionaries.
Put them in their proper context, and then thinking in the proper context
should make the correct choice of punctuation automatic.

"Python's indentation mechanism ... frustrating ...
even the simplest function definitions, let alone a whole class."
When first reading this, I was wondering why you were even 
considering class definitions in a first course.If you find
print("Hello, world!"   to be too complicated for this first course,
how can you expect any meaningful coverage of OOP?

But aside from that, indentation can also be postponed.
I went four-five weeks into my course before needing any indentation
whatsoever.   All the code was straight down top to bottom
with no function definitions, conditional statements, or loops.
I did make use of some short lists and dictionaries, since 
those conveniently have many useful methods defined within them,
so could solve several interesting straightforward problems
without introducing too much of the language.

Oh, and when the time comes, as above, the Python IDLE
environment does a perfectly 

Re: Python Learning

2017-12-16 Thread ROGER GRAYDON CHRISTMAN
On Sat, Dec 16, 2017, Bill wrote:
>
Varun R wrote:
>> Hi All,
>>
>> I'm new to programming, can anyone guide me, how to start learning python
programming language,...plz suggest some books also.
>>
>> Thanks all
>
>Are you sure you want to learn Python first?
>Python does enough things "behind the scene"
>that it makes me question the wisdom of that.
>Other points of view are welcome, of course.
>Learning the primitives of C++ first, may make for an easier transition.
>Surely this has been discussed before?
>


Having taught introductory courses both with C++ and Python
 as first languages, I really think Python is a better choice.

Consider this nice simple Python program:

print('Hello, world!')
How much background does a student need to understand this,
or to produce programs of equivalent complexity?

Do you really want to get into explaining why you need to
refer to the iostream library, consult the std namespace,
and define a function named main, and why it returns zero?

Is any of that really necessary to understand how to print output?


Or by primitives, do you first get into the integer data type,
how to declare variables, and how to do arithmetic (all of which
are nice and primitive and C++) and postpone all input and output
until the third month of the course, after you have had adequate
time to to explain in detail the meanings of function declarations,
namespaces, streams and #include?

>From my experience, both as instructor and student, with
introductory programming courses with half a dozen different
first languages  to use for those courses, I think C++ is one
of the worst choices!   (In my humble opinion, of course)

Roger Christman
Pennsylvania State University

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-16 Thread edmondo . giovannozzi
Il giorno venerdì 15 dicembre 2017 12:50:08 UTC+1, Varun R ha scritto:
> Hi All,
> 
> I'm new to programming, can anyone guide me, how to start learning python 
> programming language,...plz suggest some books also.
> 
> Thanks all

Personally I learnt python from the tutorial that you can find in:

https://docs.python.org/3/tutorial/index.html

But I should say that I already knew other programming languages. 
By the way I would give a try at that tutorial and ask if you cannot understand 
something.
:-)

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-16 Thread Marko Rauhamaa
Chris Angelico :

> On Sat, Dec 16, 2017 at 11:41 PM, Marko Rauhamaa  wrote:
>> r...@zedat.fu-berlin.de (Stefan Ram):
>>>   As a start, one should learn:
>>>
>>> 1.) how to install Python
>>> (if not already installed)
>>>
>>> 2.) how to start the Python console
>>> (if not already started)
>>>
>>> 3.) how to type characters into a line of the
>>> console and how to submit the line (using
>>> the Enter key) (if this is not already known)
>>
>> A good list. Even more important, though, is the installation, use and
>> understanding of a text editor. What is the difference of MS Word,
>> Notepad and a Python-aware text editor? What text editors are there?
>> What is a newline? What is whitespace? (Advanced: what is a TAB.) What
>> is the difference between lower case and upper case? What is trailing
>> whitespace? What is an underscore? What is the difference between a
>> parenthesis, bracket and a brace?
>>
>> What is a file? What is a filename? What is a directory/folder? What is
>> a pathname? What is a terminal (emulator)? What is standard input? What
>> is standard output?
>>
>> How do I see the listing of files? How do I erase a file? How do I
>> rename a file? What is the current working directory? How do I change it
>> and why?
>
> ... at which point you realize that you're deep in TL;DR territory and
> none of what you mentioned will be even thought about.

Hm. I don't think you can get away from getting acquainted with all of
the above before you can write your first "Hello, World!" program in
Python.

It was simpler when I first learned Basic. There were no files, and your
REPL was your editor. The ingenious line numbers took the role of the
text editor.

Unfortunately, Python's indentation mechanism makes the REPL too
frustrating an environment to type in even the simplest of function
definitions, let alone a whole class.


Marko
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-16 Thread Chris Angelico
On Sat, Dec 16, 2017 at 11:41 PM, Marko Rauhamaa  wrote:
> r...@zedat.fu-berlin.de (Stefan Ram):
>
>> Varun R  writes:
>>>I'm new to programming, can anyone guide me, how to start
>>>learning python programming language
>>
>>   As a start, one should learn:
>>
>> 1.) how to install Python
>> (if not already installed)
>>
>> 2.) how to start the Python console
>> (if not already started)
>>
>> 3.) how to type characters into a line of the
>> console and how to submit the line (using
>> the Enter key) (if this is not already known)
>
> A good list. Even more important, though, is the installation, use and
> understanding of a text editor. What is the difference of MS Word,
> Notepad and a Python-aware text editor? What text editors are there?
> What is a newline? What is whitespace? (Advanced: what is a TAB.) What
> is the difference between lower case and upper case? What is trailing
> whitespace? What is an underscore? What is the difference between a
> parenthesis, bracket and a brace?
>
> What is a file? What is a filename? What is a directory/folder? What is
> a pathname? What is a terminal (emulator)? What is standard input? What
> is standard output?
>
> How do I see the listing of files? How do I erase a file? How do I
> rename a file? What is the current working directory? How do I change it
> and why?
>

... at which point you realize that you're deep in TL;DR territory and
none of what you mentioned will be even thought about.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-16 Thread Marko Rauhamaa
r...@zedat.fu-berlin.de (Stefan Ram):

> Varun R  writes:
>>I'm new to programming, can anyone guide me, how to start
>>learning python programming language
>
>   As a start, one should learn:
>
> 1.) how to install Python
> (if not already installed)
>
> 2.) how to start the Python console
> (if not already started)
>
> 3.) how to type characters into a line of the
> console and how to submit the line (using
> the Enter key) (if this is not already known)

A good list. Even more important, though, is the installation, use and
understanding of a text editor. What is the difference of MS Word,
Notepad and a Python-aware text editor? What text editors are there?
What is a newline? What is whitespace? (Advanced: what is a TAB.) What
is the difference between lower case and upper case? What is trailing
whitespace? What is an underscore? What is the difference between a
parenthesis, bracket and a brace?

What is a file? What is a filename? What is a directory/folder? What is
a pathname? What is a terminal (emulator)? What is standard input? What
is standard output?

How do I see the listing of files? How do I erase a file? How do I
rename a file? What is the current working directory? How do I change it
and why?


Marko
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-15 Thread Rustom Mody
On Saturday, December 16, 2017 at 9:45:17 AM UTC+5:30, Bill wrote:
> Chris Angelico wrote:
> > On Sat, Dec 16, 2017 at 8:51 AM, Bill wrote:
> >> Varun R wrote:
> >>> Hi All,
> >>>
> >>> I'm new to programming, can anyone guide me, how to start learning python
> >>> programming language,...plz suggest some books also.
> >>>
> >>> Thanks all
> >>
> >> Are you sure you want to learn Python first?
> >> Python does enough things "behind the scene"
> >> that it makes me question the wisdom of that.
> >> Other points of view are welcome, of course.
> >> Learning the primitives of C++ first, may make for an easier transition.
> >> Surely this has been discussed before?
> > On the contrary, that makes Python an *excellent* first language. We
> > don't force people to learn about the chemistry of petrochemical
> > combustion before letting them learn how to drive a car; we don't make
> > people understand TCP/IP networking before they're allowed to type
> > something into Google. And if you DO want people to start off with a
> > lower-level language, why C++? Why not machine code (or at least
> > assembly code), since that's what the CPU actually executes?
> 
> Most decent introductions to C++ discuss machine language (it helps make 
> sense of compilation).
> As you indirectly suggest, learning is something of a circular process, 
> so it really doesn't make that much difference where one starts, just 
> "Do It!".  :  )

Really¿? 
https://en.wikipedia.org/wiki/Principles_of_learning#Primacy
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-15 Thread Bill

Chris Angelico wrote:

On Sat, Dec 16, 2017 at 8:51 AM, Bill  wrote:

Varun R wrote:

Hi All,

I'm new to programming, can anyone guide me, how to start learning python
programming language,...plz suggest some books also.

Thanks all


Are you sure you want to learn Python first?
Python does enough things "behind the scene"
that it makes me question the wisdom of that.
Other points of view are welcome, of course.
Learning the primitives of C++ first, may make for an easier transition.
Surely this has been discussed before?

On the contrary, that makes Python an *excellent* first language. We
don't force people to learn about the chemistry of petrochemical
combustion before letting them learn how to drive a car; we don't make
people understand TCP/IP networking before they're allowed to type
something into Google. And if you DO want people to start off with a
lower-level language, why C++? Why not machine code (or at least
assembly code), since that's what the CPU actually executes?


Most decent introductions to C++ discuss machine language (it helps make 
sense of compilation).
As you indirectly suggest, learning is something of a circular process, 
so it really doesn't make that much difference where one starts, just 
"Do It!".  :  )


--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-15 Thread Chris Angelico
On Sat, Dec 16, 2017 at 8:51 AM, Bill  wrote:
> Varun R wrote:
>>
>> Hi All,
>>
>> I'm new to programming, can anyone guide me, how to start learning python
>> programming language,...plz suggest some books also.
>>
>> Thanks all
>
>
> Are you sure you want to learn Python first?
> Python does enough things "behind the scene"
> that it makes me question the wisdom of that.
> Other points of view are welcome, of course.
> Learning the primitives of C++ first, may make for an easier transition.
> Surely this has been discussed before?

On the contrary, that makes Python an *excellent* first language. We
don't force people to learn about the chemistry of petrochemical
combustion before letting them learn how to drive a car; we don't make
people understand TCP/IP networking before they're allowed to type
something into Google. And if you DO want people to start off with a
lower-level language, why C++? Why not machine code (or at least
assembly code), since that's what the CPU actually executes? Or wait -
let's start off by teaching people the electrical engineering that
underlies all of the CPU's operation. And at least a bit of quantum
physics, since that governs stuff once you get to the level of
miniaturization of modern CPUs. No; it's far better to start out by
treating Python as its own thing, powered by magic. Later on, you can
peel back the layers and learn about what's behind everything - at
your own pace.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-15 Thread Bill

Varun R wrote:

Hi All,

I'm new to programming, can anyone guide me, how to start learning python 
programming language,...plz suggest some books also.

Thanks all


Are you sure you want to learn Python first?
Python does enough things "behind the scene"
that it makes me question the wisdom of that.
Other points of view are welcome, of course.
Learning the primitives of C++ first, may make for an easier transition.
Surely this has been discussed before?
--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning

2017-12-15 Thread Michael Biondi
I've been slowly reading through "Learning Python: Powerful 
Object-Oriented Programming" - ( 
https://www.amazon.com/Learning-Python-Powerful-Object-Oriented-Programming-ebook/dp/B00DDZPC9S/ref=sr_1_2?ie=UTF8=1513350446=8-2=learning+python+powerful+object-oriented+programming 
)


It's a huge read and not a great book if you just want to get started 
right away, but I've found it to be very helpful in explaining the 
nuances of the language.  I'm interested to see what other people find 
useful.


Thanks,

Michael


On 12/15/2017 6:49 AM, Varun R wrote:

Hi All,

I'm new to programming, can anyone guide me, how to start learning python 
programming language,...plz suggest some books also.

Thanks all


--
--
Michael Biondi
Generic Network Systems, LLC
(212) 268-4722 ext. 215

--
https://mail.python.org/mailman/listinfo/python-list


Re: Python Learning Environment

2010-04-17 Thread Krister Svanlund
On Sat, Apr 17, 2010 at 6:32 PM, Vijay Shanker Dubey
vijay.s...@gmail.com wrote:
 Hi,
 My Linux box is ubuntu system. I want to create a development environment on
 my system for python programing language. I got to see there are two
 versions of python language
 1. python 2.5.6
 2. python 3.1.2
 To find out what version i look in to my /usr/bin folder. There are many
 entries for python command
 - python
 - python2
 - python2.5
 - python2.6
 - python3
 - python3.1
 what does this mean? I am able to run run my first program with all these
 command. should i remove all these and have the latest one? I am confused
 about these finding. Is this okay to have these all?

 Regards,
 Vijay Shanker Dubey


python is symlinked to one of the 2.5, 2.6 or 3.1... most probably
2.6. The python2 is symlink to one of 2.5 or 2.6 and python3 is
symlinked to python3.1. It's a clever way to be able to specify what
version is needed for a script.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python Learning Environment

2010-04-17 Thread Krister Svanlund
On Sat, Apr 17, 2010 at 7:06 PM, Vijay Shanker Dubey
vijay.s...@gmail.com wrote:
 Yes you are right about symlink thing.
 So what should I do for a clever developer environment?
 Should I change that python link to python3 or python3.1?

 Regards,
 Vijay Shanker Dubey


It all depends on what you want to do. I would say that you shouldn't
change your python link at all, if you want to run a python script
using 3.1 just call the script using python3 as an interpreter.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python Learning Environment

2010-04-17 Thread Vijay Shanker Dubey
Thanks friend,

Got the point.


Regards,
Vijay Shanker Dubey



On Sat, Apr 17, 2010 at 11:31 PM, Krister Svanlund 
krister.svanl...@gmail.com wrote:

 On Sat, Apr 17, 2010 at 7:06 PM, Vijay Shanker Dubey
 vijay.s...@gmail.com wrote:
  Yes you are right about symlink thing.
  So what should I do for a clever developer environment?
  Should I change that python link to python3 or python3.1?
 
  Regards,
  Vijay Shanker Dubey
 

 It all depends on what you want to do. I would say that you shouldn't
 change your python link at all, if you want to run a python script
 using 3.1 just call the script using python3 as an interpreter.
 --
 http://mail.python.org/mailman/listinfo/python-list

-- 
http://mail.python.org/mailman/listinfo/python-list