Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Comment Re:Couch programmers bashing again. (Score 1) 182

Yeah you're right, I haven't touched PHP in a couple of years now so I haven't seen anything about (nor can I find anything even now) PHP's new async support for the things you list. Yes I'm aware it's now got some half-arsed threading support hacked in to move away from basing attempts at multi-threading on curl hacks, but it's not me you need to be telling this to - it's the other guy whose argument that PHP is fine performance wise is because you're spending 90% of the timing waiting on blocking IO, which is obviously nonsense. This was historically the PHP way and it shouldn't come as a surprise to someone claiming to be well versed in PHP that this is a deeply entrenched way of doing things in the PHP community for that very reason, but it's never been the way of doing things in the languages I mentioned because they've all been designed to support it from the outset.

At the end of the day, in things like C++, Java and .NET you've got control of asynchronicity through the entire stack, but with PHP you're still limited by a strict bunch of fudges.

Comment Re: Sometimes bad tools are just bad. (Score 1) 182

The problem is that people like you will continue to deflect the problems away because you're not competent enough to understand them in the first place. You don't know your code is broken.

The fact that you don't know that the type system is broken means that you're wholly unaware that any code you have written involving integers can behave completely differently when you move your codebase from a 32bit system to a 64bit system. It means you probably don't realise that your code is failing when you expect '0.0' to translate in a boolean expression to 0.0 as '0' does 0. It means you probably aren't aware of bugs stemming from the fact that the confused implementation of arrays such that they're partially ordered list, partially hash maps, but that the inherent conflicts that arise mean they fail at both can create nonsensical iteration. It means you don't realise that you have to explicitly declare a global as global, but if you do it might not actually be global depending on where you make the declaration.

But perhaps maybe you do know these things, you're just too much of a PHP fanboy to accept that these sorts of gotchas and faults you have to deal with are problems that people using almost any other language do not. Perhaps you've simply sold it to yourself that it's okay that these inconsistencies and this poor design exists on the language, because you've fallen into the trap of becoming a one trick PHP pony and have cornered yourself with nowhere to go. I've yet to meet anyone with a broad amount of experience across multiple languages (and I mean working on multi-year projects with different languages, not just hacking something together for a day) that really believes that PHP is somehow equally as good as everything else - when someone is genuinely experienced enough to be objective, it becomes obvious that PHP is just a poor choice. I know this precisely because I have not just worked on, but led a multi-year PHP project and have worked on multi-year Java, C#, and C++ projects too - I know that PHP is just objectively bad. It didn't stop us delivering on type and on budget, but it did cut our profit margins by about 10 - 15% on the project compared to if we had used C#, Java, or even RoR.

