Staredit Network > Forums > Technology & Computers > Topic: Learning to program
Learning to program
Sep 7 2011, 11:19 pm
By: Jack
Pages: 1 2 3 >
 

Sep 7 2011, 11:19 pm Jack Post #1

>be faceless void >mfw I have no face

So I've wanted to learn to program for a while now, and have the time to do so. I know basic C++ syntax, but basically don't know what basic things to program to push my practical knowledge of coding. For those of you who can code, e.g. Farty, what kind of thing did you code to learn and what would you recommend I do to learn?



Red classic.

"In short, their absurdities are so extreme that it is painful even to quote them."

Sep 7 2011, 11:24 pm lil-Inferno Post #2

Just here for the pie

Fool around with code. When you learn the syntax it will get a lot easier. Alternatively follow tutorials until you know how to make your own stuff - I found it a good practice to branch off of the code tutorials gave me, learn what made it tick, etc.

EDIT:

Programming tutorials/otherwise
Official Python tutorials (Python)
Practical Common Lisp (Lisp)
Learn You a Haskell (Haskell)
Getting Started with jQuery (Javascript)
C Programming Reference (C)
Riemer's XNA Tutorials (C#)
Kongregate Labs (Actionscript 2.0 tutorials, 3.0 source code)

Other stuff
CarlH Tutorials Lesson 1 (Reddit, haven't followed them myself)
List of Programming Languages (Wikipedia - choose your poison ;D)

I've only worked with C# and Actionscript but take your pick.

Post has been edited 6 time(s), last time on Sep 7 2011, 11:56 pm by lil-Inferno. Reason: Added Actionscript tutorials




Sep 7 2011, 11:47 pm Xero Post #3



I tried learning Actionscript...never got too far D:



None.

Sep 8 2011, 1:18 am Dem0n Post #4

ᕕ( ᐛ )ᕗ

I *almost* began trying to attempt to learn java in eclipse, but the program that Apos gave me won't work on my computer! :-( :-(




Sep 8 2011, 2:25 am Roy Post #5

An artist's depiction of an Extended Unit Death

The first language I tried to learn was C++, but all I really took from that was the OOP design the course was trying to enforce, and I never really learned how to do anything significant in it. I then learned Java, which is fantastic for OOP design, and I've been able to do neat things with what I was picking up from it. I also moved on to C#, which is basically Microsoft's response to Java. It has a lot of syntactic sugar and allows you to do amazing things with little effort. Since then, I've been starting to revisit C++.

(If I had to guess, I'd say Farty started with VB, which I would avoid like the plague if I was you, and he now does stuff in C.)

Anyway, as far as recommendation goes, I would recommend you start with Java. It is a great way to learn the fundamentals of high level programming and practice good design. It has a garbage collector which handles a lot of messy things for you. Eclipse is a great IDE, and it's the one I use for Java. C# is fun and a lot of industries are using it, but it requires the .NET Framework which quite a few computers don't have installed; I wouldn't say you should just jump into it as your first and primary language.

I participate in coding competitions about every quarter for my college, and we program in Java. An amazing site you can use to practice your knowledge on solving problems with code is http://www.codechef.com/. This would be more into algorithms rather than design, though, and if your interest is in creating an application, you may find it less useful.




Sep 8 2011, 4:07 am Riney Post #6

Thigh high affectionado

Quote from Roy
(If I had to guess, I'd say Farty started with VB, which I would avoid like the plague if I was you, and he now does stuff in C.)

But VB is fuuuuuun :awesome:



Riney#6948 on Discord.
Riney on Steam (Steam)
@RineyCat on Twitter

-- Updated as of December 2021 --

Sep 8 2011, 5:44 am O)FaRTy1billion[MM] Post #7

👻 👾 👽 💪

useless


Starting with VB isn't a bad thing if you have no idea what a programming is ... BASIC uses real words so it is easier to read and understand when starting out. Just don't get too used to it or go too far with it. Once you have a feel for programming, every language functions pretty much the same.

And now to address the OP more directly...

To get a better feel for programming (or a certain aspect of programming), just come up with little programs that do something that is somehow entertaining. Things I've made draw lines on the screen, draw words and text all over, make little sprites bounce around the screen, calculate tables of numbers or data, and the most complicated ones of these that I've made was a program that generated a random array of points in a sphere and let you zoom in and out and rotate around the center (except my math was off or something so rotating along more than one axis caused the whole thing to do weird things) ... Things I actually coded (and did in fact use to learn from) were all of the modding and mapping tools I've thrown around. :P Just try to think of things that are useful, interesting, or entertaining to you (or other people) and try to make that.
Stuff I've made as examples include a program that converted an image into a sound, fractal generator (someone mentioned such a thing in the shoutbox, so I made me one), a program that converts text files into chiptune-like sounds (never finished that (no percussion and it just ends), and this is how I made my ringtone xD), and recently I've been working on a sprite-based lighting thingy (dl).

Post has been edited 1 time(s), last time on Sep 8 2011, 5:55 am by FaRTy1billion.



TinyMap2 - Latest in map compression! ( 7/09/14 - New build! )
EUD Action Enabler - Lightweight EUD/EPD support! (ChaosLauncher/MPQDraft support!)
EUDDB - topic - Help out by adding your EUDs! Or Submit reference files in the References tab!
MapSketch - New image->map generator!
EUDTrig - topic - Quickly and easily convert offsets to EUDs! (extended players supported)
SC2 Map Texture Mask Importer/Exporter - Edit texture placement in an image editor!
\:farty\: This page has been viewed [img]http://farty1billion.dyndns.org/Clicky.php?img.gif[/img] times!

Sep 8 2011, 6:25 am Riney Post #8

Thigh high affectionado

useless


Why does this sound unmistakably familiar to my experiences, minus the parts between vb and vb6 and after vb6.

God I miss Stealthbot :awesome:



Riney#6948 on Discord.
Riney on Steam (Steam)
@RineyCat on Twitter

-- Updated as of December 2021 --

Sep 8 2011, 6:41 am Decency Post #9



I started with VB, went to C/Java/C++.

I recommend starting with Java using the Netbeans IDE, which has a GUI builder. Pretty simple to make a reasonably powerful program.



None.

Sep 8 2011, 7:05 am MillenniumArmy Post #10



I started with Java in high school. Then Flash's actionscript. Then in college I learned C++, FORTRAN (eww), Python. And then ventured into web/database related languages like MySQL, PHP, javascript.

As for my two cents: don't program for the sake of programming - as in there needs to be a reason why you need or want to program something. For instance as a Masters student in Structural Engineering, we put a lot of emphasis on Numerical Methods like Finite Element Analysis and Computational Mechanics. Such computational methods would be way too tedious and time consuming to do by hand so we use programs and/or linear algebra to store all our data. Sure, coding it all may not require extremely technical syntax or complex math functions but knowing how to think critically and analytically has much more value, especially in the real world. What's the use of knowing fancy functions/abilities in programming languages if you don't know how to apply it?

Learning fundamentals of coding like variables, loops, arrays, etc etc is cool and all but what's even cooler is knowing how to integrate such elements into intricate and convoluted algorithms ;)



None.

Sep 8 2011, 7:42 am The Starport Post #11



Just curious: Why do you want to do programming? Not to put you off, but I should mention almost anything you could possibly need software-wise is already available nowadays in some form and usually needs only to be configured.

Jus' sayin'.



None.

Sep 8 2011, 7:48 am Apos Post #12

I order you to forgive yourself!

Quote from MillenniumArmy
Learning fundamentals of coding like variables, loops, arrays, etc etc is cool and all but what's even cooler is knowing how to integrate such elements into intricate and convoluted algorithms ;)
Learn to program the basics, then go into more complicated projects.

Learning to program is easy, but programing for real will only come with practice. Most programming languages will look very similar, but what takes longer is to learn how to use different libraries, those will usually differ a lot from one language to an other one.

A program can take weeks to code or a few hours, depending on if you have to code everything from scratch or if you can reuse libraries.




Sep 8 2011, 9:59 am lil-Inferno Post #13

Just here for the pie

Quote from name:Tuxedo-Templar
Just curious: Why do you want to do programming? Not to put you off, but I should mention almost anything you could possibly need software-wise is already available nowadays in some form and usually needs only to be configured.

Jus' sayin'.
I'm guessing he's doing it just for the heck of it.




Sep 8 2011, 10:14 am The Starport Post #14



Well, I partly take that back. My point is simply it's not as open a field as it used to be, but it's great to learn and there are indeed tons of problems available to solve for sufficiently-motivated code monkeys; hobbyist or otherwise.

I'm sure growing cynical lately. :hurr:



None.

Sep 8 2011, 12:53 pm Jack Post #15

>be faceless void >mfw I have no face

Quote from name:Tuxedo-Templar
Just curious: Why do you want to do programming? Not to put you off, but I should mention almost anything you could possibly need software-wise is already available nowadays in some form and usually needs only to be configured.

Jus' sayin'.
A) I want to work in the IT industry and haven't set myself on one path; coding is potentially lucrative although also apparently not an easy life; then again there is no easy life. B) I have a few modding and mapping tools I'd like to make for both SC1 and 2. C) there's at least one opensource project I'd like to be able to contribute to one day. D) I enjoy learning new things and pushing my limits; coding is something I've only dabbled in in the past.



