[Chicago] Teaching Java people Python.

Jason Wirth wirth.jason at gmail.com
Mon Dec 5 22:35:08 EST 2016


Wow! Thanks Phillip, that's an awesome history. I agree, there should
certainly be more survey classes.

Not being a Java guy myself this questions is hard to answer completely.
Java has a strong object oriented paradigm, everything must be a class,
even if that class has only one method "run" (see Jacks "Stop writing
classes talk"). In Python Hello World is just a call to print (or print
function) in Java it must be a class. I believe Java might have restricted
some of these requirements in Java8 but I don't know for sure.


public class HelloWorld {
    public static void main(String[] args) {        // Prints "Hello,
World" to the terminal window.        System.out.println("Hello,
World");    }
}


You might see an ex-Java developer write a bunch of classes where
everything should either be a simple function, or at least static methods.

Java can have multiple constructors that are defined by the number of
parameters and their types. In Python the standard practice is to define
multiple class methods.

Getters and setters, perhaps all implementation hiding, is a common java
pattern.

Defensive programming vs catching errors.

if keyVar != "" and keyVar in someDict.keys():
    return someDict[keyVar]



The GOF seems to have heavily influenced Java (or perhaps the other way
around) and focuses on solving common problems in OOP languages. Python's
language features have eliminated some of these, I rarely hear Python
developers talk about the "factory pattern".





-- 
    Jason Wirth
    wirth.jason at gmail.com

On Tue, Dec 6, 2016 at 6:13 AM, Robare, Phillip (TEKSystems) <
proba at allstate.com> wrote:

> Every language is a response to a need to express concepts of computation
> in a higher level form.  Certain concepts are more easily expressed through
> one language than another.  An aspect to consider is what were the new
> concepts being discussed at the time the language was defined and how were
> those discussions brought into the design of the language.  This is usually
> taught in a “Survey of Programming Languages” class, typically taught
> mid-way through the undergraduate CS curriculum.  I would argue however
> that it should be revisited in the graduate curriculum since there is such
> a rich intersection of psychology, hardware and theoretical computation
> here.
>
>
>
> Anyway, on to why is Java different from Python?  Let’s look at Java’s
> background.
>
>
>
> Java came along at the time C and C++ (think of the latter as “C with
> Classes”, not the templated behemoth of today) were being used to build
> large multi-team systems and people were running into problems.  In
> addition Smalltalk had shown the world that object oriented design, and
> languages that could express objects as a core part of the language, were
> much more productive for programmers to use.  Both Smalltalk and C had
> problems with blowing up if you violated the expectations for data types.
> And the larger the problem being programmed the more interfaces and the
> more chance for an error.
>
>
>
> In C the classic error was the buffer overflow.  Your code would copy a
> string passed to it without checking the length.  If the passed string was
> too long it would happily keep copying characters into memory that was
> meant for something else.  If the something else was a return address the
> routine would return and happily try to execute whatever was at the address
> pointed to by the characters of the passed in string, often leading to a
> system crash.  This could be handled in a meta- sort of way by tight design
> specifications but the language had no concepts for expressing these.
> Another problem for implementation of higher level ideas was that there was
> no good way to work with pointers to functions.  You might know the types
> of the variables to pass (although a cast could change this information)
> but the meaning was spread among documentation, code and header files.
>
>
>
> In C++ the pointer to a function became hidden behind an object reference
> and that made it much easier to combine these into higher level
> structures.  But try/catch/throw was just getting good implementations.  A
> problem here was that anything could throw for any reason and the catch
> clause, often in another team’s code, wasn’t necessarily expecting what was
> coming at it.
>
>
>
> Smalltalk was a language way ahead of its time.  Graphics libraries were
> defined with the language, not an add-on.  Variables had no fixed type and
> types were mutable.  A method could be passed a string and change the
> variable to an int and the caller would have to deal with it.  This made
> for an elegant way to implement a string-to- integer routine but also made
> for hard to find bugs.  In the early 90s I worked on a Unix project that
> wrote the UI in Smalltalk and the network back end in C.  I was leader of
> the C team and with some work implemented a network API in three months.
> In the same 3 months the front end team completed the whole front end -
> something that would have taken twice as many people a year to do in
> X-windows code.  The C team then became the test team and the Smalltalk
> team transitioned from development to bug fixing.  And there were bugs
> galore.  Put a string into an int field and the system crashed.  Input your
> date in a format the date object didn’t handle and the system crashed.  And
> many more I can’t remember.  After 6 months we had found one bug in the C
> code and so many in the front end that the whole development team was still
> in place.  It was getting harder to crash the system so management declared
> victory and the system was deployed.
>
>
>
> This is the environment that Java was designed in.  The creators of Java
> wanted a language that could be used by multiple teams, a language that
> could tackle the issues that had made large scale programming hard.
>
>
>
> They made several decisions that 20 years later look very good.  The
> Object was made first class and was central to the language.  Calling and
> return types were explicitly defined.  There was a first class value for
> null (instead of the pointer to 0 that had to be explicitly checked in C).
> Once they were created variables didn’t change type.  The language was
> ported to different architectures by compiling to an intermediate form that
> was executed by a virtual machine.  While not a new idea (it had been tried
> 15 years before with Pascal but had performance problems) the increase in
> hardware capabilities made it successful this time around.
>
>
>
> Some other ideas were walked back over the years as it became clear that
> they made programming harder.  Type conversions were originally explicit
> and “float aVar = 1;” would give a syntax error since you were assigning an
> int to a float variable.
>
>
>
> Because of the problem with loosey throw-catch in C++ the language
> required that any explicitly thrown exception be declared in the method
> signature and that the caller be coded to their catch what was being thrown
> or in turn declare that it might throw the exception.  This created brittle
> hierarchies of routines that could not easily be re-architected.  Today
> most language designers consider it a dead end feature.
>
>
>
> Another thing the language introduced was a rich standard library that
> followed the ideas that were expressed in the Gang of Four pattern book.
> You were not supposed to call an object directly, you called it through an
> interface that hid the implementation from the calling code.  The linker
> therefore did not have to resolve the entire hierarchy of types, as in C++,
> but could stop at an interface.
>
>
>
> This had an effect on the growing culture of Java programming.  If an
> interface was good when you were calling a hierarchy of types it was good
> to use it when you called anything because who knew when you might want to
> evolve the code in the future and having an interface would make such
> changes easier.  If single character variables were cryptic then forty
> character ones, like the long names in the library, were good.
>
>
>
> Java became a language that you wrote wordy programs in.  Ease of
> expression had a lowered importance and instead types, objects, and
> interfaces had to be defined in an off-line design process before
> implementation.
>
>
>
> (Now to answer your question about Java vs Python)
>
>
>
> Python stole many of its ideas from Smalltalk and Perl, emphasizing quick
> development.  Types are not as loose as in Smalltalk but compared to Java
> they are quite loose.  Instead of defined interfaces to classes Python uses
> duck typing.  Unlike the wordiness of Java small tightly focused methods
> are favored.
>
>
>
> You can still write Java style code in Python but won’t run as well and
> will take longer to write.
>
>
>
>
>
> Phil Robare
>
>
>
> *From:* Chicago [mailto:chicago-bounces+proba=allstate.com at python.org] *On
> Behalf Of *Carl Karsten
> *Sent:* Saturday, December 03, 2016 12:50 PM
>
> *To:* The Chicago Python Users Group <chicago at python.org>
> *Subject:* Re: [Chicago] Teaching Java people Python.
>
>
>
> I am curious... (and know nothing about Java other than I don't really
> want to invest much time leaning about Java)
>
> Are there best practice or conventions or norms or something that are good
> for Java but not other languages?    if so, Why?
>
>
>
> And this may be the point of this thread, but seems like it is a given and
> you are looking for a formal de-programming of someone that has been
> brainwashed.
>
>
>
>
>
>
> On Sat, Dec 3, 2016 at 1:35 AM, Jason Wirth <wirth.jason at gmail.com> wrote:
>
> All of the answers have been great, thank you.
>
>
>
> I'm quite familiar with all of Raymond Hettinger's talks, as well as
> Jack's talk, and Fluent Python. Those are my go-to sources for this. They
> address the issue, but somewhat indirectly. T summarized it best. I was
> hoping for a more targeted comparison addressing Java specifically;
> something like this, bit with much more depth (he didn't even touch on
> getters/setters) -- https://antrix.net/static/
> pages/python-for-java/online/
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__antrix.net_static_pages_python-2Dfor-2Djava_online_&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=zPHtj4cZx8nfaLlg221q6Dlns49M552YnsEyr3Mv4hU&e=>.
>
>
>
>
> The Module Of The Week and standard library references are even good for
> Python devs. I often forget how much is in there.
>
>
>
>
>
>
>
> --
>     Jason Wirth
>     wirth.jason at gmail.com
>
>
>
> On Fri, Dec 2, 2016 at 6:32 PM, Aaron Elmquist <elmq0022 at umn.edu> wrote:
>
> I will second the Fluent Python book.  I have it and think it's great.  He
> makes great use of the built-in data structures and the standard library on
> general.
>
>
>
> On Dec 2, 2016 5:59 PM, "Tanya Schlusser" <tanya at tickel.net> wrote:
>
> For the Java-to-Python,  Luciano Ramalho's Fluent Python (
> http://shop.oreilly.com/product/0636920032519.do
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__shop.oreilly.com_product_0636920032519.do&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=CFxr_N84-j9-tbwoD3rYxhXy1eYUJval6XrUqvZjJUw&e=>)
> specifically was written for émigrés from other languages :-) and
> apparently knocks it out of the park.
>
>
>
>
>
> For the Python-to-Java; implementing the same thing in different
> languages/APIs was a job requirement for me ... we tested ideas in Python,
> then the junior people (me...) had to translate to a different language for
> production...it was a fast way to bypass conceptual questions and cut
> straight to the differences between languages.
>
>
>
>
>
> Maybe try converting a Hadoop streaming job using Python to Java?
>
> Here's a Python entry point (this is for the old API but the newer docs
> are confusing to me): http://docs.aws.amazon.com/ElasticMapReduce/latest/
> DeveloperGuide/UseCase_Streaming.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__docs.aws.amazon.com_ElasticMapReduce_latest_DeveloperGuide_UseCase-5FStreaming.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=6jiiAEQbVOmt0IBFS49UmBroLY0cE01ix079FuYl0y0&e=>
>
>
>
>
>
>
>
>
>
> On Fri, Dec 2, 2016 at 11:00 AM, <chicago-request at python.org> wrote:
>
> Send Chicago mailing list submissions to
>         chicago at python.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> or, via email, send a message with subject or body 'help' to
>         chicago-request at python.org
>
> You can reach the person managing the list at
>         chicago-owner at python.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Chicago digest..."
>
>
> Today's Topics:
>
>    1. Teaching Java people Python. (Jason Wirth)
>    2. Re: Teaching Java people Python. (Jordan Bettis)
>    3. Re: Teaching Java people Python. (Tathagata Dasgupta)
>    4. Re: Teaching Java people Python. (Carl Karsten)
>    5. Re: Teaching Java people Python. (Randy Baxley)
>    6. Re: Teaching Java people Python. (Michael Tamillow)
>    7. Re: Teaching Java people Python. (Allan LeSage)
>    8. Re: Teaching Java people Python. (Chris Foresman)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 02 Dec 2016 00:14:15 +0000
> From: Jason Wirth <wirth.jason at gmail.com>
> To: The Chicago Python Users Group <chicago at python.org>
> Subject: [Chicago] Teaching Java people Python.
> Message-ID:
>         <CAEwvNMibfucHo3hehdyK1DF6BqNCg-MFSF59oNEe++OEFX9_GQ at mail.
> gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Say a hard-core Java programmer wants to learn Python. Is there a specific
> go-to resource that addresses the differences without wasting time on basic
> programming concepts.
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mail.python.org/pipermail/chicago/attachments/
> 20161202/e108c8b7/attachment-0001.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__mail.python.org_pipermail_chicago_attachments_20161202_e108c8b7_attachment-2D0001.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=htjRoZdTwiHLq4mbNVvo7U4qiHQ6_y_pbQHJVdCCC3A&e=>
> >
>
> ------------------------------
>
> Message: 2
> Date: Thu, 01 Dec 2016 18:20:59 -0600
> From: Jordan Bettis <jordanb at hafd.org>
> To: chicago at python.org
> Subject: Re: [Chicago] Teaching Java people Python.
> Message-ID: <5840BE6B.3070705 at hafd.org>
> Content-Type: text/plain; charset="windows-1252"; Format="flowed"
>
> The tutorial on python.org
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__python.org&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=sotya0IU9jBNK47swF2LE5Z_5RE351SocPZmz2r9YDU&e=>
> is a reasonably good intro and it doesn't
> waste a lot of time trying to explain what an if statement is:
>
> https://docs.python.org/3/tutorial/controlflow.html#if-statements
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.python.org_3_tutorial_controlflow.html-23if-2Dstatements&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=4L4pvRv0dtzJXzIXO-JXaNDrjJRSJKif2iqounAjIAw&e=>
>
> Python has an interactive shell but I'd recommend installing ipython if
> you want to use it to work through the examples.
>
> On 12/01/2016 06:14 PM, Jason Wirth wrote:
> > Say a hard-core Java programmer wants to learn Python. Is there a
> > specific go-to resource that addresses the differences without wasting
> > time on basic programming concepts.
> >
> >
> > _______________________________________________
> > Chicago mailing list
> > Chicago at python.org
> > https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mail.python.org/pipermail/chicago/attachments/
> 20161201/82f56a14/attachment-0001.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__mail.python.org_pipermail_chicago_attachments_20161201_82f56a14_attachment-2D0001.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=epUWsCflmaIw1g4J08rT9SnbQVdmp4VuvURkr5hR-BY&e=>
> >
>
> ------------------------------
>
> Message: 3
> Date: Fri, 02 Dec 2016 00:43:33 +0000
> From: Tathagata Dasgupta <tathagatadg at gmail.com>
> To: The Chicago Python Users Group <chicago at python.org>
> Subject: Re: [Chicago] Teaching Java people Python.
> Message-ID:
>         <CAB32_MNv+dc-9udnaHQgqX2YvuK3gH7Q-+CWgrj5RODyXSPJiw at mail.gmail.
> com>
> Content-Type: text/plain; charset="utf-8"
>
> I think Jason is talking about people who write Python that smell
> (terribly) of Java (version < 8).
> We happen to know quite a few who do this ;)
> Other than Raymond Hettinger's famous pycon 2013 talk
> <https://www.youtube.com/watch?v=OSGv2VnC0go
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_watch-3Fv-3DOSGv2VnC0go&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=0Rvh_hmWpz77sOlkz9Qlbw9yqiuYHdZHzTbVlc4SvHU&e=>>,
> this
> <http://dirtsimple.org/2004/12/python-is-not-java.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__dirtsimple.org_2004_12_python-2Dis-2Dnot-2Djava.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=-OEYLwLvldQzhFkDhUfoBpRgp6lbX7L46RwpIk1-Az4&e=>>
> article, what would
> you recommend?
> I think talking to some of these seasoned Java developers in the language
> of design patterns could work.
> Alex Martelli's talk <https://www.youtube.com/watch?v=0vJJlVBVTFg
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_watch-3Fv-3D0vJJlVBVTFg&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=yAoTl1qZocbApZSRrGqz1Qvkuv1izU-aIx2FNx-0ksM&e=>>
> on
> Python design patterns.
>
> On Thu, Dec 1, 2016 at 6:29 PM Jordan Bettis <jordanb at hafd.org> wrote:
>
> > The tutorial on python.org
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__python.org&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=sotya0IU9jBNK47swF2LE5Z_5RE351SocPZmz2r9YDU&e=>
> is a reasonably good intro and it doesn't
> > waste a lot of time trying to explain what an if statement is:
> >
> > https://docs.python.org/3/tutorial/controlflow.html#if-statements
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.python.org_3_tutorial_controlflow.html-23if-2Dstatements&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=4L4pvRv0dtzJXzIXO-JXaNDrjJRSJKif2iqounAjIAw&e=>
> >
> > Python has an interactive shell but I'd recommend installing ipython if
> > you want to use it to work through the examples.
> >
> >
> > On 12/01/2016 06:14 PM, Jason Wirth wrote:
> >
> > Say a hard-core Java programmer wants to learn Python. Is there a
> specific
> > go-to resource that addresses the differences without wasting time on
> basic
> > programming concepts.
> >
> >
> > _______________________________________________
> > Chicago mailing listChicago at python.orghttps://mail.python.org/mailman/
> listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=nS1Vy24jnTkqavGZTmrzdNUCKh15GDZq3J3RwV2fAKk&e=>
> >
> >
> > _______________________________________________
> > Chicago mailing list
> > Chicago at python.org
> > https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mail.python.org/pipermail/chicago/attachments/
> 20161202/2bb902fc/attachment-0001.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__mail.python.org_pipermail_chicago_attachments_20161202_2bb902fc_attachment-2D0001.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=HIcWKpsu4IGXrA5FXbOKqVyRbhR4PITOQ6MujFzEJaE&e=>
> >
>
> ------------------------------
>
> Message: 4
> Date: Thu, 1 Dec 2016 19:02:30 -0600
> From: Carl Karsten <carl at personnelware.com>
> To: The Chicago Python Users Group <chicago at python.org>
> Subject: Re: [Chicago] Teaching Java people Python.
> Message-ID:
>         <CADmzSSih3_V38EOXfw4vH9Ei0Wb2L+oLMpU-
> UY0mYwyNZk2S8Q at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> "Using Ripley and Python's Read Evaluate Print Loop, lead a group though
> the basic Python syntax. The assumption is they know about programming and
> need to be introduced to Python."  - https://github.com/CarlFK/Ripley/
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_CarlFK_Ripley_&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=LLopi_kWSwnOQ0uVtxbg170Z-5hEoj93XGoBwIMdE5k&e=>
>
> > addresses the differences
>
> I wonder if that is really a good use of time.  That sounds to me like
> "forget what you have learned over the last 5 years" which is going to be
> really hard.
>
> I suspect time is better used just teaching good python.
>
> But I should leave this to someone who has studied how to teach.
>
>
>
> On Thu, Dec 1, 2016 at 6:43 PM, Tathagata Dasgupta <tathagatadg at gmail.com>
> wrote:
>
> > I think Jason is talking about people who write Python that smell
> > (terribly) of Java (version < 8).
> > We happen to know quite a few who do this ;)
> > Other than Raymond Hettinger's famous pycon 2013 talk
> > <https://www.youtube.com/watch?v=OSGv2VnC0go
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_watch-3Fv-3DOSGv2VnC0go&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=0Rvh_hmWpz77sOlkz9Qlbw9yqiuYHdZHzTbVlc4SvHU&e=>>,
> this
> > <http://dirtsimple.org/2004/12/python-is-not-java.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__dirtsimple.org_2004_12_python-2Dis-2Dnot-2Djava.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=-OEYLwLvldQzhFkDhUfoBpRgp6lbX7L46RwpIk1-Az4&e=>>
> article, what
> > would you recommend?
> > I think talking to some of these seasoned Java developers in the language
> > of design patterns could work.
> > Alex Martelli's talk <https://www.youtube.com/watch?v=0vJJlVBVTFg
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_watch-3Fv-3D0vJJlVBVTFg&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=yAoTl1qZocbApZSRrGqz1Qvkuv1izU-aIx2FNx-0ksM&e=>>
> on
> > Python design patterns.
> >
> > On Thu, Dec 1, 2016 at 6:29 PM Jordan Bettis <jordanb at hafd.org> wrote:
> >
> >> The tutorial on python.org
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__python.org&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=sotya0IU9jBNK47swF2LE5Z_5RE351SocPZmz2r9YDU&e=>
> is a reasonably good intro and it doesn't
> >> waste a lot of time trying to explain what an if statement is:
> >>
> >> https://docs.python.org/3/tutorial/controlflow.html#if-statements
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.python.org_3_tutorial_controlflow.html-23if-2Dstatements&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=4L4pvRv0dtzJXzIXO-JXaNDrjJRSJKif2iqounAjIAw&e=>
> >>
> >> Python has an interactive shell but I'd recommend installing ipython if
> >> you want to use it to work through the examples.
> >>
> >>
> >> On 12/01/2016 06:14 PM, Jason Wirth wrote:
> >>
> >> Say a hard-core Java programmer wants to learn Python. Is there a
> >> specific go-to resource that addresses the differences without wasting
> time
> >> on basic programming concepts.
> >>
> >>
> >> _______________________________________________
> >> Chicago mailing listChicago at python.orghttps://mail.python.org/mailman/
> listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=nS1Vy24jnTkqavGZTmrzdNUCKh15GDZq3J3RwV2fAKk&e=>
> >>
> >>
> >> _______________________________________________
> >> Chicago mailing list
> >> Chicago at python.org
> >> https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> >>
> >
> > _______________________________________________
> > Chicago mailing list
> > Chicago at python.org
> > https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> >
> >
>
>
> --
> Carl K
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mail.python.org/pipermail/chicago/attachments/
> 20161201/17b575fa/attachment-0001.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__mail.python.org_pipermail_chicago_attachments_20161201_17b575fa_attachment-2D0001.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=X9hx3azP_wJjuDF8aPns1KQVpmqolrF_lL11Pg-feJg&e=>
> >
>
> ------------------------------
>
> Message: 5
> Date: Thu, 1 Dec 2016 19:20:58 -0600
> From: Randy Baxley <randy7771026 at gmail.com>
> To: The Chicago Python Users Group <chicago at python.org>
> Subject: Re: [Chicago] Teaching Java people Python.
> Message-ID:
>         <CAMqL=ihSgv8XHC_FHnrGFtCPfchhP5OKYX_ba0R2H=VEt
> fOiaw at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Beazley's 2013 Pycon talk might be a good jump start
> http://pyvideo.org/pycon-us-2013/learn-python-through-
> public-data-hacking.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__pyvideo.org_pycon-2Dus-2D2013_learn-2Dpython-2Dthrough-2Dpublic-2Ddata-2Dhacking.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=qrffWijPLqubnfRHcLSyOSPMJ6M5XriZEps0fb80veY&e=>
>
> On Thu, Dec 1, 2016 at 6:14 PM, Jason Wirth <wirth.jason at gmail.com> wrote:
>
> > Say a hard-core Java programmer wants to learn Python. Is there a
> specific
> > go-to resource that addresses the differences without wasting time on
> basic
> > programming concepts.
> >
> > _______________________________________________
> > Chicago mailing list
> > Chicago at python.org
> > https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> >
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mail.python.org/pipermail/chicago/attachments/
> 20161201/7900ad7f/attachment-0001.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__mail.python.org_pipermail_chicago_attachments_20161201_7900ad7f_attachment-2D0001.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=2KxpqSxaFK2vj25jfaGoiK3OSQZtfIU2BehPTRxeMAc&e=>
> >
>
> ------------------------------
>
> Message: 6
> Date: Thu, 1 Dec 2016 23:38:15 -0600
> From: Michael Tamillow <mikaeltamillow96 at gmail.com>
> To: The Chicago Python Users Group <chicago at python.org>
> Subject: Re: [Chicago] Teaching Java people Python.
> Message-ID: <E713DA93-27CD-4EEA-82C4-2A45E6B6241F at gmail.com>
> Content-Type: text/plain; charset="us-ascii"
>
> Just on the topic of learning new things, I think it is a good idea to
> follow the same paths as people who are already doing it - skip forward
> when things are too easy, and step back when things become difficult to
> comprehend.
>
> But I would say the best way to make a jump like that is to just read
> source code. Ask questions about the source code through google. There are
> tons of mature packages already with anaconda, just bust one open and try
> to understand it.
>
> Sent from my iPhone
>
> > On Dec 1, 2016, at 7:20 PM, Randy Baxley <randy7771026 at gmail.com> wrote:
> >
> > Beazley's 2013 Pycon talk might be a good jump start
> http://pyvideo.org/pycon-us-2013/learn-python-through-
> public-data-hacking.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__pyvideo.org_pycon-2Dus-2D2013_learn-2Dpython-2Dthrough-2Dpublic-2Ddata-2Dhacking.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=qrffWijPLqubnfRHcLSyOSPMJ6M5XriZEps0fb80veY&e=>
> >
> >> On Thu, Dec 1, 2016 at 6:14 PM, Jason Wirth <wirth.jason at gmail.com>
> wrote:
> >> Say a hard-core Java programmer wants to learn Python. Is there a
> specific go-to resource that addresses the differences without wasting time
> on basic programming concepts.
> >>
> >> _______________________________________________
> >> Chicago mailing list
> >> Chicago at python.org
> >> https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> >>
> >
> > _______________________________________________
> > Chicago mailing list
> > Chicago at python.org
> > https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mail.python.org/pipermail/chicago/attachments/
> 20161201/4d516791/attachment-0001.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__mail.python.org_pipermail_chicago_attachments_20161201_4d516791_attachment-2D0001.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=9ueYMe1LJ6JnJ-Von8eaJpG2dz81XSAUQoHZEzaIMho&e=>
> >
>
> ------------------------------
>
> Message: 7
> Date: Fri, 2 Dec 2016 09:12:14 -0600
> From: Allan LeSage <allanlesage at gmail.com>
> To: The Chicago Python Users Group <chicago at python.org>
> Subject: Re: [Chicago] Teaching Java people Python.
> Message-ID:
>         <CACrkd54vU4xJXjgcUwv-Vdwu_GA3XYJMxEM1MR3yKxMGwutiPg@
> mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Concerning Java smells, this Stop Writing Classes
> <http://pyvideo.org/pycon-us-2012/stop-writing-classes.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__pyvideo.org_pycon-2Dus-2D2012_stop-2Dwriting-2Dclasses.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=IrgQmeFNT2MjP93tAD8pHs0mMGoDMNvM5d2UUXnbz_Q&e=>>
> talk really
> emphasizes the clarity and simplicity of Python for devs who come from more
> verbose langs.
>
> On Thu, Dec 1, 2016 at 6:43 PM, Tathagata Dasgupta <tathagatadg at gmail.com>
> wrote:
>
> > I think Jason is talking about people who write Python that smell
> > (terribly) of Java (version < 8).
> > We happen to know quite a few who do this ;)
> > Other than Raymond Hettinger's famous pycon 2013 talk
> > <https://www.youtube.com/watch?v=OSGv2VnC0go
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_watch-3Fv-3DOSGv2VnC0go&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=0Rvh_hmWpz77sOlkz9Qlbw9yqiuYHdZHzTbVlc4SvHU&e=>>,
> this
> > <http://dirtsimple.org/2004/12/python-is-not-java.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__dirtsimple.org_2004_12_python-2Dis-2Dnot-2Djava.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=-OEYLwLvldQzhFkDhUfoBpRgp6lbX7L46RwpIk1-Az4&e=>>
> article, what
> > would you recommend?
> > I think talking to some of these seasoned Java developers in the language
> > of design patterns could work.
> > Alex Martelli's talk <https://www.youtube.com/watch?v=0vJJlVBVTFg
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_watch-3Fv-3D0vJJlVBVTFg&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=yAoTl1qZocbApZSRrGqz1Qvkuv1izU-aIx2FNx-0ksM&e=>>
> on
> > Python design patterns.
> >
> > On Thu, Dec 1, 2016 at 6:29 PM Jordan Bettis <jordanb at hafd.org> wrote:
> >
> >> The tutorial on python.org
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__python.org&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=sotya0IU9jBNK47swF2LE5Z_5RE351SocPZmz2r9YDU&e=>
> is a reasonably good intro and it doesn't
> >> waste a lot of time trying to explain what an if statement is:
> >>
> >> https://docs.python.org/3/tutorial/controlflow.html#if-statements
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.python.org_3_tutorial_controlflow.html-23if-2Dstatements&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=4L4pvRv0dtzJXzIXO-JXaNDrjJRSJKif2iqounAjIAw&e=>
> >>
> >> Python has an interactive shell but I'd recommend installing ipython if
> >> you want to use it to work through the examples.
> >>
> >>
> >> On 12/01/2016 06:14 PM, Jason Wirth wrote:
> >>
> >> Say a hard-core Java programmer wants to learn Python. Is there a
> >> specific go-to resource that addresses the differences without wasting
> time
> >> on basic programming concepts.
> >>
> >>
> >> _______________________________________________
> >> Chicago mailing listChicago at python.orghttps://mail.python.org/mailman/
> listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=nS1Vy24jnTkqavGZTmrzdNUCKh15GDZq3J3RwV2fAKk&e=>
> >>
> >>
> >> _______________________________________________
> >> Chicago mailing list
> >> Chicago at python.org
> >> https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> >>
> >
> > _______________________________________________
> > Chicago mailing list
> > Chicago at python.org
> > https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> >
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mail.python.org/pipermail/chicago/attachments/
> 20161202/5eeec018/attachment-0001.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__mail.python.org_pipermail_chicago_attachments_20161202_5eeec018_attachment-2D0001.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=Z7GqupDaMufGKvRzDgFCKC_3xG-DK2p1VZIfLSCGcag&e=>
> >
>
> ------------------------------
>
> Message: 8
> Date: Fri, 2 Dec 2016 09:42:16 -0600
> From: Chris Foresman <foresmac at gmail.com>
> To: The Chicago Python Users Group <chicago at python.org>
> Subject: Re: [Chicago] Teaching Java people Python.
> Message-ID: <2A938CBA-8BF3-47C2-9120-8C1742EA0D08 at gmail.com>
> Content-Type: text/plain; charset="us-ascii"
>
> What would you recommend for Python devs that need to learn Java (besides
> applying for a different job :P )?
>
>
> Chris Foresman
> foresmac at gmail.com
>
>
>
>
> > On Dec 2, 2016, at 9:12 AM, Allan LeSage <allanlesage at gmail.com> wrote:
> >
> > Concerning Java smells, this Stop Writing Classes <
> http://pyvideo.org/pycon-us-2012/stop-writing-classes.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__pyvideo.org_pycon-2Dus-2D2012_stop-2Dwriting-2Dclasses.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=IrgQmeFNT2MjP93tAD8pHs0mMGoDMNvM5d2UUXnbz_Q&e=>>
> talk really emphasizes the clarity and simplicity of Python for devs who
> come from more verbose langs.
> >
> > On Thu, Dec 1, 2016 at 6:43 PM, Tathagata Dasgupta <
> tathagatadg at gmail.com <mailto:tathagatadg at gmail.com>> wrote:
> > I think Jason is talking about people who write Python that smell
> (terribly) of Java (version < 8).
> > We happen to know quite a few who do this ;)
> > Other than Raymond Hettinger's famous pycon 2013 talk <
> https://www.youtube.com/watch?v=OSGv2VnC0go
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_watch-3Fv-3DOSGv2VnC0go&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=0Rvh_hmWpz77sOlkz9Qlbw9yqiuYHdZHzTbVlc4SvHU&e=>>,
> this <http://dirtsimple.org/2004/12/python-is-not-java.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__dirtsimple.org_2004_12_python-2Dis-2Dnot-2Djava.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=-OEYLwLvldQzhFkDhUfoBpRgp6lbX7L46RwpIk1-Az4&e=>>
> article, what would you recommend?
> > I think talking to some of these seasoned Java developers in the
> language of design patterns could work.
> > Alex Martelli's talk <https://www.youtube.com/watch?v=0vJJlVBVTFg
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_watch-3Fv-3D0vJJlVBVTFg&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=yAoTl1qZocbApZSRrGqz1Qvkuv1izU-aIx2FNx-0ksM&e=>>
> on Python design patterns.
> >
> > On Thu, Dec 1, 2016 at 6:29 PM Jordan Bettis <jordanb at hafd.org <mailto:
> jordanb at hafd.org>> wrote:
> > The tutorial on python.org
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__python.org&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=sotya0IU9jBNK47swF2LE5Z_5RE351SocPZmz2r9YDU&e=>
> <http://python.org/
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__python.org_&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=3dEkBv_2SGTTJQqsF6k6HNhQc2mx6OMYE8Op2zGjEbI&e=>>
> is a reasonably good intro and it doesn't waste a lot of time trying to
> explain what an if statement is:
> >
> > https://docs.python.org/3/tutorial/controlflow.html#if-statements
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.python.org_3_tutorial_controlflow.html-23if-2Dstatements&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=4L4pvRv0dtzJXzIXO-JXaNDrjJRSJKif2iqounAjIAw&e=>
> <https://docs.python.org/3/tutorial/controlflow.html#if-statements
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.python.org_3_tutorial_controlflow.html-23if-2Dstatements&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=4L4pvRv0dtzJXzIXO-JXaNDrjJRSJKif2iqounAjIAw&e=>
> >
> >
> > Python has an interactive shell but I'd recommend installing ipython if
> you want to use it to work through the examples.
> >
> >
> > On 12/01/2016 06:14 PM, Jason Wirth wrote:
> >> Say a hard-core Java programmer
> >>         wants to learn Python. Is there a specific go-to resource that
> >>         addresses the differences without wasting time on basic
> >>         programming concepts.
> >>
> >>
> >> _______________________________________________
> >> Chicago mailing list
> >> Chicago at python.org <mailto:Chicago at python.org>
> >> https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> <https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> >
> >
> > _______________________________________________
> > Chicago mailing list
> > Chicago at python.org <mailto:Chicago at python.org>
> > https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> <https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> >
> >
> > _______________________________________________
> > Chicago mailing list
> > Chicago at python.org <mailto:Chicago at python.org>
> > https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> <https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
> >
> >
> >
> > _______________________________________________
> > Chicago mailing list
> > Chicago at python.org
> > https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mail.python.org/pipermail/chicago/attachments/
> 20161202/74f0a460/attachment-0001.html
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__mail.python.org_pipermail_chicago_attachments_20161202_74f0a460_attachment-2D0001.html&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=m127rD0JlSoEi2LwdazcadOq5APxCY0TLNXcdn8qzuM&e=>
> >
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> Chicago mailing list
> Chicago at python.org
> https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
>
>
> ------------------------------
>
> End of Chicago Digest, Vol 136, Issue 2
> ***************************************
>
>
>
>
> _______________________________________________
> Chicago mailing list
> Chicago at python.org
> https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
>
>
> _______________________________________________
> Chicago mailing list
> Chicago at python.org
> https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
>
>
>
>
> _______________________________________________
> Chicago mailing list
> Chicago at python.org
> https://mail.python.org/mailman/listinfo/chicago
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_chicago&d=DQMFaQ&c=gtIjdLs6LnStUpy9cTOW9w&r=VXIryE9UwJGlNMLzgMzDT4_t2NMrZf6alSphHwSEwC0&m=Cw7u_Y0VfiYexn6CP4Y0mcMlcDU7P07Pl-gJZjCrJz4&s=_1LS-VQcJpa7ssltu_Y3apvSkkkq4PMDK7PluY92wS0&e=>
>
>
>
>
> --
>
> Carl K
>
> _______________________________________________
> Chicago mailing list
> Chicago at python.org
> https://mail.python.org/mailman/listinfo/chicago
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/chicago/attachments/20161206/bad72500/attachment-0001.html>


More information about the Chicago mailing list