• 0

A frustrated, eager learner.


Question

Has anyone else used the book "Learning Python (3rd Edition) to learn? I'm 80 pages in and I'm a bit let down. The writing style makes learning frustrating because the writer Mark Lutz keeps referencing things that he acknowledges make no sense yet and following it by saying "we'll discuss that in chapter X."

Even though the back of the book says its written for anyone, I get the feeling its tailored more for people who already have some programming experience. Programming is pretty much the one thing I never got to dive into so maybe this isn't quite the method of learning for me.

I'm only doing this for fun, and I suppose I was hoping to prepare myself - I'll be taking a two year computer information systems course at a local community college soon - just enough to get a job and all. I've attached the course information just for the sake of it.

Anyone have any tips? I've heard Pascal is another good first language to learn, but given my previous experience with python maybe something like Instant Hacking from hetland.org is better for me.

PS- I am already fluent in LISP. (jk)

Link to comment
https://www.neowin.net/forum/topic/666532-a-frustrated-eager-learner/
Share on other sites

20 answers to this question

Recommended Posts

  • 0

I've never learned from a book, personally. I've always learned best by getting code snippets and messing with them, or just experimenting with different functions and such to build what I want.

As far as learning your first language, I can say this: the easiest to learn would be Java or C#. However, going to C++ and C after that is a bit of a slap in the face in that your hand isn't being held the whole way through and you have to deal with things like pointers, references, and memory management. Overall though, I do think starting with something like Java or C# is the best way to go as it eases you into the mindset of programming in general and from there it's much easier to learn whatever language you want.

If you're as eager as you say you are, you'll have it down in no time. So don't worry if you get frustrated with it... That happens. ;)

Edited by gigapixels
  • 0
I've never learned from a book, personally. I've always learned best by getting code snippets and messing with them, or just experimenting with different functions and such to build what I want.

As far as learning your first language, I can say this: the easiest to learn would be Java or C#. However, going to C++ and C after that is a bit of a slap in the face in the fact that you're hand isn't being held the whole way through and you have to deal with things like pointers, references, and memory management. Overall though, I do think starting with something like Java or C# is the best way to go as it eases you into the mindset of programming in general and from there it's much easier to learn whatever language you want.

If you're as eager as you say you are, you'll have it down in no time. So don't worry if you get frustrated with it... That happens. ;)

I'd have to say Java as well, it's not too hard and it's actually quite rewarding :)
  • 0
Not to insult you, but the "for Dummies" books have always worked well for me in terms of programming.

I have to agree, the "for Dummies" books are really a great start! They not only start out VERY basic but also do a great job of explaining what they mean. Another thing I think they do very well is give you a lot of very good list of reference resources that you'll use all the time. Good luck! RAD

  • 0

I've never used the "For Dummies" books, but when I started learning VB6 and then later C#, the "Learn <insert language here> in 21 Days" books did well to introduce me to the language syntax. After that, specific books on different technologies or patters such as ADO.Net, ASP.Net, Business Objects, etc will move you into the more advanced subjects.

  • 0

Through experimenting with what I learned so far I made a one action zork-like game lol. One action because I don't know how to go past this point and present the user with more options if you know what I mean. I just did this because of the sudden revelation I had that those old games are basically inputs and print statements that are branched and weaved together. Am I right? I know I have a long way to go but I thought this was a fun "exercise"

# Test Game One

print "Welcome to my first Zork-Like game"
print "?????????????"
print

# Print out the menu:
print "You awake in a dark room, unaware of who you are and why you are there. There is nothing in this room but a bedroll, a small table containing two drawers, and the note and candle on the table."

# Get the user?s choice:
firstaction = input("Shall we begin?&gt; ")

# First Action Choices and Second Action Get:
if firstaction is "note":

	print "I did not want things to proceed this way, but this evenings events left me no option. I had to bring you here for your own safety. The clues in the drawers should provide you with the information you need"
