I'm going to apologize in advance if any of this seems too stern or rude.
You seriously don't have the correct mindset about this. You are thinking in a way that a lot of other people share, but it's not practical. In the real world you have to learn new technologies and languages consistently. Every day something new comes out or gets improved that makes doing a difficult task easier, and people/companies that can adapt and not be left behind do well.
If I were in your position (which I guess I kind of am, I'm also college-age but I've spent just under half my life doing some level of professional programming) I would be learning EVERYTHING I can or at least everything mainstream I can so that if I come by a cool piece of code online or at work I can tell exactly what it does.
It's true that PHP isn't as a strictly written language as some of the other languages (by this I don't mean syntax, I mean that doing two analogous operations have completely different names/attribute orders in the standard library) but it's still used by tons and tons of people. PHP isn't dying. I hate the term "dying language" because there's always something else out there that's good for that each specific language.
I'm assuming that Flash is also "dying" in your POV but just today I had to whip up a quick SWF to allow copying something to a user's clipboard because it was the simplest and quickest way to allow one-click clipboard access that I could think of and I have spent time learning Flash/AS in the past so I had that knowledge.
Now, when you say:
it seems like it might be a waste to spend time at Facebook using PHP if the rest of the tech and start-up world has moved on
I have no idea what you mean. Do you mean that Facebook not restructuring their entire codebase to a cooler and more popular language is a waste of Facebook engineers time? Or do you mean that you learning PHP to work at Facebook would be a waste of your time? I don't understand how either of these two statement could be argued so if you meant something else I'd love a clarification.
There is absolutely nothing that Facebook can not do with PHP that they could do with Python or Ruby. Any business logic can be written in a myriad of ways. And I believe to be a strong candidate for a "wow" employee after you graduate you should be able to drop head first into any codebase and at the very least quickly get a simple grasp of what's going on.
If Facebook gave you an internship today would you reject it because you've heard bad things about PHP?
Sorry about the rant, but I've spent a lot of time working to hire other developers and it really irks me when I hear something like "oh so and so's a dying language, it's useless to learn it" because it shows that you don't have the drive and love of technology that my ideal person would.
I do want to learn lots of different technologies, including PHP! That's part of the reason I read Hacker News in the first place.
But I'm doubtful of its real-world application these days. Most news I see never mentions it, but Ruby and Python are mentioned near constantly.
I'm sure working at Facebook would be amazing. I mean, it's Facebook. But if I also got internship offers at Google and other high-tech companies, then the language I use at work will factor in.
And PHP doesn't seem nearly as significant as these other languages, so then why take a job where I'll learn and use it in-depth for months when there are other languages?
You're going to be sorely disappointed when you find out that the majority of user-facing applications at Google are in Java, which you'll hear even less of on places like here.
The reason you don't see mentions of PHP all the time on places like here is that Python and Ruby are considered "hip" languages right now. Every one and their mother wants to learn it to show off how cool it is. Which is freaking awesome because the more people that learn nice scripting languages the better, but it means people aren't being driven to build new services on PHP to show off because instead of listing off 10-20 buzzword plugins by other people, you have a limited amount of mature things you can use to make a PHP application. This is not saying that Python and Ruby don't have mature platforms and extensions.
Have you done any professional programming in the past? I absolutely guarantee that even doing an short term internship at a company using a programming language you don't know, the nuances of that specific language won't be what you take away from you but rather the different ways to think about a specific problem.
Maybe once every month I face a problem at work or on personal projects where I can say "Hey, I remember this, it's a really obscure PHP fault!" versus many many times a times a day when I think "hmm I could build this as a singleton or a factory or a ....." and can use my previous experience programming in those fashions at previous jobs to figure out what the best way to do it currently is.
Learning a new language isn't about dedicating your life to it. It's about learning new methods of completing tasks, which you can almost always apply to other languages.
It's fairly easy to construct a portfolio of web applications in whatever language you want to use and/or demonstrate competency in a language (eg contribute to open source), but it's much more difficult to say you worked on an application at the scale of Facebook. That experience is invaluable and the lessons you learn there are applicable even when you move on to applications in other languages.
You should also probably look at surveys of language adoption b/c PHP has much greater market share. Hacker News is a very skewed sample.
You seriously don't have the correct mindset about this. You are thinking in a way that a lot of other people share, but it's not practical. In the real world you have to learn new technologies and languages consistently. Every day something new comes out or gets improved that makes doing a difficult task easier, and people/companies that can adapt and not be left behind do well.
If I were in your position (which I guess I kind of am, I'm also college-age but I've spent just under half my life doing some level of professional programming) I would be learning EVERYTHING I can or at least everything mainstream I can so that if I come by a cool piece of code online or at work I can tell exactly what it does.
It's true that PHP isn't as a strictly written language as some of the other languages (by this I don't mean syntax, I mean that doing two analogous operations have completely different names/attribute orders in the standard library) but it's still used by tons and tons of people. PHP isn't dying. I hate the term "dying language" because there's always something else out there that's good for that each specific language.
I'm assuming that Flash is also "dying" in your POV but just today I had to whip up a quick SWF to allow copying something to a user's clipboard because it was the simplest and quickest way to allow one-click clipboard access that I could think of and I have spent time learning Flash/AS in the past so I had that knowledge.
Now, when you say:
I have no idea what you mean. Do you mean that Facebook not restructuring their entire codebase to a cooler and more popular language is a waste of Facebook engineers time? Or do you mean that you learning PHP to work at Facebook would be a waste of your time? I don't understand how either of these two statement could be argued so if you meant something else I'd love a clarification.There is absolutely nothing that Facebook can not do with PHP that they could do with Python or Ruby. Any business logic can be written in a myriad of ways. And I believe to be a strong candidate for a "wow" employee after you graduate you should be able to drop head first into any codebase and at the very least quickly get a simple grasp of what's going on.
If Facebook gave you an internship today would you reject it because you've heard bad things about PHP?
Sorry about the rant, but I've spent a lot of time working to hire other developers and it really irks me when I hear something like "oh so and so's a dying language, it's useless to learn it" because it shows that you don't have the drive and love of technology that my ideal person would.