how do program?

Arsenu,

Member
Oct 30, 2008
795
0
16
yo guys! so here's the thing...
i want to get into programming and am thinking about studying for 1-2 years (i don't want a bachelor). as i'm a musician and AE, and im i dont want to spend the next 5 years working in a bar, i would like to have a nicer "day job" that's also computer based, and ideally find a job that i can do without being physically present.

i know there are quiet a few languages that are good and will probably stick around for a while such as C, C+, Java and Mac but i have absolutely NO CLUE where to start, and whether i should study on my own or go to an institute, and in that case, which institute?

i know there are quiet a few programmers around here so any advice on how to get stated is welcome!
 
Depends what you want to do later on, although the basics of programming are the same everywhere. You can absolutely get started on your own, that's how I did it and decided later on to do a degree in it (at that point I was already working as a programmer but it can't hurt to have a degree in it right).

Personally I work as a web app programmer with c# and asp.net. The nice thing with web development is that the tools to get you started are all available for free from microsoft (i.e. Visual Web Developer Express etc)

I'd say grab a good book and see how you like it. Programming isn't for everyone so could turn out that you absolutely hate it.
 
Start teaching yourself now, even if you plan to study at a school you will still need the ability to self-teach.

EDIT: I'll clarify this point, because it's important... Even if you graduate with a Masters in Software Engineering, you will still be essentially self-taught.
The huge majority of your knowledge will have come from your own study on your own time and the bits you learn directly through the university will be a tiny footnote. to be a programmer you need to be constantly curious and constantly learning on your own steam.

As for which language to start with, I'd recommend either Python or Ruby, as either of those will be good for learning programming concepts without getting mired in the quirks and sharp edges of (for example) Java or C++.

Once you learn one language it's pretty easy to pick up any other language, as the concepts are largely the same regardless.

Free, online resources to get started:

Python:
www.trypython.org/
http://learnpythonthehardway.org/

Ruby:
www.tryruby.org
http://ruby.learncodethehardway.org/book/


Give both of those a whirl and see how you like it.

Oh, and expect frustration, lots of it. You thought learning an instrument was hard? It's nothing compared to the torture of those first few months learning how to program, then one day your brain goes *click* and it all makes sense and gets a lot easier.
 
man, you couldn't have asked this at a better time, i've been thinking about this as well. gonna check out the links, thanks guys!
 
+1 for Python, languages are all pretty much the same just different syntax. I've been meaning to learn Python as well.

Though most places tend to use C++, learn Python first then have a go at C++

You can learn ASM if you want, once you master that you will be guaranteed a job.
 
thank you for EVERYTHING guys! this is really helpfull information! will check out all links when i get back from work...

to be more specific, i don't intend on becoming the greatest programmer ever or to program an app that will bring peace to the middle east...
my idea is simple:

the abilaty to make money
+
the ability to produce\record albums through my laptop without having to remain at one place
+

?

=

profit

azistenostora, tough i generally preffer learning interactively, when you say "grab a book" can you recommand a specific book for me?

btw, by mere coincidence i have an idea for a start-up that requires a software programmer and is music related ;) (and is awesome)
 
I can only recommend c# /asp.net books as I am not familiar with the other languages. However if you want to get into music software/plugin stuff, then asp.net is not for you. Most plugins are written in c++ if I'm not mistaken.
 
+1 for python, its a great language, you will learn a lot by trying to pick it up.

imho only problem with learning python as a beginner is your not going to be able to instantly create something cool. I haven't got a massive amount of experience with android development but what about downloading the SDK for it, you should be able to knock up a mobile app quite quickly and learn some java on the way.
 
I love programming. I know Java fairly well, I'm learning Python and absolutely love it. I'm also learning C and loathe it, lol, but it provides some really necessary info into the backend of newer languages.
Altho I'd fiddled with programming-esque things before university I'd never done any real programming. We started with Processing which is based on Java, it just provides a really easy way to create visuals. It's not perfect, and it's not going to be as efficient as a non-Java based language, but it's a really great way to learn because you can literally see the result of anything you do. Of course it can be used for more basic coding as well, just text or whatever, but graphics is where it excels.
 
I'm also learning C and loathe it, lol

Why? It's not that hard to learn at all. Not a big language at all. (especially opposed to c++).
Of course you wouldn't use it to write user interface or such. In fact there's not much need to use c these days. Why are you learning it? :)
 
Why? It's not that hard to learn at all. Not a big language at all. (especially opposed to c++).
Of course you wouldn't use it to write user interface or such. In fact there's not much need to use c these days. Why are you learning it? :)

It's just extremely basic and unforgiving, especially coming from a Java background - it doesn't even have strings! I'm learning as part of a subject at uni on parallel programming and memory management. That's the really important stuff, learning C++ or C# later on wouldn't be a big deal at all.
 
well, mobile platforms are still very big, and will be for the next years so you can get into android or iphone app development.
+1

Working as a Java Developer i started with Android Development a few months ago. What i like about is, that you get results very fast. That is motivating. If you got a Android Phone you can give it a try.
 
I can understand why C is so interesting as a school language but I loathe it so much now...

In my school we were only allowed to use the unix terminal window for programming in C. So we did all the text editing in a text-format editor through the terminal window, and used only the most basic de-buger in the world that will only say if the code is buggy or not and give absolutely no information about where or why or what. That was so hardcore and frustrating ! Especially cause we were sent into the land of "pointer of pointer of pointer of pointer" and had to program maths solvers and stuff the next month.

Probably very good in the end cause it makes you so strict about yourself and your files organization, and even more cause C is so unforgiving. I have never had the experience of coding with a proper software with colour code or auto-indentation or anything to help with the libraries or whatever. Had to browse through unix folders in the terminal the whole time, sometimes from home via an SSH connexion !