Deutsch English Français Italiano |
<mailman.116.1739745837.2912.python-list@python.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!fu-berlin.de!uni-berlin.de!not-for-mail From: Thomas Passin <list1@tompassin.net> Newsgroups: comp.lang.python Subject: Re: Book recommendation? For getting up to date Date: Sun, 16 Feb 2025 17:06:34 -0500 Lines: 54 Message-ID: <mailman.116.1739745837.2912.python-list@python.org> References: <2A4ADE24-6376-45E2-9726-B1122F415163@mostrom.pp.se> <12dd850b-08d3-4740-b704-b2950a4f3027@DancesWithMice.info> <94B5987B-38A4-41F3-BB5D-2BF1B6EF359C@mostrom.pp.se> <d4981f2c-e251-4a79-9c3b-70542cb35935@tompassin.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de 3vHf1jutRjYgpMVmEsDFXwb5CQ/oi64eC1d2FOy9w1SA== Cancel-Lock: sha1:cvnNIMfbAawPeC3Z1wE3WEG7/xE= sha256:QGSnpTKe7LWacXDe6gnPVRBajgFp54dTbNHNbbYFxcg= Return-Path: <list1@tompassin.net> X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org Authentication-Results: mail.python.org; dkim=pass reason="2048-bit key; unprotected key" header.d=tompassin.net header.i=@tompassin.net header.b=e3SkmbG/; dkim-adsp=pass; dkim-atps=neutral X-Spam-Status: OK 0.051 X-Spam-Evidence: '*H*': 0.90; '*S*': 0.00; 'students.': 0.03; '(which': 0.04; 'beginners': 0.05; 'programming.': 0.05; 'python:': 0.05; 'beginner': 0.07; 'received:23.83.212': 0.09; 'received:elm.relay.mailchannels.net': 0.09; 'shift': 0.09; '(largely)': 0.16; 'bulk': 0.16; 'enabling': 0.16; 'evolving': 0.16; 'involving': 0.16; 'mentioned,': 0.16; 'novice': 0.16; "o'reilly": 0.16; 'received:10.0.0': 0.16; 'received:64.90': 0.16; 'received:64.90.62': 0.16; 'received:64.90.62.162': 0.16; 'received:dreamhost.com': 0.16; 'request:': 0.16; 'workflows': 0.16; 'wrote:': 0.16; 'python': 0.16; 'feb': 0.17; 'probably': 0.17; 'pm,': 0.19; 'to:addr:python-list': 0.20; "i've": 0.22; 'advanced': 0.22; 'teach': 0.22; '(and': 0.25; 'python,': 0.25; 'examples': 0.25; 'programming': 0.25; 'basics': 0.26; 'cover': 0.26; 'ecosystem': 0.26; 'bit': 0.27; 'done': 0.28; 'think': 0.29; 'it,': 0.29; 'header:User-Agent:1': 0.30; 'seem': 0.31; 'takes': 0.31; 'approach': 0.31; 'looked': 0.31; 'nature': 0.32; 'python- list': 0.32; 'received:10.0': 0.32; 'received:mailchannels.net': 0.32; 'received:relay.mailchannels.net': 0.32; 'said,': 0.32; 'but': 0.32; "i'm": 0.33; 'header:In-Reply-To:1': 0.34; 'book': 0.35; 'particularly': 0.35; 'teaching': 0.35; 'really': 0.36; 'system,': 0.36; 'people': 0.36; 'those': 0.36; '...': 0.37; "it's": 0.37; 'class': 0.37; 'read': 0.38; 'both': 0.38; 'thanks': 0.39; 'two': 0.39; 'quite': 0.39; 'courses': 0.39; 'received:100': 0.39; 'still': 0.40; '(see': 0.40; 'advantage': 0.40; "couldn't": 0.40; 'should': 0.40; 'likely': 0.61; 'remember': 0.61; 'week': 0.61; 'great': 0.62; 'skip:i 20': 0.62; 'techniques': 0.62; 'feel': 0.63; 'online': 0.63; 'your': 0.64; 'about.': 0.64; 'plan': 0.65; 'look': 0.65; 'well': 0.65; 'years': 0.65; 'edition': 0.67; 'header:Received:6': 0.67; 'away': 0.68; 'received:64': 0.68; 'latter': 0.69; 'publications': 0.69; 'subject:? ': 0.69; 'subject:For': 0.69; 'interest': 0.70; 'older': 0.70; 'interesting': 0.71; 'content': 0.72; 'deal': 0.73; 'reliable': 0.74; 'effective': 0.78; '3rd': 0.81; 'period': 0.81; 'points': 0.84; 'powerful': 0.84; '2-3': 0.84; '4:00': 0.84; 'aaron': 0.84; 'claudio': 0.84; 'repetitive': 0.84; 'replacing': 0.91; 'reward': 0.91 X-Sender-Id: dreamhost|x-authsender|tpassin@tompassin.net ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1739743596; a=rsa-sha256; cv=none; b=WRbuIB7NS6yKjuETjiddjMlrZkW+rmvSzDtOlNwivGMCHL1HoZkymFAVyN8WZX8wfJEHQr oTWq3X99Vn6efM37gqvgkgHAVbfKl7ySlDZ/IMlwtC1y+12Ndyc162pvQp3o3RCtIGfIPa x8USKGZ8OaFkbIMPHmdk+Lvzd3VwrHghkbtzgI9nzLv20wfJtWf0bjyxCNusJEjXgpw9ns RWWg9zlTLPbfAwvgGpknpKsxWModowMnMvZjFMo9Ewq9jKUp+EIDLyn1rmwuNq/Q6JuNWn dZcafAoGAfgYdkgqCafJWWCwQ/+oPr5b62bm+rgwZcr9pOElU0vf/XBsr+IPdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1739743596; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=a4uwkY5BA1Ft/sEz0Usmbin0k1TXUyzy0vPPP92dAt0=; b=hnLsx9DKmBZ9ibCzclm66Pu5JD97pEG2lerNo0XN45+M1sGj5JJ+sx5b/XnPMicm/VdkBG g/OLcA0IUuXm4RKORW/EYm5yFWwkKsS9Ha9r0SJFNNT8fMFAaPqD9pTr1BSyrBcw5cMUX8 fvAgmNIMRHZgc8sYPWlojXWIAbRug3U14Un8rW4uNBA5CC1yB33DF5tGwYLLaYhw6DzkCZ ogOsEWz31HOUqzhv3mwcc91oEuKAe0zEf3tlhIiASHzCZ8kyHGpSC7IvEwVD+HEG1d2Kg6 ZdaBjt3e4iK7+iHVtMl+n+BZuRN8acCGI+G5jdE4Emw8U26L+lxQbdH+XBcoLw== ARC-Authentication-Results: i=1; rspamd-5fcc9c9dd-tngnt; auth=pass smtp.auth=dreamhost smtp.mailfrom=list1@tompassin.net X-Sender-Id: dreamhost|x-authsender|tpassin@tompassin.net X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|tpassin@tompassin.net X-MailChannels-Auth-Id: dreamhost X-Descriptive-Juvenile: 6e83703e6294119c_1739743596264_2091016617 X-MC-Loop-Signature: 1739743596264:1454825477 X-MC-Ingress-Time: 1739743596264 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tompassin.net; s=dreamhost; t=1739743595; bh=a4uwkY5BA1Ft/sEz0Usmbin0k1TXUyzy0vPPP92dAt0=; h=Date:Subject:To:From:Content-Type:Content-Transfer-Encoding; b=e3SkmbG/o/WiJBAtRwjsOLlMhGMA95YgZHZf30f8hkeLp54lHGtTukxoMr1UD6bb+ Xq68SmR8iVV/LVxWyj7WSWm9WNg3043+V4jFBULLyG+NfZNJNvgWiMSWE4XTeKVd19 1+XSQ1E03hmhadrTxVwqK7o7elpIRVSKC/mpkD5+vBWNH2wAU5vpdEdkiKTmCeUs+G 3MsyuSxg71tBhg6ISAqXiHHGPhAkf9RR0dFVm6CL2a3EzLUEe5+0iy7fTDbO42XYxy H2eSjRwZjPcF1Jamfmyyvv6JHjy4d0QvSrkkg762zwUv0m3ftxS2F07RC6Ur93iiPR PNQpEczHGjU7w== User-Agent: Mozilla Thunderbird Content-Language: en-US In-Reply-To: <94B5987B-38A4-41F3-BB5D-2BF1B6EF359C@mostrom.pp.se> X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.39 Precedence: list List-Id: General discussion list for the Python programming language <python-list.python.org> List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe> List-Archive: <https://mail.python.org/pipermail/python-list/> List-Post: <mailto:python-list@python.org> List-Help: <mailto:python-list-request@python.org?subject=help> List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe> X-Mailman-Original-Message-ID: <d4981f2c-e251-4a79-9c3b-70542cb35935@tompassin.net> X-Mailman-Original-References: <2A4ADE24-6376-45E2-9726-B1122F415163@mostrom.pp.se> <12dd850b-08d3-4740-b704-b2950a4f3027@DancesWithMice.info> <94B5987B-38A4-41F3-BB5D-2BF1B6EF359C@mostrom.pp.se> Bytes: 9672 On 2/16/2025 4:00 PM, Jan Erik Moström via Python-list wrote: > On 16 Feb 2025, at 20:59, dn via Python-list wrote: > >> When stop to think about it, this is quite a request: >> don't give me what I do know, >> do give me what I don't know! > > 😜 > >> That said, you are correct: the bulk of new publications seem to (still) aim at the Beginner end of the continuum (see later comments). > > Yep, I threw away several beginners books in Python last week (they were a bit dated). > > My work used to be (and still is, to a small degree) to teach programming to novice students. So, I feel I can skip the basics and go on to the intermediate/advanced stuff. > >> Over the period mentioned, Python has changed a great deal - Python 3 (largely) replacing Python 2 was only the most-notable! > > Yep, that shift was interesting when teaching novices Python!! > >> Books published in 2024 (which I may not have read from cover to cover - yet): >> >> Effective Python: 125 Specific Ways to >> Write Better Python, 3rd Edition >> Brett Slatkin >> Addison Wesley >> >> Hypermodern Python Tooling >> Building Reliable Workflows for an Evolving Python Ecosystem >> Claudio Jolowicz >> O'Reilly >> >> Powerful Python >> Aaron Maxwell >> O'Reilly >> - starts with generators (which you likely haven't met before) > > I have done so ... to be really honest, it was when I couldn't remember how to create an iterator for a class I was writing, that I realized that I needed a refresher. > >> it's a tremendous challenge to write a book (also involving considerable time and effort) which will return value for more than a few years - particularly at the advanced levels! > > True, I'm quite amazed that people write books since it takes such an effort with little, my guess, reward for doing it > >> An alternative-approach which may take your fancy, is online courses (many of which can be taken for $free). Their self-paced nature has the advantage of enabling the skipping-over of repetitive content (and the repeating of points which don't immediately 'sink in'). You will find many examples on Coursera* and edX*. > > My plan is to find one or two books that seem suitable, when I've looked at those then I'm going online for the rest. > > Thanks for the suggestions: I think I now have 2-3 books that I should look into in more detail. I don't have a book for them but I think you should look into the (relatively new) type annotation system, as well as asynchronized programming. The latter is especially of interest because the older techniques have been removed and replaced with a different approach (asyncio having replaced asyncore). Both of these will probably be new to you, and both are important to know about.