CoN 25th Anniversary: 1997-2022
Programming, know a good way to start?

Posted: 5th May 2011 22:54

*
Chocobo Knight
Posts: 108

Joined: 18/4/2011

Awards:
Member of more than ten years. Member of more than five years. 
Exactly as the title suggests. I know there was a guy who posted about this recently, in a similar fashion, but this didn't really fit into that topic. Basically, I'm interested in programming, but there's no real information about it readily available to me. I don't have access to any classes either, so is there a way I could start learning and getting into the basics at least? Or would it be better to wait until I have the opportunity to take a class?

--------------------
-FFIII FFIV FFV FFVII FFVIII FFX FFXII FFXIII FF:Dissidia FFVII:CC FFVII:DoC
--KHI KHII KH:COM KH:BbS
---SO:FD SO:TTEOT SO:TLH
----DQIII DQVIII
-----DA:O DAII
------VP:S
Post #194699
Top
Posted: 6th May 2011 00:28

Group Icon
Totes Adorbs
Posts: 9,316

Joined: 31/7/1997

Awards:
Second place in the CoN World Cup soccer competition, 2018. First place in CoNCAA, 2018. Celebrated the CoN 20th Anniversary at the forums. Vital involvement in the Final Fantasy IX section of CoN. 
First place in the CoN Euro Cup soccer competition, 2016. Voted for all the fanart in the CoNvent Calendar 2015. Voted for all the fanart in the CoNvent Calendar 2014. Third place in the CoN World Cup fantasy game for 2014. 
See More (Total 29)
"Programming" is a really wide array of things, in my opinion. Do you have any specific kind of stuff that you're looking to do? Games? Mobile apps? Websites? Native applications? They all tend to share some basic principles and even languages, but they're all pretty different too.

--------------------
"To create something great, you need the means to make a lot of really bad crap." - Kevin Kelly

Why aren't you shopping AmaCoN?
Post #194704
Top
Posted: 6th May 2011 02:27

*
Chocobo Knight
Posts: 108

Joined: 18/4/2011

Awards:
Member of more than ten years. Member of more than five years. 
Websites would be my top choice, mostly because I have the most exposure to that particular area. I am also very interested in gaming, and I want to at least be able to try it to see whether it is something I would do or not. I have some very limited experience with websites (an HTML webpage that would be like comparing a bike to a panzer) through a short guide I found in my library. It wasn't anything great, but I enjoyed it and picked it up without much trouble.

--------------------
-FFIII FFIV FFV FFVII FFVIII FFX FFXII FFXIII FF:Dissidia FFVII:CC FFVII:DoC
--KHI KHII KH:COM KH:BbS
---SO:FD SO:TTEOT SO:TLH
----DQIII DQVIII
-----DA:O DAII
------VP:S
Post #194708
Top
Posted: 6th May 2011 13:55

Group Icon
Totes Adorbs
Posts: 9,316

Joined: 31/7/1997

Awards:
Second place in the CoN World Cup soccer competition, 2018. First place in CoNCAA, 2018. Celebrated the CoN 20th Anniversary at the forums. Vital involvement in the Final Fantasy IX section of CoN. 
First place in the CoN Euro Cup soccer competition, 2016. Voted for all the fanart in the CoNvent Calendar 2015. Voted for all the fanart in the CoNvent Calendar 2014. Third place in the CoN World Cup fantasy game for 2014. 
See More (Total 29)
Quote (Dr. Delinquent @ 5th May 2011 21:27)
Websites would be my top choice, mostly because I have the most exposure to that particular area. I am also very interested in gaming, and I want to at least be able to try it to see whether it is something I would do or not.

I feel like I SHOULD be of some use to you here, given that websites are what I do for a living, and I work for a company that produces Flash games. However, I'm not completely sure how helpful I can be, because the industry has really changed since I was first starting out with web design and development almost fifteen years ago.

