questionswhere did you learn to code?

vote-for39vote-against
vote-for11vote-against

The only code you'll ever need:

up, up, down, down, left, right, left, right, b, a (↑ ↑ ↓ ↓ ← → ← → B A)

Know this and you'll have an epic website or program.

vote-for14vote-against

I'm currently learning on codeacademy

vote-for7vote-against

I learned to code mostly in college, in a FORTRAN class and then some more in a C class. After that I took it on my own.
I regularly code in FORTRAN, MATLAB, Visual Basic (mostly within Microsoft Office products but a little bit on it's own), a bit of Perl, some LUA, occasionally C, some basic HTML, a couple of other obscure and/or proprietary scripting languages. I wouldn't recommend most of those for the average computer user. Engineering students should definitely learn MATLAB. And most people who work on computers could benefit from learning Visual Basic at least as far as it's used in MS Office applications. But I'm sure there are more generally useful languages out there.

vote-for11vote-against

I learned to program on my TI-92 plus while bored in middle school geometry class.
Several graduations later, I've used a ton of different languages for all sorts of purposes.

If you want do web coding, I'd recommend PHP. There are tons of options out there (perl, other cgi, asp/jsp, etc), but PHP is widely supported and very common, which is nice for getting help and actually being able to host pages. CSS makes a lot of the design much more convenient by allowing you to define your own styles (oversimplifying, but think the ability to set up styles in the newer versions of word). Jquery is really handy, too (a javascript extension), as it simplifies dynamic pages and querying other scripts (and plays very nice with CSS). You can do a lot of neat things with HTML5 these days as well. If you are interested just in displaying information, rendering xml pages with XSLT and jquery can do a surprising amount.

vote-for6vote-against

Depending on what system you have, you might want to consider setting up a virtual machine. It's really easy to set up a linux virtual box, and linux makes it easy to download/install the tools you need for development. LAMP: Linux (OS), Apache (Server), MySQL (Database), PHP (scripting) is a common acronym: great starting place, and it's nice being able to run it inside your computer so you can't break anything :) If you search around for WAMP, you can find a windows how-to.

As far as learning goes: If you are quick to pick things up, www.w3schools.com is my go to for web reference.

Other languages:
R for statistics. Nice for the interactive prompt, too. I develop in R studio.
Perl for quick and dirty work. (Parsing files, mainly).
Java is great (IMO) if you want a more "traditional" programming language. The documentation is outstanding in most cases (meaning it's easy to look up how to do things). Eclipse is my preferred IDE, and works for many other languages, too.

vote-for5vote-against

Salvation Army.
I bought up as many 2nd hand books as I could find.. I also studied code from functioning programs.
This was quite a few years ago in the days of GeoCities and Angelfire but I also used as many internet resources as I could find.. nowdays though the internet is laden with videos, tutorials, etc..

If you're just learning for fun check out something uber-simple like QBasic or VBasic.. or just good old fashion HTML if you're only interested in web-design.

[ed] Or what @ryjaek said if you're looking to stuff that's actually useful :)

vote-for6vote-against

I was a young'un when Angelfire, GeoCities and AOL homepages were getting popular. I wanted to do more than what was allowed in their cookie cutter templates, so I simply view source, changed something, hoped I didn't break anything, and learned by doing.

Everything I know now I've learned on the job, either trying to figure something out for my employer or pursuing my own builds. I'm very familiar with HTML and CSS, okay with Javascript and some PHP (mainly through customizing Joomla and Wordpress installs), and am learning XML and XSLT. I work on the frontend so I'm not too knowledgeable on the scripting languages that actually make things work. Instead, I make things look pretty with some fancy functionality and it has kept me steadily employed for over a decade.

It goes w/o saying, but if you want to get into web design, you need to know more than coding and actually have an eye for design. I also work in Photoshop and Illustrator a lot.

vote-for5vote-against

By the way, if web design is your focus, working with a popular CMS such as Wordpress or Joomla is a good place to start. They're good foundations for websites and you can learn a lot by installing and messing with different pre-built themes.

vote-for5vote-against

@thewronggrape: I forgot to mention that part! There are a ton of good CMS (content management systems) out there that provide the backbone for websites. Popular ones like wordpress have a wide selection of themes and plugins to get you started. Using them allows you to take advantage of others' work, and then when you feel comfortable, hop in and create your own features without having to worry about your tweak breaking EVERYTHING. (Which I've done :) ). You can always export your content and put it in your own site later if you want.

