• 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

    • they should stop making bad games that no one asked for
    • Nice rant! Expletive after expletive after expletive. Poor petal, I've touched a nerve. Would you like a tissue to wipe those tears away. Btw, nice one calling Neowin trash. Why would you stick around when you disrespect this site and the people behind it? Just go away if you feel that way.
    • Internet Download Manager (IDM) 6.43 Build 1 by Razvan Serea Internet Download Manager (IDM) is a tool to increase download speeds by up to 8 times due to its smart dynamic file segmentation technology. Unlike other download managers and accelerators, Internet Download Manager segments downloaded files dynamically during download process, and it reuses available connections without additional connect and login stages to achieve the best possible acceleration performance. Comprehensive error recovery and resume capability will restart broken or interrupted downloads due to lost connections, network problems, computer shutdowns, or unexpected power outages. All popular browsers are supported IDM integrates seamlessly into Google Chrome, FireFox, Microsoft Edge, Opera, Safari, Internet Explorer, Maxthon and all other popular browsers to automatically handle your downloads. You can also drag and drop files, or use Internet Download Manager from command line. The program supports proxy servers, ftp and http protocols, firewalls, redirects, cookies, authorization, MP3 audio and video content processing. IDM includes web site spider and grabber IDM downloads all required files that are specified with filters from web sites, for example all pictures from a web site, or subsets of web sites, or complete web sites for offline browsing. It's possible to schedule multiple grabber projects to run them once at a specified time, stop them at a specified time, or run periodically to synchronize changes. Easy downloading with one click When you click on a download link in a browser, IDM will take over the download and accelerate it. You don't need to do anything special, just browse the Internet as you usually do. IDM will catch your downloads and accelerate them. IDM supports HTTP, FTP, HTTPS and MMS protocols. Changes in Internet Download Manager 6.43 Build 1: Added the ability to download MP4 files from web sites where previously only TS videos were available. IDM displays both TS and MP4 file formats in its video download button. If you only need MP4 files, disable TS in IDM Options -> General tab -> Customize IDM Download panels in browsers -> Edit button. Remove TS extension on "Customize IDM Download panel in browsres" dialog Fixed video downloading problems on several popular web sites Fixed bugs Download: Internet Download Manager 6.43 Build 1 | 11.9 MB (Shareware) Links: Internet Download Manager Website | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • This is of course "clickbait" WTF? It is literally your example but tech based. A "clickbait" title is a sensationalized headline designed to manipulate readers into clicking a link using things like "fear" rather than delivering objective facts. A "clickbait" headline also usually provides little value compared to the hype generated. How does this headline not qualify? It's a generic often reused headline that is overly sensationalized. Oh no! "millions" can't use this app anymore. It has no basic facts like what f*cking app. You read the article and it's the Samsung VPN which no one cares about and there is a million free VPNs. How are you defending this ######? Headlines like this (and among other things) make me read Neowin much less than I used to in the past. It's trash...
  • Recent Achievements

    • Veteran
      branfont went up a rank
      Veteran
    • Reacting Well
      Almohandis earned a badge
      Reacting Well
    • First Post
      Cosminus earned a badge
      First Post
    • One Year In
      ThatGuyOnline earned a badge
      One Year In
    • Week One Done
      Jeroen Wilms earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      477
    2. 2
      +Edouard
      182
    3. 3
      PsYcHoKiLLa
      122
    4. 4
      Steven P.
      86
    5. 5
      neufuse
      73
  • Tell a friend

    Love Neowin? Tell a friend!