For my money, you've started off pretty well by trying to pick up the basics on your own. And, starting out with HTML alone (when I say "HTML alone," I really mean "HTML and CSS," as they're inextricably linked now) is a good thing, because at the end of the day, everything you make on a webpage is going to be output as HTML at some point. You can continue to build on that in a couple ways - either find a larger guide (I still like paper books for that sort of thing, at least when I'm getting started, because I find that referencing them helps me re-focus on the problem at hand), or find a site that does some things you like and start working out how to replicate parts of it through the markup. Either way, I would suggest running all of your stuff through the W3 validators (http://validator.w3.org/ to start) so it can point out the things you're doing wrong.

Beyond that basic stuff that everyone who writes for the web should know, you kind of have some options. You can try to learn the dynamic front-end stuff such as javascript, or Flash, or you can go more towards the back end and start picking up PHP or ASP.net, or you can try to mix it up a bit. As all of these things are more programmatic than HTML, you might well need to find another method of learning, but the nice thing is that trial and error can still work because most languages like these are very good at telling you what you've done wrong, at least the basics.

If you're of school age, and I suspect you probably are given your profile (no offense meant smile.gif ), you'll have opportunities that I never had when I was starting out. I wasn't able to take any sort of web development class until my senior year of University, and I only took that one for the easy A - by then, I'd already had my first web job and spent most of my time in class browsing the web and working on CoN. Nowadays, though, a great many high schools offer the basics of web development, and if not, there's probably a local community college or university that has a class. It can never hurt to do some actual coursework in the subject, even if you know more than the instructor. That's especially true now, because now that the industry is more mature, even getting a degree in the field would be a pretty good idea if you want to do it for a living.

That's probably both way more detail than you wanted right now and at the same time way less, so feel free to ask me any more pointed questions. I don't really want this to become a total back and forth, so maybe there are some other people who can weigh in, too?

As far as game development goes, that's going to be a very different process and it's not one I really know that much about. At my company, we used to do all the development in C++, and recently we've moved to Flash. Games can be developed in all kinds of languages, though - C++, C#, Flash, Java, you name it. The principles of developing in all these languages are similar, though, so if you can get good at understanding the principles, picking up additional languages often won't be the hardest thing in the world to do.

--------------------
"To create something great, you need the means to make a lot of really bad crap." - Kevin Kelly

Why aren't you shopping AmaCoN?
Post #194719
Top
Posted: 7th May 2011 19:10

*
Chocobo Knight
Posts: 108

Joined: 18/4/2011

Awards:
Member of more than ten years. Member of more than five years. 
Ok, thank you very much. This has definitely given me a much better sense of what to do next. I'll see what I can find, and I'll let you know if I need more help on something. Also, no offense taken, since that was an accurate guess. biggrin.gif

--------------------
-FFIII FFIV FFV FFVII FFVIII FFX FFXII FFXIII FF:Dissidia FFVII:CC FFVII:DoC
--KHI KHII KH:COM KH:BbS
---SO:FD SO:TTEOT SO:TLH
----DQIII DQVIII
-----DA:O DAII
------VP:S
Post #194729
Top
Posted: 7th May 2011 19:54
*
Treasure Hunter
Posts: 72

Joined: 23/4/2011

Awards:
Member of more than ten years. Member of more than five years. 
Quote
That's probably both way more detail than you wanted right now and at the same time way less, so feel free to ask me any more pointed questions. I don't really want this to become a total back and forth, so maybe there are some other people who can weigh in, too?


Wow, awesome post R51. I'll try to help out too but I think you said everything I planned on saying.

To the good Dr: I was going to recommend HTML and Javascript before moving on to quote-unquote "real" programming languages (since Javascript is an interpreted language and html is a markup language iirc). I learned some HTML on my own back in the 90s, but it was only enough to make a 90s-looking site. I took a class on HTML and Javascript last year at the local university though, and wow... HTML+CSS is dead easy.

For what it's worth, I am interested in networking and server administration, and so I am set on learning C next because it's the language of choice for Unix and Linux. Webmastering is interesting too, and Java or PHP might suit you there. You could install apache and php on your home computer and set up a website locally to experiment with it. Installing phpbb (for example) is a cakewalk and requires no knowledge of php if you follow a how-to.

As for games, I know a couple of Actual Game Developers, and I think they only use C++. Nintendo does everything in C, or at least that's what I heard once. Flash seems like the best of both worlds if you're interested in working on both websites and games, since you could make a web page and run a flash game from it! Java can also run games in a browser, of course.

Just some ideas.
Post #194731
Top
Posted: 7th May 2011 23:59

*
Black Mage
Posts: 192

Joined: 2/5/2008

Awards:
Member of more than ten years. Member of more than five years. 
It should be said that 3D games are usually way harder to code than 2D ones or simple puzzle minigames. A mate of my bro studies IT and learned some 3D coding, you always have to watch the RAM and delete things of the cache - For instance, parts of the world the player has left behind in a 3D-shooter so they aren't calculated anymore.

I think the best option for you might be to continue with JS and CSS (even though I don't know them really) and then going to PHP (or even earlier). You can use your HTML skills pretty good in PHP, and PHP offers also a GUI through HTML. GUIs can be a hassle in some coding languages, such as in C++, also because they aren't belonging to the language's standard sometimes.
Post #194734
Top
Posted: 8th May 2011 07:41

Group Icon
It's not the end of the world.
Posts: 1,997

Joined: 1/1/2001

Awards:
Participated at the forums for the CoN's 15th birthday! Second place in CoNCAA, 2012. Member of more than ten years. First place in CoN World Cup, 2010. 
Member of more than five years. Has more than fifteen news submissions to CoN. Major involvement in the Final Fantasy I section of CoN. Major involvement in the Final Fantasy IV section of CoN. 
See More (Total 12)
Quote (jtdurai)

For what it's worth, I am interested in networking and server administration, and so I am set on learning C next because it's the language of choice for Unix and Linux..
I don't know where you or your career are at the moment, but if you're looking at doing that as a way to get into that field, it's probably not worth bothering. Very few of the server administrators or network analysts I've known have had any C, or even any real programming experience, and if they have, they've not really used it in their work. For Unix server administration, the most useful thing you can do is probably learn OS shell scripting (with Bash and friends), because it's pretty much always available to you and ties into efficient interactive use of the shell too. Perl scripting can also be handy because you can pretty much guarantee its presence on a Unix server also. C, not so much - as much as anything because your colleagues might not know it, and they might need to debug or alter your programs in your absence.

Don't count out Windows server administration, too - there's a lot of companies using primarily Windows infrastructures now. I don't have enough experience there but I can recommend learning VBscript, much as it pains me, and Powershell. There are some interfaces called WMI that I understand you can use in both that are useful for server monitoring and administration. But don't hold me to that, I'm not an expert on that side of things at all.

Quote (Bas)
It should be said that 3D games are usually way harder to code than 2D ones or simple puzzle minigames. A mate of my bro studies IT and learned some 3D coding, you always have to watch the RAM and delete things of the cache - For instance, parts of the world the player has left behind in a 3D-shooter so they aren't calculated anymore.
You should be doing that anyway, in any long-lived program, unless you're using a managed language with a garbage collector. (I say "long-lived" because it's usually irrelevant for short-run-then-exit script-style programs.)

This post has been edited by Tiddles on 8th May 2011 07:41
Post #194738
Top
Posted: 8th May 2011 14:10

Group Icon
Totes Adorbs
Posts: 9,316

Joined: 31/7/1997

Awards:
Second place in the CoN World Cup soccer competition, 2018. First place in CoNCAA, 2018. Celebrated the CoN 20th Anniversary at the forums. Vital involvement in the Final Fantasy IX section of CoN. 
First place in the CoN Euro Cup soccer competition, 2016. Voted for all the fanart in the CoNvent Calendar 2015. Voted for all the fanart in the CoNvent Calendar 2014. Third place in the CoN World Cup fantasy game for 2014. 
See More (Total 29)
Quote (Tiddles @ 8th May 2011 02:41)
I don't know where you or your career are at the moment, but if you're looking at doing that as a way to get into that field, it's probably not worth bothering. Very few of the server administrators or network analysts I've known have had any C, or even any real programming experience, and if they have, they've not really used it in their work. For Unix server administration, the most useful thing you can do is probably learn OS shell scripting (with Bash and friends), because it's pretty much always available to you and ties into efficient interactive use of the shell too. Perl scripting can also be handy because you can pretty much guarantee its presence on a Unix server also. C, not so much - as much as anything because your colleagues might not know it, and they might need to debug or alter your programs in your absence.

Yeah, I wondered about that same thing when I first saw that post. I don't think any of the sysops in my office know a bit of C in any of its forms, or, if they do, I have never seen it. The senior guy does know a lot of Perl, but even that he mainly knows not because he needs it daily, but more because he's just an overall tech wizard. I've worked in two jobs where the primary infrastructure was Linux, for the last six years, and I don't recall any of the administrators doing anything in C. Of course, your mileage may vary - I never thought I'd work in a web job where Perl was still used almost exclusively until I landed where I am now.

--------------------
"To create something great, you need the means to make a lot of really bad crap." - Kevin Kelly

Why aren't you shopping AmaCoN?
Post #194742
Top
Posted: 8th May 2011 19:04
*
Treasure Hunter
Posts: 72

Joined: 23/4/2011

Awards:
Member of more than ten years. Member of more than five years. 
Yikes. It was a bad guess on my part then. I have already started to learn bash scripting as a natural result of running linux and have made a few simple scripts. I guess I thought C would be useful for, I don't know, recompiling kernels or some nonsense. biggrin.gif
Post #194744
Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members: