Picking up on Programming

From Visual Basic to GNU C, this is the place to talk programming.

Moderators: SecretSquirrel, just brew it!

Picking up on Programming

Postposted on Mon Feb 27, 2012 1:30 pm

So... lets say for instance someone was completely new to programming. However they had a need to create programs/plugins and the like for many different platforms (Android, Google Chrome, Firefox, ect). But not any specific one. How would said person go about obtain enough know-how to jump into another language to the point that they would understand the basics.

With the introduction of GO and Rust I've thought it might be an interesting time to get into programming where you could see the birth (and possibly death) of a new language. I'm interested in quite a few different languages, just curious the best way to start and actually start to learn these languages. Whats the best way/place for one to learn these skills where they can get some practical experience and actually start to see (albiet simple) some results or fruits of their labor?

Ohhh and what do you guys think of GO and Rust as newly emerged languages... waste of time.... inspiring and fresh... or you don't care.
"I think there is a world market for maybe five computers."
Thomas Watson, chairman of IBM, 1943

i5-2500K|Asus P67 Sabertooth|16GB Corsair 1600|MSI 7850 2GB|250gb Evo 840|Corsair 400R|ET750w PSU|Logitech G5|Dell 2420L|Corsair Vengeance 1300
Welch
Minister of Gerbil Affairs
Gold subscriber
 
 
Posts: 2675
Joined: Thu Nov 04, 2004 5:45 pm
Location: Fairbanks, Alaska

Re: Picking up on Programming

Postposted on Mon Feb 27, 2012 3:04 pm

A link that sums up in a recipe for programming success: http://norvig.com/21-days.html

The best first book(s) you'll ever enjoy and learn the most from would be this one:

Head First Programming (using Python): http://www.amazon.com/Head-First-Progra ... 844&sr=1-1

Head First Object-Oriented Analysis & Design: http://www.amazon.com/Head-First-Object ... 179&sr=1-1

Head First Design Patterns: http://www.amazon.com/First-Design-Patt ... 130&sr=1-2

Head First Software Development: http://www.amazon.com/Head-First-Softwa ... 179&sr=1-2

------------------------------------------------------------------

After you have those basics down, this will leading into endless books. Some of my top favs:

Design Patterns: http://www.amazon.com/Design-Patterns-E ... 130&sr=1-1

Writing Beautiful Code (Leading Programmers Explain How They Think): http://www.amazon.com/Beautiful-Code-Le ... 760&sr=1-1

Programming Languages: Application and Interpretation: http://www.cs.brown.edu/~sk/Publication ... 007-04-26/

Essentials of Programming Languages: http://www.eopl3.com/
thegleek
Darth Gerbil
Gold subscriber
 
 
Posts: 7367
Joined: Tue Jun 10, 2003 11:06 am
Location: Detroit, MI

Re: Picking up on Programming

Postposted on Mon Feb 27, 2012 5:29 pm

If you're evaluating language-agnostic books, I really like Code Complete. In the past 6 or 7 years, I've loaned it to at least 5 people. Each had it a few months.
wibeasley
Gerbil Elite
Gold subscriber
 
 
Posts: 952
Joined: Sat Mar 29, 2008 3:19 pm
Location: Norman OK

Re: Picking up on Programming

Postposted on Mon Feb 27, 2012 6:10 pm

Rust is really a research language, very rough around the edges -- everything is still in flux. The 0.1 version is meant for people who are interested in new research languages to play with, not really for people just learning to program. As for Go, I think it's a bit silly. You'd be better off starting with something like Python.
i5-750 @ 3.3 GHz; Asus P7P55D-E Pro; Thermalright Silver Arrow; Antec P183; 4 GB; 2x Radeon HD 6950; Corsair HX650.
UltimateImperative
Gerbil First Class
 
Posts: 135
Joined: Sat Sep 19, 2009 12:48 am
Location: The Enn See Arrr, Central-Eastern Canuckisthan.

Re: Picking up on Programming

Postposted on Mon Feb 27, 2012 6:13 pm

Just curious, what do you guys both do with your programming knowledge. Is it your primary job or is it something you dabble with.. or perhaps you take it as a very serious hobby? Just curious to get an idea about who I'm getting this information from. Thanks for the very detailed list Gleek!
"I think there is a world market for maybe five computers."
Thomas Watson, chairman of IBM, 1943

i5-2500K|Asus P67 Sabertooth|16GB Corsair 1600|MSI 7850 2GB|250gb Evo 840|Corsair 400R|ET750w PSU|Logitech G5|Dell 2420L|Corsair Vengeance 1300
Welch
Minister of Gerbil Affairs
Gold subscriber
 
 
Posts: 2675
Joined: Thu Nov 04, 2004 5:45 pm
Location: Fairbanks, Alaska

Re: Picking up on Programming

Postposted on Mon Feb 27, 2012 7:02 pm

wibeasley wrote:If you're evaluating language-agnostic books, I really like Code Complete. In the past 6 or 7 years, I've loaned it to at least 5 people. Each had it a few months.

Yes indeed that is another good book. There's probably a list of 50 more books to suggest, it's never ending!

Welch wrote:Just curious, what do you guys both do with your programming knowledge. Is it your primary job or is it something you dabble with.. or perhaps you take it as a very serious hobby? Just curious to get an idea about who I'm getting this information from.

