How to start writing code and programming?

<p>I've been using Codeacademy for a couple days now and I have a few questions about writing code and programming. </p>

<p>First and foremost, is this an expensive hobby? And secondly, should I get some books to learn from?</p>

<p>And I don't understand exactly where on my computer to go to write code.</p>

<p>Not expensive.</p>

<p>You can install a IDE for Java here, called Eclipse: [Eclipse</a> - The Eclipse Foundation open source community website.](<a href=“http://www.eclipse.org/]Eclipse”>http://www.eclipse.org/).</p>

<p>It’s definitely not expensive. You could get some books, but there are already lots of resources on the Internet (for free!). And Eclipse, mentioned above, is pretty standard for Java programmers.</p>

<p>Um…</p>

<p>Well firstly, you can’t necessarily go and write code on your computer. If you want to write, for example, in C# or C++, you need something called a compiler. Otherwise, your programs can’t be executed.</p>

<p>I’d skip Java if I were you–worthless unless you want to make games.</p>

<p>Codeacademy mostly teaches web technologies. If that’s the way you want to go, then all you need is a domain (11-13 bucks for a .com [per year]) and an FTP client. I recommend FileZilla.</p>

<p>Also, you need a code editor. I use Notepad++.</p>

<p>If all you want to practice is web development, then these are all the tools you need, and they’re pretty inexpensive. You can even get a free domain (co.cc, visit that site for a free one). 000webhost is a decent free hosting service.</p>

<p>You can find hosting services as cheap as $5/month.</p>

<p>I can guide you a bit more if I know what path you want to go: software or web development?</p>

<p>By the way, you may want to first learn the basics, like vocabulary (unless you already do). For example, HTML is a Markup language. Javascript and PHP are programming languages. The difference is simple: programming languages execute commands and instructions while Markup languages determine layouts of views/structures.</p>

<p>I would check out udacity.com. They’ve got some pretty good online courses about coding/writing computer programs.</p>

<p>

…What??..</p>

<p>I’m learning JavaScript right now on CodeAcademy. And I honestly have no idea where I want to go with it. It’s just interesting to me.</p>

<p>So this is inexpensive? Great. </p>

<p>And I might lean towards game design but idk yet.</p>

<p>Plenty new technologies are coming out that make Java obsolete. Unless, of course, you’re making downloadable games. HTML5 and Javascript are taking over the interactive web environments, so there’s no use for something that requires a plugin to create interactive experiences.</p>

<p>efeens–that’s a great place to start. Java and Javascript are completely different though. Just FYI. Also, console game design is a different ball game. They’re usually written in C++, but most companies use existing or custom engines that provide them with visual tools for game making. But the software portion comes into play when you want to make your own engine (like Unreal Engine, etc)</p>

<p>Thanks for the info.</p>

<p>Are you really good at this? How long did it take you to become a reasonably good programmer?</p>

<p>Why not start programming in C or C++? (BTW, Java is the programming language for Android apps, Objective C/C++ for ipod). Tons of free compilers and tutorials online for either C or C++. A few good C++ books:</p>

<p>Accelerated C++ - Andrew Koenig & Barbara E Moo - [Accelerated</a> C++](<a href=“Accelerated C++: Practical Programming by Example | InformIT”>http://www.acceleratedcpp.com/)
or C++ Primer 4th Edition - Stan Lippmann, Josie Lajoie & Barbara Moo
or Programming: Principles and Practice using C++ - Bjarne Stroustrup - [Stroustrup:</a> Programming – Principles and Practice Using C++](<a href=“http://www.stroustrup.com/Programming/]Stroustrup:”>http://www.stroustrup.com/Programming/)</p>

<p>For C, you can start with the fabled text by Kernighan and Ritchie (fondly known as K&R): Programming in C.</p>

<h1>Note that most schools will teach primarily in either C++ or Java, Java being the new replacement for Pascal.</h1>

<p>If you are interested in something completely different, you might consider Python programming. Just use the interweb tubes to find lots of info on Python. It’s really easy to learn, and its interpreted instead of compiled.</p>

<p>====================================</p>

<p>To start, you need to spend very little on programming. Good editors for programs are Notepad++ and Bluefish. The latter is cross-platform. I’m a big fan of Linux environments, which you might consider also programming in at a later date…</p>

<p>Well I’ve been doing this for nearly seven years. I’ve mastered HTML, CSS, and Javascript, for the most part. I’m on my way to mastering PHP.</p>

<p>It’s certainly not difficult; I’m completely self-taught. I haven’t taken a single course or read a single book. I just caught on by visiting sites, looking at how they did things, and pretty much copying things. I eventually developed my own understanding.</p>

<p>There’s also StackOverflow.com, a Q&A site for programmers. Once you catch on to their interesting take on Q&A, it’s a very helpful community.</p>

<p>But experience does you well. Even though I’ve mastered those languages, I have a long way to go, and you can never really master all of programming. It’s constantly changing. You need to be able to catch on to the new developments quickly. For example, if you’re going to do HTML and CSS, you need to be learning HTML5 and CSS3, the newest versions of the languages. It was harder for me as I had to amend my knowledge of these languages in light of the releases.</p>

<p>But I only do web development. I’ve only just started doing apps. The good thing, though, is that once you have a grasp of one programming language (for me it’s PHP), you’ll more than likely grasp others very easily, since they’re all very similar.</p>

<p>And yes, Android apps are written in Java and XML, but there are plenty of services that allow you to write them in HTML5 and Javascript and do the conversion for you into Android, iOS, and even Windows formats. One such service is Phonegap. ;)</p>

<p>It’s also easier to learn web languages as they usually don’t have to be compiled. You can just write PHP and observe the outputs (if you assign any) without any other effort, as PHP is interpreted by the server. That is, the code you write is executed before the page is submitted to your computer to be viewed. This is why PHP is used for secure transactions/database work.</p>

<p>Maybe you want to check out the course from Harvard on edX. I’m taking it right now and the best part about it is that it’s free and they provide you with the program.</p>

<p>It depends on what you want to do. If you want to be a web developer, then pick up HTML, CSS, and some scripting language like php or javascript. If you want to be a mobile developer, then pick up Java for Android or Objective C for iOS. However if you want to study computer science, then at the heart of the matter it’s all about data structures and algorithms. Pick up Java or C or C++ and keep practicing. You will be proficient when you can implement all the common data structures and algorithms easily. A full comprehension of common data structures and common algorithms will serve you well when you get grilled in that job interview too!</p>

<p>OK, while I agree that Java may not be useful for everything, it definitely isn’t worthless. They use that in AP CompSci, if you’re interested in that course.</p>

<p>I’m a fan of python, personally. Easy syntax.</p>

<p>^^ Python is really useful for biological applications, too (i.e. in bioinformatics).</p>

<p>Is it worth it in the end? Like, spending the time to learn the languages and whatnot?</p>

<p>YouTube is really great, for any type of coding. If your interested in iOS Dev (mostly Objective-C), then I would suggest looking for “Geeky Lemon Development.” His tutorials are really helpful, and he has open source codes which give you a place to start. </p>

<p>I started coding when I was in ninth grade, but I had some help from my dad which gave me a head start. If you want to publish your games on say a mobile device, then you’ll need to pay for a license. But other than that, I would consider it pretty inexpensive. Especially because of the amazing free resources online. </p>

<p>Good luck!!</p>

<p>Just a clarification, by YouTube being great, I meant it’s a great resource and learning tool. For running and testing, I would suggest downloading an SDK, or Notepad.</p>

<p>Python is good, It’s very easy, also people have made good libraries such as pygame and vpython for easy graphics and game design</p>