28 ms·
I work on PHP at my day job (in a public company), before this, I came from Ruby, and .NET before that. I'm convinced the reason so many successful projects us
by swalsh 10y ago
I work on PHP at my day job (in a public company), before this, I came from Ruby, and .NET before that.
I'm convinced the reason so many successful projects use PHP, is not because of any inherent nature of the language. I think it's the people who use it. They just don't care. A successful project needs to be started by someone that cares just enough, but not too much.
If you're programming in PHP, you're not running around talking about "convention over configuration" giving talks, or trying to make your code beautiful. It's a garbage language, and you know it. But it allows you to get something up and running, so dang quick. You're failing while the other guy is still updating his gem file. You're advertising while the other guy is trying out some fancy new deploy script. You're incorporating feedback while the other guy is just starting to get to work. When he finally fails, he's used up half his runway, whereas you, the guy who didn't give a fuck about your code has gotten past that first failure, and are finally getting some traction.
Hopefully, the next guy to join the company will clean up your shit. The other guys code may not look like shit, but it doesn't solve any useful problems... so they never got the chance to hire that next guy.
- kapv89 10y agoI used to be this guy, ie, who cares but not too much. A big reason why I switched to node. Let's me think less about code (JS everywhere), and more about the problem at hand.
- asimuvPR 10y agoI've been in the game long enough to realize how true this is. Good point. It will certainly make people here defend their sacred choices.
- colechristensen 10y agoNot everything can or should be well engineered. People that always chase this are worshipping false gods. Does anyone have experience working on something that at one point actually met with the high ideals a certain mindset strives for?
- asimuvPR 10y agoI've worked on enough projects to have covered both sides of the equation. The pristine codebase that belonged on a museum yet took way too much time to ship a feature. The other side of the coin with the codebase that somehow worked (no one knew how) and brought in millions because people would keep piling stuff on top of it. Have also worked with a codebase that started off awfully and was cleaned up enough to reduce the amount of time lost on stupid bugs and and thus increased how effective the team was delivering new features (with a direct financial improvement as a result because sales picked up significantly). It all boils down to finding a balance. Sadly, people confuse technical perfection with a product that works.
- greenhatman 10y agoLove this comment. I'm a PHP dev. I do care about my code though. I think you can write niceish code, even with a shitty language.
- lj3 10y agoIn your opinion, what does that look like for PHP? Most of the projects I've seen tend to go overboard on the java-like OOP declarations.
- bpicolo 10y agoPHP always reminds me of the Dijkstra quote: "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
- Jach 10y agoMe too. My first language was PHP, I wonder what that's done to me. :) I still appreciate it, and kind of wish other languages had a "from webdevstuff import *" feature that would just bring everything I might need for the purpose of web dev into the namespace, rather than many lines of imports from sometimes obscure paths. I can't get on the hate wagon with the rest of the community. I'll avoid using it to start anything new, of course, but I'd take it over any other mainstream option. Give me Clojure or Lisp and I'll be happiest though.
- 10y ago
- ken47 10y agoOr because it had first mover advantage in its cohort.
- berntb 10y agoIt didn't really, AFAIK (not a PHP guy, but old) it got traction because it was easier to get started with than the alternatives. That said, all environments will be one of three: 1 Have warts. 2 Not be used. 3 Be in denial and claim to be perfect. The GP had a point, perfection is the enemy of good. Something delivered is better than nothing.
- weberc2 10y agoWhat do you consider its cohort to be? PHP was the first language on my radar that didn't depend on CGI.
- berntb 10y agoUh, the early versions of PHP was written in Perl running under mod_perl, which was not CGI. Also, e.g. fastcgi was around the same time frame. (In order not to end up in a flame war regarding the first point I checked wikipedia -- see second paragraph of the intro here. :-) https://en.wikipedia.org/wiki/Mod_perl https://en.wikipedia.org/wiki/Mod_perl )
- aikah 10y agoPHP got traction because it was easier for hosting companies to set up shared PHP hosting and it was easier for non developers to add basic code to HTML pages. PHP was also at the right moment at the right time,just like MySQL and some people made it easy to install it on Windows, a platform too often ignored by language maintainers (try to write Ruby on windows, a (slow) pain in the ass).
- deleted 10y ago[deleted]
- JohnnyConatus 10y agoBut what about all of the successful Haskell startups? /s
- wyager 10y agoThere are a number of successful startups and very large companies using Haskell. It's understandable why it isn't a common choice, of course; the potential employee base is fairly small.
- bbcbasic 10y agoThere are some. But business success is largely orthogonal to language choice. I.e. when you buy a paid Github plan do you check what language they write the site in? Of course a strongly typed languages should tend to have less bugs and that will save money. But saving money is only useful for those with revenue to being with.
- ryanlm 10y ago> It's a garbage language. I'm overwhelmed by how rich of a statement that is.
- fiedzia 10y agoIts accurate.
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]
- partycoder 10y ago> "The next guy to join the company will clean up your shit" Is that acting in the best interest of your employer? or ripping your employer off? I think more like the latter. Imagine if other professions behaved like this, like finance or legal people. But suddenly because you are an "engineer" this is acceptable? If I was your boss I would fire you immediately. The world of difference between balancing trade-offs in technical debt, tradeoffs in long-term/short-term goals, and deliberatively sabotaging the company by leaving technical debt for other people to clean. You are a liability to the company and its culture. And you want people like you and your language to be taken seriously? that's why nobody wants to work with people like you.
- apathy 10y agoother professions do behave like this. Look at the CEO of Wells Fargo or Valeant. "Fuck you, I got mine!"
- BoorishBears 10y agoI was unaware finance people didn't operate like this.
- throwaway729 10y agoFinance has a bad rep, but there are actually lots of rules and regs surrounding ethics in finance and a practitioner can easily end up with massive fines or in jail for failing to follow those rules. Even if his boss told him to do it. Those rules may not be the right ones and they may not be enforced well enough, but there's at least some nominal level of assumed professional responsibility.
- throwaway729 10y ago> But suddenly because you are an "engineer" this is acceptable? No, it's acceptable precisely because you aren't an engineer. We software engineers in the US are not bound by a formal code of ethics like more traditional engineering disciplines. We're not required to invest a certain amount of effort in the security or accessibility or maintainability implications of our work. And, most importantly, we are not legally responsible -- independent of our employers -- for defects in our product that arise from incompetence or otherwise failing to follow best practices. So, you're wrong and your parent is right. He's not independently responsible for his work, and he has no formal ethical obligations prior to his employment contract.
- piotrkubisa 10y agoI can sign below your post as experience of PHP developer who "fights" each day with bad code written by PHP devs. There are a lot of frameworks like Laravel, Symfony or Zend which introduces a lot of conventions (folder structure, naming, PSR autoloading built-in functions, resources) but it is so often skipped to "get shit done". I would complain on many aspects of daily PHP-development like not using tools like the PHP-MessDetector (one of the rarest tool used by PHP programmers), PHP-CodeBeautifier (phpcbf) or PHP-CodeSniffer - Hopefully some open-source projects started using a StyleCI. Another things is database-related code. PHP developers tends to use ORM lately, but on five projects with Doctrine in 4 developers used it improperly messing with a 1000+-lined classes and storing annotation above the fields instead of file or even using Doctrine to get native database-connection via PDO driver to use query db with SQL only instead of DQL for any case. In google there is enormous list of articles about PHP optimization - the interesting thing is, that almost any touches the fact the PHP application should be "compiled" (cached) (e.g. for Laravel [1]). Whatever I would say about PHP - how good or bad is - I am almost forced to use it - In central/eastern europe almost any company uses it to develop web-backend... but I really would love to jump to Node/Go/Golang-based development team (maybe even remotely). [1]: http://laravel-recipes.com/recipes/60/optimizing-the-framework-for-better-performance http://laravel-recipes.com/recipes/60/optimizing-the-framewo...
- partycoder 10y agoPeople that have that mentality, is like: - You sit in a dining table with 50 different utensils. White wine glass, red wine glass, water cup, salad fork, dinner fork, dinner knife, teaspoon, soup spoon, bread plate with knife... - When the food is served, you take the food, drop it on the floor, eat it with your face (not even using your hands). "get shit done"... use spoon as a knife and knife as a fork, or try to sniff your food through your nose instead of eating it.
- bbcbasic 10y agoWorks for my 1 year old. Guess what: She hasn't starved.
- nostrademons 10y agoYou can have the same mentality in many languages that suck less than PHP, though. Python, for example, tends to get out of your way and just let you write your algorithm. Go, as well. Or various JVM languages, particularly Java 8 and Kotlin. The one thing you want to avoid are communities that argue about "the best" way to do things. Even then, you can use the fruits of their labors, as long as they're willing to package it up in something that gets out of your way and lets you get work done. You just need to take the language but not the community.
- brlewis 10y agoI do think certain languages are more conducive to the "just write it quick" mindset. I find it easier to enter this mindset when I write a bash script.
- tluyben2 10y agoI find this interesting because I feel that is true and if it is true, then there must be some definable reason for it. So what is it? I have this with Perl, PHP, Bash, C(!), Lua and pure (browser) JS with Jquery (not npm, CSS and HTML though => those keep me from even starting something when I think too long about them). I would think I like Lua & C to just write it quick because they are so limited; I remember their syntax, core functions and core libs, so I can, without internet or documentation, write things in it immediately. I'm not sure why those others give me that feeling; probably because it's easy to just start instead of having to set up dev environments etc. Most is already on your computer and they are forgiving (a bit too much I agree) about sloppy coding. It would be interesting to try to dive into details of why the brain finds some languages more conductive to 'just write it quick' and try to mix that with languages which do not have that feeling at all.
- nostrademons 10y agoOpportunity cost - mental energy you spend thinking about which frameworks you're going to string together or how you're going to make the perfect abstractions or how you can make your life as a programmer easy is mental energy that doesn't go in to solving your problem. There's a balance, too - if you spend zero mental energy thinking about how to make your life easier, you tend to get spaghetti-code monstrosities that PHP (and Visual Basic before it) are known for. The trick is to live with some discomfort and some suboptimal solutions so that you can finish the job you set out to do, and only worry about how to do it better when it becomes apparent that you're going to be doing it a lot.
- hueving 10y agoThis sounds like to me you are mistaking the popularity of PHP with the proficiency of the developers. PHP has been around a long time and is used by lots of people. Even if PHP projects only have a 1% success rate and haskell projects have a 20% success rate, guess which one will have more "successful projects".
- bbcbasic 10y agoI think the point is that for most "tech startups" they are marketing-first and tech-second. If PHP gets you to first base (MVP) in 10% of the time than NiceLangX then you get 10 X more chances to throw shit at the wall and see what sticks.
- candiodari 10y agoBut that assumes this is the goal. The real goal is to get a nice looking CV with all the "advanced" entries, not to actually have a useful product or -god save us from this evil- an actual business.
- bbcbasic 10y agoTouche! Although probably not if you are the founder. Maybe for employee #1.
- hueving 10y agoRight, but the point I was making is that it isn't necessarily true that PHP is any better at getting to MVP based on number of successful projects alone.
- chiefalchemist 10y agoI think the point is, PHP won't kill you. It might be bad. But it is not in and of itself deadly.
- brian-armstrong 10y agoI'll offer an alternate hypothesis. Some companies are succeeding in spite of php. There are many, many users of php, and we'd expect that there would be considerable variance, with some users doing awful (no traction, buggy sites, etc) and some hitting home runs (facebook). Because it's such a popular language, it will have users across this entire spectrum. It's easy to cherry-pick the winners and miss all of the tremendous losers who picked php and got nothing for it.
- wyager 10y agoPrecisely. This is classic base rate fallacy. If tons of people use PHP because PHP devs are cheap, there are bound to be a ton of successes despite the fact that it's a horrible technology in many respects.
- chris_wot 10y agoPerhaps. But that rather begs the question. PHP has horrible bits, but in fact from what I've observed in the last year or so is that whilst it has in the past been fairly horrible, much of what made it awful can be entirely avoided. If you aren't following the PHP Framework Interop Group (http://www.php-fig.org http://www.php-fig.org) then you really should. I'd hazard that most of the warts in PHP can now be avoided pretty much altogether, and those that can't quite possibly can be worked around through configuration.
- brian-armstrong 10y agoAn easier way to avoid those warts would be to pick a different language
- ux-app 10y agoand miss out on all the awesome aspects of the language/environment?
- 10y ago
- nsx147 10y agoI like to call myself a "biztech" entrepreneur and these are the reasons I stick with PHP. Specifically using Yii2 I've been able to whip up MVP's and simply just focus on getting traction. In my experience that is all that matters for a startup.
- toast0 10y ago> If you're programming in PHP, you're not running around talking about "convention over configuration" giving talks, or trying to make your code beautiful. It's a garbage language, and you know it. This is exactly right. The right philosophy for PHP is to embrace the garbage. When you're done with a request, and have spit out all the HTML to the client, the server is going to throw everything away. So don't build a beautiful object tree to describe everything, just do the minimum amount of work to take the garbage input and generate the garbage output, and be done. Don't worry too much about your code being beautiful, because it lives in a dump. This may sound negative, but working in a dump means you don't have to worry about appearances while you do what you came to do. You can always take a shower on the way out :)
- userbinator 10y agoIndeed it's very much a "worse is better" philosophy throughout.
- eyelidlessness 10y agoNot really. It's just a "worse is" philosophy.
- hondo77 10y agoIf I wanted to embrace garbage every day I would have skipped college and went straight to being a bum. Life is too short to "embrace the garbage" every day.
- d0mine 10y agoAccumulating bad code is like pushing your company from a plane without a parachute and hoping that the next guy creates enough cushion in time before the landing destroys the company (not the fall that kills you)--you survive because you are likely moved on and are busy pushing some other company to its doom. It is probably ok if you work for a startup that does not survive long enough for the quality of your code to matter anyway. But in a regular company, your attitude creates a time bomb when eventually any apparently simple change may destroy the codebase (and at best, it just takes too long to make any change). Bad code isn't Technical Debt, it's an unhedged Call Option http://higherorderlogic.com/2010/07/bad-code-isnt-technical-debt-its-an-unhedged-call-option/ http://higherorderlogic.com/2010/07/bad-code-isnt-technical-...
- toast0 10y agoWhen someone (maybe me) comes and rips out my bad code later, they're going to have the benefit of future knowledge. I don't know how my code will be used in 2 years and what the requirements are, but they will, because they'll be there. I do my part today by acknowledging all of my code is bad, therefore I don't invest a lot of time or ego in it. I try to make it in reasonably sized pieces so it's easier to rip out later (this may make it slightly less bad). If someone comes and tells me my code is terrible, I say yes it is, you might want to consider these things when you replace it. EDIT: my opinions on this would change if I were shipping code to run on other people's machines: it's generally easy and quick to fix my code on machines I run, but updating code on other people may never update, you need to try harder to get it right the first time.
- yvsong 10y agoIn 2 words: shit happens.
- napsterbr 10y agoThis is one of the most accurate comments I've ever read on HN. Completely agree and can further back it with personal experience.
- astrodust 10y agoPHP isn't quick. It isn't faster than other languages. It's just a tool, and if you know how to use it well, it will be faster for you. If you want fast, build a static site. If you're iterating on your builds and doing something non-trivial, pick your tools carefully but don't be afraid to try new things.
- igravious 10y agoNot quick as in execution speed, quick as in time from idea in head to working code.
- astrodust 10y agoYou really can't beat the speed of a static page. For anything with a server-side component, PHP might be fast if you know a lot about how to get PHP up and running properly. Node, as a counter-example, runs on Windows and POSIX systems indifferently, and with very little effort can be a self-hosted web server for development that can be deployed to production almost effortlessly. If you have a favorite hosting provider which better supports some tools than others, certain things will be faster, but that's because of preference and familiarity rather than any factual differences.
- regularfry 10y agoI think you're overestimating how much effort it is to get a PHP dev or deploy environment up and running. This isn't preference and familiarity, it's 20 years more knocking the corners off to lower the barrier to entry.
- astrodust 10y agoThere's zero work involved in getting a static page up and running. There's minimal effort in getting Node up and running, and I'd put it forward as the new "path of least resistance" especially because of the heroic work done to make Node run properly on Windows. Getting WAMP or whatever configured and installed, or loading the PHP module into Apache or Nginx and getting that working is a giant pain in the ass compared to either of those two things, even if you've done it a dozen times before.
- rb808 10y agoAmen. The ironic thing is most people believe that the fashionable language/framework du jour they're using in their project is "high quality code" that will be maintained like that forever, while turning their nose up at PHP code that is "disposable" but in reality more likely to outlast.
- calsy 10y agoSo people who don't care make successful projects and PHP is a garbage language that is responsible for more successful projects than any other server side scripting language. LOGIC.
- aikah 10y ago> PHP is a garbage language yet it is responsible for more successful projects than any other service side scripting language? If you consider Wordpress a success then yes PHP is successful. The thing is, a CMS isn't an interesting project to work on.
- calsy 10y agoWordpress is a single example and a project being 'interesting' does not equate to success.
- swalsh 10y agoMy point is that the people don't care about the tech. They're worrying about the problem they're trying to solve. New companies that priotitize tech over finding and pleasing their customers don't live long enough to see the benefits. Just my observation. I've been through the "but if you don't build it right today you'll have to build it again tomorrow... that makes no sense" phase. I made some great code, but very few people are running it. My worst code is the code the most amount of people are running... it's because I got it done, and I got it rught before my budget ran out.
- chiefalchemist 10y agoThat's really the question. Is language choice a signal for other properties of the culture? And if so, which of those cause success?
- calsy 10y agoThe primary objective of programming is to 'provide a solution to a given problem'. Everything else is secondary. If PHP is capable of providing that solution faster and cheaper than its competitors, it will always be the winner. PHP is a practical language and its success demonstrates that fact.
- codedokode 10y agoI don't like the term "garbage language". People use to praise languages like Ruby or Python which don't even have private fields or type hinting the PHP has. Ruby libraries use approaches like monkey-patching classes in other modules. And if we look at Javascript, it is even worse than Ruby. How do you call Javascript if PHP is "garbage"?
- clockwerx 10y agoOh I really do miss optional type hinting in. Theres a lot of raise ArgumentError.new unless foo.kind_of? Bar Going on in my code these days.
- qwertyuiop924 10y agoJavascript actually has less problems than PHP. It also has proper lambdas, true lexical scope, and a shockingly good (if slightly confusing) OO system. There's a reason that people claim (incorrectly, but still) that somewhere inside of Javascript there's a Scheme dialect, desparately trying to get out. This isn't true, but the proper lambdas and scoping are very scheme-esque.
- codedokode 10y agoI cannot agree that OOP in Javascript is anywhere near good. Every library (like Backbone) includes a layer to emulate traditional Java-like classes with private/public fields and inheritance. Because until ES5 there were no syntax for classes, and in ES5 it is just a syntax for adding methods to a prototype and not a real class. And JS is too forgiving, even more forgiving than PHP. In JS you can misspell object fields's name and learn about it only when undefined value will cause an error somewhere in another module.
- qwertyuiop924 10y agoThat's because many dislike prototypical inheritance. It's perfectly usable. As for misspelling field names, the same is true for variable names in both languages, and many things in many languages. Here it's more justified, as JS semantics mean that the language can't know your intent in this case: check your spelling.
- brendoncrawford 10y agoThis seems to assume that a developer necessarily hits an MVP in PHP faster than in other languages. This might be true when comparing with the tooling/dependency nightmares of JS/NPM, but a half decent Python dev can get a Flask app up and running in about 15 minutes.
- jaredklewis 10y agoI read the post as saying that PHP self-selects the kind of developer that is great at making an MVP, thus why so many companies and projects are written in this garbage language. I don't think the post intends to implies that other languages are slow to develop, just that their developers are.
- gopalv 10y ago> It's a garbage language, and you know it. But it allows you to get something up and running, so dang quick. PHP didn't succeed because of the "language" part. It succeeded because it was limited and focussed to just being a tool to write small web-apps in a short time. It did one thing and did it better than anything else of the same era (I built CGI apps in C, Perl and Python before discovering PHP). It was just files, that you ftp-d in and it just worked. 99% of the friction is in writing the first thousand lines of code and PHP meant that nearly all of those lines was business logic, not unescaping POST data or parsing GET parameters. PHP doesn't remove your ability to think clearly. It is true that it does not provide helpful additions for algorithmic work, but it does not put challenges in your way when writing web-apps. And yet, it does not force you into too much magic about how it works - just enough abstraction for a messy coder.
- greggman 10y agoI'd argue it succeeded because it didn't require you to run a server. All those cpanel lamp ISPs mean sign in and upload code. All other solutions, java, .net, node, python, Haskell, etc require you to run and maintain your own servers. A minor exception for CGI based solutions but those were all too heavy.
- niutech 10y agoI think this is the main selling point - PHP is everywhere, almost for free.
- jbb555 10y ago> It did one thing and did it better than anything else of the same era I would argue that it still does. It's not a great language, but to just get something working I still can't think of anything better that doesn't require lots of planning or infrastructure
- OOPMan 10y agoGetting up and running with Python + Flask is trivially easy. If you think it's not then there's something else going on you're not addressing...
- NormlOverrated 10y agoPHP also has IDEs, tons of tools, tests, and gets deployed with many services and scripts. It's an inconsistent language, it's used by newbies in a very bad manner without even understanding the bare fundamentals of HTTP, but I really wouldn't call it a garbage language. If it were, it would have been dropped ages ago. But I see what you're getting at... if you need to whip up something quick, don't start experimenting with the "flavor of the day" language or library.
- cakeinblue 10y agoAfter I use both php and ruby for the same employer over more than a year. I would rather say Ruby is more like a garbage language -- 1) twist syntax to allow people write the same function into different ways is not a cool feature, it is disaster feature which causes more for a team to sync. 2) Duck typing is not interface, don't kidding yourself. they are totally two different thing. 3) ruby attract a lot of master level people try to make the community better, however, the whole community filled with mediocre developers who cannot even understand Rail != Ruby, and also they believe ActiveRecord is the only persistence layer they can use, and stop learning write native database query script. Finally, good luck with writing a unit test against an API not created by you because, you have to go through deep into the source code just for figuring out what data structure return and give.
- mastazi 10y agoI have worked on both (among many other languages) and I too prefer PHP, but I guess my opinion on Ruby is unfairly distorted by Rails, which I dislike a lot. I hear that Sinatra is nice, for example.
- mrmondo 10y agoCould not agree with your statement enough, just like Django really is a heavy burden for python when you could use flask etc... for most things.
- mastazi 10y agoYes, Django is in some ways similar to Rails but, at least, in Django I know how to exclude some parts of the framework (e.g. if I don't want to use Django forms, I'll just go on and use vanilla HTML forms, if I need raw SQL, I'll go for that rather than Django queries). I suspect that the same kind of thing is, at least to a certain degree, possible in Rails as well, however it seems harder to achieve because in Rails the components that make up the framework seem very tightly coupled. Obviously the opinion that I have formed may be distorted by the fact that I know Django/Python quite well, whereas I know little about Rails/Ruby. EDIT: obviously I agree with you that, if you want more freedom and if you are not using many of the features that Django offers, then it would make more sense to use something light-weight like Flask, which is a very nice framework.
- jaunkst 10y agoProducts fail. Languages solve problems. Business domains have different problems. PHP won't solve a telecommunication challenge at scale. I believe in polyglot development. Choose the language and framework that suits the challenge. Not all shoes fit.
- arpa 10y agoEh, you can do rapid prototyping-type garbage code in any language you are proficient in, as you can do the endless-architeture-meeting, special snowflake beautiful code, enterprise-level everything documented and automatically tested continuos integration and deployment to the most popular containerized/virtualized environment for a reasonable price of $millions in PHP or even bash or powershell. V1 is usually shit in any language and if it does what it's supposed to do, it remains shit forever. I've seen shit in C#, Java, and ROR. I've seen stored procedures stringed together inside MSSQL Server vomiting HTML snippets and PS shells giving birth to Excel files to be consumed via network share by some poor soul pressing a button in Excel. I've seen systems written in "enterprise" style, by "enterprise" developers without a single automated test and 20+ levels of abstraction with cross-dependencies running like spider web among 10-some "sub-projects". I'm not even talking about time-tested shell scripts you can find included by default in your favorite distro or the widely beloved ./configure. I guess the point is, the language has nothing to do with the attitude of the developer / project manager / product owner. It's easy and convenient to just dump your problems on the tool you're using, but the reality is more deeply rooted in the whole approach to software development (just get shit done), project management (the requirements have just changed, dude!) and the general "i need it done last week" attitude of the product owners. But sure, let's collectively shit on PHP, just because it's easier. Just like writing shit code is.
- pc86 10y agoI work in C# every day. I love the language, I love Visual Studio, I love the application lifecycle management features of the ecosystem. There's very little I don't like, or at least understand. I started my career as a PHP developer. Any web project you prototype in C# could be prototyped in PHP in a small fraction of the time.
- arpa 10y agoAnd any PHP thing could be easily prototyped in C# using MVC framework or such. 0 to http-response time is easily comparable if not even faster to what you'd have with PHP. You don't even need IIS. C# is a fine language and I have enjoyed it thoroughly before returning to PHP after some years, but you also can breed monsters with it. Cheers!
- idobai 10y agoThe problem with your argument is that most php sites fail when I/We use them(throwing exceptions on the site - really?!), they've the worst security on average and php is also a slow and hardly maintainable development platform. Yeah, you can create crap fast but that's all. With this "fast iteration" bs you'll live in an illusion that you make money for the company but actually it's the opposite and you're contributing to the deterioration of IT - if there would be only php, the internet would be far worse and we'd have the same technology level as in the 90s. Edit: guess why everyone will need to rewrite their stack in another language when they've bigger traffic on a php platform
- frostymarvelous 10y agoThis is why I first build my projects in PHP and only move them to ASP when they succeed!
- return0 10y ago> I think it's the people who use it > They just don't care. > It's a garbage language. I think this overly dismissive/elitist approach is part of the reason why alternatives failed. Couple that with the ridiculous claim that a developers' time does not matter.
- cwt 10y agoThis is so true from my experience working for companies using PHP. You can advocate all you want to clean up code, but in the end, if it doesn't create a new feature its not going to happen.
- bartread 10y agoSo much this. So, so much. So much time wasted talking about the "right" way to build software, and the best technologies to use, taking positions to bolster your CV or make a name for yourself, and nowhere near enough emphasis on shipping useful, working software. It drives me slightly nuts. Many people don't realise that technical debt is often a great problem to have because it means you've succeeded. They also want to live in this reality distortion field where they ignore the fact that the code they write today is tomorrow's technical debt because, for reasons I don't fully grasp, they think they're going to do it "right" this time. To quote from Garth Marenghi's Darkplace: "Uh-huh? Bye." In 5 years' time our successors will be wandering around moaning about the crappy code we wrote today, but only if we succeed. If PHP is the fastest route you know to releasing something worthwhile then more power to you. (Just to be clear though: I'm not advocating an end justifies means approach to all areas of life.)
- gregormck 10y agoWell said
- deleted 10y ago[deleted]
- specialist 10y ago"They just don't care. A successful project needs to be started by someone that cares just enough, but not too much." Painful to read. I've struggled with this my whole career. Reminds me of Alistair Cockburn's seminal essay about methodologies. Characterizing people as non-linear, first-order components in software development http://bit.ly/1eDUNlE http://bit.ly/1eDUNlE Money quote: "Problem 1. The people on the projects were not interested in learning our system. Problem 2. They were successfully able to ignore us, and were still delivering software, anyway."
- FussyZeus 10y agoMaybe it's just me but I do find a certain elegance in PHP. It's not beautiful by any stretch but it's extremely functional. You get the impression the Borg would use PHP. It's not pretty and it's not shiny but it works every time and it's extremely easy to work with.
- betolink 10y ago> A successful project needs to be started by someone that cares just enough, but not too much. I'm going to frame these words and hang them on my desk.
- oxyclean 10y agoI would never have agreed with you before, but I just came from a place where the fear of using something that was not sexy just paralyzed most of the developers at the company. They spent more time talking about new tech than implementing it. I've sworn off PHP, but at one point there I would almost have preferred they suggest we use it, if only to get something shipped. Now I don't fret as much about unsexy tech. I do still advocate for new things when they make the team more productive, but I hope I never have to work at a place again where the latest and greatest stuff is used and people get nothing done.
- deleted 10y ago[deleted]
- incogitomode 10y agoMost of the cited successes were savvy early movers — every company mentioned aside from Slack itself is at least 10 years old. In the more mature, more varied tech space of today PHP seems like a non-starter.
- jgalt212 10y ago> I think it's the people who use it. They just don't care. A successful project needs to be started by someone that cares just enough, but not too much. My perception of the Clojure crowd is the exact opposite. They seem to be a bit too in love with the process and craft and not enough with the end results. That being said, I'd much rather code Clojure as a day job (I promise to be market focused!) than PHP. Right now I am almost all Python. There are definitely a lot of Python folks who are too much enamored with the craft, but the crowd is so big there's plenty of room for the GTD folks.
- elcct 10y agoI think this also could be that founders don't care about tech and Php developers are relatively cheap. Engineer experienced with different technology could easily get MVP of high standard in comparable amount of time but that costs money.
- jonaswouters 10y agoI can agree that php might not be the nicest or the fastest language, and I like to say choose the right tool for the job, but writing it off just because it's php is stupid. A couple of months back there was this php sucks article about being looked down upon because you do php for a living. Php is the language people bitch about to feel better about themselves. Even within the php community symfony developers don't take drupal developers seriously. It's sad really and even I'm guilty of doing that. A little more respect for your fellow developers is all we need. It's like judging a book by it's cover. How would you feel if <insert your fav lang> was treated that way. Php has a lot going for it. The community is very active and passionate, new things come out at a rate you can keep up with. You can easily get passionate about it if you engage in it. A lot of interesting projects are (being) build with it and it is obvious that php won't disappear anytime soon. If you have to work with php and bitch about it, make the effort and solve the problem you have with it. Contribute back to the community and experience the gratitude. You'll enjoy your work more. So there are php people that care and they try to make the best of it. I don't think they consider it to be a garbage language. They are the ones that made php what it is today which is something totally different compared to what it was years ago.
- scelerat 10y agoUp until the mid-2000s, if you wanted an easy up-and running web application environment without paying Microsoft, PHP plus MySQL was the only game in town. There were alternatives, but they invariably involved maintaining your own server and doing quite a bit of legwork yourself. The was no Heroku, no AWS, and tooling for python, ruby, and other environments required much more expertise to simply get an app responding on port 80. Almost any big app you can point to that is built in PHP today was bootstrapped in this environment. I did a lot of PHP from the late '90s up until 2008. Maybe things have changed in the intervening eight years, but I cant say I miss it.