Post AhUM5bDCX8MfiWrFVg by bgporter@hachyderm.io
 (DIR) More posts by bgporter@hachyderm.io
 (DIR) Post #AhUKBxzuWvMQDNY9lw by futurebird@sauropods.win
       2024-05-02T17:50:34Z
       
       0 likes, 0 repeats
       
       “Fluent Python” is an excellent example of a “good programming language book” — it’s not cluttered with “enterprise examples” it’s focused on how python works and goes into detail on edge cases. This lets one write code with real confidence that you know everything it’s doing.  It is also written with the aim to justify *why* python is the way that it is. Which I need or I get irritated. If you like python you should probably have a pdf or buy a copy. Now which book on Java is analogous?
       
 (DIR) Post #AhUL8Qh7zdFQ0rdqGu by futurebird@sauropods.win
       2024-05-02T18:00:58Z
       
       0 likes, 0 repeats
       
       Think Java is excellent for beginners. But it really is just for beginners. I didn’t like “Learning Java” much— it seemed to have you doing too many things without fully explaining them just to get to a more flashy result. I’d rather do a simple example and understand it inside and out (call it math brain disease)
       
 (DIR) Post #AhULX2Zmnm66RzwWgq by bmac@jawns.club
       2024-05-02T18:05:17Z
       
       0 likes, 0 repeats
       
       @futurebird I'll suggest that it's something by @venkats. Cruising Along with Java may be a bit focused on newer language features, or it may be just what you want.Bottom line: I've edited both Luciano and Venkat, and I'm betting if you liked one approach, you'll like the other.https://pragprog.com/titles/vscajava/cruising-along-with-java/
       
 (DIR) Post #AhULgJGW7ZL4okLkzA by mlevison@agilealliance.social
       2024-05-02T18:07:09Z
       
       0 likes, 0 repeats
       
       @futurebird interesting. Do you have a fluent swift book?
       
 (DIR) Post #AhULk3QovtQmrsxGFs by futurebird@sauropods.win
       2024-05-02T18:07:57Z
       
       0 likes, 1 repeats
       
       @LinuxNerd  I was avoiding “head first” books because I thought the name “head first” meant something like “crash course” and that’s not what I want. I can jump into any language and make a big mess or jerryrig things do they “pretty much work” — don’t need any help with that! but if that’s *not* what they are like I might need to check them out.
       
 (DIR) Post #AhUM5bDCX8MfiWrFVg by bgporter@hachyderm.io
       2024-05-02T18:11:50Z
       
       0 likes, 0 repeats
       
       @futurebird Back in the day I would have pointed you at Bruce Eckel's "Thinking in Java", but I don't know what current editions are like. The 1st edition of his "Thinking in C++" was critical in my becoming a C++ developer, but the 2nd edition was (for my purposes) disappointing. What I learned from his Java book is that I hope to ride out the remainder of my career having never written a line of production Java code.
       
 (DIR) Post #AhUMaB3VpdBVZWuHdg by Davida@lsbt.me
       2024-05-02T18:17:16Z
       
       0 likes, 0 repeats
       
       @futurebird Duely noted, But the Amazon has two of those books listed. One from 2015 and the other from 2022. ( same Arthur, same publisher ) Is the newer a better revision? ( normally - yes, but... )
       
 (DIR) Post #AhUMfWp8KGx2X4jUJs by jlfischer@mastodon.social
       2024-05-02T18:18:11Z
       
       0 likes, 0 repeats
       
       @futurebird Going beyond beginner books, both Effective Java and Java Concurrency in Practice feel super important to me. Fluent Python's description sounds a lot like what Effective Java covers, and the practices in Java Concurrency help keep you out of trouble a _lot_.
       
 (DIR) Post #AhUMr3OFaLHuikecBU by australopithecus@mastodon.social
       2024-05-02T18:20:13Z
       
       0 likes, 0 repeats
       
       @futurebird Java is also good for Android app developers (Kotlin is a superset of Java).  But yeah, I kinda hate it.
       
 (DIR) Post #AhUOzaUObhbLbJj34K by patient_maya05@mastodon.social
       2024-05-02T18:44:21Z
       
       0 likes, 0 repeats
       
       @futurebird 💐
       
 (DIR) Post #AhUPwlGQBtTk6SPCAi by krisvdm@mastodon.nl
       2024-05-02T18:55:03Z
       
       0 likes, 0 repeats
       
       @futurebird I tried writing a website in Java using the Tomcat java library many years ago. There was a large overhead of work to get going. Many years ago I switched to python, much more efficient, quick to write and debug. Python is also great for maths, great math libraries also AI math
       
 (DIR) Post #AhURmNH0jRN6i6r82i by venya@musicians.today
       2024-05-02T19:14:39Z
       
       0 likes, 0 repeats
       
       @futurebird I've never really gotten very far in #Python (or any other language), though I think I've started over at least three times. The most successful of these was with @AlSweigart 's books, especially Cracking Codes With Python, which paired lovely with some of my other interests.Learned a lot, retained very little, but I suspect the data analyst cert program I'm working through for fun would be a LOT harder if I'd not had that prior exposure.I will check out Fluent soon. Thanks!
       
 (DIR) Post #AhUTLaCSlLs6tK56DA by BenjaminKlein@mastodon.nu
       2024-05-02T19:32:59Z
       
       0 likes, 0 repeats
       
       @futurebird thanks for the tip in brushing up my python after a long time not writing any.
       
 (DIR) Post #AhUXiZZleINDQtCRbE by barrygoldman1@sauropods.win
       2024-05-02T20:22:08Z
       
       0 likes, 0 repeats
       
       @futurebird hmm that doesn't seem to be in my collection.  i can haz pdf?
       
 (DIR) Post #AhUYTPcgTIDEAstmK0 by futurebird@sauropods.win
       2024-05-02T20:30:32Z
       
       0 likes, 0 repeats
       
       @barrygoldman1  I've just got a paper copy.
       
 (DIR) Post #AhUcR4nzIeFQqaKN28 by barrygoldman1@sauropods.win
       2024-05-02T21:14:57Z
       
       0 likes, 0 repeats
       
       @futurebird found a pdf  hmm very interesting.https://coderbooks.ru/fluent_python_2nd_edition/
       
 (DIR) Post #AhUjwg2HcuwuyK1tYm by gaurav@hachyderm.io
       2024-05-02T22:39:03Z
       
       0 likes, 0 repeats
       
       @futurebird Not sure about Java, but IIRC “C For Dummies, Volume II” filled the chapter on pointers with Viking jokes so it wouldn’t be quite as scary.
       
 (DIR) Post #AhV09tAJilbyiw6pBQ by MichaelTBacon@social.coop
       2024-05-03T01:40:48Z
       
       0 likes, 0 repeats
       
       @futurebird I don't have a great Java suggestion unfortunately, but I'll also mention this Python book. I had done a lot of dabbling and side jobs in Python before I read this, but this changed the way I develop and really let me do major software projects at a truly effective level for the first time.It's quite dated now for a tech book but the "testing goat" is a hilarious but effective teaching device.https://www.amazon.com/Test-Driven-Development-Python-Selenium-JavaScript/dp/1491958707
       
 (DIR) Post #AhV1PNnQDdLQ1NLt68 by ramsey@phpc.social
       2024-05-03T01:54:48Z
       
       0 likes, 0 repeats
       
       @futurebird @LinuxNerd I always had this impression of the “head first” series of books, too. Maybe it’s a branding problem?
       
 (DIR) Post #AhVZdb4B4eUxfq8fBI by BrettCoulstock@adforward.org
       2024-05-03T08:18:18Z
       
       0 likes, 0 repeats
       
       @futurebird @LinuxNerd They are generally very good, but they do present a distinct learning pathway, rather than a "dip into the book and look stuff up" model.Kathy Sierra who designed the series had a great blog about her process and considering how to present informational material back in the day, but someone made threats against her and she pulled the plug. 😠 Still worth reading.https://headrush.typepad.com/creating_passionate_users/
       
 (DIR) Post #AhWRKiJbZW9RBwEhgO by mavu@mastodon.social
       2024-05-03T18:19:58Z
       
       0 likes, 0 repeats
       
       @futurebird last time i did java, its concept of "simple" did not align with my definition of the term.I think the all time winner of introductory programming language books is "Why's (Poignant) Guide to Ruby"Available here or elsewhere fort free.http://www.freetechbooks.com/why-s-poignant-guide-to-ruby-t222.htmlThis book quite literally changed my life, and i will always be thankful to the author.
       
 (DIR) Post #AhgDRBBTh9f8geDsqu by ramgarlic@fosstodon.org
       2024-05-08T11:31:13Z
       
       0 likes, 1 repeats
       
       @futurebird thank you very much for this review! You are the reader I had in mind when I wrote #FluentPython . A reader like me!
       
 (DIR) Post #AhgLdH0ieozfrjT6em by cate@mastodon.xyz
       2024-05-08T13:02:56Z
       
       0 likes, 0 repeats
       
       @futurebird @ramgarlic OTOH Java has the gang of four, which is cited a lot in Fluent Python. do we have something about designing software? (which depends a lot on programming language). C++ has some books on details (a sort of few FP chapters on steroids, otoh it is not healthy to have too much of them, and probably it is a sign of bad language design)
       
 (DIR) Post #AhgP0AkEQ5emxHMp96 by SnoopJ@hachyderm.io
       2024-05-08T13:41:00Z
       
       0 likes, 0 repeats
       
       @futurebird the section on the data model in particular is so good! Worth having on my shelf for that bit alone
       
 (DIR) Post #AhgPHWFFjeDWYn9HFI by brezelradar@norden.social
       2024-05-08T13:44:06Z
       
       0 likes, 0 repeats
       
       @futurebird Unfortunately I haven't read Fluent Python yet so it may not be what you look for, but I enjoyed "Head First Java" (and later Head First Design patterns) back in the day. Latest edition seems to be from 2022, I'd give it a try.
       
 (DIR) Post #AhgPlPFgIea1YibHfs by futurebird@sauropods.win
       2024-05-08T13:49:34Z
       
       0 likes, 1 repeats
       
       @ramgarlic  You never know who you will run into in the fediverse! 😲
       
 (DIR) Post #AhgQgGOltBLQbgxojg by rob@skol.social
       2024-05-08T13:59:39Z
       
       0 likes, 0 repeats
       
       @futurebird @ramgarlic I’ve been meaning to read a Python book. Will start here based on your recommendation.
       
 (DIR) Post #AhgRWbxMyw8sWh6lgO by grrrr_shark@supervolcano.angryshark.eu
       2024-05-08T14:09:15Z
       
       0 likes, 1 repeats
       
       @futurebird And from how it's organised, it looks like it covers functionality a lot of sources say "you are never going to need to use this" and then fail to explain - features which I've just found in a complicated project I very much need to use.I'll give it a shot :)
       
 (DIR) Post #AhgTt13EYrEAdQf7Wi by futurebird@sauropods.win
       2024-05-08T14:35:32Z
       
       0 likes, 1 repeats
       
       @grrrr_shark  I hate having things in my code and not really knowing what they are— that was what made Java a drag for a long time before I learned what “public static void” meant and what “args” are— so many intro to java texts are like “don’t worry about those” then spend so much time explaining boolean logic the *one* thing that’s always easy about any new language.
       
 (DIR) Post #AhgUE23I2EUZovi412 by grrrr_shark@supervolcano.angryshark.eu
       2024-05-08T14:36:07Z
       
       0 likes, 0 repeats
       
       @futurebird Yes, THIS. THIS.
       
 (DIR) Post #AhgUVV5XKemynW5eNM by RogerBW@emacs.ch
       2024-05-08T14:42:02Z
       
       0 likes, 1 repeats
       
       @futurebird @grrrr_shark The book I always want is not "learn Language from knowing nothing" but "OK, you already know programming, how does Language do this particular stuff differently". I don't need to know what iterating over a list or storing a value in a hash is, I do want to know that your syntax for it is this, and how Language does it differently from all the rest (and why that's better).
       
 (DIR) Post #AhgUY9ourYXBhkaCsS by futurebird@sauropods.win
       2024-05-08T14:42:52Z
       
       0 likes, 0 repeats
       
       @grrrr_shark I think a lot of texts try to help people to get things done— which is fine and important: but this means they are shy and spare about talking about the abstract structure of the language to beginners. And many texts are written for people who are both new to a particular language AND new to programming in general. Also fine but not helpful for me.
       
 (DIR) Post #AhgUhxP3sr7G5dA8zQ by futurebird@sauropods.win
       2024-05-08T14:44:52Z
       
       0 likes, 1 repeats
       
       @RogerBW @grrrr_shark  It’s critical that the person writing the programming language book be a bit of a cheerleader for the language. Because you are same to do something I already know how to do differently. WHY. Why would I want to go through all that? What’s the pay off?
       
 (DIR) Post #AhgUoPpp5YCC0SlAEi by RogerBW@emacs.ch
       2024-05-08T14:45:37Z
       
       0 likes, 0 repeats
       
       @futurebird @grrrr_shark Yeah, if it's just "my boss told me we're using Language now" there will be no enthusiasm.
       
 (DIR) Post #AhgV2RtSEQ2URf9LgO by grrrr_shark@supervolcano.angryshark.eu
       2024-05-08T14:46:18Z
       
       0 likes, 0 repeats
       
       @futurebird Yeah, exactly.I took a lot of heavy PL courses back in the day. I want to know what I am using and what it does, not just how to write Hello World in today's flavour of the week.
       
 (DIR) Post #AhgV4YFFaUiYiuLahk by mcc@mastodon.social
       2024-05-08T14:47:54Z
       
       0 likes, 1 repeats
       
       @futurebird @grrrr_shark Kind of an off topic comment but— this is one thing I use to judge a programming language and I think Java in particular fails bad on it: How much advanced stuff it expects you to learn before you do *basic* stuff. Python is specifically good about this and Java is specifically bad ("public static void" especially). C is also kinda bad because the first thing you do is strings but understanding strings in C requires understanding pointers and memory management.
       
 (DIR) Post #AhgVKP27bXIUmqlUDQ by mcc@mastodon.social
       2024-05-08T14:51:48Z
       
       0 likes, 0 repeats
       
       @futurebird This is a good question and I wish I had an answer. The closest thing I have (it's an old book— it's been a while since I've done much Java) is "Bitter Java". It maybe is a slightly more advanced book, but. It is a book by a consultant who comes in to fix problems in other people's code. So it's all about "here's things people do wrong in Java— here's how to do them better". It's a very odd book, more philosophy than code, one of the best pieces of CS writing I've ever read actually.
       
 (DIR) Post #AhgWo5LTT46wMrXCW8 by codefolio@ruby.social
       2024-05-08T15:08:06Z
       
       0 likes, 0 repeats
       
       @futurebird I just picked up a copy of Fluent Python based on this recommendation. You're right, it's good, and very specifically this *kind* of good.I have no idea what the equivalent is for Java, though.
       
 (DIR) Post #AhgmjJJLiN8LV5Hm0O by stevegis_ssg@mas.to
       2024-05-08T18:06:46Z
       
       0 likes, 0 repeats
       
       @futurebird @grrrr_shark This is my basic problem with object-oriented programming, even though I understand its importance and necessity. The whole "don't you worry your pretty little head about its underlying structure, just use the provided methods to interact with it" attitude galls me.
       
 (DIR) Post #AhgzDFXzTK69xrB0fw by faassen@fosstodon.org
       2024-05-08T20:26:41Z
       
       0 likes, 0 repeats
       
       @futurebirdPossibly through me originally?@ramgarlic is an old friend of mine, by coincidence as normally we are in different continents we have been hanging out the last few days.
       
 (DIR) Post #Ahh0AGc59UU8M8ERY8 by graham_knapp@hachyderm.io
       2024-05-08T20:37:24Z
       
       0 likes, 0 repeats
       
       @futurebird @LinuxNerd Head First means they try to use psychological techniques to help you learn - I love the Head first books and also love Fluent Python, though for different reasons.
       
 (DIR) Post #Ahh3KMPijwfT6XxFEe by mark@mastodon.fixermark.com
       2024-05-08T21:12:50Z
       
       0 likes, 0 repeats
       
       @futurebird I'm not sure we'll find one because I'm not sure that Java is fluent. 😉
       
 (DIR) Post #Ahh4U7Y2xtqVqj4DOC by passim@zirk.us
       2024-05-08T21:25:50Z
       
       0 likes, 0 repeats
       
       @futurebird @mcc Thanks for the recommendation! On the Go side, I liked 100 Go  Mistakes and How to Avoid Them and Learning Go, 2e.
       
 (DIR) Post #Ahh4rEr3xtWLAfz8To by passim@zirk.us
       2024-05-08T21:29:59Z
       
       0 likes, 0 repeats
       
       @futurebird @mcc On Python, have you listening to the core.py podcast? I think it's cool to hear from two of the core Python team (and they have an engaging style).
       
 (DIR) Post #Ahh7t9SRIne0sF4UAC by emaytch@mastodon.social
       2024-05-08T22:03:52Z
       
       0 likes, 0 repeats
       
       @futurebird you had me at “not focused on enterprise cases”
       
 (DIR) Post #AhhBsH6ZmeDi7QgNJQ by futurebird@sauropods.win
       2024-05-08T22:48:28Z
       
       0 likes, 0 repeats
       
       @mark  shots fired
       
 (DIR) Post #AhhCa0LBTTjYrnMoxk by passim@zirk.us
       2024-05-08T22:56:33Z
       
       0 likes, 0 repeats
       
       @futurebird As an aside, do you know @alexwild? I feel like you must!
       
 (DIR) Post #AhiSIEXVjnjU7EdnIO by faassen@fosstodon.org
       2024-05-09T09:46:17Z
       
       0 likes, 0 repeats
       
       @arclight@futurebird @RogerBW @grrrr_shark Subtlety often gets less attention. There is the argument that you need to oversimplify to be educational but I am not a huge fan of it. But I don't know what the data says.
       
 (DIR) Post #AhiSIFeHc6kBYWoiUS by futurebird@sauropods.win
       2024-05-09T13:27:18Z
       
       0 likes, 0 repeats
       
       @faassen @arclight @RogerBW @grrrr_shark  It depends on where the students are like most things— you need to build up trust that you will confuse them— but never do much they are totally lost— once they see that being a little confused is safe they can take on more abstraction at once.
       
 (DIR) Post #AhiTH2fgTgL2yJSYRU by faassen@fosstodon.org
       2024-05-09T13:38:16Z
       
       0 likes, 0 repeats
       
       @futurebird@arclight @RogerBW @grrrr_shark Yes, just enough confusion to learn, I like that. And that not everyone feels very comfortable with confusion, especially in a new context where you don't have success experiences yet.
       
 (DIR) Post #Ai60tORziX7Ae71tmS by pete_wright@nlogic.systems
       2024-05-02T17:53:14.649995Z
       
       0 likes, 0 repeats
       
       @futurebird thanks for the recommendation, getting a copy of this for my household now!