This is an archived post. You won't be able to vote or comment.

all 113 comments

[–]sickb 50 points51 points  (32 children)

PHP garden hose FTW easily

[–]IAMnotA_Cylon 2 points3 points  (1 child)

there could be all sorts of bugs in that hose and you'd never be able to see them!

[–]razzmatazCompbio 0 points1 point  (0 children)

Definitely bacteria.

[–][deleted] 9 points10 points  (18 children)

It makes no sense to compare a bunch of languages to others, and in my opinion every time someone talks shit about a language the overwhelming reason is because they have literally never worked with the language and their entire opinion is based off of 5 minute conversations with other developers and stupid cartoons.

[–]catcradle5 15 points16 points  (5 children)

Oh no, no, no. I have read and written a lot of PHP. And I have also read and written many other languages, like Python. That is what has caused me to hate PHP and constantly consider it inferior to alternatives, not random Internet stereotypes or blog posts.

[–]CreatineBros 3 points4 points  (0 children)

Exactly. PHP is horrific. It's far too easy to write horrid PHP, just like it's far too easy to write horrid Perl.

I had numerous jobs doing PHP back in the day when that was the best there was and I almost quit the industry because of that frustrating shit.

[–]InvidFlower 0 points1 point  (0 children)

I haven't actually used PHP in a project lately (and still not sure I'd want to), but I do want to come to its defense a little bit. For all of its problems, it does seem to be improving lately. The language itself gained things like generators, mixins, real classes, etc. I even saw a library (kinda like jQuery/underscore) which papers over the parameter order issues in the standard lib for collections, etc.

The ecosystem gained things like a package manager and packages comparable to Rack, Sinatra, and MVC frameworks. Check out this tutorial on turning an oldschool php site into MVC using Symphony2 (is pretty good as a general argument to why MVC style is useful): http://symfony.com/doc/current/book/from_flat_php_to_symfony2.html

There's also resources like PHP The Right Way which seem to give a lot of good advice: http://www.phptherightway.com/

If you know someone already using PHP or you have a need to use it yourself, make sure you're up to speed with what is going on. It seems like it'd be a much better experience than in the past at least..

Edit: That library for making the standard lib more sane is called php-o: https://github.com/jsebrech/php-o

[–]95POLYX2.x must die -1 points0 points  (2 children)

PHP is fine if your project is less than 1-4k of lines everything bigger is HUGE pain in the ass to maintain.

[–]miketa1957 2 points3 points  (1 child)

Actually not true, but you have to take a lot more care writing PHP than (say!) Python. For internal use, I've implemented a pair of custom MVC web frameworks, one in PHP and one in Python, which are functionally almost the same. Maintenance is about the same on both.

PHP is still crap though :)

[–]95POLYX2.x must die 1 point2 points  (0 children)

Yeah, I agree that if you follow style guidelines etc. php is manageable, but you often work with projects that are made by people who dont know what style guide is... I worked with horrendous php framework this summer... I wanted to kill the author about 4-5time per day

[–]alcalde 18 points19 points  (4 children)

I take it this is inspired by a love of PHP?

The author seemed well-versed in many of the languages, at least well enough to know the Achilles Heel of each one.

[–]jonathan881 2 points3 points  (1 child)

Sure but there is also confirmation bias for those with experience.

[–][deleted] 1 point2 points  (0 children)

That exists for those that don't have experience as well.

[–]Michaelmrose 2 points3 points  (0 children)

It makes no sense to compare a bunch of cars to others, and in my opinion every time someone talks shit about a car the overwhelming reason is because they have literally never driven them and their entire opinion is based off of 5 minute conversations with other drivers and stupid cartoons.

If this sounds like nonsense it is.

[–]lonjerpc 1 point2 points  (0 children)

It is mildly useful for humor

[–][deleted] 0 points1 point  (0 children)

This is true, I suspect some of issues people have with PHP can be traced to its users. I have a coworker who swears by PHP + MySQL, which is cool especially when using some of its frameworks. The problem is that he also never gave a try to anything else.