You talk about customers and revenue streams, but that's exactly when PHP's faults matter - what's a customer going to prefer, PHP with it's higher development costs because of the sorts of poor design above requiring greater development effort, greater unit test coverage, and/or greater testing, or the language that doesn't have those problems and lets developers get things done faster because they don't have to deal with them or even a remotely similarly sized amount of equivalent problems as PHP has and still often get a performance boost to boot given how painfully slow PHP is and how terribly it handles threading (meaning it's blocking and limiting requests more than is optimal).

PHP is fine if you want to do a "doesn't matter" hack project quickly and dirtily, but when professionalism and money is involved it's about the worst option going - it's quirks, problems, and low performance add an inherent cost increase to any development done with it. If you don't understand this it's probably because you just don't know any better, as you've proven with having to even ask the question as to what's broken with the PHP type system.

The TCO of PHP is the overriding reason as to why it's a bad choice, and that's why I'm surprised you try and write off it's problems by implying they're not an issue in the real world when money and customers are involved as that's precisely when it's quirks do become a problem. Obviously you've never had any accountability or responsibility for delivering a project with maximised profit margins, maximised customer happiness, and maximised stability, performance and maintainability or you'd know full well that you've spouted an awful lot of nonsense.

Comment Re:PHP is fine (Score 1) 182

"I'm fed up with the equivocation PHP fans trot out whenever any criticism heads their way. Yes, the quality of a language really does have an effect on the quality of the code you write with it. This is plain for anybody to see, and if you don't see the difference in quality, then you should seriously question your competence."

Absolutely and evidence of this is always only a Google search away. Search on how to do something with a database and the results you get are riddled with things like SQL injection vulnerabilities, even when the source of the official documentation.

There's a reason why like 90% of websites that get hacked nowadays are running PHP - because the community is full of people who just don't know why their language is bad, and because they don't know why their language is bad, they definitely don't understand why their own code is bad.

Comment Re:Couch programmers bashing again. (Score 1) 182

The second half of the paragraph proves that I understand VM technology in quite a lot of detail, and understand the sorts of difficulties involved in moving from a language to executable code through an intermediate form.

I know that HHVM doesn't support strict PHP which is presumably what you're referring to, but if you're confusing the moderate changes made to make it work in a JIT at all with the complete break needed to be able to act in a competitively optimised JITted environment then it's not me that doesn't know the topic, it's you.

Comment Re:Couch programmers bashing again. (Score 1) 182

"HHVM just closes that gap entirely"

This is wholly false, HHVM is still a long way behind the level of JIT optimisation that both the JVM and the CLR perform, in part because PHP was never designed with the intention of being JIT'd from the outset making it much harder to JIT well in the first place. The amount of language inconsistency, edge cases where it contradicts itself and general design whereby things have been bolted on unplanned and ad-hoc all but guarantees you'll never write a JIT compiler for PHP that can be as effective as the CLR and JVM. The only way you'll get PHP to the point it's a serious competitor for .NET, Java, and C++ is if you create a version of the language that completely breaks free from it's past, tightens up the rules and changes the way things work- it can't even be backwards compatible, put simply, it wont even really be PHP anymore. IIRC someone started a project to do exactly this, maybe it'll bear fruit, though I'd question if it's even necessary when the JVM and now CLR are open source.

"These are web apps not 3d games, io is your limiting factor in almost all instances, even if you're cracking md5 passwords in php you're still going to be using a rainbow table and hence io bound."

Even if you are IO bound this still highlights the problem with PHP thinking- the idea that you can only do one thing at a time, it's nonsense. In .NET, in Java, even in node.js and of course in C++ with IOCP (which node uses on Windows anyway) you don't just sit and wait for IO completion, you process other things. If you're genuinely working in a high end environment the CPU will be kept busy regardless of what IO waits are occuring. The fact that these technologies can get much more done whilst waiting is still wholly relevant. If you think all processing should be done in serial then you really don't understand the way high end server processing is done. If you're only using the CPU 10% of the time and waiting for IO the other 90% of the time you're doing it very wrong.

"The language itself being poorly designed generally boils down to preference, that php is a fractal of bad design site whines about the syntax of the array push operators and how when people put == they really mean ===, these aren't legitimate complaints, i've seen real world bugs in other languages where people put = instead of == or := instead of =, typos and inexperienced developers happen, get over it."

It's got nothing to do with preference. Inconsistencies, additional verbosity and so forth inherently increase the risk of mistakes no matter how good you are (or think you are). Much of it is a result of the fact that many of PHP's key features were bolted on after the fact (like OO for example). It's absurd to suggest that a language that has had things bolted on that it was never designed for from the outset is no worse than a language that was properly planned and thought through from the outset. You cannot increase the complexity of a language without adding anything beneficial in the process and expect it to be just as good for writing software as something more streamlined and better designed from the outset, this is objective fact - more room for mistakes is more room for mistakes and the quality of programmer is irrelevant as the perfect programmer is a myth.

I've always said you can get things done with PHP, I have, I've delivered a large multi year project with it - it's faults aren't crippling. But there's a cost- more development time, or more bugs. Dollar for dollar, pound for pound, you'll get more for you money if you use one of PHP's competitors rather than PHP whether that's faster development time, lower defect rates, better performance, better maintainability, or a combination of these factors - the fact you admit you have your own framework highlights this sort of issue that you face with PHP, you've had to spend time building something that is unnecessary in something like .NET where the framework is extremely well designed and built from the outset.

If you've already invested in it there's probably not much point switching, I wouldn't dispute that, but if there's an opportunity to start again, or to migrate away, right now I'd take it as I see no compelling reason to stick with it. Yes you absolutely can do what you need to do with it, but if you've got the choice you can do more for less with various alternatives.

Comment Re:Couch programmers bashing again. (Score 1) 182

That requires a few assumptions though, that you're using HHVM rather than the official PHP interpreter and that your application really is IO bound (which is entirely application dependent), and finally that you're not fully optimising your .NET, Java, or whatever else environment too.

Even given these assumptions though, there's still the problem that PHP simply doesn't offer the breadth of support for hosting your application to optimally cater to different cases in the first place. For example, with WCF you can configure it to support node.js style event based programming with few threads rapidly offloading incoming requests, or lots of threads to handle long running IO bound processing requests concurrently.

For typical SMEs and even quite a few large companies you're rarely optimising to this degree, but for those where you are you're still left with far more tools in the .NET and Java world and the divide is typically growing, with improved support for things like .NET native. Effectively you're comparing an optimised PHP environment against a typical .NET/Java environment, rather than comparing two optimised environments where both are using the most cutting edge optimisation options available.

To me the performance benefits of not going with PHP and going for something faster would be an acceptable loss if PHP offered some compelling benefit on top, but the problem is that it really doesn't - the language is more poorly designed, the libraries are more inconsistent, often less useful, and even the toolchain available is typically worse. As such the problem is that the .NET/Java JIT advantage is effectively just a free bonus for using those platforms over PHP which just makes PHP that much less compelling again.

There's a fair argument that with C++ the performance advantage it has over say, .NET really isn't worth it because .NET offers more rapid development (though that's ultimately going to depend on how high performance rates on your scale), but PHP just does not have that same advantage - any initial up and running advantage with PHP is rapidly lost by way of the requirement for more intricate unit test coverage and/or greater testing and more time consuming debugging. PHP is fundamentally both slower to develop with and slower to execute, and that's the problem.

I agree with you about the importance of a good DBA, all too often the benefits of having one is painfully under-appreciated by many companies.

Comment Re:Couch programmers bashing again. (Score 1) 182

Hmm. No idea what the fuck just happened to the rest of my post, lucky Slashdot isn't written in PHP or I could blame it for that too :)

Anyway, basically my point was that it's really not in question that PHP has a number of problems that it's competition simply does not have, those problems are not caused by the programmer, they're caused by the language and it's libraries.

Yes you can write bad code in .NET, Java, C++ and whatever else, you can also write good code in PHP. None of that is in doubt, but it's a common argument in favour of PHP that sidesteps the fact that like for like, skill for skill, there is a higher cost to PHP- you need to implement more unit tests, you need to spend more time peer reviewing, the code is more verbose and has a higher maintenance burden, and so on and so forth. So yes, you can do things with PHP just fine, but you're paying more to achieve less, and that's really the problem - you're throwing money down the drain by using PHP. It maybe that that's acceptable if you've reached a point where you have so much invested in it that switching would cost too much at that point, but ultimately if you're going to rewrite anything or do it again you're better off switching away from PHP to technologies that are more secure by default, perform better by default, have languages that better support refactoring and maintainability by default, and let you get more done with less cost.

Comment Re:Couch programmers bashing again. (Score 1) 182

It's got nothing to do with laziness, at the end of the day the fact remains that PHP has an awful lot more inconsistencies, and has an awful track record on security, stability and functionality.

I'm skeptical that anyone who claims to have a good depth of experience of PHP but claims it's as fine as anything else really does have the experience they're claiming. As soon as you need to start doing anything serious, like say, making use of threads, PHP's deficiencies rapidly come to the fore when compared to other technologies like Java and .NET. It's a simple fact that PHP has more inconsistencies in both it's language design and libraries, it's a simple fact that PHP is interpreted not compiled or JIT compiled making it inherently slower, and it's a simple fact

Comment Re:What are they looking for.... (Score 1) 103

Finland was not independent in World War II, it got partially taken over by Russia, and then was eventually forced to become a puppet state of Nazi Germany, later fighting alongside it. Being subservient to the Nazis and surrendering to the Russians is about as far from being independent as you can be short of being outright annexed by either of them in your entirety.

Perhaps this is part of the Finnish national psyche, that you tell yourself you're better than others because you sided with the Nazi's by choice using the rather arbitrary choice of the Molotov-Ribbentrop construct rather than simply comparing against more similar neighbours like those physically next to you in Scandinavia like Sweden that was actually neutral, or Norway that fought and lost against the Nazis but still at least stood for what it believed in and fought for it's independence. Claiming being forced under the whims of Nazi Germany is somehow retention of independence is a desperate nationalist view at best, a lie at worst.

I know it's painful for you Finns, you've never really accepted that you helped a group of people who were responsible for the most horrendous acts against humanity in modern history, and you like to deflect by saying "But Stalin was a bad guy too and even the allies killed some people!" as if all measures of killing or torturing are somehow equal (I'll give you a hint: Stalin, Churchill et. al. weren't making lampshades out of human skin and throwing babies up into the air as a kind of living clay pidgeon). At the end of the day though, instead of feigning superiority and pretending you're just better than anyone else because you supposedly chose to side with the Nazis, you guys just need to accept the past, get over it, and move on, something the Germans themselves have managed to do incredibly well (now there's a real bastion of moderation, progressivism, and relatively independent thought in international politics if ever their was one - one that puts you Finns to shame).

The reality is that Finland is probably the worst country to talk about freedom and independence, it's been walked all over for much of it's modern history, and I get it, that's the Finnish way, to you that is independence, but to us independence is making our own decisions, deciding the fate of our own sovereignty rather than having it forced upon us. So I'm dismayed, albeit not surprised that Finns like you believe you're somehow superior for being everyone's doormat, to be walked over at will, and to see you spin capitulation as knowing how to defuse conflict.

It's nonsense of course, anyone can defuse a conflict by capitulating, the difference is that nations like Finland are relatively rare in their willingness to give up their independence to actually do that - the rest of us prefer to stand with like minded allies and fight for what we believe in. I don't want what Putin is offering just like I'd never have wanted what either Stalin or Hitler was offering. Corrupt fascist dictatorships are not my thing and I believe they're worth fighting against.

So you should probably stop looking down on other nations in the West, and start looking down at yourself and your countrymen for being willing to give up your independence and identity to whoever scares the shit out of you the most at any given time. It seems right now that that's Russia, so, well, good luck with that. Let us know how it goes, we'll be here waiting to look out for you when you realise that corrupt dictatorships aren't for you, again, as always. Maybe this time you'll learn, but I wont hold my breath, you never have before.

Comment Re:Not a genuine advantage (Score 1) 193

No, that's just paranoia. If you haven't been paying attention Microsoft spend a LOT of money on dealing with malware and so forth, they help the authorities take down bot nets and have a genuine commercial interest in stopping the spread of malware.

This is just another step in that quest, all they're doing is saying "Download your unlicensed copy of Windows from us, rather than some dodgy site where it's riddled with malware from the outset".

They've figured out that giving people a clean copy rather than a virus laden copy is cheaper for them than it is to deal with constantly having to spend a fortune dealing with DDOS attacks and spam hitting Outlook.com and that sort of thing.

There's nothing sinister here, it's just way easier and cheaper for them to offer an official Windows 10 download, that it is to have people download it anyway, but riddled with malware that feeds into botnets that cost them money.

They're not giving you a license key, they're not luring you into a trap, they're not tricking you, they're just giving you a clean download that saves them money with the added benefit that it means people might convert to buying the odd copy here and there with less risk of people leaving for other OS' like Linux. It just makes good business sense, there's nothing more to it than that.

It's not like the police even entertain breaking down doors for civil piracy cases anyway, it's not their job, it's not their jurisdiction, and it's not something they get involved in so it's nonsense either way. The worst they could do is haul you into a civil court where they'd then have to a) prove to the judge that you are individually and uniquely tied to the IP address and that no one else could ever have used that connection and b) explain to the judge how you've cost them money when they were the ones that offered the download in the first place. So even if your conspiracy theory did have any merit, they wouldn't have a leg to stand on anyway - it would be the very definition of civil entrapment offering a product download without any payment requirement and then trying to sue people over it to extra payment for it afterwards. That's an entirely illegal practice in itself stemming from an old scam where people used to ship items to people entirely unsolicited, and then sending a demand for payment or even filing a debt claim against them for the cost of the product if the person who received it never sent it back. Nowadays if you receive a wholly unsolicited parcel you're entirely within your rights to keep it with no real recourse for the company who sent it- the same is true here, Microsoft can't demand payment after they offered the download for free.

