LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 12-17-2006, 08:08 PM   #1
suicideducky
Member
 
Registered: Aug 2006
Location: New Zealand
Distribution: Gentoo
Posts: 72

Rep: Reputation: 15
where to start with developing


Ok well ive had some experience (tinkering over years mainly,) with c++, visual basics, pythong, html and batch.

please take into account that this is tinkering, not anything proper.

and i have also been flying from one linux to another, jsut check my signature.

but i also would like to get into developing operating systems, just simple things, and i would like to know where to start.

i have tried linus from scratch but that didnt agree with me and mepis as far as i can tell, and after 3 or 4 goes i just took the easy option, and threw in the towel.

so my questions goes as following, would anyone be able to recommend somewhere to start to learn to develop, program and basically become profecient with linux?

thanks in advance, suicideducky
p.s. please keep in mind i am only 15, am still a student. and sorry for my excessively long post

Last edited by suicideducky; 12-17-2006 at 08:14 PM.
 
Old 12-17-2006, 09:25 PM   #2
unSpawn
Moderator
 
Registered: May 2001
Posts: 29,415
Blog Entries: 55

Rep: Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600
i have tried linus from scratch but that didnt agree with me
ROTFL! I'd say Linus wouldn't agree either ;-p


so my questions goes as following, would anyone be able to recommend somewhere to start to learn to develop, program and basically become profecient with linux?
Look at what you've got (or haven't). Maybe there's an app that needs an extra feature? Could supply a patch to the maintainer and see if that starts the ball rolling... Maybe there's a task for which there's no app yet? Figure out how it should work and take it from there... Or maybe you think you could build an app "qualitatively better"? Tear it apart, see what makes it run, and tack the corpse back together with your stuff. Basically the stuff that's closest to your own interests is what will get (and keep) you going.


p.s. please keep in mind i am only 15, am still a student.
Age is not important. What is is that you find something *you* think is cool (worth pursuing).
 
Old 12-17-2006, 09:32 PM   #3
suicideducky
Member
 
Registered: Aug 2006
Location: New Zealand
Distribution: Gentoo
Posts: 72

Original Poster
Rep: Reputation: 15
sorry about the typo(s)

i only wrote down my age in an attempt to demonstrate that i dont have some qualification etc.

and ok then, but the problem is that i dont have any REAL programming or shell experience. sure, ive fiddled with both but i still cant sit down open up a programs source and pick at it, i dont have the knowledge. but that is what i would like to be able to do.

to be able to comple from source, and edit source, and basically be free to attach myself to any linux related task (ok, not ANY)
 
Old 12-18-2006, 07:58 AM   #4
unSpawn
Moderator
 
Registered: May 2001
Posts: 29,415
Blog Entries: 55

Rep: Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600
OK. I'll give it another shot.


Say you want to be a hacker (right sense of the word). Takes a few things. First of all a general interest in finding out "what makes stuff tick": inspiration, motivation, drive. A result of that interest can be you want to really understand what, how and why it does what it does: that's doing research, learning. If you understand what's going on you may want to (help people) solve a problem or change things and find it is fun to do. That's where persistence and such come in, which should be no problem if you love what you're doing. Over time you'll realise the greatest cost of all: time. Like everything else doing something (or not doing something) costs time. There is no way around it.

So, how do people start coding? For a lot of people it starts as an itch to scratch. They have a problem, just jump in and start looking for clues. It may happen to you or it may not. Others start by learning a language, consciously investing time and effort hoping they can reap the benefits. Whichever way you start you'll find out soon enough if it is exiting enough to keep you going.

So. How to find out what looks interesting? Basically anything. Maybe start tweaking your system: solve problems there. Or maybe you like those mobile phone games: get a Java book and SDK and see if that tickles your interest. Or else read some books. There's lots of tutorials and free books available online. It's just like choosing a distro: some people find "their distro" immediately, others have to struggle through tens of installs. (again: perseverance) There's only one thing you should not do: don't make it a single goal to become "teh w0rlds baddassest h4x0r". If you find (after some time) you love coding you will be drawn back to it when time permits whatever else you do. If you don't you'll be coding in anger. Anger leads to hate, and know, we all do, what hate leads to :-]


As long as I've been using Operating Systems I always found tinkering with stuff interesting and fun to do and I spent time back then reading and experimenting. My move to GNU/Linux (after months of reading) was based on the perception it was the most performance-tweakable O.S. I could find and for that it has never let me down. Gradually I became more interested and started experimenting more (yes, making backups *is* and I should have started by reading :-] ) which lead to more reading and more experimenting. Which lead to testing stuff, contributing patches which lead to more reading and more experimenting. While I've contributed to quite a few apps the only one I could be known for would be Rootkit Hunter. I started supplying patches and discussing problems early this millennium and gradually (well not that gradually, heh) took over the project. While it is "just shell scripting" and not a higher language, it's what I like in that it enjoys enough community feedback to help improve it and poses enough problems (read chances for research) to keep me going, time permitting.

