Open Side Menu Go to the Top
Register
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

09-08-2016 , 10:06 PM
Let me state some of the reasons why I don't like PHP. Keep in mind, my sample size is 1 company but I don't seem to be in the minority for not liking PHP so i think at least some of my reasons will resonate with others.

Reason 1 : PHP is very inconsistent. I would expect array_map to return a new array. It doesn't. It mutates the array you pass in. I don't have much experience outside of js/php, but I would say this is a very unexpected behavior. Other array functions also don't give consistent output. If I pass in an array of values to array_filter I expect to get back a filtered array of values not an array of associative arrays (called objects in js, hashes in other languages). Sometimes I get back what I expect and sometimes I don't.

Reason 2 : Because of the inconsistencies I mentioned above and many more, you're almost forced to code in a very basic manner. This means the language is more likely to be used by people just starting out in web programming... which inevitably means they will be coding in generally appalling fashion. I realize that's how we all start out. There is nothing wrong with that. The fact that the language is more likely to draw the attention of beginners is another solid reason imo why you shouldn't really plan to use PHP longterm.

Reason 3 : Kind of related to the above one. Because PHP is a beginner language it also attracts more mature programmers that cannot do any complex logic. My stereotypical PHP programmer is the person who never learned there are things beyond for loops. I don't want to work with mature programmers that do all sorts of terrible things because they never learned the good way to do them.

There's a few solid reasons to start. I'm sure I'll think of some more to add later.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 12:05 AM
I wish I could put into words my latest experience. But there's no way to vague it up enough for me to be comfortable posting about it.

At this point, I'm very committed to this idea in the way the joker is to setting a big pile of cash on fire. The end result is surely going to be chaos, but in a few months I may have some good stories to tell.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 12:06 AM
Javascript is also annoying as hell in that half the array functions return a new array and half mutate the target array.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 12:49 AM
Quote:
Originally Posted by Craggoo
I don't have much experience outside of js/php
Probably should've stopped right there. If you have so little interest in languages and so little overall experience that you don't have much experience outside of js/php, why do you have such strong opinions about this?

Quote:
Because of the inconsistencies I mentioned above and many more, you're almost forced to code in a very basic manner.
How so? You could just as well argue that inconsistencies would force you to learn how the language works, instill better habits about not taking things for granted, and prepare you to deal with the real world where nothing is consistent.

Quote:
This means the language is more likely to be used by people just starting out in web programming
Which doesn't follow at all but ignoring that for a second, how is this a bad thing? And if anything PHP's problem right now is that it's not attracting beginners like it used to. Javascript, Java, Python, Ruby, C# are all attracting beginners in very large numbers. PHP does not attract beginners at the same level and hasn't in quite some time.

Quote:
Reason 3 : Kind of related to the above one. Because PHP is a beginner language it also attracts more mature programmers that cannot do any complex logic.
What's a "beginner language" and what's a "mature programmer" and what's "complex logic" in this context? I see the words but they don't make a lot of sense together.

Quote:
My stereotypical PHP programmer is the person who never learned there are things beyond for loops. I don't want to work with mature programmers that do all sorts of terrible things because they never learned the good way to do them.
Suppose you're right statistically. Do you work randomly with people who happen to use the same language? If so, you better choose a really obscure language, preferably of your own invention because there's no shortage of terrible practitioners for any mainstream programming language.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 12:55 AM
Quote:
Originally Posted by suzzer99
Javascript is also annoying as hell in that half the array functions return a new array and half mutate the target array.
Yeah just about any criticism that actually applies to PHP also applies to Javascript, yet here we are.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 01:53 AM
Plus ~7 years ago, you'd have been laughed out of the trendy programming circles for suggesting anyone should become expert in JS.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 01:54 AM
Quote:
Originally Posted by candybar
Probably should've stopped right there. If you have so little interest in languages and so little overall experience that you don't have much experience outside of js/php, why do you have such strong opinions about this?
Where did i say anything about interest? I said experience as in experience in a professional environment. I've dabbled in Ruby and Python. They both have their own quirks but do not contain any inconsistencies that I've discovered yet.

Quote:
Originally Posted by candybar
How so? You could just as well argue that inconsistencies would force you to learn how the language works, instill better habits about not taking things for granted, and prepare you to deal with the real world where nothing is consistent.
For me, consistency means I don't have to guess if a or b will happen this time. If I pass in x i expect it to spit out x not something that looks like x but is not x. PHP will sometimes spit out x and sometimes spit out something else.