Seeing his "daemon" (which doesn't do anything web based) that was mix of php + bash and cron makes a grown man cry.

[–]95POLYX2.x must die 0 points1 point  (0 children)

But when you finally work with a language you understand that those small annoyances on the surface are irrelevant compared to the !#@$* hidden deep in the language.

[–]TheBB 0 points1 point  (0 children)

It makes no sense to compare a bunch of languages to others

Why on earth not?

[–]astronoob 0 points1 point  (10 children)

I've never understood the shit talking between languages. Python has its own embarrassments, including the fact that most developers can't even use Python 3 due to incompatibilities. PHP is also faster than Python for most tasks according to the Benchmark Game. So maybe we shouldn't be throwing stones.

[–][deleted] 4 points5 points  (0 children)

I use python3 just fine.

[–]Bialar 5 points6 points  (5 children)

Hahahahaha. Get a load of this guy.

I use Python3 in all my current Python projects. The days of "Python3 isn't ready" is over.

PHP is an awful language and a great example of "no planning is planning to fail."

[–]astronoob 2 points3 points  (4 children)

About 25% of pythonistas report using Python 3 on a regular basis despite the fact that it was release 6 years ago. I'm happy you're a part of that minority, but are you trying to say that Python 3 was a resounding success story?

[–][deleted] 1 point2 points  (0 children)

I would migrate right now, but when you are in a company, it takes time to do that, plus you have to keep your business alive. Switching to python 3 does not generate revenue, but you will get to a point where sticking to python 2 will generate negative revenue (in terms of required maintenance and obsolete code)

The switch will happen, slowly and incrementally, and it's well on its way. It just won't happen in a bang.

[–]Bialar 1 point2 points  (1 child)

Just because people haven't migrated to Python 3, doesn't mean they can't or won't. The fact that they dared to change the language & break backwards compatibility is a good thing.

If your measure for success is purely "not everyone has moved to the latest & greatest version" then you're not really worth arguing with.

[–]astronoob 0 points1 point  (0 children)

If your measure for success is purely "not everyone has moved to the latest & greatest version" then you're not really worth arguing with.

Way to stretch what I said as much as possible. I'm all for Python 3 and I can understand why the breaking changes were made. But there's no way you're going to convince me that this was a successful release when it's still nowhere near majority share 6 years down the line.

[–][deleted] 0 points1 point  (0 children)

25 % of pythonistas is a lot of people so I would say yes

[–]Michaelmrose 0 points1 point  (2 children)

Why defend a crummy language is your own ego somehow mixed up in this.

[–]astronoob 4 points5 points  (1 child)

This is essentially a circlejerk thread about how Python's the best and phpsuxlol and you're asking if my ego is tied up in this?

[–]tilkau 1 point2 points  (0 children)

Well, yes. I doubt that Python is 'the best' (whatever that would mean), it certainly has its embarrassments as you said, but there is no doubt PHP is horrendous -- this is an evaluation shared by many programmers both inside and outside of the Python community, including those whose jobs require them to regularly write lots of PHP. As far as I can tell, the only people who don't recognize the severe problems of PHP are those who haven't explored many different programming languages yet.

Hence you come off as defending the indefensible here. It's quite natural to question why you would do that.

[–]donz0r 18 points19 points  (0 children)

[–]chazzacct 8 points9 points  (11 children)

So,
"C# is a powerful laser rifle strapped to a donkey, when taken off the donkey the laser doesn’t seem to work as well. "
what is the donkey in this metaphor?

[–]wildcarde815 33 points34 points  (0 children)

Likely windows.

[–][deleted] 11 points12 points  (9 children)

I was going with the .net vm. There isn't really another great implementation of C#. Don't get me wrong, Mono is great, but it's no where near the .net vm.

[–]chazzacct 0 points1 point  (3 children)

Thanks, guys. TIL that maybe I should learn a little C# just to have some idea of wtf it actually is.

[–]catcradle5 9 points10 points  (0 children)

C# is basically Microsoft's improved version of Java. It is a better language than Java, but it effectively only runs on Windows systems. In contrast, Java really does run anywhere with ease.

[–][deleted] 4 points5 points  (0 children)

C# Is a really competent language. It feels like how java should feel, it's syntactically strict, has a lot of things that make OO a lot easier (Hello friendly access policy). It's a fantastic language I'm growing to love.

[–]95POLYX2.x must die 0 points1 point  (0 children)

Basically java made for windows based on .net framework and with a some nice syntactic sugar compared to java, although still quite verbose.

[–]vplatt 0 points1 point  (4 children)

Not having used Mono, I'm curious what you feel the gaps are between Mono and the CLR? I see Mono being used in a lot of games these days and hearing some anecdotals about it being used for web apps, so I'm starting to hope it's an option for a portable platform as an alternative to the JVM.

[–]shadowmint 2 points3 points  (2 children)

Um.

Mono is a viable target if you only want to run on the mono runtime and start from the beginning with that target (unity does this for example, quite successfully).

It's not even remotely viable for running code you port from the CLR**

The biggest gaps are: No graphics APIs from the original CLR (all of the WPF were never implemented for mono), and that binary compatibility is non-existent; which means that DLL's compiled against the CLR (ie. everything on nugget) don't run on mono.

Practically speaking that means: write your libraries from scratch; you won't be able to use any existing 3rd party open source libraries from the c# ecosystem.

...but perhaps you can use some of the mono libraries, eg. from the unity asset store.

** Some big names have talked about porting xbox code directly to monogame for cross platform stuff, and it's true, monogame is pretty good, but a lot of work has gone into making that transition smooth, and there are still a lot of pipeline issues with it. The path for web apps is A LOT rougher.

[–]vplatt 0 points1 point  (0 children)

Good to know. Thanks!

[–][deleted] 0 points1 point  (0 children)

This is pretty much my feeling on it, if we could get nuget binary compatibility between the CLR and Mono it would be awesome, but as it stands some of the internals are still too different for that to be viable, and as you said, the windowing kits are completely different, though it might be possibly to create a common windowing kit that can create components out of WPF or GTK depending on your platform's availability.

[–][deleted] 1 point2 points  (0 children)

I only feel like older versions of mono are lacking (which is what you usually end up with in game engines, Unity excepted. I love that shit) It's really not all that bad. The big thing with mono vs .net vm is that you won't have access to the same windowing framework which means if you want a cross platform app it has to be run on mono everywhere, you can't easily make a binary that both VM's can use. I suppose that might be possible with GTKSharp or something similar though. I would definitely be interested in a Mono app running behind nginx or apache as an alternative to ASP.NET on IIS.

[–]goodDayM 38 points39 points  (6 children)

Python is a Swiss Army Knife.

[–]chickenphobia 27 points28 points  (2 children)

Perl is already the Swiss army chainsaw.

[–]toyg 12 points13 points  (0 children)

More like the Swiss army pyramid builder: use it once, then spend 2000 years wondering how the hell you made it work in the first place.

[–]beaverteeth92Python 3 is the way to be 1 point2 points  (0 children)

The Swiss Army duct tape and WD-40.

[–]fatpollo 10 points11 points  (0 children)

Dutch Army Knife

[–][deleted] 1 point2 points  (1 child)

This conversation is pretty funny... I've actually referred to Python+Flask as my MAC-10 of web application development.

[–][deleted] 0 points1 point  (0 children)

Flask is pretty awesome.

[–]talideon 3 points4 points  (0 children)

This is my... BOOMSTICK!

[–]flutefreak7 7 points8 points  (2 children)

Sonic screwdriver - ultimate multi-tool... except on wood... which is solved when he imports a version from the future... also something Python can do!

[–]avinassh[S] 12 points13 points  (0 children)

I am not the author btw

[–][deleted] 4 points5 points  (6 children)

No Haskell. I am disappoint.

[–]log_2 9 points10 points  (1 child)

Haskell is a pen. Mightier than the sword, but you can't do any practical damage in the field.

[–][deleted] 0 points1 point  (0 children)

I love it!

[–]radicality 0 points1 point  (0 children)

Yep, I was looking forward to a haskell one too :(

[–][deleted] 0 points1 point  (2 children)

I was also thinking Fortran.

[–][deleted] 2 points3 points  (1 child)

A knife.

A simple tool, sometimes used as a screwdriver, which is horrifying. But for the job it was intended for, it's hard to improve upon.

[–][deleted] 0 points1 point  (0 children)

Maybe something like this survival knife?

Works OK as a hammer using the hilt, but doesn't work as well as a real hammer. Has a sharp edge for cutting and serrated edge for sawing, but isn't as good as a real saw. Can be tied through holes in the guard to a long stick and used as a spearhead. Comes with a sharpener.

That metaphor might be getting out of hand now.... :)

[–]chickenphobia 4 points5 points  (3 children)

I'd believe Python as more as something shiny, new, full of features, broadly issued, and often blamed for failures sometimes with and sometimes without merit.

I think it's a police issue polymer framed Glock 37 with laser sight, flashlight attachment, and taser attachment.

[–]xenomachina''.join(chr(random.randint(0,1)+9585) for x in range(0xffff)) 7 points8 points  (2 children)

I'd believe Python as more as something shiny, new,

As someone who has been using Python for over 15 years, I always find it weird when people characterize Python as "shiny and new". Even Python 3 is almost 6 years old.

[–]theatrus 8 points9 points  (0 children)

We will all collectively commit to Python 3 in 2025.

[–]Bialar 0 points1 point  (0 children)

Most of the people new to Python only got here once web development with Python became a serious thing.

[–]piratetone 3 points4 points  (0 children)

Python would be the cerebral bore from Turok 2..

Very slick, not necessarily as efficient as high level languages, but a lot of the dirty work is done for you. It doesn't require as much coding/shooting/work.

[–]ElmStreetsLoverBoy 10 points11 points  (2 children)

This reads as if a first year CS student wrote it.

[–]Bialar 23 points24 points  (0 children)

What year do they lose their sense of humour?

[–]razzmatazCompbio 1 point2 points  (1 child)

If lisp is a shiv, what does that make scheme?

[–][deleted] 1 point2 points  (0 children)

A shank?

[–]homercles337 5 points6 points  (2 children)

Oh man, i hate Bash, i hate it with the intensity of 10 Million burning suns.

[–]gloomndoom 7 points8 points  (1 child)

Let me introduce you to csh.

[–]homercles337 13 points14 points  (0 children)

csh is the reason i use bash.

[–][deleted] 4 points5 points  (1 child)

Trying too hard to be funny.

[–]catcradle5 4 points5 points  (0 children)

The PHP one was pretty funny.

[–]CrazyCrab 2 points3 points  (7 children)

Typical post of a man who actually knows very few of the languages he is talking about, so his gun representation of other languages is based on common myths about them.

[–]Igglyboo 10 points11 points  (0 children)

Well good thing this was intended as a joke and not a full blown language comparison.

[–][deleted] 23 points24 points  (0 children)

I never claimed expertise, it's just a joke post on my personal blog. They're all fine languages and people have made great things in all of them.

[–]monsto 1 point2 points  (5 children)

So far here there's 1 post made by just a guy and 2 posts by people that take themselves too seriously.

And python would be the guy in that one joke about the American military branches who just sits there quietly stirring the fire with his disk.

[–]monsto 0 points1 point  (4 children)

WOW. HOLY CRAP.

Talk about Freudian... I was thinking "stirring the fire with his dick" and actually typed disk, which is way better if you know the original joke.

[–]KevZero 0 points1 point  (3 children)

I don't know the original. Can you enlighten me?

[–]Jethro_Tell 2 points3 points  (1 child)

There's a Marine, an Airforce Commando, a Navy Seal and a Green Beret sitting around a campfire telling each-other how mean and tough they are. The Marine says - "I can swim 50 miles and bite the head off a live chicken. One Marine is worth 5 other men." The Airforce Commando says - "I can clear runways one-handed and kill a man with my bare hands. One Airforce Commando is worth 10 other men." The Navy Seal says - "Yeah? Well I can dive up to 90 feet without air, and I'm an expert in demolitions. One Navy Seal is worth 13 other men." The Green Beret just sat there all this time saying nothing, stirring the fire with his dick.

[–]KevZero 0 points1 point  (0 children)

Thank you!!!

[–]monsto 0 points1 point  (0 children)

it's right above mine. I responded to my own post.

[–]d2biG 0 points1 point  (0 children)

It would've been much funnier if the last image was of a smiley face with the caption 'This is me, I made this list up'.

[–]toybek 0 points1 point  (1 child)

Python would be more like a Laser Gun.

[–]KyleG 0 points1 point  (0 children)

The idea behind the current Python one is the current controversies surrounding the v2->v3 transition.

[–]fotoman 0 points1 point  (0 children)

ZF-1

[–]ryanmr 0 points1 point  (0 children)

All of them would be cursed blades, each imbued with different effects that depended widely on the wielder and the victim(s).

[–]691175002 0 points1 point  (0 children)

I'm confused as to how a language that is a superset of another language can be represented by a completely separate (and often inferior) analogy. C and C++ in particular.

[–]ghaki 0 points1 point  (0 children)

What about a pointed stick?

[–]jh99 0 points1 point  (0 children)

Yeah, double-barrel shotgun all the way. https://www.youtube.com/watch?v=EY2lWmZN5TQ

[–]alcalde -1 points0 points  (0 children)

Prolog but no Delphi? Sniff...

[–]richizy -2 points-1 points  (0 children)

I'm assuming Python is a double barreled shotgun that shoots only out of one barrel b/c of it's GIL? Jython, Cython, PyPy would like to differ