6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Mon Jun 17, 2024 5:52 pm

All times are UTC




Post new topic Reply to topic  [ 34 posts ]  Go to page Previous  1, 2, 3
Author Message
 Post subject: Re: Prince of Persia
PostPosted: Thu Nov 29, 2018 12:58 pm 
Offline

Joined: Mon May 21, 2018 8:39 am
Posts: 41
Hmmm...okay :)

Well, for the time, I think I will stick with BASIC.....


Top
 Profile  
Reply with quote  
 Post subject: Re: Prince of Persia
PostPosted: Thu Nov 29, 2018 6:27 pm 
Offline

Joined: Sat Dec 13, 2003 3:37 pm
Posts: 1004
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.


Top
 Profile  
Reply with quote  
 Post subject: Re: Prince of Persia
PostPosted: Mon Dec 03, 2018 4:12 pm 
Offline
User avatar

Joined: Wed Aug 17, 2005 12:07 am
Posts: 1207
Location: Soddy-Daisy, TN USA
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.


Top
 Profile  
Reply with quote  
 Post subject: Re: Prince of Persia
PostPosted: Tue Dec 04, 2018 3:04 am 
Offline

Joined: Tue Nov 27, 2018 7:32 pm
Posts: 4
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)


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 34 posts ]  Go to page Previous  1, 2, 3

All times are UTC


Who is online

Users browsing this forum: No registered users and 24 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: