[2004] Which programming language should I learn?

Discussion in 'Programming' started by debunked, Sep 15, 2004.

?

Which would be the best to learn?

  1. PHP

    59.4%
  2. ASP

    9.9%
  3. C++

    12.9%
  4. other

    17.8%
Thread Status:
Not open for further replies.
  1. nevetS

    nevetS Evolving Dragon

    Messages:
    2,544
    Likes Received:
    211
    Best Answers:
    0
    Trophy Points:
    135
    #61
    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++.
     
    nevetS, Jan 6, 2005 IP
  2. Arnica

    Arnica Peon

    Messages:
    320
    Likes Received:
    14
    Best Answers:
    0
    Trophy Points:
    0
    #62
    Ah yes those were the days.
     
    Arnica, Jan 7, 2005 IP
  3. goldensea80

    goldensea80 Well-Known Member

    Messages:
    422
    Likes Received:
    10
    Best Answers:
    0
    Trophy Points:
    128
    #63
    Yeah, PHP, free, easy, fast....
     
    goldensea80, Jan 7, 2005 IP
  4. Up2U - YourWorld

    Up2U - YourWorld Peon

    Messages:
    47
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #64
    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!
     
    Up2U - YourWorld, Jul 28, 2005 IP
  5. minstrel

    minstrel Illustrious Member

    Messages:
    15,082
    Likes Received:
    1,243
    Best Answers:
    0
    Trophy Points:
    480
    #65
    :confused:

    How exactly is IE "ruining the web"?

    You're entirely at liberty to surf with another browser if you wish...
     
    minstrel, Jul 28, 2005 IP
  6. debunked

    debunked Prominent Member

    Messages:
    7,298
    Likes Received:
    416
    Best Answers:
    0
    Trophy Points:
    310
    #66
    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.
     
    debunked, Jul 28, 2005 IP
  7. Up2U - YourWorld

    Up2U - YourWorld Peon

    Messages:
    47
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #67
    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!)
     
    Up2U - YourWorld, Jul 29, 2005 IP
  8. minstrel

    minstrel Illustrious Member

    Messages:
    15,082
    Likes Received:
    1,243
    Best Answers:
    0
    Trophy Points:
    480
    #68
    No kidding :eek:

    How can Mozilla "screw up in IE"? That makes no sense. If you're using Mozilla, what does IE have to do with anything?

    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?
     
    minstrel, Jul 29, 2005 IP
  9. Up2U - YourWorld

    Up2U - YourWorld Peon

    Messages:
    47
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #69
    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 as an example - the navbar is not perfect in either, I had to compromise with both)
     
    Up2U - YourWorld, Jul 29, 2005 IP
  10. minstrel

    minstrel Illustrious Member

    Messages:
    15,082
    Likes Received:
    1,243
    Best Answers:
    0
    Trophy Points:
    480
    #70
    Please give me an example of something you have to make "noncompliant" in order to have it work in IE.
     
    minstrel, Jul 29, 2005 IP
  11. Up2U - YourWorld

    Up2U - YourWorld Peon

    Messages:
    47
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #71
    if you have the developer plugin for mozilla, then take a look at the CSS for 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
     
    Up2U - YourWorld, Jul 29, 2005 IP
  12. minstrel

    minstrel Illustrious Member

    Messages:
    15,082
    Likes Received:
    1,243
    Best Answers:
    0
    Trophy Points:
    480
    #72
    I think you'll find there are similar issues with Firefox.
     
    minstrel, Jul 29, 2005 IP
  13. Up2U - YourWorld

    Up2U - YourWorld Peon

    Messages:
    47
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #73
    But the total number is far less...
     
    Up2U - YourWorld, Jul 29, 2005 IP
  14. jimrthy

    jimrthy Guest

    Messages:
    283
    Likes Received:
    13
    Best Answers:
    0
    Trophy Points:
    0
    #74
    Whew! What a long thread! I'm going to try to wade through all this and summarize my thoughts/opinions.

    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.

    That's not quite[/I. correct. C 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 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.

    [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'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.

    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.

    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.

    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.

    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.

    Um, C++ [em]is[/em] 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.

    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.

    That's just nasty! :lol: Just a quick glance, seems like that'd be similar to programming a raw Turing machine.

    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 1, 2005 IP
  15. jimrthy

    jimrthy Guest

    Messages:
    283
    Likes Received:
    13
    Best Answers:
    0
    Trophy Points:
    0
    #75
    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!
     
    jimrthy, Aug 1, 2005 IP
    minstrel and Arnica like this.
  16. minstrel

    minstrel Illustrious Member

    Messages:
    15,082
    Likes Received:
    1,243
    Best Answers:
    0
    Trophy Points:
    480
    #76
    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
     
    minstrel, Aug 1, 2005 IP
  17. Infiniterb

    Infiniterb Well-Known Member

    Messages:
    1,314
    Likes Received:
    51
    Best Answers:
    0
    Trophy Points:
    168
    #77
    I read the whole thing :) Was a good response.
     
    Infiniterb, Aug 1, 2005 IP
  18. minstrel

    minstrel Illustrious Member

    Messages:
    15,082
    Likes Received:
    1,243
    Best Answers:
    0
    Trophy Points:
    480
    #78
    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... :eek:
     
    minstrel, Aug 1, 2005 IP
  19. debunked

    debunked Prominent Member

    Messages:
    7,298
    Likes Received:
    416
    Best Answers:
    0
    Trophy Points:
    310
    #79
    like me.......... I want to read it but don't have the time right now

    wow
     
    debunked, Aug 1, 2005 IP
  20. senexom

    senexom Guest

    Messages:
    28
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    0
    #80
    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:
     
    senexom, Aug 1, 2005 IP
Thread Status:
Not open for further replies.