looking to learn a new language this summer... recommend me a book

ndruw

Limp Gawd
Joined
Mar 7, 2006
Messages
246
have plenty of free time after work to learn.

I'm looking at delving deeper into Web programming, like PHP and SQL, two languages I haven't really touched yet.

I also like doing Flash work, have some basic understanding of Flash

Which books should I pickup at Borders tonight to get me started on PHP and SQL, and lead me into a good understanding of it (for example, provide more knowledge than a for Dummies book would).

I am also debating with myself on whether or not to try to learn C/C++ instead, under Linux. Other than HTML, I really have no real previous programming experience (although html isn't really a programming language), but want to learn basic C/C++ before college.

Would you suggest that I stick to learning PHP/SQL (since I already know some web programming) or would you suggest that I try to learn C over the next year before college like I wanted to try? And which books would you suggest I buy to learn these from? (e.g., which books helped you learn?)

^^sorry my English might sound a little broken at times up there, typing this as I eat.
 
I'd say start with something simple and learn something more modern and slick later. Maybe try and learn some assembly and get a REALLY good foundation. There's a thread around here somewhere where mikeblas recommended some really neat kits to learn machine language on. I'll poke around and maybe edit in a link later.

Edit:
Looked around but couldn't find the exact thread but there's a lot of stuff on assembly and machine language on here with good discussion. Good luck whatever you decide to play with man.
 
The essay is here.

To be successful, I'd recommend choosing a project that's both attainable and interesting to you. This thread has a list of interesting tasks, though some might be over your head if you're just starting out.
 
if you're interested in web programming, you could look into coldfusion.

i too am studying something over the summer.... i'd rather be hitting up something more interesting to me like some more in-depth assembly, but since i won't have time to take any web programming courses, i figured i should do the same thing you are and go at it myself over the summer.

coldfusion is popular with commerce sites because of its ability to do dynamic web pages by providing an interface to an underlying database.

so, if you learn some coldfusion in depth, you kill 2 birds with 1 stone..... web programming AND database stuff.....

note, though, that you won't master either one, you'll just touch both of them.

also note, coldfusion is a markup language, much like html; it is not a programming language.


as far as learning C before school?

nah. don't bother. they'll hold your hand through it like you are a toddler if it is an intro course. you might as well spend your time learning something you're less likely to have in a class.
 
If you are looking to go with something web related i'd recommend php and mysql. There is tons of documentation as both are free, opensource and widly used. http://www.php.net. Google will be a great friend along the way. You probably don't even need to buy a book to get started. http://www.w3schools.com/ should provide you with tutorials that let you see some results. Then once you understand the basics go ahead and search google for information on specific areas or if you want, buy a book. I can't be much help in that department tho as i've only bought one computer science book even though i've taken 6 classes now, I just dont find them to be that helpful since I go to lecture most the time and pick it up there. Any missing information is available online if I look.

However, dont run away from c/c++ if thats what interests you. It is a lot more powerful than any kind of website you would be writting in the same amount of studying/time.

My first c++ project was actually something I found in these forums. Someone had suggested that all the coders write a program to find prime numbers. We raced to see who could find the most the fastest and with the least memory -- writing to file instead of screen was essential. There are actually a lot of obvious and some not so obvious places to speed up the code considerably. That was posted as programming challenge and I was excited to do the next one but it never seemed to come around. Not sure what ever happened to those. Since then, my account expired and I couldn't get it back. Not sure what happened with that but now I get to work my way back up to having a respectable title under my name :)

My next c++ project I did for fun, was one that found solutions to the game clix (also known as same for linux users.) Clix was a game I found online on one of those javascript websites and I wanted to get all the highscores. So I did. An interesting thing I found along that way is that its simply not acceptable to attempt every permutation like I was originally. This quickly became an exercise in strategy. And with more complicated strategies came new ways of thought. Also since this was computationally intensive, I had to find places to optimize code anywhere I could. That alone was pretty fun.

So, go ahead and learn whatever language looks interesting to you. If after a few weeks you lose interest try something more difficult or spend some time coming up with a problem that you would like to be able to solve but simply would never want to do by hand. Make a program that parses porn sites and puts all the pictures into a single page -- hey, if it helps you learn go for it (just dont post the page here, lol.) That last idea was a half sarcastic but the point is, do something that will hold your interest and the learning will just come.
 
Pick up A Discipline of Programming by Edsger W. Dijkstra. It won't teach you any new languages, but it does contain fascinating insights into thinking about programs. The book is fairly expensive (~$80), but you should be able to find it at any university library (read it in the library if you're not enrolled).
 
well, im a noob and went ahead and bought SAMS Teach Yourself C in 21 Days. I heard it was good and maybe it will help me at least get my feet a little wet
 