Quote:
Originally Posted by candybar
Which doesn't follow at all but ignoring that for a second, how is this a bad thing? And if anything PHP's problem right now is that it's not attracting beginners like it used to. Javascript, Java, Python, Ruby, C# are all attracting beginners in very large numbers. PHP does not attract beginners at the same level and hasn't in quite some time.
That is probably true but unlike PHP its actually fairly easy to write clean JS. With the inconsistencies I've found in built-in PHP methods, it basically forces me to stick to extremely basic PHP that acts predictably 100% of the time.

Quote:
Originally Posted by candybar
What's a "beginner language" and what's a "mature programmer" and what's "complex logic" in this context? I see the words but they don't make a lot of sense together.
You're trying really hard to be dense. Should be pretty self obvious what those terms mean.

Quote:
Originally Posted by candybar
Suppose you're right statistically. Do you work randomly with people who happen to use the same language? If so, you better choose a really obscure language, preferably of your own invention because there's no shortage of terrible practitioners for any mainstream programming language.
That makes no sense. It's not 'random' that the people in my group all happen to code in the same language because guess what... we're all updating the same code base.

I can choose to work in coding languages that 'terrible practitioners' don't tell to gravitate towards.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 01:59 AM
Goofy, giving you the benefit of the doubt you must have made some errors in trying to get your point across somewhere.

You basically said:

I started with X, and I wish someone had told me before I started X was horrible. I'd have taken their opinion as gospel and ran as fast as possible in the other direction.

I then pivoted to Y. Y is awesome! I should have started with Y, my experience with X didn't help me whatsoever.

If someone says Y is horrible, they're so full of **** it's unbelievable and I wouldn't believe them.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 02:00 AM
Quote:
Originally Posted by suzzer99
Javascript is also annoying as hell in that half the array functions return a new array and half mutate the target array.
Which ones specifically? According to MDN, the only methods I see that modify the original array are the ones you would expect would do that like splice, pop, push, etc.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 02:01 AM
Quote:
Originally Posted by candybar
Yeah just about any criticism that actually applies to PHP also applies to Javascript, yet here we are.
Like...
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 02:36 AM
Quote:
Originally Posted by _dave_
Goofy, giving you the benefit of the doubt you must have made some errors in trying to get your point across somewhere.

You basically said:

I started with X, and I wish someone had told me before I started X was horrible. I'd have taken their opinion as gospel and ran as fast as possible in the other direction.

I then pivoted to Y. Y is awesome! I should have started with Y, my experience with X didn't help me whatsoever.

If someone says Y is horrible, they're so full of **** it's unbelievable and I wouldn't believe them.
Bolded = things I never said. Are you going to psychoanalyze me next too? Jesus.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 02:46 AM
Like, again, in a forum full of programmers, of which I was one at 22, if I had a group of like-minded people with a wealth of career experience to draw from, I would have liked to hear from them at the time re: how enjoyable they would think a career of writing tests all day would be. And if some kind of consensus opinion could have been formed, that may have been useful for me to know when deciding whether to take certain jobs or not. Maybe 10 different people would have given me 10 different answers and it wouldn't have been useful, or maybe 10 people would have been like "wow that sounds awful" and odds are, I wouldn't have been the 1 out of 11 that would have ****ing loved it, but I wish I'd had a group to just bounce that off of and see what they said.

If you want to take issue with that dave, go for it, I'd be happy to discuss it with you because I could at least be confident that you would be doing so in good faith, but don't sit there and make dishonest characterizations of my position that you read somewhere else.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 02:54 AM
My issue is mainly with the last thing. You wish someone would have told you X is horrible. Candybar said "what if someone says Y is horrible?" and you respond: "This is a bull**** relativist argument that has no place in this forum.". My thoughts are W.T.F. I'd have made a similar post myself. tbh I'm not even sure what that means!

I am assuming there is some misunderstanding somewhere, idk.

Last edited by _dave_; 09-09-2016 at 03:00 AM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 03:02 AM
Yes, that one post was probably confusing on my part. It was bull**** because he implicitly suggested in making that post that all preferences are equally valid, even when they come out of left field from people that have no expertise in the subject being discussed.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 03:10 AM
Quote:
Originally Posted by Craggoo
Which ones specifically? According to MDN, the only methods I see that modify the original array are the ones you would expect would do that like splice, pop, push, etc.
Why does concat return a new array and not just merge onto the target array like push? I get nailed by that one all time.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 03:12 AM
Quote:
Originally Posted by _dave_
Plus ~7 years ago, you'd have been laughed out of the trendy programming circles for suggesting anyone should become expert in JS.
I'm old enough to remember when some companies had policies that you were specifically forbidden to use JS except for a handful of tasks like launching popups. Applets are the future man. Far out!

Then google maps came out and JS was suddenly cool again.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 06:03 AM
Quote:
Originally Posted by goofyballer
Like, again, in a forum full of programmers, of which I was one at 22, if I had a group of like-minded people with a wealth of career experience to draw from, I would have liked to hear from them at the time re: how enjoyable they would think a career of writing tests all day would be. And if some kind of consensus opinion could have been formed, that may have been useful for me to know when deciding whether to take certain jobs or not. Maybe 10 different people would have given me 10 different answers and it wouldn't have been useful, or maybe 10 people would have been like "wow that sounds awful" and odds are, I wouldn't have been the 1 out of 11 that would have ****ing loved it, but I wish I'd had a group to just bounce that off of and see what they said.

If you want to take issue with that dave, go for it, I'd be happy to discuss it with you because I could at least be confident that you would be doing so in good faith, but don't sit there and make dishonest characterizations of my position that you read somewhere else.
What you are essentially stating is that high quality mentoring by experienced, senior developers can and is very valuable to a junior developer. For a junior developer undertaking their first development assignment, stating that the language they will be coding in sucks, gtfo out of doing that ASAP is probably not high quality mentoring. You didn't claim the language sucks. However, you seem to be supportive of such advice as being acceptable. I am sure you actually don't think it is acceptable but your posts seem to indicate you are ok with such advice. Again, I don't think you really think it is. You were just making the point the high quality mentoring has value. If that is your point I agree.

I don't know much about PHP but from the responses here it doesn't appear be toxic or anything like that and it is certainly possible to gain valuable software development experience from working with a PHP written code base. I am sure you agree that a junior developer can gain valuable software development experience from undertaking assignments that are at least perceived to be less challenging to more senior type developers.

Last edited by adios; 09-09-2016 at 06:11 AM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 07:10 AM
We have a saying in my country:

"The bad rower blames the oar."
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 08:36 AM
Quote:
What you are essentially stating is that high quality mentoring by experienced, senior developers can and is very valuable to a junior developer. For a junior developer undertaking their first development assignment, stating that the language they will be coding in sucks, gtfo out of doing that ASAP is probably not high quality mentoring.
Turns out that's more mentoring than it appears I'll get otj.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 09:50 AM
Quote:
Originally Posted by suzzer99
Why does concat return a new array and not just merge onto the target array like push? I get nailed by that one all time.
Don't forget that array.push returns.... the ever-useful length of the array.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 10:12 AM
Quote:
Originally Posted by Grue
Don't forget that array.push returns.... the ever-useful length of the array.
And yet if I killed the guy who made that decision, it's ME who'd go to jail
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 11:30 AM
If you you're gonna go to jail anyway, can you also kill the person who named XMLHttpRequest and innerHTML?

Why is XML capitalized but not Http? Why is the HTML in innerHTML capitalized while getElementById is still all camel case? This crap tripped me up so much when I was first starting. It's the worst kind of confusion, because you can sit there and stare at your code for an hour and not spot the problem.

All acronyms should be camel case and that should be punishable by jail time at least.

Last edited by suzzer99; 09-09-2016 at 11:39 AM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 11:45 AM
wat? acronyms should be all caps like it is in every other language. And you also have to love how XMLHttpRequest has nothing to do with XML by itself.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 11:53 AM
camelCase of capCase is a lot more common in JS. Otherwise your acronyms tend to run together (like XMLHTTPRequest woud) http://stackoverflow.com/questions/1...s-in-camelcase
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
09-09-2016 , 12:00 PM
Quote:
Originally Posted by Noodle Wazlib
I wish I could put into words my latest experience. But there's no way to vague it up enough for me to be comfortable posting about it.

At this point, I'm very committed to this idea in the way the joker is to setting a big pile of cash on fire. The end result is surely going to be chaos, but in a few months I may have some good stories to tell.
The chance of someone somehow connecting your 2+2 handle to your IRL identify that cares about the recent happenings is .0000001% or less.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote

      
m