There's a lot to be said for letting someone else do the heavy lifting: http://www.wpbeginner.com/showcase/21-popular-brands-that-are-using-wordpress/

vote-for3vote-against

@capguncowboy: Love it! That was indeed the first code I ever learned.

vote-for6vote-against

My first experience with coding was on a Commodore VIC-20 in BASIC, at around age 8. That was little more than copy/pasting from a book, but I learned a lot. I taught myself html and javascript in the mid 90s with a couple of books and a whole lot of looking at code. I took a C++ class at SFA, but hated it. HTML/XML/CSS/javascript is where it's at.

I learn best by throwing myself into it. If you want to learn HTML, write a web page. Write until you come to a point where you have a question, and then go get the answer. Rinse and repeat until you're done, then try something harder. Repeat again until you're an expert.

vote-for3vote-against

Only code I know is HTML if that counts XD and I learned it in high school years and years ago. What about 12 years ago now lol. wow times flies. Took c++ there too but didn't learn it as well so not going to claim that one.

EDIT: if you want to HTML the easy way I suggest Dreamweaver. Great software easy to use and very useful. http://www.adobe.com/products/dreamweaver.html

vote-for5vote-against

There was mention of PHP and that is a great language. It integrates with MySQL real nice. Ruby on Rails is nice too.

Unfortunately, I cannot recommend a single language to learn. It all depends on too many factors. For me, I used Perl initially because we were on Solaris systems at work. When I entered a new organization, I had to change to ASP. I later used PHP for home use. Then, the company said ASP was no longer allowed and we were required to program in .Net using Visual Studio. We could use C# or VB.Net but had to be Visual Studio.

So, in summary, the languages all have pros and cons but the big deciding factor was what the company requires. All of them still requires knowledge with JavaScript, HTML, CSS, and SQL.

vote-for3vote-against

I learned BASIC reading computer magazines in the early 80's. By the time I finally got my hands on a computer I had a notebook full of programs I'd written.

Nowadays you can learn everything you need to know for free on the internet, and even the tools/compilers/etc are free.

vote-for5vote-against

Download Netbeans and go through Head First Servlets, or another book like that. Setting up a virtual machine sounds like a bunch of unnecessary frustration for somebody who's just learning how to code.

I learned in school, mostly focused on core Java (not using punchcards like the dinosaurs above ಡ⌣ಡ).

vote-for3vote-against

I first learned to code from a high school computer science class and from messing around on Angelfire/Geocities back in the day. I code professionally now and I mostly use C#, Javascript, SQL, Java, VB.Net, CSS, and some C++.

When you say you're mostly interested in doing web dev, do you mean just creating websites or creating web apps?

VB.Net is horrible and a waste of time in my opinion. C# and Java are excellent languages to use, they're extremely similar so if you learn one its very easy to switch to the other. Of the two I tend to prefer C#, but that's most likely because the C# applications at my company are more recent then the Java applications and tend to be coded better.

No matter what language you learn SQL and Javascript are going to be extremely useful. I saw some other people mention JQuery, which is also very useful to know.

vote-for3vote-against

There are a lot of online resources these days, but I say the best way to get started is to just make a folder on your computer, and start typing out an index.html file in Notepad. There are plenty of online reference guides, and to see the effects of your typing, just hit save and double-click index.html. Once you get familiar with how that part works, you would move on to adding images, and then on to adding inline CSS to elements on your page. Once you get a feel for CSS, you can move it into its own separate file.

I learned this way on Internet Explorer 2.0, so it was really all the choice I had back then for learning on.

Once you get all set with how HTML/CSS work together you can get a server set up and start playing with a language like PHP. I think PHP is probably the easiest to get going in because it has functions to assist with almost everything. You can set up your own server for free with an old PC and a free Linux disk. Plenty of online guides for LAMP servers.

vote-for3vote-against

@capguncowboy: You forget "select". Very important since up, down, left, right, a,b, start is the second. :)

vote-for5vote-against

