Live data from Hacker News

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

news.ycombinator.com

11–20 of 21 posts

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

#11
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/

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

#13
post #11

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…

Ditto the recommendation on "How to Think..." ...a few years ago, I had no programming knowledge whatsoever, read about 1/3 of the book, and was already building useful stuff (to me, anyway).

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

#14
post #11

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…

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.

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

#15
post #14
post #11

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…

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.

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. :-)

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

#17
post #15
post #14

Earlier quoted context omitted.

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.

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. :-)

Similarly, automatic garbage collection is a lot friendlier than C++ memory management.

With C for close-to-the-metal stuff and to optimize bottlenecks, Python for high level, and ctypes to glue both, I find no niche left for C++.

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

#18
post #15
post #14

Earlier quoted context omitted.

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.

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. :-)

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.

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

#19
post #6

Earlier quoted context omitted.

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.

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.

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. :-)

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

#20
post #19

Earlier quoted context omitted.

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.

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. :-)

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.
Post reply on HN