Can't go wrong with K&R if you wanna learn C.

But, if you're interested in Web programming, C/C++ might not be of much use to you. PHP is one way to go. Java is also fairly popular on the web (as well as being usable for desktop apps and arguably a better language to learn in - PHP is kinda 'dirty').
 
yeah, I'm taking it back today...I'm going to look for one by kernig and ritchie (spelling)
 
I got a C in 21 days book for xmas maybe 6 years ago and made it to day 3 before I decided I didn't like it. I went back to QBasic and played some more with that. A year or two later I took a c++ class in highschool and we used a book whose name I cant remember but i do know the two authors (brothers?) had the same last name. I'm sure someone in this forum will know. Just searched amazon and didn't see it. Anyways, that book was much better and I actually enjoyed it enough that I read half of it before the first day of class. It did a good job of explaining basic variables, then cout, then if, else if, else, while, for, and switch in such a way that i wouldn't think it would take more than a few days to understand them all (maybe i'm being unrealistic because i've known all those for so long?) Anyways, thats a good one if you see it at a library and want to save some money.

One good reference might be my college's 231 course webpage (first c++ class.) It doesn't have any tutorials but you may fancy doing some of the projects on your own. They will all be removed sometime before next school year and then the professors add one project every week throughout the semester. But you can go ahead and download all of them incase you want to try doing one later. http://www.cse.msu.edu/~cse231/ Those are all different from when I took the class but I did help a friend when he was taking it last semester. If you get stuck on any of those projects just send me a PM or whatever.
 
I'm really not sure how they compare to others, but if you're looking for a C++ book I was pretty pleased with Big C++ by Cay Hortsmann and Timothy Budd. Seemed to be written better than any of the (read: relatively few) texts I've come accross in college or on my own.

The thing is if you're anticipating college you'd almost do better learning some discrete math or something because every program is somewhat different as far as what language they teach in what format, which is just as big a deal as languagen and algorithms at the beginning.

Programming is really a dicipline derived from logic and mathemtics.
 
Software engineering is a discipline. Programming is a job.
 
Honestly speaking, PHP is fun to play with, and I enjoy using it and comes in handy to make cool stuff, but PHP has almost no application in the professional world and MySQL is not a real SQL server.

Don't get me wrong, I love PHP and MySQL, but almost all professional websites use Perl\Python\ASP\Ruby and PostgreSQL or Microsoft SQL server. But hey, if you're not worried about that and just want something to play with, PHP and MySQL is A LOT of fun to play with :)
 
During the years people have spent dismissing MySQL, it keeps getting better. I'm not sure that I'm ready to agree that it's world-class, but many professional sites use it. Just look at the case studies on the mysql.com site.
 
mikeblas said:
During the years people have spent dismissing MySQL, it keeps getting better. I'm not sure that I'm ready to agree that it's world-class, but many professional sites use it. Just look at the case studies on the mysql.com site.

No, i'm not dismissing it, i'm just stating what i have learned from talking to professional web developers. My dad develops stock trading engines with Reuters (less than 5ms latency on stock quotes worldwide garunteed! :eek: ) and they exclusively use Tomcat\JSP\Microsoft SQL server

I use MySQL on all my websites and love it, and a little birdy has told me Vonage uses MySQL for all their stuff too, even handling phone calls :eek: so i'm sure its a robust and powerful system.
 
MonkeyShave said:
In my opinion, a bad book on C or C++ is worse than no book at all.

So true.
During my first year of university, I took a course where we were recommended a very poor C++ book. I already knew C/C++ fairly well, and reading the book just made me stupider. The year after they changed their book recommendations, which is good, but it meant I couldn't sell my old copy, and it's just collecting dust now. :(
 
jimmyb said:
So true.
During my first year of university, I took a course where we were recommended a very poor C++ book. I already knew C/C++ fairly well, and reading the book just made me stupider. The year after they changed their book recommendations, which is good, but it meant I couldn't sell my old copy, and it's just collecting dust now. :(
Finally, after 5 years, somebody agrees with me :)

I'd say that a bad book on programming (in general or on a particular tool/language) is like a pair of glasses in the wrong prescription or an ill-fitting pair of shoes.

For the OP, I've heard good things about Accelerated C++ (Koening & Moo), but I don't own a copy myself, so I cannot vouch for it personally.
 
jimmyb said:
During my first year of university, I took a course where we were recommended a very poor C++ book.
Oooo, dish dish. Which book was it?
 
The book is "Object-Oriented Programming in C++" by Nicolai Josuttis.
I'm told it was translated from German, which might explain some of my problems with it. :eek:

I should add, apparently the author is fairly respected, but not in the case of this book.
 
Back
Top