Comment Re:State-funded Businesses (Score 1) 106

Well at least you have the courage to admit you were wrong in a roundabout way involving trying to pretend someone else was wrong. I guess it was the old BDUK point that was the killer right? I mean it's kind of hard to argue that the license fee isn't used for infrastructure when, er, it clearly and indisputably is.

I know what you really mean is "I wont argue with you because you've proven me wrong, but I'm too much of a child to admit it so fuck you!".

It's okay, you don't have to pretend with me - I'm smart enough to see what people like you really mean, the old idiot insult is usually the first giveaway, but at least if nothing else you were man enough to know when it's time to shut up and stop making a bigger fool of yourself, so well done on that.

Comment Re:I think the main issue is what is "too high"? (Score 1) 573

Energy can also be death. If you don't believe me then go get hit by lightning or stand in a furnace then turn it on.

Sure it's great for me, I mean, the UK will get a really nice climate, I'm not much a fan of the cold.

Meanwhile everyone in Africa and Australia will have died from drought.

I don't think your simplistic understanding of energy has done anything to prove your case that warming is inherently better, only that it's inherently better for you personally, a wealthy westerner.

Comment Re:Who cares? (Score 1) 573

Just because people are going to make money from something doesn't inherently make it bad, or a scam. Only whether it's actually bad or a scam can define that, and you've done nothing to prove your case.