secondaction = input("Done enough reading yet? Let's go on.&gt; ")

if firstaction is "drawers":
	print "You find a journal, a few thousand pounds, and a picture of someone, could be anyone - even yourself."
secondaction = input("Good job Sherlock! What do we do next?&gt; ")

# Second Action Choices

if secondaction is "sleep":
		print "You are so sodding lazy! Worst. Player. Ever."
		thirdaction = input("Want to get out of bed?&gt; ")

The errors I see with this method are that I have to redundantly code every new input. I'm sure I don't have to label each as NUMBEREDaction. Also if they just type something that isn't a choice it doesn't return, so I'd have to code an "if else" type thing wouldn't I?

Anyway, I think I'm grasping this based on what I've learned in the past hour. Anyone else agree? lol

  • 0

jjust to offer a balanced opinion here but why recommend java ? it might be easy in your opinion but having just started the 3rd year of my degree I can tell you after 2 years of java in the first and second year its definately not an easy language. It might be easy for you guys/gals but java is not an easy language and the netbeans ide is a pain in the ass. Personally id start with VB (standard place everyone starts these days) then work up to c++ then c# ;) perhaps it was the way we were taught it at uni (java and c++ first year then java and c# second year) who knows but I would not recommend java to a beginner

  • 0

The reason I say Java/C# first is because it just makes sense when you look at it. It's very easy to tell what is what, and frankly IMO has the cleanest syntax of any language I've used (this applies to both, as C# has almost exactly the same syntax as Java). VB was the first language I ever looked at and was one of the most confusing languages I've ever seen as far as syntax is concerned. The first class I ever took for programming (senior year of high school) taught Java and I picked it up faster than the course could handle and I was doing my own project by the end of the semester.

  • 0

again i think it comes down to personal preference, I found VB to be very easy because its more of an English language and you can more or less "speak out loud" what you want to happen then write it. Its all down to personal preferences at the end of the day and what you pickj up on fast I guess :)

  • 0

Oh yeah, definitely, and I completely understand that. Keep in mind also that my experience with VB was long before .NET... I think it was VB5, or maybe right when 6 came out. So things may have changed since then, especially with .NET. All I know is that my favorite .NET language is C# and I'm getting the hang of C++ with my current classes.

  • 0
Oh yeah, definitely, and I completely understand that. Keep in mind also that my experience with VB was long before .NET... I think it was VB5, or maybe right when 6 came out. So things may have changed since then, especially with .NET. All I know is that my favorite .NET language is C# and I'm getting the hang of C++ with my current classes.

VB hasn't changed -- it's still ass. LOL

  • 0

It might be a bit late now, but when I buy a computer book, I go into the bookstore and look at several of them. I find one that starts at my skill level, covers the items I am interested in, and presents them in a way that speaks to how I want to learn them.

That said, it seems your programming is very linear at this point. Have you covered any math work and processing that yet?

I am a new Python learner as well, and wish you luck on the same journey I have chosen.

EDIT: What made me pick Python is that it can be used interactively as well as scripted. It is cross-platform. And it is easy to crack in a GUI. Seems to be as flexible enough to be used in a variety of ways.

  • 0

I haven't much delved into Python yet, but its syntax looks very clean to me. From the looks of it it must be one of the most fun languages to learn. So, I suppose you just stumbled on a bad tutorial. It is true that most Python tutorials assume prior programming experience, it is easier to find a beginner tutorial for C++ or Java.

This looks like a useful resource for you : http://wiki.python.org/moin/BeginnersGuide/NonProgrammers

VB hasn't changed -- it's still ass. LOL
At least in VB, "If A = B" actually does what you mean it to do. On my lousy days I still forget to add the stupid parentheses and that operator ==. :pinch:

