Getting started with computer programming?

12
Unless you're a complete dork, C++ is just not a good beginner's language. I would have recommended C but pointers tend to scare a lot of newbies away.

Anyhoo, I would recommend C# for most first-timers. Learning it will give you a good grounding in OO, encapsulation, etc. Plus it has a lot of pretty cool new features and goddamn great support within the Visual Studio IDE. Plus, .NET is a wonderful platform for deployment and has a great library.

One thing I should stress beyond the whole "language choice" thing is this: if you want to get good jobs in this industry and make decent money, learn how to program properly and do it professionally. Read "The Pragmatic Programmer" and you'll quickly realize what differentiates a hacker kid and a real engineer.

Most interviewers can quickly tell the difference between the two. Have a respect for the craft (and it's a sublime, beautiful craft when done right) and you'll go far.

Couple of other things to suggest since you're starting out:

- Read "Code Complete". Then read it again.
- Read "The Inmates are Running the Asylum".
- Try and at least familiarize yourself with a couple of different languages (preferably one system-level language (C++), one dynamically-typed language (Ruby or Python) and one 'scripting' language (Perl). If you don't know what's available in your toolbox, you'll end up using the same language over and over, and doing the equivalent of using a socket wrench to hammer nails.
- Fuck BASIC. Don't even bother.
- Read "The Pragmatic Programmer" again.
- There are a ton of jobs that need Java. It's worth learning for that fact alone.
- Learning a language that does not have automatic memory management (such as C or C++) will really help hone your skills and teach you how not to be an inadvertent resource hoarder. That will make you better with every other language.

Getting started with computer programming?

13
projectMalamute wrote:I don't even understand why Java exists, you get all the ugliness of C with all the speed of Lisp.


Bullshit. A well-written Java program with a good optimizer behind it will easily match or compete extremely closely with natively compiled apps. What you're spreading is FUD, although it's about 8 years too late. Sun have long since figured out how to optimize at the JVM level.

projectMalamute wrote:Seems to be work out there for it though. C# appears to be the same thing with the added benefit of being locked in to Microsoft products.


Also bullshit. Microsoft made the .NET CLR/CLI public from day one. Care to read the ECMA standard for it? Care to run .NET apps on Unix?

Getting started with computer programming?

16
chrisc wrote: I always thought that programming would be fun, but assumed there would be way too many people doing it so it would be difficult to get a job.


Some people are lucky to learn programming in a fun way that is also lucrative but me, I am not so lucky, so my sad story makes me say to pick one goal or the other (fun or money).

If you like javascript, you may try your hand at actionscript (flash) [almost the same language] and make all manner of games.

For fun, I suggest something like processing (processing.org).

For learning, I have different advice than most books: pick a project you want to do first without learning basic skills beforehand, because those can be learned on the fly. If the project is not too hard, I can help if you get stuck. Also my friend started to write a book, "Computer Programming for English Majors," but it is rubbish.

Getting started with computer programming?

17
r wrote:
chrisc wrote:
For learning, I have different advice than most books: pick a project you want to do first without learning basic skills beforehand, because those can be learned on the fly. If the project is not too hard, I can help if you get stuck. Also my friend started to write a book, "Computer Programming for English Majors," but it is rubbish.


Sounds like a good way to learn bad programming habits. If this person plans on programming in an environment where others are also working on the same code, good programming habits are what they should learn first.

I have read a lot of code. As a matter of fact, just yesterday I had to try and debug a customer's code for them. He was unable to connect to a web service I modified for him. The funny thing was when I demanded he test the code in a test instance first, he had no test site. He basically took his production application directory, zipped it up, and dropped it on a different web server and expected his shit to work. I won't go into the many reasons it didn't work for him , it's a comical exercise in what not to do with Mod_Perl modules.

Getting started with computer programming?

18
While your customer code nightmare story makes me weep a little, I don't think good programming habits can be enforced at birth, but learned by accretion, since there are a wide variety of coding styles and best practices you will encounter.

That said, stuff like picking sensible function names and making code readable is fairly portable advice, but anyone forced to debug his own code will learn these lessons quickly enough.
(Or I guess they will end up paying you to fix it? Hooray?)

Getting started with computer programming?

19
r wrote:That said, stuff like picking sensible function names and making code readable is fairly portable advice, but anyone forced to debug his own code will learn these lessons quickly enough.
(Or I guess they will end up paying you to fix it? Hooray?)


I work with someone who single space indents every line of code that needs indentation. Every time we look at his shit when he checks in code, a bunch of us dorks collectively groan or yell "what the fuck" loudly down the hallway. His reasoning is he can fit bigger and more complex nested conditions/loops on the width of his screen. Try refactoring that shit.

I guess I meant don't shun the good practice advice that comes from books. There are a lot of non vendor centric books out there that will indeed teach you how to code well as you learn. A lot of them were mentioned above.

Getting started with computer programming?

20
I am in school for cs right now. While some people can pick this sort of thing up on their own, I cannot, plus I want the doctorate. My area is human computer interaction aka usability engineering aka user interface design. I just started though. I did my bachelors in EE but I that field is douchefilled and not nice to women (that is to say, I couldn't get hired). Anyway, I'm going to be a doctor of computer science. My favorite language is assembly on Motorola 68HC12.

Who is online

Users browsing this forum: No registered users and 0 guests