If Al Gore is cashing in on green technology that doesn't mean green technology is a scam, it just means he's a competent investor in spotting markets to invest in that the human race are simply going to have to move towards to reduce the impacts of climate change, and similarly to reduce the impacts on non-renewable sources (like having to depend on middle-eastern dictatorships and Russia for fuel). You don't make money and become a billionaire by investing in shit that has no prospect for growth and that the world sees no value in.

It's possible to care about the environment, still make money, and have whatever you're investing in be a good idea all at once.

Carbon tax makes a lot of sense, because right now everyone else is paying the externalities of fossil fuel burning. Coal is a cheap power source because you and I have to pick up the bill for the health costs via your health insurance or my country's NHS. Moving that cost onto the people who make the profits from burning and causing those billions of pounds of health problems is eminently sensible, and it makes cleaner technologies like nuclear that already have to foot the bill for cleaning up their harmful chemicals (nuclear waste) more competitive.

I'm continuously amazed at how people fail to grasp what a good idea it is to tax polluters for polluting because they have absolutely no idea how much it's costing them personally to pay for the cleanup. Go Google fossil fuel externalities, even with the most conservative estimates you're currently paying a hell of a lot personally for the fact that such pollution has largely been untaxed such that you pick up the bill. There's no such thing as a free ride, burning all that shit and letting them pollute has a cost, why not make the people who profit from it pay for it? Why is that such a terrible idea? Or is yours just a kneejerk libertarian "OMG GOVERNMENT, TAX, IT MUST BE BAD!" response?

