tag:blogger.com,1999:blog-10293499.post7571053132257513668..comments2024-02-13T17:30:02.808-08:00Comments on Design Synthesis - structure.function.relation: Up a LevelDeaconhttp://www.blogger.com/profile/03676351336106101412noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-10293499.post-86575299441773869812008-02-22T13:34:00.000-08:002008-02-22T13:34:00.000-08:00I find the book "Core Python Programming" is an ex...I find the book "Core Python Programming" is an excellent resource. That said, I think it really depends on what you know.<BR/><BR/>I'm not a language master of any sort. This book, while giving the basics, also provides enough info to help you understand the why and how of Python. It's really good, I think.<BR/><BR/>I was never fond of online tutorials for python. They got me a bit of what I need to do, but I never fully learned the language. A book can definitely help in that case.<BR/><BR/>If you're looking for a book, this site has a ton of reviews for Python books:<BR/><BR/>http://www.awaretek.com/book.htmlSymgnostikoshttps://www.blogger.com/profile/02182126267982580594noreply@blogger.comtag:blogger.com,1999:blog-10293499.post-10338605465315701602008-02-22T13:16:00.000-08:002008-02-22T13:16:00.000-08:00I think the truth is that unless you're already ex...I think the truth is that unless you're already experienced enough to do your own research(and know about implementation details like symbol tables), most language tutorials are unapproachable without someone around to guide you.<BR/><BR/>This is very bad for a new programmer, since it is instantly exclusionary. People often go on about "the right starting language" when the key thing to learn in programming is the abstract concepts. Like I said above, getting the concepts enables you to research the syntax. The average programming tutorial is based on the inverse of this - you know the concepts, here's new syntax.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10293499.post-87472536105149251842008-02-21T21:02:00.000-08:002008-02-21T21:02:00.000-08:00Programming language documentation is always fucki...Programming language documentation is always fucking useless. This is simply a law of nature.<BR/><BR/>I tried to learn Java at one point, back when it was supposed to be the new hot thing. Tried to do it using Sun's proto-wiki manual page that they had at the time. It was like pulling teeth. And I used to code in C, so it wasn't like I'd never seen a similar language structure before.<BR/><BR/>Personally, I think the problem is OO programming. It's a powerful tool, but it's not necessarily an easy thing to understand, and nobody seems to have ever worked out a way to introduce it that wasn't painful. <BR/><BR/>Procedural languages may be considered gauche now, but I always had a much easier time with them. They're a much better fit for my (admittedly terrible) programming style, which is basically "tell the computer what to do, and no fucking around."<BR/><BR/>There is certainly no excuse for a scripting language like Python that refuses to spit back an error in something resembling plain English.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10293499.post-38683157289376704932008-02-21T20:19:00.000-08:002008-02-21T20:19:00.000-08:00That actually makes some sense. It was probably wr...That actually makes some sense. It was probably written by someone who's developing the language, and they can't get past the implementation details to tell other people how to actually USE it.<BR/><BR/>I mean, you don't need to know what a "local symbol table" is unless you're writing a compiler. It also makes sense that the examples aren't in an IDE if they have gotten so used to directly using the interpreter.Silvanishttps://www.blogger.com/profile/08172042085964530204noreply@blogger.comtag:blogger.com,1999:blog-10293499.post-40652116939938720822008-02-21T18:53:00.000-08:002008-02-21T18:53:00.000-08:00The funniest thing about the tutorial is where it'...The funniest thing about the tutorial is where it's found: <BR/><BR/>http://docs.python.org/tut/tut.html<BR/><BR/>Yes, it's the official documentation.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10293499.post-30970667945634295772008-02-21T18:51:00.000-08:002008-02-21T18:51:00.000-08:00Wow, that is insane. I have to spend a little bit ...Wow, that is insane. I have to spend a little bit thinking of what the heck they're talking about, and I've been immersed in programming for years.<BR/><BR/>Not that it helps, but they're talking about a programming concept called "scope". The basic concept is that anything you define can only be used in the space it was defined in. So if you call a function that has a variable named foo, it only exists as long as you're inside that function.<BR/><BR/>"arguments are passed using call by value (where the value is always an object reference, not the value of the object)" makes no sense. They're either completely wrong (most likely) or Python does something REALLY weird. Call by value means that the function is getting a copy of the variable and not the original. This means that if you change the variable inside the function, those changes are lost once the function finishes. The alternative is call by reference, which sends a reference/pointer/"Here I am!" object to the function so it can interact directly with the variable. Generally, you only want to do this if the function needs to change the value, or you are using a complex structure for your variable.<BR/><BR/>If that's the quality of the tutorials you're finding, it's making me want to write one...Silvanishttps://www.blogger.com/profile/08172042085964530204noreply@blogger.com