Prince of Persia

Let's talk about anything related to the 6502 microprocessor.
Kris1978
Posts: 41
Joined: 21 May 2018

Re: Prince of Persia

Post by Kris1978 »

Hmmm...okay :)

Well, for the time, I think I will stick with BASIC.....
whartung
Posts: 1004
Joined: 13 Dec 2003

Re: Prince of Persia

Post by whartung »

Whether assembly, BASIC, Pascal, or Intercal, what is more important than the language is the drive to program something. You have to have an application. You have to have a problem to solve.

Because, then, the goal is not to "learn the language", or "learn to program", rather, it's to solve the problem.

This tact is important because it's very easy to get distracted by tools, language features, etc. that very well may have nothing to do with the problem.

It also helps to work on solving the larger problem simply because there may be many approaches to getting it solved, but, in the end, any of them will work. By focusing on the problem, you can start to leverage what you already know, you get to incrementally, and organically, start including new things, etc.

When I first started playing with machine language, my code relied on "self modifying code". It was a naive implementation. But you know what? It was a working implementation. "Best Practice" suggests to not do it that way, but what did I know of best practice. Even better, later, when I DID learn the "right way", I had better knowledge of why, even though it was perfectly functional, my technique was not necessarily the best technique.

Working code, solving problems, is more important, especially early on, than "best practice". Despite what Dijkstra said, you can "unlearn" these things. Because when you learn the "better" way, you understand more of the "wrong way" (since you used it). Rather than following stuff by rote, CHOOSE to do things with a solid understanding of why you're doing it other than "this guy said so".

So, go off, and code. Write programs. Solve problems. Break things. Fix them again.

In hobby programs, failure is pretty much free.

There's a reason I don't build cabinets. I think I'd like to build cabinets, but...after you make the first set, how many more cabinets can you possible need? Very hard to become good at building cabinets if all you're going to do is throw them away as you learn to make them better. Well, it's expensive at least.

But code? Code is free. Cheap to store, cheap to break and fix. Easy to write a new program every day.

But you have to have problems to solve, because in the end, the problem is the goal, not the coding. Coding is just a distraction.
User avatar
cbmeeks
Posts: 1254
Joined: 17 Aug 2005
Location: Soddy-Daisy, TN USA
Contact:

Re: Prince of Persia

Post by cbmeeks »

BigDumbDinosaur wrote:
or abominations such as Java and Python. :D
Considering I'm a Java developer by day, and an all-around good guy, I will ignore such jabs. LOL

For the record...I have no love for Oracle and prefer OpenJDK when I can.
Cat; the other white meat.
ghedger42
Posts: 4
Joined: 27 Nov 2018

Re: Prince of Persia

Post by ghedger42 »

BigDumbDinosaur wrote:
The problem with starting at a high level, e.g., BASIC or one of the other "hand-holding" interpreted languages is too much is automatic, making the mechanics of what is happening opaque. That's fine if your goal is to crank out a working program as quickly as possible without dealing with too many details. Trouble is, you aren't going to learn a whole lot about computers that way.

On the other hand, if you start near the bottom (symbolic assembly language, to be specific) and learn how to encode algorithms, data structures, and methods and procedures in a low-level environment, you will find doing such things in the higher level environment a piece of cake. By the time I learned K&R C (c.1980, when I had my first taste of the UNIX environment) I already had a decade of programming experience, virtually all of it machine and assembly language. It took me longer to learn the idiosyncrasies of the C compiler than it did to master the language itself.

So there is much to be said about starting with the basics (not BASIC!) and learning just what is going on when the cursor is blinking and the machine is awaiting your input. That's how I started and it caused me to develop programing styles and philosophies that are applicable to any language, be it C or abominations such as Java and Python. :D
:D 8)
Post Reply