Red classic.

"In short, their absurdities are so extreme that it is painful even to quote them."

Sep 8 2011, 3:19 pm Centreri Post #16

Relatively ancient and inactive

Don't expect to accomplish anything until you've taken a few courses. You can learn the syntax of a language, but without some training (or reading the right books), that's all you'll know. Your code will be messy, inefficient, and insecure.



None.

Sep 8 2011, 4:11 pm xAngelSpiritx Post #17

eternal lurker

Once you know the concepts, you can apply them to basically any common programming language. It's just a matter of learning the syntax.

Unfortunately, it's difficult to learn the concepts outside of a full course. I'm sure there's a few guides around the internet that can get you started, but learning programming from the ground up is going to be quite tough.

If you're starting from ground level with no experience whatsoever, my advice to you would be to start simple. As in, really, really simple. You mentioned that you want to do some SC1 modding stuff; start by learning (and mastering) iscript, as it can teach you some basics for good programming, such as indenting, comments, proper labeling, etc. Then, move on and try writing plugins, as they'll provide a decent foothold for you to start learning C++. SC1 plugins require little work to set up; with the GPTP you can just stick a few lines of C++ code in and it will work, so it's a good way to experiment with C++ syntax and see tangible results if you're unfamiliar with it.

Beyond that, you'll mostly be on your own. You'll need to keep learning. Internet guides are OK, print guides are better, and classes are best.



