Live data from Hacker News

PHP Addiction

marco.org

261–270 of 320 posts

Re: PHP Addiction

#261

Earlier quoted context omitted.

Spending a bunch of time to make my environment work great (and keep it working great) is the opposite of what I'd consider "fantastic". This is why I dropped Linux/BSD on the desktop over a decade ago, and switched to something I don't have to think about, and instead I can simply use to get my actual job done.

In my experience, I have three choices: I can have a poor Linux environment with no work, a better but still mediocre Windows/OS X environment with little work or a good Linux environment with a bit of work. The reason I don't use Windows or OS X any more (and I've used both extensively in the past) is simple: sure, both are easier to set up (with a new computer, there is no set up). But both are strictly less produc…

I'd disagree that setting up the computer is an O(1) operation, because it ignores maintenance. Changes, additions, upgrades, new hardware, new software.

I'd also disagree that Linux is objectively faster for getting "real" work done. An example to illustrate the point: I've been using Ubuntu on and off, and tried to set up IntelliJ to match my Android development environment on Mac OS X.

First of all, the installation process sucked compared to drag-installing on Mac OS X. I had to download a .tar.gz, open up the terminal, run an installation shell script to create the requisite desktop files to make the app visible in the GUI.

Then, once I had it installed, the fonts all looked like crap. I spent about half an hour trying to track down how to make OpenJDK fonts on Ubuntu not look like crap, before finally giving up and resigning myself to the ugly UI. I found lots of people with the problem, but not many solutions.

Stuff like this happens all the time. Before Mac OS X, I resigned myself to dealing with this kind of regular crap. Now, I expect an application to drag-install and just work correctly.

I'll try to get ahead of some common arguments I've heard regarding app installation:

At this point you might start arguing that I should be using software from the official APT repositories, or something. That's a broken model. It's ridiculous to require the OS vendor to maintain an integrated repository of every piece of software available for the platform. It's not sustainable, and it means stale software and extra trouble if the software that would make my job easier (programming, right?) is not open-source and doesn't fit the OS vendor's software licensing ethics.

Then you might argue that I should use a third-party APT repository to fetch dependencies, which means that first I have to find such a repository, then I have to update a bunch of annoying configuration, and lastly I have to trust that their apt repository won't steal precedence on a system package. You can prevent that precedence problem with more configuration, but that's even more complicated.

No thanks. I'll take drag-installs, or better yet, the app store. I realize that Ubuntu is trying to go in this direction themselves, but it's not there yet. I'll reconsider when and if it they ever reach a level of working integration on par with Apple's.

Until then, I'm going to use IntelliJ under Mac OS X with nice looking fonts.

Re: PHP Addiction

#262

Earlier quoted context omitted.

In my experience, I have three choices: I can have a poor Linux environment with no work, a better but still mediocre Windows/OS X environment with little work or a good Linux environment with a bit of work. The reason I don't use Windows or OS X any more (and I've used both extensively in the past) is simple: sure, both are easier to set up (with a new computer, there is no set up). But both are strictly less produc…

I'd disagree that setting up the computer is an O(1) operation, because it ignores maintenance. Changes, additions, upgrades, new hardware, new software. I'd also disagree that Linux is objectively faster for getting "real" work done. An example to illustrate the point: I've been using Ubuntu on and off, and tried to set up IntelliJ to match my Android development environment on Mac OS X. First of all, the installati…

In my experience, Linux is actually easier to maintain.

For example, when I was using OS X (several years ago, now), I could not figure out how to update Java. Apparently it involved using the "Software Center", but it didn't actually work, so I was stuck with the old version. So the project I was working on in Windows at the time just didn't work on OS X because it was using new APIs. Absurd! I've never had a problem like that on Linux.

More recently, I tried to install Git on OS X (without administrator access). It was a horrible pain, so now I only ever log on to the Linux servers at school.

Also, there is no way "drag install" is easier (after learning about it) than "yum install", or whatever your distro provides. I don't have to find anything to drag; if I want to install something, I can just type its name in an voila, I have it. What about programs not in the repository? Well, they're easy too, assuming the vendor packaged it up for you (but you have to assume the same on OS X). I needed to install a beta version of MongoDB recently; all I had to do was download the RPM, click on it and enter my password.

Now, I agree that Linux alone does not make you more productive. But a Linux configured to do exactly what you want? Now that's productive! On OS X, I can't have a full-screen program on one screen and a couple of programs on the other. On Linux (at least with KDE), that is just a couple of settings away. And, to me, that's extremely important: I want to maximize my Emacs space as much as possible on one monitor while having a browser and some other stuff open on my other screen. I've already gotten rid of the flanges, the tool bar and the menu bar of Emacs; it seems silly to have window borders and the annoying OS X top bar still there!

However, the point isn't that any one feature (like the full-screen windows) is important to everybody. Rather, the point is that you can set pretty much any feature that is important up. Sure it's more difficult to configure than OS X--but you can actually configure it! That is exactly what I was talking about when I said O(1): to get a computer that behaves exactly how I want it to behave is only possible on Linux and takes a constant amount of time.

Coincidentally, it isn't even strictly easier to set OS X up for some really basic things. For example, a bunch of people I know use Emacs and LaTeX for a bunch of different things. On Linux, I just type sudo yum install auctex and it gets everything for me. My friend on OS X? He spent hours trying to set everything up correctly, and I'm not sure it all worked in the end.

Also, for what it's worth, I've had the best luck with fonts on Linux. Not only do they look great, but the one I use for programming actually supports all the symbols I need. I want to be able to read and use Greek letters and all sorts of math symbols without worrying, and Deja Vu is the only set of typefaces I've found that let me do that. Deja Vu Sans Mono is also a great looking typeface for code--certainly my favorite of all the different ones I've tried on all of the platforms.

Re: PHP Addiction

#263

Earlier quoted context omitted.

Desktop Linux is actually fucking fantastic if you are prepared to take up messing around with it as a hobby. It requires commitment, time, and and open mind, but fuck, I've just sorted out xmonad, I have my dotfiles syncing via git, and it's bloody amazing . Package management is bliss, and both pacman and apt shit all over homebrew (great as homebrew is), it's absurdly fast even on old hardware, it's free, it's got…

I'm a longtime fan of Linux and have used it as my desktop of choice for years, but apparently you and I have a different idea of what "beautiful" is. That screenshot is a ghastly smattering of black, grey, and red, with no unified look or feel. Sublime Text is really good looking in its own right, but that overall desktop doesn't look appealing to me. Granted, I use Gnome Shell for my desktop of choice, and find tha…

It's a nitpick, but X11 isn't a window manager; it's just a graphics layer - more like OS X's Quartz. If you run Gnome Shell with compositing enabled, your window manager is Mutter; if you run Gnome Shell in fallback mode, your window manager is Metacity. That is, unless you change it, and that is a reason I love Linux.

Re: PHP Addiction

#264
post #140
post #49

Earlier quoted context omitted.

> How do we communicate effectively what makes other languages better to someone with no reference frame other than PHP itself? You're trying to convince yourself that you made the right choice, the right investment. That's sad. Have confidence in yourself. You made the right choice for yourself and let others choose for themselves . There is no universal proper language or platform to use. PHP works and it works ext…

> You're trying to convince yourself that you made the right choice, the right investment. > That's sad. Err, huh? What's with the preachy tone and the presumptuos attitude there? No, I don't need to convince myself, nor am I looking for confirmation - I know that I'm happier coding in Python than I was coding in PHP, that I get more done in less time, that I've vastly increased the average reusability of code that I…

> Actually I think there are circumstances where PHP is the right choice, though it's mostly a matter of market considerations, certainly not technical strength.

I think technical strength is valued differently in this community than in the web development community at large. I've had a lot of commercial success with PHP and never found a serious problem caused by "a lack of technical strength".

Surely certain languages have created a vision of technical strength that is appealing to programmers who think mostly about programming as the challenge in itself, rather than a tool for the market challenge.

However to people that think mostly about solving market problems, such as entrepreneurs, PHP is known for many attributes that are high value and perhaps have little to do with what you might consider technical strength.

Re: PHP Addiction

#265
post #154

The fear of making the "wrong" choice actually makes the familiar, mastered PHP more attractive. The multi-core reality means that the long-term languages will have a strong concurrency model. Clojure and Go are two languages with strong concurrency models that are building momentum and have potential to go mainstream. But for your first foray out of PHP, I would pick a language that has a large, well-established com…

If your goal is to work at Google maybe.

If your goal is to become independent and wealthy, perhaps not.

Re: PHP Addiction

#266
post #210

Earlier quoted context omitted.

The first half of your post is basically a long-winded appeal to popularity. Yes, most people on the web use PHP and Apache. Most people on the web also need nothing more than a WordPress installation and their online needs are met. Does that mean WordPress is the best tool out there? You should stop confusing popularity with quality, because the two rarely overlap. > C10K is not a problem and never was. Somebody bet…

> Most of his criticisms were completely valid Not even close. The author trolled through a bunch of other misinformed articles, copied some them verbatim mistakes and all. He doesn't know PHP and didn't research anything. > Which ones have been fixed in the current stable PHP? And which ones can be avoided "with sane design"? http://news.ycombinator.com/item?id=4177516

In regard to his "objects compare higher..." point, I think he was referring to this:

    class MyClass {}
    class YourClass {}

    $myclass = new MyClass();
    $yourclass = new YourClass();

    var_dump($myclass > $yourclass); // false
    var_dump($myclass 
In regard to his "there's no pass-by-object identity..." point, there's no way to do this:

    class MyClass {}
    
    $myclass = MyClass;
    $anotherclass = $myclass();
I really don't have the energy to refute the rest, but most of them are relatively subjective. (I say relatively because most of them promote better programming, but their absence doesn't directly harm)

Re: PHP Addiction

#267

Earlier quoted context omitted.

Nope, you are purely defining "better" as "how easy it is for someone completely ignorant to start making stuff".

No. Marco's point was that he went back to using PHP. Are you saying that he's completely ignorant?

He does seem to be ignorant in regard to languages that are not php.

Re: PHP Addiction

#268
post #13

That's one of the problems with the now-famous Fractal blog, I think: It was a joy to read in the sense that being a Python programmer, it only heightened my appreciation of the achievement that languages like Python and Ruby represent. It's what conscious, determined design gets you and what mistakes they managed to avoid. But it's preaching to the choir. If you've never seen anything other than PHP, you won't under…

I've programmed in C, C++, PHP, Python, Perl, Java, Javascript, Prolog and probably could program in any general purpose language out there given some training and enough motivation. I still "don't understand two thirds of the list or why they're problems". I.e. not that I can't literally understand what the complaint is about - I can't understand why it's anything special to PHP and why it's a PHP problem as opposed to agressive exaggerated "don't make me actually learn anything that contradicts my preconceived notions" stance. PHP has its own quirks, so has any other language out there. I do not see a big deal about it.

The idea that disagreement is because person disagreeing is not educated enough and only if he could learn The Next Best Thing he'd immediately become a fanboy like you are - is deeply fallacious. I've seen your Next Big Thing. It's nice. So are other hundred Big Things. They are all nice, and all have its place. And no, I'm still not a fanboy, sorry. I still think Python is a nice language for its uses, and PHP is a nice language for its uses. Banality, but somehow so many people can't grasp how can it be. Please believe me, it can.

Re: PHP Addiction

#269

Earlier quoted context omitted.

In my experience, I have three choices: I can have a poor Linux environment with no work, a better but still mediocre Windows/OS X environment with little work or a good Linux environment with a bit of work. The reason I don't use Windows or OS X any more (and I've used both extensively in the past) is simple: sure, both are easier to set up (with a new computer, there is no set up). But both are strictly less produc…

I'd disagree that setting up the computer is an O(1) operation, because it ignores maintenance. Changes, additions, upgrades, new hardware, new software. I'd also disagree that Linux is objectively faster for getting "real" work done. An example to illustrate the point: I've been using Ubuntu on and off, and tried to set up IntelliJ to match my Android development environment on Mac OS X. First of all, the installati…

[deleted]

Re: PHP Addiction

#270

Earlier quoted context omitted.

I'd disagree that setting up the computer is an O(1) operation, because it ignores maintenance. Changes, additions, upgrades, new hardware, new software. I'd also disagree that Linux is objectively faster for getting "real" work done. An example to illustrate the point: I've been using Ubuntu on and off, and tried to set up IntelliJ to match my Android development environment on Mac OS X. First of all, the installati…

In my experience, Linux is actually easier to maintain. For example, when I was using OS X (several years ago, now), I could not figure out how to update Java. Apparently it involved using the "Software Center", but it didn't actually work, so I was stuck with the old version. So the project I was working on in Windows at the time just didn't work on OS X because it was using new APIs. Absurd! I've never had a proble…

Reading your comment has reaffirmed my decision to drop Linux as a daily desktop OS.

I remember everything you're describing from 10 years ago, and if things are still operating that way, then I'm glad I'm not using Linux.

It's clear from your comment that you don't understand how to use OS X as a developer. I used the BSDs and Linux on the desktop for most of the 90s, and have stayed current with Linux on both servers and desktops (though I don't ever use it by choice on my own). I don't think you're equipped to make a fair comparison.

Post reply on HN