Comment Re:Mandatory doesn't sound all bad to me (Score 1) 1089

It's not even that, I'm very much inclined to no longer vote in the UK's general elections because I voted against the FPTP system and it would seem utterly hypocritical of me to participate in a system that is fundamentally broken and I am staunchly against, especially when there are no parties that even reasonably represent my views (there's no centrist parties in the UK, they're all various flavours running from very much left to far left or very much right to far right and I like a bit of both and hate a lot of each - I want the right wing economic policies and the left wing environmental policies for example).

It should equally be in my power to not vote as it is to vote for any party so as to let the turn out figures tell their own story about the legitimacy of the whole system. If voter turnout drops beneath 50% then the whole system becomes illegitimate and no one winning an election under such circumstances can dare to claim legitimacy.

Not voting is a vote, it's a vote against the current electoral system, and it's not surprising that under two-party favouring systems like we see in the UK that there is always talk of making voting mandatory - they both know the current system has no real legitimacy, but it benefits them, so they both want to protect it.

Mandatory voting is never the answer, fixing political systems so that people have reason to vote is the only fair and reasonable solution, but it does not benefit the people who gain from the status quo so the only way to make them change is to force their hand by defying their attempts to fake legitimacy in the system by forcing voting and spreading myths like "Your grandad fought for the vote!" (no he fucking didn't, he fought to stop the nazis and their intention to have their minority rule over the majority, which is exactly what FPTP encourages). Mandatory voting should not exist because it denies people the opportunity to show their distaste for the electoral system as a whole and any country that has it is just propping up a broken system rather than fixing it.

Mandatory voting is like mandatory proprietary OS installations on all computer sales, some are happy with Windows, some are happy with OSX, but others want neither, they want Linux and if that isn't an option at time of sale they want no OS with their computer until a vendor decides to start giving them what they actually want.

Slashdot Top Deals

And it should be the law: If you use the word `paradigm' without knowing what the dictionary says it means, you go to jail. No exceptions. -- David Jones

Working...