None.

Sep 8 2011, 4:48 pm Roy Post #18

An artist's depiction of an Extended Unit Death

Quote from Centreri
Don't expect to accomplish anything until you've taken a few courses. You can learn the syntax of a language, but without some training (or reading the right books), that's all you'll know. Your code will be messy, inefficient, and insecure.
On that note, you don't have to learn a language to learn design. If you can write pseudocode with good design, you'll be much more valuable than someone who can hack something together with little to no design. I would recommend practicing OOP, maybe starting with the Waterfall methodology. If you have a specific program in mind, you can even post your requirements/external specs/design on here for critique and as a learning exercise.

Quote from Jack
C) there's at least one open source project I'd like to be able to contribute to one day
What language is it in?




Sep 8 2011, 9:48 pm O)FaRTy1billion[MM] Post #19

👻 👾 👽 💪

Quote from Centreri
Don't expect to accomplish anything until you've taken a few courses. You can learn the syntax of a language, but without some training (or reading the right books), that's all you'll know. Your code will be messy, inefficient, and insecure.
Psh. I've never taken a course or read a book. :awesome: My code may be somewhat messy (I'm getting better at that, though..), but it is most definitely more efficient than anything else I've seen people cram together (referring to programs I write that take minimal amounts of time when similar programs have progress bars to accomplish lower quality results (specifically, things like TinyMap 2 and MapSketch)). Dunno about 'secure' (what is that referring to?). And I have never used OOP in an actual project and never follow any sort of organization or design ... :P I just open my IDE and start typing.

(I don't recommend following my methods ... Apparently they aren't supposed to be a thing.)



TinyMap2 - Latest in map compression! ( 7/09/14 - New build! )
EUD Action Enabler - Lightweight EUD/EPD support! (ChaosLauncher/MPQDraft support!)
EUDDB - topic - Help out by adding your EUDs! Or Submit reference files in the References tab!
MapSketch - New image->map generator!
EUDTrig - topic - Quickly and easily convert offsets to EUDs! (extended players supported)
SC2 Map Texture Mask Importer/Exporter - Edit texture placement in an image editor!
\:farty\: This page has been viewed [img]http://farty1billion.dyndns.org/Clicky.php?img.gif[/img] times!

Sep 9 2011, 12:38 am Roy Post #20

An artist's depiction of an Extended Unit Death

Quote from O)FaRTy1billion[MM]
Dunno about 'secure' (what is that referring to?).
Probably if you were working with interaction with a database and weren't very knowledgeable, your code could be subject to injections. Security can be a pain for web applications, too. Other than that, I wouldn't see how a lack of training would be a security risk.

Quote from O)FaRTy1billion[MM]
And I have never used OOP in an actual project and never follow any sort of organization or design ... :P I just open my IDE and start typing.

(I don't recommend following my methods ... Apparently they aren't supposed to be a thing.)
The term is called hacking ("hacking code together," not "hacking the Pentagon"), and if you ever work with a group on a project, you will drive them insane if you do this.

It's also refreshing to come back to some old code and have it organized in a way that doesn't require you to sift through every line just to understand what is going on.




Options
Pages: 1 2 3 >
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[10:41 am]
v9bettel -- Nice
[01:39 am]
Ultraviolet -- no u elky skeleton guy, I'll use em better
[10:50 pm]
Vrael -- Ultraviolet
Ultraviolet shouted: How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
hey cut it out I'm getting all the minerals
[10:11 pm]
Ultraviolet -- :P
[10:11 pm]
Ultraviolet -- How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
[2024-4-17. : 11:50 pm]
O)FaRTy1billion[MM] -- nice, now i have more than enough
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- if i don't gamble them away first
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- o, due to a donation i now have enough minerals to send you minerals
[2024-4-17. : 3:26 am]
O)FaRTy1billion[MM] -- i have to ask for minerals first tho cuz i don't have enough to send
[2024-4-17. : 1:53 am]
Vrael -- bet u'll ask for my minerals first and then just send me some lousy vespene gas instead
Please log in to shout.


Members Online: C(a)HeK