473,586 Members | 2,681 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

What to learn?

I'd consider myself something of a c++ hobbyist. Rather, I program mainly
at a personal project level. I started learning when I was about twelve
years old (currently eighteen), reading various books I could find at the
local library. In 1999, when I learned about C++96, I realized that it
really wasn't a great idea to read from someone else's aging book heap. To
bring this somewhat off-topic post to a point, my c++ book knowledge to date
consists of:

Various trash books by filth publishers, i.e. teach yourself c++ in 24
hours, c++ for the clinically retarded...etc
Various implimentation-specific books on sockets, windows/mfc programming,
programming in a posix environment...e tc.
"Extreme Programming In Action"
Stroustrup's "The C++ Programming Language"
Scott Meyer's "Effective C++", "More Effective C++", and "Effective STL".
Josuttis's "The C++ Standard Library"
Alexandrescu's "Modern C++ Design"

Recently, I've picked up, but have yet to read:
Robert Sedgewick - "Algorithms in C++", Parts 1-4 and Part 5
along with the GOF book.

I'm wondering what good books my shelf lacks, whether anyone can offer any
advice as to whether to pursue Algorithms or Patterns first, as either topic
isn't going to be at the top of my agenda and will take a very long time to
absorb. Any other tips to enrich my programming repetoire will be much
appreciated.
Jul 22 '05 #1
13 2339
> I'm wondering what good books my shelf lacks, whether anyone can offer any
advice as to whether to pursue Algorithms or Patterns first, as either topic isn't going to be at the top of my agenda and will take a very long time to absorb.


At the risk of sounding self-serving, I'd like to recommend "Accelerate d
C++". Although you may find that much of the material in it is familiar, I
expect that you will probably also find it to be presented in a way that
offers new insight into how to program in C++.
Jul 22 '05 #2

"Walter Kalata" <pl****@ucwphil ly.rr.com> wrote in message
news:QZ******** *************@t wister.nyc.rr.c om...

Recently, I've picked up, but have yet to read:
Robert Sedgewick - "Algorithms in C++", Parts 1-4 and Part 5
along with the GOF book.

I'm wondering what good books my shelf lacks, whether anyone can offer any
advice as to whether to pursue Algorithms or Patterns first, as either topic isn't going to be at the top of my agenda and will take a very long time to absorb. Any other tips to enrich my programming repetoire will be much
appreciated.


Frankly, although the GOF patterns book was the first big one, and probably
rightly famous, I don't find it all that useful. I think the book is famous
more because it was a new book on a new topic than because it's easy to
read. I think there are some newer ones that might be better. Also, I
haven't read the algorithms book, but if it were me I might find that more
useful, depending on what I picked up when skimming it.
Jul 22 '05 #3
Walter Kalata wrote:
I'm wondering what good books my shelf lacks, whether anyone can
offer any advice as to whether to pursue Algorithms or Patterns
first, as either topic isn't going to be at the top of my agenda
Yes, you want to get something *done*, huh? :) Still, that attitude
might be a mistake. Besides the fact that many particular algorithms
in a book like Sedgewick's will come in handy once you got to know
about them, pondering their properties and why they work the way they
do -- i.e., Algorithmics -- can help tremendously in thinking about
your own programs in a clear and focused way. After all, those are
algorithms, unless they don't terminate ;) It will also lead to
figuring out some patterns all by yourself, and thus to a deeper
appreciation of the term "Pattern" (albeit on a different level from
what GOF talk about). No doubt you'll hit on quite a few things you
already knew, but only implicitly.
Any other tips to enrich my programming repetoire will be much
appreciated.


Looking at your reading list, I guess you're already acquainted with
the idea of functional programming in addition to the procedural and
OO mindsets. It is a nice thing to have in one's toolbox.
Martin
Jul 22 '05 #4
Walter Kalata writes:
Recently, I've picked up, but have yet to read:
Robert Sedgewick - "Algorithms in C++", Parts 1-4 and Part 5
along with the GOF book.


This advice is too late for you, since you already own the book, and you may
not like the advice anyway.

But I have a very firm belief that an algorithms book should be language
neutral, rather than the language du jour. The latter approach leads to
things like _Mathematical Recipes for Fortran_ and the various attempts to
make it pertinent in today's world. If the title is garbled, sue me, you
know what I mean.

Sedgwick has a language neutral version of his book so the advice *can* be
followed if one wishes.
Jul 22 '05 #5

"osmium" <r1********@com cast.net> wrote in message
news:br******** ****@ID-179017.news.uni-berlin.de...

But I have a very firm belief that an algorithms book should be language
neutral, rather than the language du jour. The latter approach leads to
things like _Mathematical Recipes for Fortran_ and the various attempts to
make it pertinent in today's world. If the title is garbled, sue me, you
know what I mean.

Sedgwick has a language neutral version of his book so the advice *can* be
followed if one wishes.


On the other hand, there is also specific language idioms that he would
probably want to learn.
Jul 22 '05 #6
On the other hand, there is also specific language idioms that he would
probably want to learn.


I was hoping to try to tackle Knuth's series in the future, and correct me
if I'm wrong, but I doubt that any algorithms I choose (or with the
libraries of this day and age, need) to impliment from Sedgewick's C++
Algorithms book would even remotely resemble his sample code, and will be
built from the textual explaination on how they function, with the code
sample used more or less as something to double-check with. Couldn't this
apply to writing the sample code in the language of tomorrow's day?
Cross-referencing the code with C++ would probably only make it easier to
understand, especially because at this point C++ is the most natural
language for me to analyze and fathom, as opposed to pseudo-code, or worse,
machine code for a pseudo-processor.
Jul 22 '05 #7
Walter Kalata writes:
I was hoping to try to tackle Knuth's series in the future, and correct me if I'm wrong, but I doubt that any algorithms I choose (or with the
libraries of this day and age, need) to impliment from Sedgewick's C++
Algorithms book would even remotely resemble his sample code, and will be
built from the textual explaination on how they function, with the code
sample used more or less as something to double-check with. Couldn't this
apply to writing the sample code in the language of tomorrow's day?
Cross-referencing the code with C++ would probably only make it easier to
understand, especially because at this point C++ is the most natural
language for me to analyze and fathom, as opposed to pseudo-code, or worse, machine code for a pseudo-processor.
What I see you saying is that you prefer n%m to n mod m. How do you feel
about *a++?

C, and especially C++, are ugly, cryptic, obfuscating languages with some
plug ugly idioms. C++ is loaded with booby traps, which Sedgewick has to
provide work arounds for if he did a workman like job. (I don't know if he
did or not, I have both the C++ version and the language neutral version, I
always use the latter. BTW I am not particularly fond of either of them, I
just happen to have them.) As said upstream, no one is proposing you return
the book you already have. I would lean towards Cormen if I were just
starting out and had to use a book that is currently in print. Or look
through used books, I am sure a good source of used books would have
something *I* would like better than either of these (Cormen, Sedgewick).
Wirth is at least along the lines of what you want, I assume it is out of
print. My working hypothesis is that most good books are out of print. My
post was mostly meant to assist lurkers, not you.
or worse, machine code for a pseudo-processor.


You are going to *love* Knuth :-)
What I see you saying is that m%n makes more sense to you than m mod n. How
do you feel about *a++?
Jul 22 '05 #8
Walter Kalata wrote:
On the other hand, there is also specific language idioms that he
would probably want to learn.


I was hoping to try to tackle Knuth's series in the future, and
correct me if I'm wrong, but I doubt that any algorithms I choose (or
with the libraries of this day and age, need) to impliment from
Sedgewick's C++ Algorithms book would even remotely resemble his
sample code, and will be built from the textual explaination on how
they function, with the code sample used more or less as something to
double-check with. Couldn't this apply to writing the sample code in
the language of tomorrow's day? Cross-referencing the code with C++
would probably only make it easier to understand, especially because
at this point C++ is the most natural language for me to analyze and
fathom, as opposed to pseudo-code, or worse, machine code for a
pseudo-processor.


