[Chicago] Teaching Java people Python.

Robare, Phillip (TEKSystems) proba at allstate.com
Mon Dec 5 16:13:25 EST 2016


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<mailto: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<mailto:wirth.jason at gmail.com>

On Fri, Dec 2, 2016 at 6:32 PM, Aaron Elmquist <elmq0022 at umn.edu<mailto: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<mailto: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<mailto:chicago-request at python.org>> wrote:
Send Chicago mailing list submissions to
        chicago at python.org<mailto: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<mailto:chicago-request at python.org>

You can reach the person managing the list at
        chicago-owner at python.org<mailto: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<mailto:wirth.jason at gmail.com>>
To: The Chicago Python Users Group <chicago at python.org<mailto:chicago at python.org>>
Subject: [Chicago] Teaching Java people Python.
Message-ID:
        <CAEwvNMibfucHo3hehdyK1DF6BqNCg-MFSF59oNEe++OEFX9_GQ at mail.gmail.com<mailto:CAEwvNMibfucHo3hehdyK1DF6BqNCg-MFSF59oNEe%2B%2BOEFX9_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<mailto:jordanb at hafd.org>>
To: chicago at python.org<mailto:chicago at python.org>
Subject: Re: [Chicago] Teaching Java people Python.
Message-ID: <5840BE6B.3070705 at hafd.org<mailto: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<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=>

-------------- 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<mailto:tathagatadg at gmail.com>>
To: The Chicago Python Users Group <chicago at python.org<mailto:chicago at python.org>>
Subject: Re: [Chicago] Teaching Java people Python.
Message-ID:
        <CAB32_MNv+dc-9udnaHQgqX2YvuK3gH7Q-+CWgrj5RODyXSPJiw at mail.gmail.com<mailto:CAB32_MNv%2Bdc-9udnaHQgqX2YvuK3gH7Q-%2BCWgrj5RODyXSPJiw 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<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=> 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<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=>
>
-------------- 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<mailto:carl at personnelware.com>>
To: The Chicago Python Users Group <chicago at python.org<mailto:chicago at python.org>>
Subject: Re: [Chicago] Teaching Java people Python.
Message-ID:
        <CADmzSSih3_V38EOXfw4vH9Ei0Wb2L+oLMpU-UY0mYwyNZk2S8Q at mail.gmail.com<mailto:CADmzSSih3_V38EOXfw4vH9Ei0Wb2L%2BoLMpU-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<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=> 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<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=>
>>
>
> _______________________________________________
> 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=>
>
>


--
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<mailto:randy7771026 at gmail.com>>
To: The Chicago Python Users Group <chicago at python.org<mailto:chicago at python.org>>
Subject: Re: [Chicago] Teaching Java people Python.
Message-ID:
        <CAMqL=ihSgv8XHC_FHnrGFtCPfchhP5OKYX_ba0R2H=VEtfOiaw at mail.gmail.com<mailto:VEtfOiaw 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<mailto: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<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=>
>
>
-------------- 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<mailto:mikaeltamillow96 at gmail.com>>
To: The Chicago Python Users Group <chicago at python.org<mailto:chicago at python.org>>
Subject: Re: [Chicago] Teaching Java people Python.
Message-ID: <E713DA93-27CD-4EEA-82C4-2A45E6B6241F at gmail.com<mailto: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<mailto: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<mailto: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<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=>
>>
>
> _______________________________________________
> 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=>
-------------- 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<mailto:allanlesage at gmail.com>>
To: The Chicago Python Users Group <chicago at python.org<mailto:chicago at python.org>>
Subject: Re: [Chicago] Teaching Java people Python.
Message-ID:
        <CACrkd54vU4xJXjgcUwv-Vdwu_GA3XYJMxEM1MR3yKxMGwutiPg at mail.gmail.com<mailto:CACrkd54vU4xJXjgcUwv-Vdwu_GA3XYJMxEM1MR3yKxMGwutiPg at 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<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=> 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<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=>
>>
>
> _______________________________________________
> 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=>
>
>
-------------- 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<mailto:foresmac at gmail.com>>
To: The Chicago Python Users Group <chicago at python.org<mailto:chicago at python.org>>
Subject: Re: [Chicago] Teaching Java people Python.
Message-ID: <2A938CBA-8BF3-47C2-9120-8C1742EA0D08 at gmail.com<mailto: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<mailto:foresmac at gmail.com>




> On Dec 2, 2016, at 9:12 AM, Allan LeSage <allanlesage at gmail.com<mailto: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> <mailto: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> <mailto: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> <mailto: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> <mailto: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> <mailto: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=>

-------------- 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<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=>


------------------------------

End of Chicago Digest, Vol 136, Issue 2
***************************************


_______________________________________________
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=>

_______________________________________________
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=>


_______________________________________________
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=>



--
Carl K
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/chicago/attachments/20161205/e33b7e60/attachment-0001.html>


More information about the Chicago mailing list