(And if anyone who writes "if (a = b)" actually means "if the assignment of b to a implicitely evaluates to boolean true" I'll personally bomb his house.)

  • 0
I haven't much delved into Python yet, but its syntax looks very clean to me. From the looks of it it must be one of the most fun languages to learn. So, I suppose you just stumbled on a bad tutorial. It is true that most Python tutorials assume prior programming experience, it is easier to find a beginner tutorial for C++ or Java.

This looks like a useful resource for you : http://wiki.python.org/moin/BeginnersGuide/NonProgrammers

At least in VB, "If A = B" actually does what you mean it to do. On my lousy days I still forget to add the stupid parentheses and that operator ==. :pinch:

(And if anyone who writes "if (a = b)" actually means "if the assignment of b to a implicitely evaluates to boolean true" I'll personally bomb his house.)

Paying attention to detail is part of being a programmer. :p ;) (something I've been failing at a lot lately)

You can learn in VB just as easily as any other language, but I think VB.NET has become a tangled mess of holdover syntax/behavior and the .NET Way. I die a little inside every time I have to work in VB. It's way too verbose for me (AndAlso instead of && -- c'mon! -- If Not(foo Is Nothing) /cry)

  • 0
You can learn in VB just as easily as any other language, but I think VB.NET has become a tangled mess of holdover syntax/behavior and the .NET Way. I die a little inside every time I have to work in VB. It's way too verbose for me (AndAlso instead of && -- c'mon! -- If Not(foo Is Nothing) /cry)
I started programming with BASIC-style languages, so I don't mind the verbosity that much. See, to me If Not(foo Is Nothing) is crystal clear, almost someone next to me explaining what the program does, whereas if (!foo) doesn't tell me whether foo is a pointer, integer, boolean, or #define foo format_C_drive_without_asking().

However, AndAlso is total ass.

  • 0
The reason I say Java/C# first is because it just makes sense when you look at it. It's very easy to tell what is what, and frankly IMO has the cleanest syntax of any language I've used (this applies to both, as C# has almost exactly the same syntax as Java). VB was the first language I ever looked at and was one of the most confusing languages I've ever seen as far as syntax is concerned. The first class I ever took for programming (senior year of high school) taught Java and I picked it up faster than the course could handle and I was doing my own project by the end of the semester.

I pretty have the opposite experience lol. VB6 was the first language I learned (then vb.net) and I picked it up super quick and had no problems with it and liked the syntax. I am now learning Java and I find the syntax a complete pain in the ass. I guess everyone has there favorite language and favorite learning style.

Probably the main reason I liked VB6 and VB.NET was because it was easier for me to debug.

  • 0
I pretty have the opposite experience lol. VB6 was the first language I learned (then vb.net) and I picked it up super quick and had no problems with it and liked the syntax. I am now learning Java and I find the syntax a complete pain in the ass. I guess everyone has there favorite language and favorite learning style.

Probably the main reason I liked VB6 and VB.NET was because it was easier for me to debug.

