
|
View Full Version : How hard is it to learn programs on your own?
Like, I would like to learn PHP and some other languages on my own over the summer and I was wondering how hard it would be, and just what books are good for self teaching. Should I start with PHP or should I start with C++? I know no programming by the way, besides HTML and I don't really count that. Is it possible to learn at least the basics of PHP (or C++) in about 2-3 months? If I shouldn't start with these, is there another program that would be better to start off with or should I just go ahead and dive in?
Melitaweb 05-15-2003, 05:48 PM C++ is an excellent language to learn. It is pretty universal and will force you to learn the art of structure progamming.
Having said that however you may find that PHP is more practical, simpler, and more immediately useful. It would all depend on how you intend to apply yourself. For web development I would say go with PHP. There are excellent tutorials online and www.php.net is a good place to start. I have known people go from no programming experience to being proficient at PHP in a very short space of time.
kneuf 05-15-2003, 06:07 PM yeah, shouldn't take you long to learn PHP. I learned (most of it) over winter. I still don't knoe OO yet :(. I plan to do that sometime soon. Oh, I havn't used any books yet.
oops, ilyash pointed to me that it's OOP, not OO. I've never used it so I don't recall much about it.
ilyash 05-15-2003, 06:11 PM its called OOP not OO
dont try to start with object oriented programming...
object oriented programming?
jb4mt 05-15-2003, 09:28 PM Originally posted by Kit
object oriented programming?
That's right, Kit: object oriented programming. You might also check the recent post on C++ books. I would choose PHP if you want to learn a programming language primarily for the web. Otherwise I might look at C or Perl. Perl in particular will also give you a leg up on web programming as well. C will give you a leg up on C++ and eventually object oriented programming.
Java would also be an excellent choice. Perhaps the best.
Senad 05-15-2003, 11:31 PM Hi, I would reccomend you go to www.deitel.com and buy their Course books. I learned Java and C++ within four months after taking their courses. Very easy guide and I highly recommend any of ther programmnig cyber course books. Passing me through college they are :D
rooshine 05-16-2003, 02:34 AM I'm not sure if I can add anything that hasn't already been said, but here goes...
You can definitely learn to program over the summer. I would recommend PHP over C++ for two reasons:
1) PHP is easier than C++. Some people do well with C++ without previous programming knowledge, but it's not the easiest language to learn.
2) You can put PHP to use right away. This is extremely important. The best way to learn programming is to practice, and when you can see tangible results you'll be inspired to do more. You'll constantly be trying to figure things out, checking tutorials and forums. That's not to say you can't do that with C++ or C, but being you are at this forum, it's reasonable to assume you're interested in web programming.
As JB said, you should also strongly consider java. Java is more approachable for the beginner than C++, and you'll have the benefit of learning oop right from the start. Plus, with java you can write cool programs for the web, or write stand alone apps. The downside is that java will probably take you longer to learn than PHP. First you'll have to learn java, then you'll have to learn server side java. And finding a good host for your java apps is both more difficult and expensive.
Whichever language you choose, it will likely be the most difficult you learn. Once you learn your first language, picking up new ones gets easier each time.
X-Istence 05-16-2003, 07:32 AM i started with C++, and found it an easy language to learn and i can write simple programs to do what i need them to do, but i have to say that PHP has been the language i have been coding in since its really a language for the web. My entire website is backended by PHP and MySQL, and without it would be slower. I tried perl and found it really hard to learn
I would personally suggest PHP if you want to make webbased applications, if you want to make binaries to add to your /usr/bin for your clients to use or just you, then C++. Its a personal choice, you have to make it.
PHP Homepage: php.net
C++ homepage: Dont know of any, cpp-home.com is a good source
kohashi 05-16-2003, 07:51 AM my opinion:
Learn Pascal. Its VERY basic. There is a great tutorial at www.taoyue.com (a guy from MIT wrote it).
Borland offers Borland Turbo Pascal 5.5 free on their website (lost the link... shouldn't be hard to find... under antique software or something).
It is straightforward, if you are eager to learn it will take a month to get the basics down. From there I would recommend moving onto C++. PHP is a quicker language but unless you learn structure and how to program properly you may not write secure scripts or efficient ones. Security is a huge issue, what you learned faster may kill you down the line when you find a gaping hole in your credit card database or something.
I would start with a basic language (pascal as i stated is one... yes they are almost useless for anything practical except learning)
Then move to C++ and then to PHP (assuming these are what you want to learn). Perl is also a nice language to be able to program in, but CGI programs can be written in C++ as well, and tend to run faster because they are compiled.
AlexNguyen 05-16-2003, 10:38 AM Er, I'll respectfully disagree with the Pascal suggestion. Pascal is a relatively old language, and it is no longer in wide use (except for a greatly modified version called Object Pascal used in Delphi), so why bother learning a dead language? Even universities these days in their CS curriculum start out students with C++ or Java, not Pascal and not C.
OOP has been the dominant programming paradigm for the last 8-10 years. These days if you aren't comfortable writing your code in terms of reusable objects, you're unemployable in large corporations that have large software applications. So why start with a dead language that does not force you to use OOP methodology like Pascal?
I say learn Java instead. It's a good language with strong typing and loads of builtin libraries. And it has commerical value right now.
Of course if you just want to scrap together a few dynamic pages, Java is way overkill for that. Just read the PHP documentation at php.net. Easy. Most tech-savvy would be able to do the rudiments (working with forms, using control structures, variable substitution, etc.) in a week, I'd say.
Darktwist 05-16-2003, 11:11 AM I agree with AlexNguyen, Pascal is not widly use anymore...
My programming experience started in school with Visual Basic. I've since programmed with JavaScript, C++, Perl, ColdFusion, and now primarily PHP.
Just in terms of learning about programming, I highly recommend starting with PHP, for the following reasons:
* It has, in my opinion, an excellent syntax which resembles that of other programming languages that you might be interested in, such as C++.
* Simplicity. PHP is not as simple as some people will tell you. Alot of people say they know PHP, but how skilled they are and how good of a programmer they are varies widely. However, PHP is simple compared to languages like C++ because it does not have strong variable typing or complex memory management issues, and you do not have to compile your programs. Let me tell you, you're in for a lot of frustration if you start out with something C++ where you have to recompile the program every time you make a change instead of just clicking Refresh in your browser.
* It sounds like you're already interested in web development, so there will be practical applications for PHP that will really accelerate your learning, compared to the useless, contrived programs that you would have to start with to learn something like C++.
* Much easier to get help with PHP than C++. Check out a site like Devshed that has a bustling PHP forum.
If you're actually interested in it and can put a little time into it, it would be impossible not to learn the basics of PHP in 2-3 months. You might even be able to go considerably beyond that.
So okay, let's say I start with PHP, should I just stick with tutorials online or are there any good books that will also help (like PHP bible)?
jb4mt 05-16-2003, 08:17 PM Originally posted by Kit
So okay, let's say I start with PHP, should I just stick with tutorials online or are there any good books that will also help (like PHP bible)?
I haven't bought a PHP book in ages, but do a search on amazon.com, and read the reviews. You can even sort so that the highest rated books come up first. And you can try before you buy at safari.oreilly.com.
runesolutions 05-17-2003, 07:22 AM I think it depends what you want to program.
If you're going to tinker around with a bit of web scripting, then PHP is probably as good a place to start as any. Just grab yourself a decent book and you'll probably be up and running in a week or so.
If you're talking about larger applications, commercial software and such, it's a whole different ball game. You can learn it all from books, but it's likely to be time consuming, so some sort of formal training is probably best.
For this sort of stuff you need a proper grounding in analysis & design principles, requirements capture, testing, QA and project management. In fact, these things are often far more important than programming skills (which most 'hackers' (meant in the nicest way) can pick up fairly swiftly).
A good hacker does not a commercial developer make!
kohashi 05-17-2003, 08:02 AM I would start with a basic language (pascal as i stated is one... yes they are almost useless for anything practical except learning)
I dont know why anyone posted such comments as don't learn useless language. I know pascal is virtually useless. The point is that you need to understand programming fundamentals before moving on to more difficult things. Pascal is a VERY easy language to learn the basic structures, programming styles and methods on. It will take less then a month to learn pascal enough to feel comfortable writing basic programs. Then move on to C++ or PHP or whatever you want. You wont regret it. You will at least gain some problem solving experience with a very simple language. It is this problem solving that will help later down the road if nothing more (but there is a lot more... as much as many people will say there is not).
krumms 05-17-2003, 10:52 AM I know pascal is virtually useless
Nothing wrong with Delphi, however, which also includes a RAD environment. If you can handle the object oriented aspects of it, it would be worth a look. I'm sure Borland/Inprise has a free trial up somewhere ...
runesolutions 05-17-2003, 11:49 AM There are only 2 languages: assembler and everything else.
Well, that's what a previous boss of mine used to say. I think it's a little bit more complicated than that, but what he was getting at is that if you know how to program well in one of the 'anything else' languages (any one of them), it's fairly easy to learn another.
I don't think it's worth getting religious about languages. Before starting my own businesses, I worked in the computer industry for 20 years, and one of the things I never concerned myself with when employing was what particular programming language skills a person has. I wanted someone who could program well - that was the primary requirement.
Things have got a little more complicated lately though. I wouldn't rate someone with Java only as having the same programming language competence as I would if they had skills in another language.
Just my opinion, of course.
I managed to learn all the basics of php in just over a month (although I have done a lot of programming before). I would recommend "PHP and MySQL Development". Its a Sams book - ISBN 0-672-31748-2
Good Luck!
jb4mt 05-17-2003, 09:52 PM Originally posted by disoft
Things have got a little more complicated lately though. I wouldn't rate someone with Java only as having the same programming language competence as I would if they had skills in another language.
Just my opinion, of course.
I would certainly consider a Java-only programmer, who TRULY understands OO, much better than someone with a smattering of PHP, Perl and/or Javascript.
kidfive5 05-17-2003, 09:55 PM I am a windows programmer, so I learned Visual Basic first and then moved on to ASP and ASP.net
runesolutions 05-18-2003, 01:28 AM Originally posted by jb4mt
I would certainly consider a Java-only programmer, who TRULY understands OO, much better than someone with a smattering of PHP, Perl and/or Javascript.
Oh yes, so would I.
What I was getting at is that someone with only Java skills might struggle with a lot of languages because of the way Java protects you from stuff. Such a person might struggle with pointers, complex memory allocation and self-coded garbage collection.
I've generally noticed that it takes C++ trained people a much shorter period of time to pick up Java than it does for Java people to pick up C++.
It's only a minor point. If I was interviewing a candidate with Java and a candidate with C++, I'd be more interested in what they know about requirements, design, QA, testing, estimating and stuff like that than I would about the language specifics.
I've never had a book for PHP, I've learned everything online. If you think having a book will help you in some way, then you should go for it. Personally I see no advantage and you can find all of the information (the technical information, anyway) online. The online PHP manual, at www.php.net, is pretty good and will satisfy (as much as anything can) all of your reference requirements.
[And their URL matching here is wack -- isn't this V bulletin?]
I think you'd be wasting your time doing anything with an antiquted language like Pascal. I can't imagine how it could be easier than PHP for learning programming fundamentals.
disoft
I don't think it's worth getting religious about languages.
I agree, but that 'anything else' category is pretty broad. Comparing ColdFusion and PHP, for example, there is a significant difference. I can program in both, but even ignoring its very real shortcomings, ColdFusion's syntax is a constant source of irritation to me. I perform better when I'm not constantly irritated.
MikeBarolo 05-19-2003, 11:07 AM They have tutorials there (written by some of the best coding writers) and their forum section is extremely active.
|