This is something I wish I realized when I started programming, so I am posting this in hope that I enlighten some newer programmers. Smile

Programming is an art form, just as much as sculpting, music, painting, sketching, etc.

Most of the programmers you ask will agree to this.

Like a conventional artist's different mediums, a programmer has different programming languages. Some of these are lower level, dealing directly with the processor. These programs are much harder for people to write and understand, but they are much easier and faster for the computer. This is comparable to how Pointillism is very tedious, but you end up with a very beautiful, detailed, and interesting result.

But most programming is not done like this. Most programmers use "higher-level" constructs, like "if statements", "objects", and "for loops."* This is like using paint brushes. It is much less tedious, but does not allow for as much detail.

Just as a painter has their set of paints, a programmer has a set of instructions. In most programming languages, you have "loops" (they let you execute the same code multiple times), "functions" (basically they can perform a specified chunk of code, optionally taking or returning values), "if statements" ("if <condition> is true, do this code, otherwise, do this code"), and "objects" (I'm omitting my definition in the interests of keeping this essay concise)

Programmers also have style guides, which are simply rules for formatting code that are generally agreed upon. Not only does having a loosely followed standard aid readability, but most programmers agree that the style is actually pleasing to look at. Sometimes, the style is mandatory or the code will not run, such as Python.

Some programmers play "code golf". They try to make their code as small as possible (similar to golf, where you try to get the ball into the hole in as few hits as possible, hence the name). Not only is this a fun and rewarding task, but you also lear a lot about the quirks and intricacies of the programming language you are working in.

Still other programmers try to may their programs actually take a physical shape, essentially drawing with their code. This is really hard on certain languages, and is the most obvious ways that programming can be an art form.

* Though, arguably, these exist in lower level languages, this is clearly not caring about the technicalities.

Post your own advice for new programmers! What do you know now that you wish you had realized earlier?
I wish I knew about documentation earlier. Sad
Like a lot of people on here, I started off programming graphing calculators, and I wish I'd known about End statements sooner Laughing If you look hard enough, I remember posting some code on here that didn't work back when I had just joined. It was because I didn't know about End statements in If-Then-End blocks (don't ask me how that even made sense, since the calc had no way of knowing what code to execute under what conditions). To be honest, I'm surprised I got as far as I did without knowing some very basic things (having taught myself the basics of ti-basic without any documentation, manual, forum, etc.)
Things really started to break down when I started trying to make loops, which is really when omitting End statements starts breaking down Evil or Very Mad
I wish I knew about CSS earlier Razz

***timedia runs
I learned how to code on my CE, I had heard I could put games on it, so I started with some basic games, and soon figured out how to create/edit games. But I, like mr womp womp, I couldn’t figure out the End statement, so I did several if f=5 statements that each executed one line, it was a relief when I figured out the then and end statements.
I wish I had known about memory leaks and how the memory stack worked. I had tons of memory leaks in my first programs.
I wish I knew that SC3 and CEmu existed when I first started programming. I was using TI-Connect for the longest time Razz
I wish I knew Notepad wasn't a real IDE and that there were a variety of IDE's to choose from to program in Razz
Same with the End's... I used ifs and gotos to make crappy for loops...
I wish I knew Cemetech exsisted when I started programing on calcs. I had to self teach myself BASIC. I was just the opposite in if statements. I thought all if statements needed a then and end statement, even if the code inside was one line only. I also wish I had known about multi-letter labels in BASIC. That would have made programming so much easier Very Happy
I wish I knew that design always comes first.

Programming is 90% design, 10% coding, and 5% luck.
I had the same problem with if statements LAX had! I still haven't learned that design comes first. Razz
I also wish I knew this awesome community was around, and I wish I had known about TIBasicDev.
MateoConLechuga wrote:
I wish I knew that design always comes first.

Programming is 90% design, 10% coding, and 5% luck.

That last bit is one of my new all-time favorite quotes from Mateo.
Me too. I still find myself diving into programs only to discover, halfway through, that there is a fatal flaw with my approach.
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
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 vote in polls in this forum