Personal computing discussed

Moderators: renee, SecretSquirrel, just brew it!

 
Welch
Grand Gerbil Poohbah
Topic Author
Posts: 3582
Joined: Thu Nov 04, 2004 5:45 pm
Location: Alaska
Contact:

Picking up on Programming

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

1600x | Strix B350-F | CM 240 Lite | 16GB 3200 | RX 580 8GB | 970 EVO | Corsair 400R | Seasonic X 850 | Corsair M95 / K90 | Sennheiser PC37x
 
thegleek
Darth Gerbil
Posts: 7460
Joined: Tue Jun 10, 2003 11:06 am
Location: Detroit, MI
Contact:

Re: Picking up on Programming

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/
 
wibeasley
Gerbil Elite
Posts: 952
Joined: Sat Mar 29, 2008 3:19 pm
Location: Norman OK

Re: Picking up on Programming

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.
 
UltimateImperative
Gerbil First Class
Posts: 138
Joined: Sat Sep 19, 2009 12:48 am
Location: The Enn See Arrr, Central-Eastern Canuckisthan.

Re: Picking up on Programming

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.
 
Welch
Grand Gerbil Poohbah
Topic Author
Posts: 3582
Joined: Thu Nov 04, 2004 5:45 pm
Location: Alaska
Contact:

Re: Picking up on Programming

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

1600x | Strix B350-F | CM 240 Lite | 16GB 3200 | RX 580 8GB | 970 EVO | Corsair 400R | Seasonic X 850 | Corsair M95 / K90 | Sennheiser PC37x
 
thegleek
Darth Gerbil
Posts: 7460
Joined: Tue Jun 10, 2003 11:06 am
Location: Detroit, MI
Contact:

Re: Picking up on Programming

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:

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
 
dmjifn
Gerbil First Class
Posts: 103
Joined: Thu May 15, 2003 4:21 pm
Location: Indianapolis

Re: Picking up on Programming

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.
 
wibeasley
Gerbil Elite
Posts: 952
Joined: Sat Mar 29, 2008 3:19 pm
Location: Norman OK

Re: Picking up on Programming

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.
 
raidenx
Gerbil In Training
Posts: 3
Joined: Thu Apr 12, 2012 10:07 am

Re: Picking up on Programming

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
 
Flatland_Spider
Graphmaster Gerbil
Posts: 1324
Joined: Mon Sep 13, 2004 8:33 pm

Re: Picking up on Programming

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.

Who is online

Users browsing this forum: No registered users and 1 guest
GZIP: On