View Full Version : Which programming language should I learn?
debunked
Sep 15th 2004, 9:19 am
PHP, ASP, C++, etc
Which would be the best for me to learn? Most usable? most flexible? Which will be the most needed in the near future?
Thank you for your input.
T0PS3O
Sep 15th 2004, 9:21 am
What do you want to do?
Web based? Web sites, software, desktop applications? Database programming, mobile technology?
debunked
Sep 15th 2004, 9:26 am
Most likely web-based to some degree since that has a lot to do with the future. This would include databases.
I wouldn't mind making desktop applications or software to sell.
That is why I ask which one may be most flexible, etc...
digitalpoint
Sep 15th 2004, 9:27 am
I would say PHP then.
T0PS3O
Sep 15th 2004, 9:42 am
PHP with databases gets you up to intermediate/pretty high tech level in no time. I was impressed myself with how quick I got to do pretty nifty stuff with just the PHP Bible and php.net and some sites' communities.
I don't know about PHP's desktop application suitability but since it all seems to go XML DOM etc. nowadays PHP should be able to handle all of that and if not, at least glue well with those that do.
PHP + MySQL would be my recommendation then indeed.
vinyl
Sep 15th 2004, 3:52 pm
None of those listed. Learn C. If you know C you know PHP, Perl & C++ by default. ;)
// umm, i forgot Shawns real choice... shell programming... youll know that too! :]
// one more note - your new avatar rocks!
debunked
Sep 15th 2004, 4:21 pm
None of those listed. Learn C. If you know C you know PHP, Perl & C++ by default. ;)
// umm, i forgot Shawns real choice... shell programming... youll know that too! :]
// one more note - your new avatar rocks!
I don't know but am assumming C++ is C but more ??
I wish my bus looked as nice as the one in my avatar, but mine needs more work and right now I am broke and may even have to sell her. 1958 VW BUS (http://www.heywhatsyour.com/1958_vw_bus.htm) for photos, I do have the motor back in and it is 12 volt now and I drive it daily except now the rain is coming and I still have a 6 volt wiper motor (not hooked up)
Will.Spencer
Sep 15th 2004, 6:09 pm
PERL babay!
disgust
Sep 15th 2004, 6:12 pm
C++ is similar to C, but C can't be object oriented (C++ can be)
Dji-man
Sep 15th 2004, 6:18 pm
PHP, ASP, C++, etc
Which would be the best for me to learn? Most usable? most flexible? Which will be the most needed in the near future?
Thank you for your input.
Thank you debunked for starting this thread. I was asking myself the same question, so if you don't mind, I'll steal you survey results and follow the group's advice. :D
So as soon as i'll have nothing better to do of my Saturday to spend it rebuilding my machine as Win2k + Linux, I'll get to it.
Dodger
Sep 15th 2004, 8:35 pm
I would go with php and mySQL on the web. If you have the money to support your hobby, you could take up ASP though. ;)
The thing with PHP is that there is a lot of good source code already written for you and to learn from. It is truly an Open environment with lots of support.
digitalpoint
Sep 15th 2004, 10:37 pm
Not only is PHP free, but the syntax is cleaner than ASP, more widely supported in hosting environments, and it's faster.
debunked
Sep 15th 2004, 11:11 pm
thanks for the input, I don't mind if more people chime in or add to the pros and cons.
I will problably crack open a book on the one that seems to have the best future and usability.
Also, yes still the results - hope your weekends don't get to boring. lOL
bobafind
Sep 16th 2004, 3:10 pm
Don't attempt PERL unless you like headaches or are really, really geeky.
PHP and C can almost be learned together since there is so much in common between the two, especially in syntax.
There is a good book called The C Programming Language (http://cm.bell-labs.com/cm/cs/cbook/), which is basically the procedural (read: c) programming bible. It's easy to read, has lots of good exercises and has a good style.
Learning PHP once you know the basics of C is easy, just make sure to have the php manual (http://us2.php.net/manual/en/) handy and you'll be fine. There is also a searchable, indexed extended windows help formatted php manual which I use almost whenever I am deep in code available here (http://us2.php.net/docs-echm.php).
Do you know any programming at all (even BASIC) or are you starting from scratch? The reason I ask is that if you know even just the basic constructs of programming (variable, funcitons, loops, conditions) then switching languages is not too hard. As long as you stay away from PERL. *ducks as shoe files overhead*
exam
Sep 16th 2004, 6:22 pm
Like several people have said, I would start with C or C++ (you pick), learn the basic syntax, play around with some basic progs. After this, you can pick up php with about a 50% discount because of syntax similarities. Just dive in and get started. If you don't know anything about programming, I will be hard at the beginning and small things will be a great hinderance, but if you can weather the start you'll be fine. It gets easier with time.
-d-
debunked
Sep 16th 2004, 9:51 pm
I learned basic back on commodores vic20 if you ever seen one of those?? I sound old now but I was only about 12 then. I haven't learned html as far as sitting there and typing out a page, but I can read it and understand almost anything and it doesn't take long to 'reverse engineer' html.
Basically I feel I can learn any language fairly quickly and thoroughly if needed. I just keep getting frustrated with software that is limited one way or another and mostly web based type programs or databases for e-commerce, etc...
Maybe I want to build the next search engine and take over the world..... ha ha ha
- ouch don't pinch me..
iconv
Sep 16th 2004, 10:21 pm
I'd vote for Perl because it is so incredibly versatile, and it has a very elegant object concept. And it allows solving simple problems in a easy manner, whilst allowing to tackle more complicated constructs as well. A beginner can use a subset of the available vocabulary and be efficient rather quickly.
melfan
Sep 16th 2004, 10:45 pm
I also program in PHP but I prefer ASP/ASP.NET -- It is the future :)
C is obselete you dont have to learn it if you have no plans to join middle level programming job. You can jump to JAVA, PHP or C# instead
bobafind
Sep 17th 2004, 7:12 am
Java is not a bad choice, since OOP is not going away any time soon. And with all the classes out there, once you learn the basics, you can plug in just about anything and not reinvent the wheel.
PHP is similar in that it can either be OOP (Object Oriented Programming) or procedural, and there are tons of classes (Code components to add functionality) available for free out there - see http://www.phpclasses.org
Romeo
Oct 6th 2004, 7:02 am
C++ is similar to C, but C can't be object oriented (C++ can be)
Agreed... I think that the most comfortable and more flexible language for programming web is Perl with Apache server and MYSQL database.... Actualy it is the most popular around the world :)
Romeo
Oct 6th 2004, 7:04 am
Agreed... I think that the most comfortable and more flexible language for programming web is Perl with Apache server and MYSQL database.... Actualy it is the most popular around the world :)
Anyway.... if you really going to create some kind of desktop themes and have a possibility to work with OOP I would sudgest Java (sorry for my spelling ;))
hurricane_sh
Oct 6th 2004, 8:36 am
It depends on your purpose.
If you want to look for a good job, Java is the best choice.
If you want to develop desktop software, C++ is best. (Visual C++/MFC)
If you want to program your own websites, PHP is the fastest way.
debunked
Oct 6th 2004, 9:07 am
It depends on your purpose.
If you want to look for a good job, Java is the best choice.
If you want to develop desktop software, C++ is best. (Visual C++/MFC)
If you want to program your own websites, PHP is the fastest way.
Hurricane,
This is the kind of answer i was looking for, this helps. I was also told if I learned C first it would be easy to transition to PHP, but is C known as C++ or is it different?
Thanks
T0PS3O
Oct 6th 2004, 9:15 am
I was also told if I learned C first it would be easy to transition to PHP, but is C known as C++ or is it different?
As explained twice before in this thread:
C++ is similar to C, but C can't be object oriented (C++ can be)
Yes PHP after C, or the other way around is easy enough. Java is a whole different thing.
And like I asked you right away and what Hurricane told you, it really depends on what you want to do.
Do you know what you want to do with your new-to-be-found skills? Have you decided on one yet? Have you played around with one or two yet?
debunked
Oct 6th 2004, 9:23 am
top30 - The main reason would be for our websites and incorporating a database. PHP does sound like the best option and I have been looking at it. But the one comment I keep hearing is learn C first. That is the only reason I asked again.
I haven't done much programming languages since basic and variations of basic. (with exception of some html, I can read html better than write it, but I let programs do the majority of that.)
Time is not on my side at this time, that is why I ask the questions ahead of time, so I can shorten the learning curve as much as possible.
Thank you for all your input.
hurricane_sh
Oct 6th 2004, 9:26 am
Hurricane,
This is the kind of answer i was looking for, this helps. I was also told if I learned C first it would be easy to transition to PHP, but is C known as C++ or is it different?
Thanks
I don't think so, it may take you more time to study C than learning PHP, not to mention the transition time. You should ignore C language completely unless you want to do some very low level coding(game, driver), it's also not helpful to build a OO programming concept.
If you want to be trained as a career, learn Java. For your own websites, PHP is definitely the best choice.
After you learn something, you will know what to learn yourself according to your interest and intention.
T0PS3O
Oct 6th 2004, 9:28 am
Well, Yahoo swapped to PHP because it is known to have the steepest learning curve, mainly because of its clear syntax (like C). An advanced PHP prgrammer who has never done JAVA will have a real hard time decoding JAVA or even JavaScript. PHP is a breeze.
Website + Database = Definitely PHP IM(and many many millions of other's)O
I think that the 'Learn PHP in 24Hrs' book is about the only one that can keep its word.
And: It's free, there's likely to be a script out there already for whatever you want to do, it's easy, it's fast and it's powerful. And if you get stuck; it normally doesn't last ;onger than a few hours because of the huuuuge php community out there always willing to share and help.
debunked
Oct 6th 2004, 9:52 am
That sounds like what I want to do -- I will look for that book - thank you sincerely-thanks
thedude
Oct 6th 2004, 12:05 pm
I voted PHP simply because it is so prevalent in today's websites. Two more that are good to know are Perl and Javascript which are also very important.
daboss
Oct 21st 2004, 4:07 am
PHP is only a scripting language - a sophisticated one though. C/C++ is a true programming language that has to be compiled and linked before being deployed.
I cannot see PHP being used to develop desktop and client/server type applications - ever! Just as you cannot use C/C++ to develop dynamic websites.
And as someone has mentioned, C/C++ takes a hell lot more time to learn than PHP - just because it's a hell lot more powerful. You build radar/air traffic control systems with C/C++ and you build forums like DP with PHP.
Foxy
Oct 21st 2004, 4:48 am
Debunked - I originally trained on Fortran IV .....yep...whats that???? but in viewing all, at the moment, I have chosen PHP to use and learn (in that order) for the reasons :
1. I can get started and hack away quickly with no language skills
2. It is widely subscribed to and is free
3. It works easily with mysql
4. It is similar to C++
5. It has a large number of developed "modules" that I can hack at
6. It uses html so I can hack around
7. It will run on my desktop....eh? Oh yes it does, and mysql and apache etc
and yes I am playing catchup but then this seems to be the quickest way and aren't we all?
Weirfire
Oct 21st 2004, 4:52 am
PHP I reckon
Ozz
Oct 25th 2004, 10:27 pm
If you want to be a Web Guy... PHP... if you want to learn everything about programming and do all type of jobs related to programming (includig web) my suggestion is start with C++.
Sorvoja
Nov 1st 2004, 1:07 pm
It depends on if you want to learn how to program or if you just want to do web stuff quickly.
If you are a new to programming then I would suggest starting with Java or Lisp, sice they are both very nice beginner languages. Once you learn how to program you will be able to program in any language. I am fair Java and C programmer, so I used less then a week learning each of Perl and Python. I do not have any manuals or formal PHP training, but I have no problem writing and more importantly debugging PHP code other people have written. In the end it is all computer science. I try to pick the language best suited for the task I want to have done. It is a nice idea to spend a lot of time learning SQL, since everything is querying a database now days.
minstrel
Nov 1st 2004, 9:28 pm
Once you learn how to program you will be able to program in any language.
Well, not quite, but it is true that once you learn one programming language you will find that learning others is much easier -- the basics are pretty much the same... it's just a matter of learning the specific vocabulary and syntax for the next language.
mushroom
Nov 1st 2004, 9:44 pm
Well, not quite, but it is true that once you learn one programming language you will find that learning others is much easier -- the basics are pretty much the same... it's just a matter of learning the specific vocabulary and syntax for the next language.
This is very true, I have spent the last couple of years learning PHP and now when I look at C or pearl script I can alomst understad what it dose and how it dose it.
melfan
Nov 1st 2004, 11:14 pm
If you want to be a Web Guy... PHP... if you want to learn everything about programming and do all type of jobs related to programming (includig web) my suggestion is start with C++.
Starting from C++ when you are a beginner is quite frustrating. C++ is not hard but it is complicated especially for beginners. If you want pursue on C++ try learning C first or you can start with JAVA and forget about C++
Michael
Nov 1st 2004, 11:47 pm
After your amplification I think Shawn is correct - PHP. However if you were learning a programming language with a view to becoming a contract programmer I would suggest ASP.NET These programmers are already getting superior rates in my company and the gap looks to be widening almost daily.
- Michael
macdesign
Nov 2nd 2004, 9:14 pm
Debunked - I originally trained on Fortran IV .....yep...whats that????
The first language I learnt was Fortran, after that I moved up :) to Fortran II. I probably have learnt and forgotten more programming languages than anybody ever heard of.
The main problem is that I switch back and forth between multiple languages, and end up typing in the syntax for the wrong language. One day last week, I was programming in FoxPro, C++, Visual Basic, PHP and Perl.
I started learning PHP a couple of weeks ago, then converted a FoxPro program to PHP, and was able to build on my Perl knowledge to learnt it pretty fast. I was really impressed with myself learning some up to date technology, till someone told me that PHP and SQL is obsolete, and Java based websites are the way to go - since you can build sites that don't have to depend on cookies to maitian the state of the user action. I don't even know what he's talking about.
minstrel
Nov 2nd 2004, 9:20 pm
The first language I learnt was Fortran
Same here... using a card punch / card reader and a Burroughs main frame to compile and debug the damn thing...
macdesign
Nov 2nd 2004, 9:25 pm
What's this - the old time programmers convention.
Burroughs 5500 with Algol and Teletype machines for real time access.
Burroughs 283 - a mini computer that read data off paper tape - programmed in Assembler language.
ResaleBroker
Nov 2nd 2004, 9:30 pm
I voted PHP [for the purpose of building websites]. Until earlier this year both of my sites were straight HTML. Within no time both sites were built/rebuilt using PHP and I've never looked back.
minstrel
Nov 2nd 2004, 9:30 pm
I forget the model number (5700? 5800? 5900? something like that, I think... later replaced by an IBM 360)... but it used the CANDE language which was kinda neat. And yes, I also learned Algol on that same machine...
First ever desktop was a 64K HP with interpreter Basic, a cassette drive for storage, and a printer with heat sensitive paper...
Foxy
Nov 2nd 2004, 11:03 pm
Thats me too guys - Fortran on an IBM 360/30 Punch Cards etc and many days sorting after dropping the lot on the floor!! Never did algol but fiddled about with assembler a bit. Long gone now
minstrel
Nov 3rd 2004, 4:21 am
many days sorting after dropping the lot on the floor!!
Ah, yes... I well remember that "just one last run" late at night before the computing centre at the university closed when en route to the printer I dropped a rather large stack of cards on the floor... after that, I decided that perhaps numbering the cards WAS in fact a good idea, since we had automatic sorters that could have rearranged them for me in seconds... :(
Phil Tanny
Nov 8th 2004, 6:50 pm
I can't compare one language to another.
I jumped in to Perl starting from Perl For Dummies by Paul Hoffman. It's amazing how much useful stuff you can do on the Net just by mastering that book. Another good book is Perl Black Book by Steven Holzner.
I wrote a useless C app once. Personally I wouldn't invest time in C if my purpose was to write web applications. Why not spend the same time learning Perl or php?
I tried RealBasic for awhile. It was pretty nifty, but my main interest is CGI apps so I put it aside to focus on Perl.
If you are comfortable with both Perl and php, how would you compare the two?
Sorvoja
Nov 10th 2004, 3:41 am
I changed my mind, I will suggest Whitespace (http://compsoc.dur.ac.uk/whitespace/) it is not a common language, but if you can master it as a your fist programmin language then you will have no problem learning any other programming language.
expat
Nov 10th 2004, 7:02 am
php just beats
AIM 5601 Rockwell asembler 8k and cassete tape and oh yes heat sensitive paper roll.
Anyone remember 16k eproms that could be UV erased - well it was before sunbeds where common..... (may show my age....)
M
macdesign
Nov 10th 2004, 7:33 am
Yeah I had a home computer - 6502 based [before IBM Pc' were around] and was warned to be carefull if playing around inside, cause if I pulled the tape off the eprom, the daylight exposure could erase my OS kernel. That machine also operated off a cassette tape. It was an Exidy Sorcerer, that had the unique capabaility of running two cassette tapes and turn the motors on and off. Some town in the US, had developed a billing system for the electricity service that ran on this machne, since with two cassette tapes you could actually do some real work copying last months data to the next month.
expat
Nov 10th 2004, 9:45 am
.... since with two cassette tapes you could actually do some real work copying last months data to the next month.
...well as long as noone noticed that they where billed the same amount each month....
yes I think you're right it was a 6502 8bit revolutionary...
the otherone was the IBM3/15 or so where you could stop the processor manipulate the bits and start it again.... great way to do balance books when just a pennies / cents where missing....
(Although now its even easier just call Arthur Anderson or so...)
M
johncr
Nov 11th 2004, 9:39 am
Same here... using a card punch / card reader and a Burroughs main frame to compile and debug the damn thing...
Hmmm. You are a bit older than me... regarding computers I mean :D I'm sure you also know Cobol, Pascal and... do you remember a stupid language named Modula-3 or something like that? Arghhh!! Fortunately I took C at the right moment, when I was almost ready to commit a Modula-3-suicide.
minstrel
Nov 11th 2004, 10:08 am
I never learned Cobol, actually -- business wasn't my interest. But some Pascal, yes... I never dabbled in Modula... or Delphi for that matter.
aspcoder
Dec 3rd 2004, 4:16 am
ASP and then ASP.net is good. Because they are from Microsoft and as a rule, if you can not compete, go with them.
minstrel
Dec 3rd 2004, 7:51 am
Okay... I'm going to go way out on a limb here and issue a strong recommendation for interpreter BASIC v. 0.9 :D
debunked
Dec 3rd 2004, 8:01 am
Things your kids will say:
What is a typewriter?
What is a cassette tape?
What is dial up?
then maybe later:
What is HTML?
Who was Bill gates?
But Minstrel, I don't know what interpreter basic is and I'm 33?????
minstrel
Dec 3rd 2004, 8:11 am
But Minstrel, I don't know what interpreter basic is and I'm 33?????
*sigh* these young whipper-snappers...
Interpreter BASIC used to come with every (or most) earlier versions of DOS. It was like a stripped down version of compiler BASIC without a compiler -- when you ran the program, each line would be read and interpreted and executed on a real-time as-you-go basis. Slow of course (especially on an 8088 or 80268 machine) but it was actually quite surprising how much you could do with it...
ResearchTechs
Dec 4th 2004, 2:16 pm
Heh, I started out editing Nibbles in Basic from Dos.. Anyway.. I've gone on to learn C, C++, Java, Visual Basic, and a decent amount of PHP. Of all of them, I'd say C was the most foundational, Java has the best API for doing current things in application programming (interfacing with SQL, server side stuff), Visual Basic .NET is the easiest to use for programming network interfacing programs, and PHP is fast and easy to use for web design. Hope that helps.
Design1
Dec 7th 2004, 12:20 pm
I started out with ASP and still suck at it (but can do most of the basics). I am now trying PHP with my new PHP 4 Beginners Guide. I will probably get the ASP & PHP book after that and get a good understanding of them both. Then if I am really feeling adventurous i will go for an advanced book or maybe work with flash again. I am a designer but flash drives me nutty and while programming seems impossible at times, its fun to have a functional result then spice it up with graphics. :D
miko67
Jan 5th 2005, 6:14 pm
My oh my what a crowd of old computer geeks... Oh how I envy you :)
I'm closing in on 40 soon, and I just realised I HAVE to learn PHP (since I have to stay focused and not get lost in ambitions to learn perl too and so on and so forth).
The only reason I know I´ll get there is, that I really do love sitting here diddling with my computer even though it´s late at night and the misses plus kids are sleeping.
Did I mention this is a cool hang-out ;)
mushroom
Jan 5th 2005, 6:40 pm
Welcome to Digital Point "miko67"
Don't forget about PHP's favorite partner Mysql.
nevetS
Jan 6th 2005, 4:29 am
php is easy to learn, but if you know C++, it translates well into everything. Back in the day when I went to school, we learned pascal as it was a language written especially for teaching. The concepts used in that language are pretty universal. If you have the time and patience, learn C++.
Arnica
Jan 7th 2005, 5:29 am
*sigh* these young whipper-snappers...
Interpreter BASIC used to come with every (or most) earlier versions of DOS. It was like a stripped down version of compiler BASIC without a compiler -- when you ran the program, each line would be read and interpreted and executed on a real-time as-you-go basis. Slow of course (especially on an 8088 or 80268 machine) but it was actually quite surprising how much you could do with it...Ah yes those were the days.
goldensea80
Jan 7th 2005, 5:36 am
Yeah, PHP, free, easy, fast....
Up2U - YourWorld
Jul 28th 2005, 6:49 pm
PHP is opensource - lots more instant support
ASP is owned by that monopoly that is ruining the web with IE - so no-go for me!
minstrel
Jul 28th 2005, 7:04 pm
:confused:
How exactly is IE "ruining the web"?
You're entirely at liberty to surf with another browser if you wish...
debunked
Jul 28th 2005, 7:20 pm
Bringing up an old thread to get 25 posts maybe??
I still haven't the time to learn PHP at the moment but is still a priority. I should pick it up quickly (I hope) so that I can start rewriting our sites.
Up2U - YourWorld
Jul 29th 2005, 12:38 am
:confused:
How exactly is IE "ruining the web"?
You're entirely at liberty to surf with another browser if you wish...
Let me tell you now that I use FireFox.
Mozilla follows standards-compliant things, but I then have to make it uncompliant so it doesn't screw up in IE.
IE uses activeX and active scripting, which download spyware - but when you disable it, most sites seem to complain (the same sites in FireFox don't!)
minstrel
Jul 29th 2005, 3:35 am
Let me tell you now that I use FireFox.
No kidding :eek:
Mozilla follows standards-compliant things, but I then have to make it uncompliant so it doesn't screw up in IE.
How can Mozilla "screw up in IE"? That makes no sense. If you're using Mozilla, what does IE have to do with anything?
IE uses activeX and active scripting, which download spyware - but when you disable it, most sites seem to complain (the same sites in FireFox don't!)
Care to give me some examples? I don't have activeX enabled. If sites requiring it complain, I really don't much care. But if the site requires active X, what difference does it make which browser you use to visit it?
Up2U - YourWorld
Jul 29th 2005, 4:52 am
Mozilla doesn't - I am a website designer, so when I design a compliant site, I have to make it non-compliant before it looks reasonable in IE (take www.yourworld.org.uk (http://www.yourworld.org.uk/) as an example - the navbar is not perfect in either, I had to compromise with both)
minstrel
Jul 29th 2005, 6:17 am
Please give me an example of something you have to make "noncompliant" in order to have it work in IE.
Up2U - YourWorld
Jul 29th 2005, 6:22 am
if you have the developer plugin for mozilla, then take a look at the CSS for yourworld.org.uk (http://www.yourworld.org.uk/) and spot the 'inline-block' propery. Technically it should be inline, but then it loses its box style in IE - in FF it changes the size to be minimum for text
minstrel
Jul 29th 2005, 6:23 am
I think you'll find there are similar issues with Firefox.
Up2U - YourWorld
Jul 29th 2005, 6:24 am
But the total number is far less...
jimrthy
Aug 1st 2005, 3:06 pm
Whew! What a long thread! I'm going to try to wade through all this and summarize my thoughts/opinions.
None of those listed. Learn C. If you know C you know PHP, Perl &
C++ by default.
I disagree with this completely. I've been using C++ for about 12 years now.
I still can't figure out perl. (Not that I particularly want to...)
The differences between C and C++ look huge when you're not conversant with other languages.
C++ is similar to C, but C can't be object oriented (C++ can be)
That's not quite[/I. correct. C [I]can be object-oriented, but it would take a lot of tweaking to actually pull it off. Anything you can do with any other language, you can do in C. It's just not usually worth the effort.
C is basically a really "low level" language that leaves you to control all the details. C++ adds a lot of extra details and complications. (It also makes quite a few things nicer, but the important point in your situation is that it's a lot more complicated).
The thing with PHP is that there is a lot of good source code already written for you and to learn from. It is truly an Open environment with lots of support.
The learning curve and entry barrier to PHP are really low. It's a very simple language to learn, and it's easy to crank out some really hefty sites quite easily.
This means there's also tons of really bad source code out there. The latest generation of script kiddies are using PHP instead of perl.
I'd vote for Perl because it is so incredibly versatile, and it has a
very elegant object concept. And it allows solving simple problems in a easy manner, whilst allowing to tackle more complicated constructs as well. A beginner can use a subset of the available vocabulary and be efficient rather quickly.
[Cough, cough]. Elegant is the last word I ever expected to see used next to perl. It's ugly and twisty It's great for hacking out a quick script to do something really minor. But you probably won't be able to figure it out in 6 months, and I've yet to hear of a major project that's really been written in perl.
Re-usable code is absolutely vital. I've heard many people agree that the only languages less readable than perl assembly, machine language, and (possibly) lisp.
Java is not a bad choice, since OOP is not going away any time soon.
And with all the classes out there, once you learn the basics, you can plug in just about anything and not reinvent the wheel.
Java's not too bad as a beginner language. It has a higher initial learning curve than I like for a beginner, but it's high enough level that it's not completely obnoxious, and the huge, cross-platform library is a big plus. I think I'd recommend Java over perl.
If you want to look for a good job, Java is the best choice.
If you want to develop desktop software, C++ is best. (Visual C++/MFC)
If you want to program your own websites, PHP is the fastest way.
I'm inclined to argue against the points about C++ and Java. There are so many variables here that it's impossible to say which is "best."
I have a friend who swears Visual Basic is the "best" language for writing Desktop Apps. As long as you don't have to write any code. Once you have to write code, it's time to switch to some other language and make an ActiveX control that he can drag-and-drop using VB.
But PHP is probably the fastest way to get into creating dynamic web sites.
PHP is only a scripting language - a sophisticated one though. C/C++ is a true programming language that has to be compiled and linked before being deployed.
Well, it's not really all that sophisticated. And I think you're making a bad distinction here. Scripting languages are "true programming languages" too.
C/C++ gets "compiled" into native machine code. i.e. Something your CPU can understand directly.
The "interpreted" languages (this is most of the others) don't. When you run them, an interpreter program reads the program (aka script) and decides what to do dynamically.
Compiled languages can run quite a bit faster than interpreted ones though the difference becomes less and less noticeable with every processor upgrade), but it's a lot faster to develop with them.
Java and python are a sort of bastardized in-between case. They "compile" to a "virtual machine" code. Then the "virtual machine" reads that and feeds it to the CPU. It's generally faster than interpreted code (for non-trivial aplications), but still not as fast as comiled.
Calling one language "real" because you prefer the way it does something is just silly.
I cannot see PHP being used to develop desktop and client/server type applications - ever! Just as you cannot use C/C++ to develop dynamic
websites.
Well, realistically, generating web pages is pretty much a client/server application. And most of the original CGI was written in C/C++. Until people discovered the "delights" of perl. Just for the sake of argument. :)
Although I'll agree with you this far--I think that using C to write a dynamic web site is about as hare-brained as trying to use PHP to write a GUI-based desktop application.
And as someone has mentioned, C/C++ takes a hell lot more time to learn than PHP - just because it's a hell lot more powerful. You build radar/air traffic control systems with C/C++ and you build forums like DP with PHP.
I think it's a misuse to say C/C++ is more powerful. C/C++ gives the programmer a lot more (pretty much direct) control over what the computer is doing. Higher level languages like PHP lets the programmer do a lot more without worrying about so many details, in less time, with a much greater chance of actually getting it right.
I don't think it makes any sense to call either one more powerful than the other. They're just different tools for different jobs.
I think PHP would be inappropriate for an air traffic control system for the same reason as Java. You need such a system to be as close to Real Time as possible. With garbage-collecting languages, you never really know when the garbage collector will run.
Starting from C++ when you are a beginner is quite frustrating. C++ is not hard but it is complicated especially for beginners. If you want pursue on C++ try learning C first or you can start with JAVA and forget about C++
Um, C++ is hard. It's a huge language, and very few people ever really get the whole thing. A few years ago, I hired on at a "C++ Shop." I kept getting in trouble for things like using STL or exceptions, because the other programmers couldn't deal with those basic aspects of the language. Right before I left, my boss admitted they were mistaken during my interviews. They weren't a C++ shop. They were an MFC shop that used as little C++ as possible.
If you are a new to programming then I would suggest starting with Java or Lisp, sice they are both very nice beginner languages. Once you learn how to program you will be able to program in any language. I am fair Java and C programmer, so I used less then a week learning each of Perl and Python. I do not have any manuals or formal PHP training, but I have no problem writing and more importantly debugging PHP code other people have written. In the end it is all computer science. I try to pick the language best suited for the task I want to have done. It is a nice idea to spend a lot of time learning SQL, since everything is querying a database now days.
I don't know about starting out with Lisp, though. I'm in the process of learning it myself, and it's totally different than the other languages I know. I've been told that, if you start with Lisp, it's liable to spoil you, and you really won't want to switch to using the languages that everyone else is using, because there's just so much that's really hard to do.
Otherwise, those are good points, and I'll come back to them later.
I changed my mind, I will suggest Whitespace it is not a common
language, but if you can master it as a your fist programmin language then
you will have no problem learning any other programming language.
That's just nasty! :lol: Just a quick glance, seems like that'd be similar to programming a raw Turing machine.
Interpreter BASIC used to come with every (or most) earlier versions of DOS. It was like a stripped down version of compiler BASIC without a compiler -- when you ran the program, each line would be read and interpreted and executed on a real-time as-you-go basis. Slow of course (especially on an 8088 or 80268 machine) but it was actually quite surprising how much you could do with it...
I'm 33 and I remember interpreter basic. This was on a TRS-80 model III back around 1980. We got the spiffy edition, with 2 floppy drives, but we didn't splurge for the hard drive. Hard drives were just a silly fad idea. Why would anyone ever need more than the 360K we could fit on one of our floppies? Although I learned the version that came with T-DOS as opposed to that high-falutin' new-fashioned MS-DOS.
Bah, this post is too long to publish. I'll continue in a minute...
jimrthy
Aug 1st 2005, 3:08 pm
Oops, I didn't realize I was replying to this particular message. Sorry about any confusion.
But to get back on topic.
I agree that, for your current needs, PHP and MySQL is the way to go. I can't emphasize enough how important it is to learn SQL. In fact, it's worth learning SQL by itself, even if you never do any real programming. If nothing else, it's worth it to look at databases or write, say, Crystal Reports. PHP has (arguably) the shortest learning curve, and is probably the simplest language out there for generating dynamic web pages.
When you're ready to move on to something with more power, I still recommend sticking with a high level language. I'd personally steer you toward either python, ruby, or visual basic next.
Visual Basic because it's probably the easiest language out there for creating simple GUI apps. As long as you don't try to do things with it that Microsoft didn't intend. It's really a very limited language, but you can do some wild things very quickly (if it's not quick and painless, you probably can't do it).
Python or ruby for most of the same reasons that I recommend PHP over ASP. Cross-platform, open source, friendly and helpful development communities. In terms of "developer power" (i.e. Letting you think about the problem instead of the programming language), they're probably the most powerful languages listed in this thread, except Lisp. I don't know much about Ruby, so that's all I have to say about it. As far as python, it doesn't have the insane volume of libraries that Perl has going for it, but I've been able to find some sort of interface for nearly everything I wanted to do.
As a bonus, you can also use both python and ruby for CGI. It's not as simple as PHP, but you have access to a lot more "power."
If you went with python next, it's pretty much a completely painless step to switch to jython and start learning the java libraries. (Jython is python written in Java instead of C. It looks exactly the same, but you use java libraries for everything.
Once you're familiar with the java libraries, it's probably worth learning java. As was said here repeatedly, Java syntax is similar to PHP's. There's just a lot more of it. You have to worry about packages, putting everything into a class, and declaring data types for everything.
After Java, then it might be worth learning C++. Once you know C++, you pretty much know C, but it's still an extra step to actually use C, mainly because memory management gets hairier and you can't use templates.
This isn't an overnight thing, of course. I generally try to learn one new language a year.
Why do I advocate this approach when so many others argued to start with C (or Java?)
First of all, I think you should start with the highest level language possible. When you need to, work your way down. I think every programmer should know several different languages, and plan on learning more. I think it makes the most sense to start out with high level languages because they're the ones that get you doing stuff right off the bat, thus you're more likely to actually stick with it and use them.
Bleh. *Way* more than enough!
minstrel
Aug 1st 2005, 3:18 pm
That has got to be the longest reply I've ever seen in this forum! It's almost as long as the rest of the thread.
That said, you make some interesting points. But I bet most of the members of this forum don't read the whole thing :eek: :D
Infiniterb
Aug 1st 2005, 3:26 pm
That has got to be the longest reply I've ever seen in this forum! It's almost as long as the rest of the thread.
That said, you make some interesting points. But I bet most of the members of this forum don't read the whole thing :eek: :D
I read the whole thing :) Was a good response.
minstrel
Aug 1st 2005, 3:39 pm
Yes it was a very good response. I didn't intend the comments as a criticism of jimrthy's post(s) -- just as a comment on the average attention span of net surfers... :o
debunked
Aug 1st 2005, 6:24 pm
like me.......... I want to read it but don't have the time right now
wow
senexom
Aug 1st 2005, 10:38 pm
Like most people in this tread I'm a programmer and it was interesting to see the responses for this question. Here is what I think... :p
I voted C++ (Because it is the BEST to learn)
Why C++, well ALL of the current popular languages are BASED on C++. From syntax to language structure. PHP is no exception, although much simplified and not as powerful.
C++ is slowly being phased out by a new breed of languages like .NET based languages, JAVA and many others which are simplified. If you learn C++, you can do ALL those "NEW" languages by just grasping the language specific syntax, not the case with PHP or ASP which are completely different.
I noticed that you were asked what your plans were, and you responded that you plan to develop web based apps for starters. Web is moving in the direction of desktop integration, and C++ is by far the most dominating desktop language out there.
PHP on the other hand is extremely capable and easy to learn language, far more capable then ASP. PHP is moving to Object Oriented programming as of current PHP 5 Beta and has partnered up with Sun Microsystems the creators of Java.
C++ is a difficult language to grasp if you have no programming experience, so PHP might be a better option for you especially if you want to experiment with the WEB. But just so it's clear that I'm not contradicting my self and to answer your question of what's the BEST language to learn C++ is still the answer. :rolleyes:
redmachine76
Aug 4th 2005, 4:07 am
for website developement PHP is a good choice.....
eiso
Aug 4th 2005, 4:17 am
I learned PHP before I looked into C++ and my PHP knowledge helped me a lot, and like is said above me , if your going for web dev, go PHP.
daed
Aug 7th 2005, 3:20 pm
I never understood why colleges taught Java/.NET before C. C contains the fundamentals of programming.. functions, variables, logical structures.. Java contains high-end application models that contain thousands of the low end operations. One has to crawl before they walk.
I say.. learn x86 assembly first! (joking.) :)
JCDev
Aug 8th 2005, 7:39 am
Why not... I know some guys who started with assembly and had no trouble getting off the ground. Assembly isn't dificult. It is just that it will take you more time to do things. The experience and knowledge you get from learning assembly is priceless, even if you don't use it ever again.
Programming languages that you should learn in your lifetime just for the sake of learning: Assembly, C, Scheme, Haskell, Smalltalk, Prolog.
macdesign
Aug 8th 2005, 8:04 am
I started with Assembler on a very old IBM machine. Then jumped all over roughly speaking in this order:
Assembler
Fortran
Assembler on a different machine
MAD
COBOL
Basic
Assembler on the current IBM mainframe
PL/1
Assembler on DEC PDP-8
Algol
Assembler on a Burroughs machine
SPITBOL/SNOBOL
DEC PDP-11 Assembler
CICS
Basic - special version on an HP graphics Computer
Z80 Assembler
C
6502 Assembler
dBase
PL/8
FoxPro
Clarion
C++
Access
Gupta SQL/Windows
Visual Basic
Perl
PHP
There were two languages I started to learn, but just could not get into them - Lisp and Prolog.
The problem with starting with PHP is that I think it leads to sloppiness with other programming. On the other hand C++ can lead to overly complex programs, when the the programmer gets too fancy. I've seen expert C++ programmers argue for hours about what one line of programming actaully does. Supposedly Java is better, just have not got around to using it yet.
No one language is the best for a job, some are good for quick and dirty solutions but lousy for production, some are good for single client dekstop but not for client/server, etc.
I use whatever is best - so I have one website that uses Perl/PHP/Visual Foxpro/Clarion and mySQL. PHP and mySQL do the website in realtime, the rest do overnight processing to create the update files for mySQL.
daed
Aug 8th 2005, 9:14 am
Finally mac! Someone to end the "which language is better" endless debate, it always depends on the type of job. It also depends who's paying how much to write what language , I've sold out on a couple ASP projects when ASP was clearly thewrong choice for the job -- but as a contractor, they're the ones having to deal with it later, I just collect my payment ;)
And actually, as far as Java being better.. Sadly, I'm going to have to agree with most developers that the .NET framework is actually better than Java at the moment. In production apps I've noticed roughly the same speed between the two (both are slow, of course.)
C/ASM can be an incredible resource even for web applications.. say you involve encryption algorithms in the server-side processing (hypotheticalliy speaking), why not write a C/CGI module that calls assembly code to do the math? Seems the best option to me if you want to make efficient use of server resources.
jimrthy
Aug 9th 2005, 9:42 pm
Yeah, I got carried away <blush>
jimrthy
Aug 9th 2005, 9:46 pm
Heh. Thanks. Blame the beer. :-/ I get caught up in religious debates like this.
People get so excited about "Use *my* language" "No, *x* is so much better than *y*"!!!
They're all just tools. I wanted to toss out an evaluation about frames of mind behind using those tools.
daed
Aug 9th 2005, 10:00 pm
I hear ya. It's definitely a religious debate, and there's really no way to end the debate.. I'd rather be busy producing actual software/web apps than spend TOO much time arguing moot points ;)
I know what you mean about the beer too. Sweet nectar of hops, how I love thee.
jimrthy
Aug 9th 2005, 10:27 pm
I voted C++ (Because it is the BEST to learn)
In case I didn't make this clear enough in my last post. Complete and total B.S.
C++ is a *great* programming language. It's *not* the "best to learn."
It will teach you a lot about computer hardware. If you pay attention, you'll learn more than you did just programming C.
Both languages are worth knowing. Use higher level languages as long as you can.
> Why C++, well ALL of the current popular languages are BASED on C++. From syntax to language > structure. PHP is no exception, although much simplified and not as powerful.
You have this completely and totally wrong. C++ is based on Algol. Most HLL are also based on Algol. This does not mean that, for example, PHP is based on C++.
PHP bears very little resemblance to C++, except for their Algol fore-fathers. Yes, they look mostly the same. If one knows C++, it's laughable to learn PHP. This is a far cry from what you seem to be claiming.
> C++ is slowly being phased out by a new breed of languages like .NET based languages, JAVA
> and many others which are simplified. If you learn C++, you can do ALL those "NEW" languages
> by just grasping the language specific syntax, not the case with PHP or ASP which are completely
> different.
Now you're contradicting yourself. First, they were all the same. Now they're all different.
FUD.
.NET might be the wave of the future. If people are mindless enough to follow MS' imperative: Use .NET or else!
Write your app in whatever programming language works for you. CGI is simple. REST. Really. REST. All this, um, nonsense about SOAP, .NET, etc? FUD.
Mr. Gates is waving a sign saying "Pay No Attention to the Man Behind The Curtain." Just Say No.
> I noticed that you were asked what your plans were, and you responded that you plan to develop > web based apps for starters. Web is moving in the direction of desktop integration, and C++ is
> by far the most dominating desktop language out there.
Yes, it is. The question to ask is "Why?"
Well, actually, it's not. MFC (which uses a subset of C++) is the dominating desktop language.
Why? (I'll reserve my opinions for a later post).
>PHP on the other hand is extremely capable and easy to learn language, far more capable then
> ASP. PHP is moving to Object Oriented programming as of current PHP 5 Beta and has partnered > up with Sun Microsystems the creators of Java.
Personally, I think this is a huge mistake. I liked PHP as a sleek little scripting language I could slip into the midst of some web page.
If it's big and nasty enough to get into OOP? I might as well look into something serious, like Plone. But that's just me.
C++ is a difficult language to grasp if you have no programming experience,
C++ is a difficult language to grasp. Period.
so PHP might be a better option for you especially if you want to experiment with the WEB.
PHP *is* a better option if you want to experiment with Web 2.0. Unless you're a person who enjoys playing with minutiae concerning the latest state of your cpu's L1 cache. (Yes, I confess, this fascinates me).
But just so it's clear that I'm not contradicting my self and to answer your question of what's the BEST language to learn C++ is still the answer. :rolleyes:
:rolleyes: This *is* a religious debate. This debate rolls on. Maybe I'm feeding the Trolls by being stupid enough to respond.
Learn how to program. I recomended some languages in some other post. Whatever. Doesn't matter. Learn how to program in some language. They all mostly boil down to the same thing. Choose a HLL like python, get stuff done. Choose a LLL like Java, waste a lot of time writing cruft. Whatever.
If you want to program, learn a programming language. Then come back and argue about important things like vim vs. emacs. :D
TheBrokenOne
Aug 12th 2005, 3:11 am
If you know c++ then you know PHP....unfortunately if you know c++ you don't necessarily know how to make php look good which is my problem at mo, wrecking my tits it is.
debunked
Aug 16th 2005, 1:10 pm
Hey guys, as the starter of this thread, I had specific uses I mentioned and I think PHP was the best answer for those uses. I like the arguements for all the different languages presented and I don't think I'm the only one who appreciates the information.
I believe that learning c++ would cover many aspects, and would prepare you for other languages, but learning just php is probably what I will be doing since it will be specific for our sites and seems to be strong in popularity and uses.
I bet that if I wanted to learn c++ after that, it will be a little easier, since I will have more understanding already due to php.
Personally I think I will stay away from microsoft items, unless I planned on being some sort of microsoft professional, then the pay is probably pretty good once certified.
script909
Aug 18th 2005, 2:11 am
perl is the bets choice for webmaster
Weirfire
Aug 18th 2005, 6:45 am
perl is the bets choice for webmaster
Would you take advice from a betting man? :p
Liminal
Aug 18th 2005, 11:33 am
Except for the fact that Java is not easy to learn without guidance (and requires an IDE and other web development tools installed to learn web dev), I'd definitely recommend going that route. It's *very* powerful, will teach you object oriented aspects that you can then apply to a less strict PHP, etc and is easier to learn than C/C++. Most Java programmers use various frameworks and libraries which encourages modular code, re-use and ease of maintenance.
Plus, these days Java seems to have the best market (or one of them) of all programming languages.
Foxy
Aug 18th 2005, 12:26 pm
I started with Assembler on a very old IBM machine. Then jumped all over roughly speaking in this order:
Assembler
Fortran
Assembler on a different machine
MAD
COBOL
Basic
Assembler on the current IBM mainframe
PL/1
Assembler on DEC PDP-8
Algol
Assembler on a Burroughs machine
SPITBOL/SNOBOL
DEC PDP-11 Assembler
CICS
Basic - special version on an HP graphics Computer
Z80 Assembler
C
6502 Assembler
dBase
PL/8
FoxPro
Clarion
C++
Access
Gupta SQL/Windows
Visual Basic
Perl
PHP
There were two languages I started to learn, but just could not get into them - Lisp and Prolog.
The problem with starting with PHP is that I think it leads to sloppiness with other programming. On the other hand C++ can lead to overly complex programs, when the the programmer gets too fancy. I've seen expert C++ programmers argue for hours about what one line of programming actaully does. Supposedly Java is better, just have not got around to using it yet.
No one language is the best for a job, some are good for quick and dirty solutions but lousy for production, some are good for single client dekstop but not for client/server, etc.
I use whatever is best - so I have one website that uses Perl/PHP/Visual Foxpro/Clarion and mySQL. PHP and mySQL do the website in realtime, the rest do overnight processing to create the update files for mySQL.
hi old fella like me!!!
I did Assembler Fortran and PL1 on an IBM 360/30!!!
Got pissed off with the game and stopped
Came back when the internet got interesting
So I've watched this thread with interest and although I *do* php [and of course html] I do not know it yet ... but I will, and then I think I will learn Java
Fascinating thread and thanks everybody for the comments :)
jimrthy
Aug 23rd 2005, 2:09 pm
I'll add Lisp to that list. Although all the warnings about it spoiling you are true. I'm just in the middle of learning it, and I already look at programs in other languages and start mentally whining about all the extra, repititious crap I have to type.
It's kind of pathetic, really.
Aok
Aug 31st 2005, 3:13 pm
Either C or Java - the rest fall into place without much effort
Enigma121
Sep 4th 2005, 1:01 pm
You can do everything PHP can do with JSP if you are going down the Java route.
It's a better "enterprise class" language to learn as it's used in many of the big database technologies, and can also be used on the desktop and in wireless devices (most recent Nokia phones for example).
Java scales up very, very well to high bandwidth websites, as Servlets load once and run over and over again.
Guess what we write?
rps111
Jul 24th 2007, 5:09 am
If people say about PHP, just dont listen. Bet on Ruby on Rails. Why? Because it has many built-in processes and many features for which you find difficulty in applying when using PHP. On the database side, try MySQL or Oracle.
infonote
Jul 24th 2007, 5:16 am
Java or C#.
Site Owner
Jul 24th 2007, 9:20 am
I would also like to learn programming.
Hasn't anyone heard of Ruby on Rails? Opinions please...
ProgrammersTalk
Jul 24th 2007, 11:50 pm
aish, all people are always going with PHP... C++ gogo !!!! :D
miloTheGreat
Jul 25th 2007, 1:10 am
If you want to setup some website that can make decisions then, you best go with some script type, compile on demand, like PHP or ASP.
See how you go from there....
be warned, these are top-down compile when run languages, and do not embrace Object Oriented techniques, so you will find there is a big jump between PHP/ASP to .net or Java. Many many programers struggle with this...
Download .net express and try somethings out... all free
http://msdn.microsoft.com/vstudio/express/
Personally I write in c#.net.
Its free
Tons of support
Will run on all Microsoft desktop OS's
Will run on Smartphones
With third party framework will run on OSx, Linux
Will be around for years, until at least I retire
To respond to an earlier post - To say PHP is faster then ASP is just crap.
Hml_k
Jul 25th 2007, 2:59 am
Java is the best Language. It supports many new technologies, besides C sucks me!
vBulletin® v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.