Thursday, July 30, 2009

Recommendations for self-teaching computer programming?

My background: learned Basic as a kid, have dabbled in VBA resulting in some decent MS Word automation, basic HTML and CSS. Although I'd love to go back to school to and get a comp sci B.S., that isn't a possibility (don't have time or money). I'm a physician in residency who's been dabbling with a website that I'd like to begin offering more features on that require client- and server-side programming. I also need some database skills as the web-based apps I want to offer require a small DB. So, I'm faced with all these options. With so many technologies to learn...XML and all its friends (XPath, XLST, etc), Javascript, PHP (or ASP)...not to mention I'd like to develop some desktop apps. I just don't know where to start. I'm a decent self-learner. Do I need to get a C++ for dummies and start from there and work forward? I don't want to write sloppy code and I want more than superficial understanding. Any recommendations on how to self-teach the most efficiently? Where do I start?

Recommendations for self-teaching computer programming?
If you want a database, you'll want to learn SQL. That language will allow you interact with databases (and better understand code that does so) on a low level.





C++ is a low level programming language. It would allow you build the sort of programs you're talking about from the ground up, but it would be a lot more work.





Javascript, PHP, and ASP allow you to make dynamic web-pages. If you want to build an application with web-pages your users can interact with, one of these would be the way to go. Ruby (on Rails) could also help you generate these pages more easily.





For the purposes you've described here, I'd recommend learning SQL and either PHP or Ruby on Rails first. Those should suit most of your needs.
Reply:All brilliant developers know tons of languages, to the point where it's not their knowledge of these languages which make them brilliant.





Do have a play with all the ones you mention, but also try a level higher - have a look at e.g. The Pragmatic Programmer, or the "Gang of Four" book http://en.wikipedia.org/wiki/Design_Patt... ("Head First Design Patterns" is good too).
Reply:Use PERL. It is fairly easy, and can be made to manage most client/server applications without needing to learn a whole bunch of other stuff like SQL and all that. It is stable, has been around for many years, and has yet to be eclipsed for rapid development.





Several books would be of help - start with O'Reilly's Learning PERL for the intro to the language, then move onto something like PERL for the Web by Radcliffe.
Reply:In addition to what has been mentioned, I can't express how much easier your life will be if you join a programming group. Books are great but sometimes, you need a different perspective. A popular one for game development is http://gamedev.net





You can also find a ton of them here on the yahoo groups or msn groups.
Reply:I took almost the same path except I started very young and never quit,, the path that best fits me is simply read read code code read code recode then read some more. :) The internet is a great resource for coders but I prefer a hard copy myself, I have great results with the Sams Teachyourself in X hours,days,weeks,months etc... but remember to master anything it takes about 10 years of experiance. start with your hello worlds again and get your syntax down and then just work your way up. And remember your not going to beable to code a full fledged app for a while with beginners skills, so dont try it will just discourage you, just try to reinvent the wheel for learning purposes. I always liked to try to code pong or tetris for learning a language, then make a version 2 with network support and built in chat window? idk just some ideas to kick around for ya, coding is great but requires alot of dedication. :) Stick to your guns and you'll be maken the big bucks like me


No comments:

Post a Comment