
I'm new to Linux. I've got Ubuntu and K&R. Now what? - pashbonk

======
tx
What do you want to do? Join one of the smaller open source projects, get a
mentor and build something amazing! :-)

Seriously, I do think that some hands-on useful development is the fastest
track to become a master of your domain! :-)

------
jey
If you have enough balls to learn C from K&R;, you could try learning C++ from
Koenig & Moo's "Accelerated C++" instead. C++ contains everything in C, and
has a lot of handy higher level constructs. You can deal with the specific
idiosyncrasies of pure C later, but can get started quickly with C++.
<http://tinyurl.com/26cjz9>

If you don't have any background in programming, or don't really know that you
want to learn C or C++ specifically, I would recommend starting with Python.
C++ is good if you know that you want to write systems software, or need to
interface with C/C++ libraries. If you're just looking to learn to code, then
learn Python. kyro said that he enjoyed learning from the free ebook "How to
Think Like a Computer Scientist: Learning with Python".
<http://www.ibiblio.org/obp/thinkCSpy/>

~~~
benhoyt
Hmmm, I definitely wouldn't recommend newbies learning C++. Every time I've
tried to dig into C++, it's been a turn-off. K&R;'s great. C's great, and it's
small enough to get your head around, but if you want to know a language like
C++, yeah, definitely agreed about Python.

~~~
jey
What's the trouble with C++? It seem to me that using the higher-level
constructs of C++ is a lot friendlier than having to malloc and free things
all over the place. You don't have to jump into C++ template metaprogramming.
:-)

~~~
benhoyt
True, it's just that if you want those features of C++ you're better off
jumping up to something modern: Python/C#/Java. Those languages (perhaps even
Java) feel well-designed and friendly instead of like a hacked-on OOP addition
to C.

I'm aware that C++ is not just a hack, but compared to modern designed-from-
scratch languages, it does feel like one a lot of the time.

------
ralph
What's your aim? If you've K&R; are you trying to learn C? If you want to
learn the Unix philosophy then get Kernighan and Pike's _The Unix Programming
Environment_. If you want to create a web start-up, learn Python and Django.
What skills do you already have?

~~~
inklesspen
Are you a Django fan? If not, what's your motive for solely recommending
Django, instead of TurboGears or Pylons?

(Yes, the fact that Python has multiple frameworks is a problem, but settling
on Django is not a solution.)

~~~
ralph
Django is a reasonable enough one to learn. He hasn't the skills to examine
the possible contenders and make a good decision himself. After learning
Django, then he may be in a position to better appraise the competition.

Likewise, I didn't say "read a book on Unix" but gave a specific, worthy,
contender. As a complete newcomer there's little more annoying than general
hand-waving.

~~~
inklesspen
Hm, I guess that's fair enough. My main concern is that if he starts with
Django, he might never know there's other frameworks.

~~~
ralph
If he starts with Python, he may not know there's other languages. If he... If
he starts with digital computers, he may not know there's analogue ones. :-)

~~~
inklesspen
Yes, yes.. But I hang out in #python.web on freenode, and you'd be surprised
how many people I get who think that Django, or mod_python, or CGI is the only
way to make Python webapps. Not the best way; the only way.

------
skittles
Here's information on cgi programming with C:
<http://www.cs.tut.fi/~jkorpela/forms/cgic.html>

Not many people do cgi programming (especially with C) anymore, but it will
teach you a lot about Linux and programming. You will have to get a working
web server for one. Configuring Apache on Ubuntu should be a good learning
experience. If you can also get a working database server such as PostgreSQL
(my preference) or MySQL working with your website, you will know the basics
for building a real web-based application.

------
dazzawazza
Surely the next step is to contact some VC companies and ask for say, $10
million :-). This really is an open ended question! If you are about to start
programming then there is no limit to the possibilities so you'd better pick a
direction to go in that you will find interesting. Good luck.

------
bootload
_'... I'm new ... Now what? ...'_

Learn how to become a hacker ~ <http://www.catb.org/~esr/faqs/hacker-
howto.html>

~~~
omouse
He should also read _Snow Crash_ or _Cryptonomicon_ to become inspired to
hack. Man I love those books.

Snow Crash at scribd: <http://www.scribd.com/doc/10862/Neal-Stephenson-Snow-
Crash>

------
ivan
Congrats :) I have first edition of K&R; in my bookshelf and I still love it.
It cost 25 slovak koruna /approx $1/ at that time :)

------
timg
Start compiling Gentoo. When it's done, you'll be ready for it.

------
davidw
... go start a company?