Let me reiterate that Netbeans is a pretty common IDE and is essentially set up to be an all-in-one web development kit. That seems to be your interest, so this environment should be perfect for you. Minimal setup, it's pretty much just a download. Go here: http://netbeans.org/downloads/

vote-for4vote-against

Missouri. Are you sure you wanted the location? All languages are useful but I am particular to Javascript, C# and JAVA. I wish I was cool enough to know Erlang. Ruby is fun, and can be a good place to start.

vote-for3vote-against

@josefresno: I tried programming in Java and I must say it's the worst language I've ever programmed in. It does have some great networking capabilities but that's all I saw that was good.

Java was slow to run, huge files to download, and doesn't have good garbage collection so it was a memory hog. You cannot destroy your own variables unless they changed the language to finally include those features since I used it 12 years ago.

Your clients have to have Java installed for it to work and computers can be locked down in corporate environments so your clients may not be able to install the software. Same reason I don't use Flash unless absolutely necessary and my client is aware that Flash needs to be installed on each individual computer.

Guaranteed placement of objects in your window is difficult without plugins to manage that part of the coding for you.

vote-for4vote-against

@cengland0: I am a huge java fan. Some of the weaknesses you point out are valid, but I think they have addressed at least a few of them in the last 12 years. I work at a company that uses almost exclusively C for its products. We use it because of performance considerations mainly, but as soon as something becomes complex, Java is the no-brainer choice. What would take weeks or months to implement in C takes about 2 hours in Java. And when we actually do a performance comparison, we find the difference to be present, but negligible.

It has its limitations, but if you can get over them it's a really impressive language. Also, its exception handling mechanism is the best I've seen in any language.

To answer the question. I learned in University originally, but not in class. I learned by doing stuff in the labs in University, its the only way to learn to code. Now I learn more every day at work. But you gotta just practice, nobody can read a book and then go write a bug free program.

vote-for4vote-against

@capguncowboy: 30 lives for you sir.
Is anyone down with RPG? (Not Role Playing Game).

vote-for4vote-against

@capguncowboy: Fun fact, we had to remove that code from our website awhile back because it was causing issues. It used to pop up a flash game, if I recall.

vote-for3vote-against

I learned a lot in school, but I've also picked up a lot learning bits and pieces here and there as I think "i want to build X, what do I need to know to build it?"

Computer science fundamentals and knowing some basic good coding practices help a lot in being flexible enough to bounce around from language to language. Each language has its strengths and weaknesses. I've known great programmers who started with Basic, some started with Java, some with Perl.

If you are interested in getting going with web programming, then I would recommend learning either Python or Ruby to start. Both are flexible enough that you can program in different paradigms so you can get a good base of understanding you can carry on to whatever you learn down the road. There are also a lot of great beginner level materials out there to help you learn.

Learn Python the Hard Way is a great intro book that includes some basic web programming in the later chapters.

vote-for4vote-against

@gatzby: Actually, it played an epic video. I really wish you would bring it back. I bet that's why @snapster left! :)

Fun fact: I wear my denim shirt tucked into my pants pulled up that high and do the same dance when no one is looking.

vote-for3vote-against

@capguncowboy: Heh, it did that too, after awhile. The CSS started getting hosed, at some point, and we had to drop it.

I wonder if we still use keyboard cat anywhere...

vote-for3vote-against

@gatzby: I wasn't sure when it was removed. I just noticed that it was gone after the site revamp last May.

I appreciate the explanation, honestly.

vote-for4vote-against

@lotsofgoats: If you are just learning, sure. Your browser can load up simple HTML no problem. When it comes to simulating a real production environment, though (especially if you are working in windows), I have found virtualbox great. I've been many colleagues bogged down in trying to get everything working together, when you can go out and install a (free) already set up image in no time.
@cengland0: Oh yeah, Java has all sorts of potential issues. But its structure and object oriented nature is really great for learning and implementing code, IMO.
@countdown: I second your Java comments!

vote-for3vote-against

@ryjaek: Thanks for pointing out the OOP advantage to it as well. Always take that one for granted ;)

vote-for2vote-against

@capguncowboy: There was also a period when the code would pull up the "Crap Shoot" game. I think that's what @gatzby is referring to.