• 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

    • Remember when the PS2 was banned from export because "its too high tech".. "it could be used for missiles".....
    • Nvidia 610.62 driver lands with big bug fixes and Empulse support by Pulasthi Ariyasinghe There is a new driver available for Nvidia GeForce hardware owners, and it's carrying a whole lot of bug fixes. The WHQL-certified 610.62 Game Ready driver is also adding support for Empulse. Empulse lands from 1047 Games. That may be familiar to first-person shooter fans, as this is the studio that has been behind Splitgate and the Splitgate: Arena Reloaded sequel. This latest FPS entry will land into early access on June 24, and it will have support for DLSS 4.5 with dynamic multi-frame generation and Nvidia Reflex on day one. FIXED World of Warcraft: Gaming stability improvements [5563205] FIXED Apex Legends: Occasional visual corruption after extended gameplay [6239327] FIXED Users may observe DLSS settings being grayed out in certain games after updating to display driver 610.47 [6262805] FIXED Improved gaming stability in multi-monitor configurations when using V-SYNC with DLSS Frame Generation [6158481] FIXED Resolved an issue that could cause jittering or ghosting in some DirectX 11 games when Smooth Motion is enabled [5937897] FIXED Resolved an issue that could cause some games to crash when launched with Smooth Motion enabled [5466398] FIXED [Ada] Resolves a frame pacing issue on certain monitors when G-SYNC is enabled [6226972] FIXED Resolved an issue that prevented the EDID from being read on certain monitors causing them to be identified as "NVIDIA NV-Failsafe” [6005508] FIXED Resolved an issue where certain monitors would not wake from sleep mode [5806798/5635230] FIXED General stability improvements when the system fails to create a new allocation [5449920] Nvidia has only listed a single open issue for this release: “Prefer Maximum Performance” Power Management Mode may not be applied correctly [6007998] The NVIDIA 610.62 driver is now available for download from the NVIDIA app. For those who want to download it directly, standalone links are here. Here are the official release notes (PDF).
    • You could do that in the last 2 updates as well.
    • Bose Ultra Open Earbuds are once again selling at their lowest price by Fiza Ali Amazon is once again offering the Bose Ultra Open Earbuds at their lowest price ever with a limited-time 33 percent discount on their original MSRP, ahead of Father's Day. So, you may want to check it out if you are looking for a gift or if you have been wanting to upgrade your device. The earbuds feature an open-ear design and Bose's OpenAudio technology that should deliver high-quality sound while helping keep audio private. The earbuds also support Bose Immersive Audio, which creates a spatialised listening experience designed to place sound around the listener for a more engaging experience. In terms of wireless connectivity, the earbuds features Bluetooth, Bluetooth Low Energy (BLE), A2DP audio streaming, HFP, AAC, and SBC support. Furthermore, they are compatible with Bose SimpleSync technology, allowing pairing with compatible Bose smart soundbars and speakers. They are also compatible with the Bose App for setup, customisation, and software updates. Moreover, they offer an IPX4 water-resistance rating that should provide protection against sweat and light splashes. When it comes to the battery performance, the Bose Ultra Open Earbuds should provide up to seven hours of battery life on a single charge while a full recharge should take approximately one hour. Specifications Detail Fit type Open-ear Noise cancelling No Microphone Built-in Wireless Bluetooth (A2DP, HFP, AAC, SBC, BLE) Multipoint Yes; 2 devices simultaneously Charging interface USB-C Earbud size 0.73"x0.67" x 1.07" (0.014lb) Case size 1.65"x2.56" x 1.04" (0.097 lb) Materials PC-ABS plastic, metal, silicone, gold plating App support Bose app; adjustable EQ, SimpleSync Audio tech OpenAudio, immersive/spatialized sound Bose Ultra Open Earbuds: $199 (Amazon US) - 33% off Good to know This Amazon deal is U.S. specific, and not available in other regions unless specified. We only use first-party seller links (at the time of article publishing); ensure that you purchase from a first-party seller link only. Check out Today's Deals on Amazon | or our recent tech deals. Become a Prime member (for Students or SNAP) via Neowin Get Prime Access - Prime for half price (for qualifying Medicaid, EBT, SNAP) Subscribe to Prime Video, Audible Plus, Music Unlimited or Kindle Unlimited via Neowin As an Amazon Associate, we earn from qualifying purchases.
    • After enabling it in about:config, customize, density, compact; the toolbar/address bar gets smaller vertically. I enabled Nova, I notice the tab bar/title bar is a bit larger vertically now? Everything always becomes a waste of space.
  • Recent Achievements

    • One Year In
      Console General earned a badge
      One Year In
    • One Year In
      Twozo Technologies earned a badge
      One Year In
    • One Month Later
      Twozo Technologies earned a badge
      One Month Later
    • Week One Done
      Twozo Technologies earned a badge
      Week One Done
    • Veteran
      branfont went up a rank
      Veteran
  • Popular Contributors

    1. 1
      +primortal
      512
    2. 2
      +Edouard
      190
    3. 3
      PsYcHoKiLLa
      109
    4. 4
      Steven P.
      89
    5. 5
      Nick H.
      71
  • Tell a friend

    Love Neowin? Tell a friend!