Well usually you kinda just get into it. I started off in the early 1980's with no books really. Just some old Commodore 64 and Atari 400 magazines and typing in 6,000 lines of:

Code: Select all
4500 DATA 56,24,54,24,32,32,67,125,345,255,255,255,0,0,5,3,2,5,5,56
4510 DATA 56,24,54,24,32,32,67,125,345,255,255,255,0,0,5,3,2,5,5,56
4520 DATA 56,24,54,24,32,32,67,125,345,255,255,255,0,0,5,3,2,5,5,56
4530 DATA 56,24,54,24,32,32,67,125,345,255,255,255,0,0,5,3,2,5,5,56

Which was a very time-cumbersome way to inject "machine language/assembly" code into a BASIC program back in the day. Oh well.

Beyond that (after BASIC), came Pascal, then c, c++, Perl, PHP, html/javascript/css, then TCL, JAVA, VB6, Visual Basic.NET, C#, ASP.NET, etc...

Welch wrote:Thanks for the very detailed list Gleek!

np
thegleek
Darth Gerbil
Gold subscriber
 
 
Posts: 7367
Joined: Tue Jun 10, 2003 11:06 am
Location: Detroit, MI

Re: Picking up on Programming

Postposted on Mon Feb 27, 2012 8:13 pm

If a non-programmer had a "need" to create programs/plugins? :)

Here's my opinion, which admittedly might not count for much:

If your goal is more about fiddling as entertainment, just dive in with some tutorials. Have fun and don't worry for now whether your stuff is actually any good... for now.

If your goal is mostly to start cranking mobile plugins, I would pick a more mature platform. Yeah, Dullsville. But odds are there's a wealth of information out there to help you be successful. Like Stackoverflow, where your questions have probably been asked and answered years ago. You can consider it a springboard... With languages and platforms coming and going regularly, it's not like you can find that one do-all-forever language anyway.

If your goal is to learn programming principles and having something to show for your programming, start with an easier platform. Not that mobile and browsers are "hard", but there are more readily digestible platforms out there. The well-worn paths let you can spend your brain energy worrying about whether you're following Code Complete "right" vs. just getting the damn thing to compile. In this case, I'd suggest one of:

* Scripting
** Perl, PHP, Ruby
** Sample projects: MP3 tagger, something that emails you random zen sayings, Project Euler problems, a meeting timer, poker hand odds calculator, a random lunch picker, etc.

* Web
** Ruby on Rails, ASP.NET MVC3 (which is free), PHP, jquery
** Sample projects: Any of the scripting projects. If you work at a place where you do timesheets, maybe make your own time tracker.

Most of these are simple enough to be achievable but complicated enough that you can actually apply some principles of interest. For perspective, check out Lunchypoo. Some former co-workers of mine put it up for their amusement. It looks like a dog's breakfast but they still use it daily. Seriously, if you even get this far, you're making progress.

If you're interested in learning how to do it "right", the other gentlemen do have suggested some great starting points. I would also consider following blogs from 1-2 thought-leaders in whatever platform you pick.
dmjifn
Gerbil
Gold subscriber
 
 
Posts: 25
Joined: Thu May 15, 2003 4:21 pm
Location: Indianapolis

Re: Picking up on Programming

Postposted on Thu Mar 01, 2012 1:10 am

Welch wrote:Just curious, what do you guys both do with your programming knowledge. Is it your primary job or is it something you dabble with.. or perhaps you take it as a very serious hobby? Just curious to get an idea about who I'm getting this information from. Thanks for the very detailed list Gleek!
Statistics for medical & behavioral research. I program for two types of scenarios. The first is developing (hopefully) new statistical procedures and simulating their performance; for this I typically use C# for most of the code and C++ for small sections of performance-critical code. The second scenario is using existing procedures on observed data. Most of that code is for manipulation; the cleaned & merged result usually is analyzed in R eventually. When I started programming in 2000, I did a lot more database & GUIs for end users.
wibeasley
Gerbil Elite
Gold subscriber
 
 
Posts: 952
Joined: Sat Mar 29, 2008 3:19 pm
Location: Norman OK

Re: Picking up on Programming

Postposted on Thu Apr 12, 2012 10:27 am

+1 for the Head First Programming (using Python) is sure is a good book. Python is powerful and is easier to learn. If you want to be a game developer, you can look into Head First C#.
i5 M540|8GB|Lenovo T410Shack
raidenx
Gerbil In Training
 
Posts: 3
Joined: Thu Apr 12, 2012 10:07 am

Re: Picking up on Programming

Postposted on Thu Apr 12, 2012 11:02 am

Welch wrote:Just curious, what do you guys both do with your programming knowledge. Is it your primary job or is it something you dabble with.. or perhaps you take it as a very serious hobby?


It's a tool in my sysadmin toolbox. I don't pull it out very often, but it's good to have.

I'd like to get more serious with it, or at least get more serious about dabbling with it :), but I haven't really found the time yet.
Flatland_Spider
Gerbil Elite
 
Posts: 875
Joined: Mon Sep 13, 2004 8:33 pm
Location: The 918/539


Return to Developer's Den

Who is online

Users browsing this forum: No registered users and 2 guests