Yeah I can understand. My brain tends to work different than most people I've talked to about programming and such. My first programming teacher in high school even described me as being able to know what the code will do before using it, and I guess it's pretty true. When thinking about how to program something, I think in how to code it rather than how to do it... if that makes any sense (it's not easy to explain). That's why I like the less English-like languages I guess, as they just don't fit with the way I think about how to approach the problem.

  • 0
Yeah I can understand. My brain tends to work different than most people I've talked to about programming and such. My first programming teacher in high school even described me as being able to know what the code will do before using it, and I guess it's pretty true. When thinking about how to program something, I think in how to code it rather than how to do it... if that makes any sense (it's not easy to explain). That's why I like the less English-like languages I guess, as they just don't fit with the way I think about how to approach the problem.

Its a pity I do not have a brain like that your lordship :(

Edited by GrimReeper
  • 0
It might be a bit late now, but when I buy a computer book, I go into the bookstore and look at several of them. I find one that starts at my skill level, covers the items I am interested in, and presents them in a way that speaks to how I want to learn them.

I don't do this, but I do check Google Books to preview what I can of the book, you can get a very good idea of what the book contains with the previews, you can usually read quite a few pages.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Slight change of pace for me! Gunnar & the Grizzly Boys - Standard American (Official)  
    • draw.io Desktop 30.2.4 by Razvan Serea draw.io desktop is a downloadable security-first diagramming application that runs on Windows, MacOS and Linux. Creating diagrams in the desktop app doesn’t need an internet connection. This is useful when you are disconnected or when you must create diagrams in a highly secure environment, where data protection is of the utmost importance. When you use the draw.io desktop app, your diagrams will be stored on your local device. Because this is a stand-alone application, also designed to run offline, there are no interfaces to cloud storage platforms available. Of course, you can still store your diagrams in folders that are synchronised to your cloud storage if you wish. Easy-to-use diagram editor The draw.io apps work just like the office and drawing tools you are used to using. Drag and drop shapes from the shape libraries and drag to draw connectors between them. Drag connectors to add waypoints and set a precise shape and position, or let them reroute automatically. Double click and start typing to add a label to anything. Create tables and swimlane flows with a familiar tool. Style shapes and connectors with customisable palettes, sketch options, fonts and text formatting tools. Search for shapes, including in open-source icon libraries. Use our vast libraries of shapes and templates, organised into logical categories, to create a range of diagrams and infographics. Generate diagrams from text descriptions using our smart templates. Diagram faster with keyboard shortcuts. draw.io Desktop 30.2.4 changelog: Uses electron 42.4.1 Updates to draw.io core 30.2.4. Download: draw.io 64-bit | Standalone ~100.0 MB (Open Source) Download: draw.io 32-bit | ARM64 | ARM64 Standalone Links: draw.io Home Page | Project page @GitHub | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Microsoft will soon allow some users to block Copilot from analyzing their Office files by Usama Jawad Microsoft Purview is a pretty useful data governance, security, and management service that allows customers to gain enhanced visibility and control over their content. It's meant for commercial customers, such as organizations that are storing data at scale. As AI continues to expand and infiltrate every corner of a firm, many are a bit conscious about the technology gaining access to their confidential data. Microsoft is now making a configuration change that will allow such customers to rest easy. Right now, users within an organization have the option to apply Purview sensitivity labels (when available) to secure certain files and label them as such. For example, if you apply the "Confidential" label on an Excel file, the file will be encrypted, and a "confidential" watermark will be applied to it. So, if this file is shared with anyone, they are aware that its access is supposed to be restricted. Up until now, Microsoft was allowing some connected experiences, like its AI services, to analyze files, regardless of their sensitivity label. This is of major concern to most organizations, as a recent example highlighted how confidential emails with data loss prevention (DLP) policies like privacy labels were being uploaded to Copilot for analysis. As such, Microsoft is updating an existing Purview data label sensitivity setting that prevents "some connected experiences that analyze content", from being blocked completely from doing this. The label isn't changing, but the blocking is now being enforced across all connected services (including Copilot and other AI tools), and now extends to Microsoft Word, Excel, and PowerPoint. Files with the label applied already will get this enhancement automatically too once it becomes available. Microsoft has urged IT admins to inform their respective helpdesk and compliance teams, update internal documentation, and review sensitivity labels to ensure that they meet their respective compliance needs. This change is tagged as MC1297982 in the Message Center. General availability is scheduled to begin in a phased manner soon and will complete by the end of next month. That said, it is important to note that this only applies to commercial customers who have a license that allows them to use Purview.
    • llamas are unruly going haywire in New Guinea.
    • The Persuasion Engine: How Any Business Can Use AI-Powered Neuromarketing —was $28 now free by Steven Parker Claim your complimentary copy (worth $35) of "The Persuasion Engine: How Any Business Can Use AI-Powered Neuromarketing to Understand and Win Customers" for free, before the offer ends on June 24. Description The Persuasion Engine, by neuromarketing and behavioral science expert Roger Dooley, solves the most pressing challenge faced by every marketer: how to figure out why customers make the decisions they do when 95% of their thought processes occur at an unconscious level. Dooley explains how artificial intelligence democratizes sophisticated neuromarketing tools that were once available only to Fortune 500 companies, making powerful customer insight and persuasion techniques accessible to businesses of any size. The book walks you through the evolution of traditional neuromarketing into ”Neuromarketing 2.0,” where AI-powered tools eliminate the need for expensive lab studies and human behavioral science experts. It offers a comprehensive roadmap for implementing eye tracking, facial coding, biometrics, implicit testing, and advanced AI behavioral techniques that dramatically improve marketing effectiveness while reducing costs and time investment. Inside the book, you’ll find: Revolutionary AI prompting strategies that bring world-class behavioral science expertise to your desktop Practical frameworks for leveraging attention, emotion, credibility, and decision architecture to boost conversions Step-by-step guidance for implementing biometric tools and implicit testing without laboratory resources Advanced techniques for creating scarcity, urgency, and FOMO that drive immediate customer action Comprehensive methods for auditing and enhancing empathy in customer communications Perfect for marketing professionals, business owners, entrepreneurs, and anyone with a stake in customer acquisition and retention, The Persuasion Engine provides actionable strategies that will transform your approach to marketing. Whether you're working on a shoestring or managing enterprise campaigns, you'll discover how to use your customers' non-conscious motivations and create compelling marketing that work on real people in the real world. How to download for free Please ensure you read the terms and conditions to claim this offer. Complete and verifiable information is required in order to receive this free offer. If you have previously made use of these offers, you will not need to re-register. Was $28, but is now FREE | Below free offer link expires on June 24. The Persuasion Engine: How Any Business Can Use AI-Powered Neuromarketing to Understand and Win Customers The below offers are also available for free in exchange for your (work) email: The Vibe Coding Playbook: Building Your Tech Business with AI ($35 Value) FREE - Expires 6/23 The Persuasion Engine: How Any Business Can Use AI-Powered Neuromarketing to Understand and Win Customers ($28 Value) FREE - Expires 6/24 How to Do More with Less: Future-Proofing Yourself in an AI-driven Economy ($28 Value) FREE - Expires 6/30 Cloud Security Fundamentals: Building the Foundations for Secure Cloud Platforms ($131.95 Value) FREE - Expires 7/1 The Complete Free AI Learning: Master ChatGPT, Claude, Gemini & More ($21 Value) FREE How to Build an AI Design Workflow with Gamma ($21 Value) FREE The Ultimate Linux Newbie Guide – Featured Free content Python Notes for Professionals – Featured Free content Learn Linux in 5 Days – Featured Free content Quick Reference Guide for Cybersecurity – Featured Free content We post these because we earn commission on each lead so as not to rely solely on advertising, which many of our readers block. It all helps toward paying staff reporters, servers and hosting costs. Other ways to support Neowin The above deal not doing it for you, but still want to help? Check out the links below. Check out our partner software in the Neowin Store Buy a T-shirt at Neowin's Threadsquad Subscribe to Neowin - for $14 a year, or $28 a year for an ad-free experience Disclosure: An account at Neowin Deals is required to participate in any deals powered by our affiliate, StackCommerce. For a full description of StackCommerce's privacy guidelines, go here. Neowin benefits from shared revenue of each sale made through the branded deals site.
  • Recent Achievements

    • Week One Done
      Eurosoft10 earned a badge
      Week One Done
    • One Month Later
      Eurosoft10 earned a badge
      One Month Later
    • One Year In
      Skeet Campbell earned a badge
      One Year In
    • One Month Later
      Sharbel earned a badge
      One Month Later
    • First Post
      BizSAR earned a badge
      First Post
  • Popular Contributors

    1. 1
      +primortal
      589
    2. 2
      +Edouard
      190
    3. 3
      Michael Scrip
      76
    4. 4
      PsYcHoKiLLa
      75
    5. 5
      neufuse
      72
  • Tell a friend

    Love Neowin? Tell a friend!