At Uni, the Algorithmics and Datastructures courses would use pseudocode.
Most of the time it would either look a lot like C++ or Pascal, and hide any
of the uglyness that stuff like pointers adds to an algorithm. If the
pseudocode is well-chosen, the examples in it can be far more clearer than
in a relatively low-level language like C++, as the example can focus on
what the algorithm does, not on how you get C++ to do it.

Just my opinion of course.

--
Unforgiven

Jul 22 '05 #9
osmium writes:
What I see you saying is that you prefer n%m to n mod m. How do you feel
about *a++?

Not to start a flame war or anything, but how exactly would you express *a++
in pseudocode?
Jul 22 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

14
2254
by: Eakin, W | last post by:
Unlike a coding question, which may have a definite answer, this deals more with opinion. As I continue my studies of PHP and MySQL, and get to the point of being able to use them in a work environment, I look at the job sites (Monster, Dice), and no-one, asks for just one skill. Therefor, what other skills will complement best my...
16
44583
by: BOOGIEMAN | last post by:
Beginners question, but really what can you do with it ? How hard is Python to learn compared with other languages (let's say C#). Can you make fullscreen game with it (for example) ? I've looked at http://www.python.org but nothing concrete there
137
7034
by: Philippe C. Martin | last post by:
I apologize in advance for launching this post but I might get enlightment somehow (PS: I am _very_ agnostic ;-). - 1) I do not consider my intelligence/education above average - 2) I am very pragmatic - 3) I usually move forward when I get the gut feeling I am correct - 4) Most likely because of 1), I usually do not manage to fully explain...
7
5253
by: tada991 | last post by:
Hello Everyone, I just purchased Visual Studio .Net Architect 2003 and want to know what's a good book for begginers to start with. I know nothing about programming whatsoever, but I do have a desire to learn- as obvious with this purchase. So please let me know where I can start and thanks. Also, what newsgroup should I post my queries to?
121
9988
by: typingcat | last post by:
First of all, I'm an Asian and I need to input Japanese, Korean and so on. I've tried many PHP IDEs today, but almost non of them supported Unicode (UTF-8) file. I've found that the only Unicode support IDEs are DreamWeaver 8 and Zend PHP Studio. DreamWeaver provides full support for Unicode. However, DreamWeaver is a web editor rather...
8
4025
by: Hermawih | last post by:
Hello , I want your opinion about this . In order to say it clearly , I think I have to describe it in long sentences . I could consider myself as Intermediate/Advance Access Developer ; Intermediate/Advanced Database designer . Because of the requirements , I must create Web Application . Access Pages is not suitable for that so I...
8
3137
by: Midnight Java Junkie | last post by:
Dear Colleagues: I feel that the dumbest questions are those that are never asked. I have been given the opportunity to get into .NET. Our organization has a subscription with Microsoft that basically entitled to us to just about every .Net development tool you can imagine. I cant even begin to mention them. To begin with, my...
2
1485
by: RAM | last post by:
Hello, I decided to become .NET developer. I want to programme database applications with ASP.NET interface. I would like to ask you a question: what technologies I should learn? I think that I should consider: ..NET 2.0, C#, ASP.NET, ADO.NET, SQL Server 2005, T-SQL, HTML/XHTML, CSS, JavaScript, XML, XSD, XSLT, XQuery, IIS. Please help....
17
2354
by: pedestrian via DotNetMonster.com | last post by:
With so many technologies around which include HTML, XML, Javascript, CSS, ASP, ASP.NET (and PHP, JSP of course etc.) What is the sequence for learning web programming? which come should be learned first and which should come later? Which form the foundation? My aim is to become a web developer for both commercial Intranet and Internet...
11
2483
by: Paul Brady | last post by:
Apparently, I have been living on the wrong planet. I have written 15 databases in Microsoft Access in the past 10 years, some of which are split, one uses ODBC interface with a SQL server, one has a many-to-many relationship, and all of which have Basic code to handle events and run functions which I have coded, and all this time have never...
0
7912
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
8202
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
8338
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
1
7959
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
0
6614
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
1
5710
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
5390
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3837
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
0
1180
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.