Summing it up in one sentence: find your inspiration not by looking outward but inward.
 
Old 12-18-2006, 11:29 AM   #5
pixellany
LQ Veteran
 
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Mint
Posts: 17,809

Rep: Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743
Some will say: Get good grades, go to college, etc......But the fact is that good creative works come at all ages and education levels...

To me, the way to learn something like programming is to---well--do it. Pick a task you would like you machine to do for you, and set out to write it. But I would not start with the OS: In any program, there is stuff on the other side of the interface that you need to understand. In high level application, you will have to understand the basic I/O, commands and signals, but you are spared a lot of the more complex stuff that a kernel programmer needs to understand.
 
Old 12-18-2006, 11:57 AM   #6
jorgept
LQ Newbie
 
Registered: Dec 2006
Location: Portugal
Distribution: Slackware
Posts: 5

Rep: Reputation: 0
Post OS learning

Buy a book of Operating Systems or go to a library, go to intel and amd to download de books for they respective processors.
Learn to program in assembly and C, trie some microcontrolers like pic from Microchip, is useful/essencial to know hardware arquitecture.
Here are some of my books:
1º Introduction to Computing Systems: From Bits and Gates to C and Beyond!
2º Operating Systems Design and Implementation, 3/E
http://webster.cs.ucr.edu/AoA/
http://std.dkuug.dk/jtc1/sc22/wg14/w...onaleV5.10.pdf
5º search for RFC about tcp ip and ftp, etc...
 
Old 12-18-2006, 02:31 PM   #7
suicideducky
Member
 
Registered: Aug 2006
Location: New Zealand
Distribution: Gentoo
Posts: 72

Original Poster
Rep: Reputation: 15
thanks

WEll thanks for all that. im going to have to go explore and do some more damage. as i am posting this i actually am on 3 computers at my dads work, one is a linux computer with sugar CRM installed, so its only got bash it actually is fun, well it wil be once i get it working propealy for my dad... but hey

is shell scripting still a language? i mean can it write full applicationg and everything?

and with patching, is it mostly just trial and error and then fixing what you find with scripting?

thanks for all your help, this was alot less painfull than i though.

thanks again, chris hall
 
Old 12-18-2006, 02:57 PM   #8
jorgept
LQ Newbie
 
Registered: Dec 2006
Location: Portugal
Distribution: Slackware
Posts: 5

Rep: Reputation: 0
Post language

scripting is for repetitive tasks, like management your computer files configuration, but you dont do aplication with bash for example, you develope aplications with languages like c, c++, java, python, perl,...
patching is an adiction to de source code to correct sume bugs.

Last edited by jorgept; 12-18-2006 at 02:59 PM.
 
Old 12-18-2006, 03:47 PM   #9
suicideducky
Member
 
Registered: Aug 2006
Location: New Zealand
Distribution: Gentoo
Posts: 72

Original Poster
Rep: Reputation: 15
i just think that shell scripting and patching would be a good palce to start.

thanks for the help, suicideducky
 
Old 12-18-2006, 04:36 PM   #10
makyo
Member
 
Registered: Aug 2006
Location: Saint Paul, MN, USA
Distribution: {Free,Open}BSD, CentOS, Debian, Fedora, Solaris, SuSE
Posts: 735

Rep: Reputation: 76
Hi.

I'm not sure I understanding the patching part, but I certainly agree with the shell scripting part, and so does O'Reilly:
Quote:
Shell scripting skills never go out of style. It's the shell that unlocks the real potential of Unix. Shell scripting is essential for Unix users and system administrators-a way to quickly harness and customize the full power of any Unix system. With shell scripts, you can combine the fundamental Unix text and file processing commands to crunch data and automate repetitive tasks.

http://www.oreilly.com/catalog/shell...index.html#top
which is describing:
Code:
Title: Classic Shell Scripting
Subtitle: Hidden Commands that Unlock the Power of Unix
First Edition: May 2005
Publisher: O'Reilly
ISBN 10: 0-596-00595-4
Pages: 558
And:
Quote:
Master Foo once said to a visiting programmer: “There is more Unix-nature in one line of shell script than there is in ten thousand lines of C”.

http://www.faqs.org/docs/artu/unix_koans.html
Let us know how are doing from time to time ... cheers, makyo

Last edited by makyo; 12-18-2006 at 04:40 PM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
i want to start developing some stuff martial Linux - Software 3 02-09-2006 08:50 AM
Developing Games with LInux Maestro485 Programming 5 09-23-2004 05:12 PM
developing device drivers djgerbavore Linux - Hardware 1 07-30-2004 01:49 PM
Need help in developing a script ostech Linux - General 2 04-22-2004 09:24 AM
where to start developing software on linux subhasis_ray Linux - General 2 02-11-2002 08:46 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 01:02 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration