References?

Discussion topics, Linux related - not requests for help

Moderators: ChrisThornett, LXF moderators

References?

Postby Mandelbrot » Fri Apr 06, 2012 12:34 am

As a newbie, what reference material would be most valuable to me? I am trying to learn about PCs, Linux, and to get started in coding.

What language would you recommend to learn first? I have seen several recommendations - Python and Java particularly.

Thanks for your time.
Mandelbrot
"Your life is an occasion, rise to it."
- Mr. Magorium in Mr. Magorium's Wonder Emporium
Mandelbrot
 
Posts: 10
Joined: Sun Mar 25, 2012 1:51 pm
Location: Gales Ferry, CT, USA

Postby lok1950 » Fri Apr 06, 2012 12:48 am

There is always the Linux Documentation Project and RUTE both have been on past LXF discs if you don't have the old disc just Google them 8) that will give you most of the Linux and PC info you will need.As for the choice between Python and Java try Python first as it is usually installed by default on most current distros and is a touch easier to Grok than Java.

Enjoy the Choice :)
User avatar
lok1950
LXF regular
 
Posts: 1044
Joined: Tue May 31, 2005 5:31 am
Location: Ottawa

Postby johnhudson » Fri Apr 06, 2012 9:22 am

A lot does depend on what you intend to do but I have found that careful reading of LXF is one of the best ways to learn; Python has the advantage that there are local groups of Python users whose expertise you could tap.
johnhudson
LXF regular
 
Posts: 884
Joined: Wed Aug 03, 2005 1:37 pm

Postby Mandelbrot » Fri Apr 06, 2012 1:16 pm

Thanks for the advice. I will indeed Google the Linux Documentation Project and RUTE (which I have to admit is something I have never heard of before).

So far I am finding Linux much easier to use than Windows was. For example, Thunderbird was easier to set up than Windows Mail. Previously, all I ever really used my home PC for was internet and email. I am quickly finding new ways to play at home.
Mandelbrot
"Your life is an occasion, rise to it."
- Mr. Magorium in Mr. Magorium's Wonder Emporium
Mandelbrot
 
Posts: 10
Joined: Sun Mar 25, 2012 1:51 pm
Location: Gales Ferry, CT, USA

Postby guy » Sat Apr 07, 2012 1:24 pm

would echo johnhudson's comment that the best language depends on what you want to program for.

If you are unsure, python is a good general-purpose choice.
"Klinger, do you know how many zoots were killed to make that one suit?" — BJ Hunnicutt
User avatar
guy
LXF regular
 
Posts: 1105
Joined: Thu Apr 07, 2005 12:07 pm
Location: Worcestershire

Postby Bruno » Wed Apr 11, 2012 12:03 pm

Hi All,

You'll need some help organising and documenting your work, too. On the organisational front, I'd recommend "Pragmatic Version Control Using Git" by Travis Swicegood, published by The Pragmatic Bookshelf (Rayleigh, NC USA & Dallas, TX USA). It was reviewed in LXF 118.

If you are unfamiliar with the concept, a Version Control System (of which Git is an example) allows the programmer to save many snapshots of the work at key stages along with a note about what was changed/added since the last snapshot and why. There is a little more to it than that, but organising your work and tracking changes is essential in all but the most elementary of projects. The notes you make with each commitment of code will help with producing a change log and writing documentation for the project.

Working through the first five chapters (they're quite short, actually) will get you going, the examples are easy and mainly concern creating and editing simple html files, so you don't have to learn code at the same time as learning git. It may at first seem like an emcumberance at first to faff about with recording and annotating changes but stick with it and you'll find it becomes second nature, it won't slow you down and you'll thank yourself for it later. Once you are comfortable using git, do carry on with the book as Git is very powerful and you'll get more out of it. Finally, good luck!
User avatar
Bruno
LXF regular
 
Posts: 139
Joined: Tue Sep 18, 2007 6:07 pm
Location: Cambridgeshire, UK

Postby guy » Wed Apr 11, 2012 10:01 pm

Bruno wrote:You'll need some help organising and documenting your work, too...

Well, I stared coding before any magic tools existed. I instinctively take copies with the date or version number in the filename. A day's hard coding leaves me with perhaps half-a-dozen old versions, all neatly ordered by their filenames and manually backed up onto another media. That's all the version control I have ever needed.

It's a good habit to get into, and getting careless is the only way to burn it in!

Of course I don't turn out the masses of code that the professionals do, but then nor does any beginner either. Learning a VCS can come later, when you need it.
"Klinger, do you know how many zoots were killed to make that one suit?" — BJ Hunnicutt
User avatar
guy
LXF regular
 
Posts: 1105
Joined: Thu Apr 07, 2005 12:07 pm
Location: Worcestershire

Postby Dutch_Master » Thu Apr 12, 2012 2:03 am

I have a number of books on Linux on my bookshelf, of which the "Unix and Linux Administration Handbook" (4th edition) is probably the most useful to you. It explains how to set up a Linux system in better detail (not just "click here then put in that and click again" but explaining what's what, why it's so and what options it has), dives into a more advanced sys-admin mode with backgrounds of networking, etc., and touches on programming (more: shell scripting). Published by Prentice Hall, with a foreword of Tim O'Reilly, chairman of the competing (!!) O'Reilly empire: he basically said that he doesn't pay much attention to their competitors, but this book he considers a measuring stick for his company... :shock: ISBN: 9780131 480056

Coding is a whole different ballgame. The best way is to do it yourself and see what changes affect the outcome of the program you wrote. LXF had a special on coding, but the best source for learning to code, is studying some-one else's code. Try to understand why the coder has done things in a certain way, then try to alter that behaviour to see if you grasped the concept, and at the same time, finding a more efficient way of getting the results, if there is one. Which in term you could submit to the coder for inclusion, should (s)he wish so. And presto, before you know it, you've submitted your first patch on your way to geekhood :D :mrgreen: However, don't get too much ahead of yourself, start with simple stuff.... You wouldn't be the first to be put off by sinking teeth in more then could be chewed... :roll: :!:
Dutch_Master
LXF regular
 
Posts: 2471
Joined: Tue Mar 27, 2007 1:49 am

Postby lok1950 » Thu Apr 12, 2012 2:32 am

As DM say the learning curve can look like a cliff at times but there are lots of online references that you can hammer into that cliff face for hand and foot holds,and don't be afraid to ask questions here or any other forum that welcomes you most of us in the Open Source movement are always looking for new hackers for the project that we are involved in :D

Enjoy the Choice :)
User avatar
lok1950
LXF regular
 
Posts: 1044
Joined: Tue May 31, 2005 5:31 am
Location: Ottawa

Postby Ram » Thu Apr 12, 2012 11:58 pm

If you are an absolute beginner regarding programming then you may find this book useful

http://www.amazon.com/gp/product/1435455002

lubuntu LXDE 13.10 running on AMD Phenom II*4; ASUS Crosshair III Formula MB; 4 GB Ram.....
User avatar
Ram
LXF regular
 
Posts: 1684
Joined: Thu Apr 07, 2005 9:44 pm
Location: Guisborough

Postby Bruno » Sat Apr 14, 2012 1:09 pm

guy wrote:Learning a VCS can come later, when you need it.


I was about to disagree with you there (respectively of course) but from a recent, personal example, where I used Git to record and document the changes between v1.0 and v2.0, I did indeed just get on with coding and learning how the project works in order to get to v1.0. So yes, I'd agree with your statement. However, I would recommend bringing in a VCS soon after, as they will do a lot of heavy lifting and will help others act as mentors and help with collaboration if/when the time comes.
User avatar
Bruno
LXF regular
 
Posts: 139
Joined: Tue Sep 18, 2007 6:07 pm
Location: Cambridgeshire, UK


Return to Discussion

Who is online

Users browsing this forum: No registered users and 1 guest