13 ms·
PHP 3.0 Final is out (1998)
- bigyikes 5y agoI haven’t used PHP in years, but Laravel was such a fun and productive framework to work in. It really has a way of making you feel like a “code artisan”, something I typically only hear coming from Rails developers. In contrast, every Node app I’ve worked on has felt somewhat amateur, even if the code was high quality.
- canadianfella 5y agoLaravel only came out 10 years ago. It’s not old.
- VWWHFSfQ 5y agoI've developed very large apps in PHP (Cake), Rails, Django, and Node.js (Express). If I had to rank my preference for how easy/nice/productive I was in each of them: 1) Django 2) Rails 3) Cake ... BIG GAP ... 4) Node.js (Express)
- habibur 5y agoNostalgia. I started with PHP/FI 2.x. Was a great relief from writing web server apps in C.
- hitekker 5y ago> This may sound a little foreign to all you folks coming from a non-Unix background, but PHP doesn't cost anything. You can use it for commercial and/or non-commercial use all you want. You can give it to your friends, print it out and hang it on your wall or eat it for lunch. Welcome to the world of Open Source software! Smile, be happy, the world is good. For the full legalese, see the official license. What a nice, whimsical message.
- verelo 5y agoIt’s funny. For all the hate php gets these days, it was a pretty big part of the web getting to where it’s at today. I was super pleased when php 7 came out, this project isn’t going anywhere just yet.
- darig 5y agoIt was??? It always will be.
- osrec 5y agoPHP deliberately has a low barrier to entry, and as a result there is a lot of poor quality code out there, written by beginners. People like to use this fact to suggest that the entire language is bad, which it most certainly is not. I've seen lots great, well structured and performant PHP code - the quality depends on the programmer, as it does for any other language.
- tinus_hn 5y agoBack in the days it had terrible defaults that made it very difficult not to write insecure code and it was lacking so much it was really hard to write good, structured code.
- osrec 5y agoBack in the day perhaps, but not today. PHP has come a really long way.
- edoceo 5y agoIt's not the wand, it's the wizard.
- zdragnar 5y agoIf you recall the cartoon of programming languages as weapons, PHP was a sword without a hilt, which was quite fitting. Despite the low barrier to entry, there were "features" that were / are distinctly dangerous, and should not have been exposed to beginners (the comments section in the official documentation os a perfect example of this).
- simlevesque 5y agoI never say this, but this resonates with me.
- oscargrouch 5y agoI guess you are lacking some context. Back in the day, you could: * Be bold enough to use Linux or FreeBSD and use CGI or Perl as the only free version * Use ASP but pay license fees for Windows NT, ISS and SQL Server * Use ColdFusion which was kind of trendy but was pretty expensive. When PHP arrived it was so refreshing. I used to make my stuff in Apache+PHP, MySQL and Linux and it was magical what you could do with very few lines of code. The worse part was to manually get the sources of the dependencies one by one, hit ./configure and make, so you can compile a php module for Apache In those days Microsoft was pretty strong, everything used to be closed source and payed and that's why for people who understand what it was back then, this does not sound like the splashy announcements of today. That's why every time you see Linus, Stallman or any person that was active in the open source movement, you should pay a beer to them. The world of technology owe a lot to them, specially the underdogs.
- carabiner 5y agoI remember my employer was paying Indian consultants a fortune to build a web app in ASP that didn't work. I told them I could do it in PHP in a week, but they didn't trust some "free program."
- cutler 5y agoHa, I can relate to that. Met a potential in the mid-2000s who lived down the road running a travel agency which was falling over due to bugs in its web app. He knew nothing about technology other than that his app needed to parse "an XML" to work properly. "Can you get the XMLs working?". As soon as he showed me a couple of files I realised it was a Classic ASP site written in VBScript running on some overpriced Windows host so I offered to rewrite it in PHP. No chance - in his mind "the XMLs" were glued to the original code.
- oscargrouch 5y agoI didn't even remember this, OMG.. VBScript that used to ship with IE and could be used instead of Javascript. We are so lucky that Bill Gates missed how important internet would turn out to be..
- deleted 5y ago[deleted]
- Akcium 5y agoI remember when I was at school in ~2000, I bought a paper book about PHP4. I remember that as a warm feeling...
- cowmix 5y agoMy company sent (or tried to send) money to Rasmus back in '95 to have him implement a feature we needed. I think he ended up adding our ask to PHP for free. Anyway, good times.
- Minor49er 5y agoDo you remember what the feature was?
- deleted 5y ago[deleted]
- simonw 5y ago"PHP: Hypertext Preprocessor was chosen as the official meaning of the PHP acronym with 53% of the votes." For anyone curious I tallied the votes from the linked page: 57 PHP HTML Preprocessor 29 PHP Hypermedia Preprocessor 98 PHP Hypertext Preprocessor
- alberth 5y agoIt’s hard to explain just how much easier PHP made creating a dynamic web site back in the 90s / early 00s. You drop a file in your public web server folder and you’re done. Prior was CGI Perl scripts that hacked together how to access session and rest data. Or you had to develop in C. PHP had native support for the web. It also eliminate the need for an app server. I’m still not certain even today, if anything exists that is faster to get a dynamic site up and running than PHP.
- nly 5y agoI'm currently working on a Django project and have to restart uwsgi after each git pull. It's a pain
- edgyquant 5y agoCan you not setup hot reloading? I work with flask but it’s as simple as FLASK_ENV=development python run.py To get hot reloading working under flask, and it’s a lot less complex than django.
- tomnipotent 5y agoUse py-autoreload in your uwsgi config.
- Seattle3503 5y ago> I’m still not certain even today, if anything exists that is faster to get a dynamic site up and running than PHP. With PHP you can just start typing in your file and produce output. Even with lightweight frameworks like Flask there is boilerplate.
- dimitrios1 5y agoThis ignores the monstrous complexity of setting up PHP (and php-fpm) on a host machine. I prefer fully contained targeted binaries these days.
- 5y ago
- devfatigue 5y agoBah! All I need is some perl and a CGI script to sail her by. Kidding, with the current web development churn I sometimes miss the simplicity of php.
- tluyben2 5y agoSomeone from my dads office gave my some printed pages about ASP from MS. Until that time I was doing all my web dev in Perl (it was basically either that or c) with print "<HTML><BLINK>hello... et. After reading about ASP, I concocted my own miserable php-like thing in perl where you could put perl code in between <% %> to add logic. I tried to find the code (I have it somewhere in dropbox, I'm sure), but I remember I failed at doing it reliably with regexes, so I made a while(1) loop finding all open <% and close %>, escaping the html before and after, printing it and adding the code in between. It was only a handful of lines and worked really well; I wrote a lot of cgi for my clients with it. But it was slow (even after adding cache) and it need quite a bit of setup and libraries (CPAN with my own layers to make it easier to use), so I was very happy when I discovered PHP 3 (I did not know it existed before that). Good memories; deploying a site cheaply by scp/rsync the files.
- johnchristopher 5y ago> Good memories; deploying a site cheaply by scp/rsync the files. Well. I have a minio instance running for static small sites, every time I wanted to create a new bucket I had to re-read my own notes and fiddle around for half an hour with s3cmd and mc before getting something live. Today I threw the things out and started using scp again. It's much easier, it's not in the way.
- Masterd089 5y agoHave you tried IaaC Tools like terraform?
- tluyben2 5y agoBut how is that easier than just uploading your files though? And it is more expensive, more overhead, more setup etc. Depends on the use case but for some things (like a personal or small company site), why would you over engineer it?
- johnchristopher 5y agoNo, I don't have yet a use-case for it. It'd be a bit overkill for what I need. I originally set up minio because I wanted to test out some backup solutions relying on S3 but I didn't want to use amazon (can't remember why). Turns out minio is great but not a 1:1 S3 clone and not every app can swap out amz for minio anyway. I was thinking reading about ansible soon though.
- aussieguy1234 5y agoAround this time, I tried to create stuff with the old Java J2EE. I found it too slow to compile and the language was too inflexible. So, without a framework, I built my project in PHP and finished it in a week.
- liyanage 5y agoThat brings back fond memories. I used to package up a PHP installer (and a MySQL one) for macOS for many years, back when OS X was still new and it was a bit of work to build various UNIX open source projects from source. My day job was Solaris/Linux work so I was used to it and I wanted PHP on my Mac, so I built the installer for myself and also put it on my website, where more and more people downloaded it from over the years. I haven't used PHP in more than ten years and only recently started dabbling with web development again for fun. I am very happy with TypeScript + React on the client side and Python or Swift on the server side.
- pyuser583 5y agoOnce upon a time I used PHP as a scripting language. Then I got with the times and switched to Perl.
- anon776 5y agoPHP 7.x and Laravel really gave the language its big boy pants. Really fun to develop in and looks nothing like the PHP 3.x and 5.x grime.
- cutler 5y agoSadly along with Laravel and Symfony came PSR culture where idiomatic PHP, with its fanfold docblock comments and double-spaced lines of code means you're lucky if you can see a dozen lines of code on a typical screen. I don't call that productive at all.
- ancarda 5y agoDouble spaced lines of code? What do you mean? FWIW, I no longer use DocBlocks because PHP's own type system is usually expressive enough.
- cies 5y ago> PHP's own type system is usually expressive enough. I'd say it's one of the worst type systems. Expressive enough not to need docblocks, ok. Expressive as a type system: hell no.
- ancarda 5y agoI meant expressive enough that you don't need DocBlocks as often. We're nowhere near being done, PHP still lacks proper Generics and Algebraic Data Types. Recently we got Union Types (8.0) and will soon have Enums (8.1). If you really needed generics today, you can do it with DocBlocks and static analyzers like PHPStan: <https://phpstan.org/blog/generics-in-php-using-phpdocs https://phpstan.org/blog/generics-in-php-using-phpdocs>. I'm hopeful that in the future, you won't need a DocBlock for that. As for ADTs, there's some on going discussions here: <https://wiki.php.net/rfc/adts https://wiki.php.net/rfc/adts> which would build upon the existing support for Enums (8.1). I'm really looking forward to being able to have something resembling Optional/Maybe. I'm by no means saying what PHP has is enough today, just that it's less limited than it was a few years ago. It'll be even less limited in the future.
- JakeStone 5y agoPHP was a godsend, saving me from Perl. I switched to the Dark Side and prefer C# these days, but I still keep an eye on it just because there was some fun stuff I built with it. Looking at that archived page brings back memories. Since I'd started with PHP/FI and I think I went on until 4.x, I'm pretty sure I saw that announcement when it actually came out.
- aeontech 5y agoI feel certain that an entire generation of careers started from Rasmus Lerdorf's little hobby project. Despite the fact that things like Perl Mason, Tcl web apps, and your bog standard CGI scripts already existed, nothing compared to PHP's wild grab bag of a standard library, and above all, the documentation with user-contributed notes and examples (not to mention that there was nothing similar/free in Windows-land). In some ways, that incredible ease of use of PHP for backend mirrored the ease of use of Macromedia Flash for animators and front-end/UX designers, which also led to a generation of middle schoolers and high schoolers tinkering and learning from each other and accidentally falling into a real career path. Thank you Rasmus and PHP team... despite all the warts PHP gets often-deserved flack for, you have undoubtedly changed the lives of, quite possibly, hundreds of thousands of people who would never have become professional developers without the easy on-ramp that your creation provided.
- geitir 5y agoIt def started mine. The biggest for me was the excellent documentation and comments as you said. The comments were like an early version of stackoverflow
- aeontech 5y agoYes! I don't think people who started in the modern age can even relate to how amazing this was, to have a documentation site with a built-in user comment system collecting errata, tips, pointers and snippets (even as erroneous as they sometimes were)... This was before the embarrassment of riches that we have now... - before proliferation of open source examples on GitHub, - before StackOverflow, - before jsfiddles, - before snippets on gist or pastebin - before very common web forums (many of which were eventually written in PHP in fact)... - before fantastic search results of google... Best you could hope for when you got stuck? Someone's personal web page, or usenet and mailing lists...
- deleted 5y ago[deleted]
- 5y ago
- superasn 5y agoPHP is proof how little the core web technologies change over the years, even though so many new technologies have come after it. Looking at this page I beleive I can still make a pretty decent website backend using vanilla php (including authentication) and a nice front end using plain old html and javascript from so many years ago.
- taneq 5y agoPHP has changed quite a lot over the years, though. Not so much the core language (although it has) but the ecosystem has matured a lot.
- kijin 5y agoSame as most other parts of the web. 20-25 years ago, everyone used tables for layout and random snippets of JS were scattered everywhere. HTML today has a much more expressive vocabulary as well as a whole suite of well-established best practices. Meanwhile, JS has evolved from a bunch of cute onmouseover handlers to an entire ecosystem in its own right.
- noir_lord 5y agoThe language changed a hell of a lot between 3 and 5 and between 5 and 8. It has improved markedly and while it still has it's warts modern PHP8 code is very different. However the ecosystem has absolutely matured alongside it as well, Symfony and Laravel are excellent general purpose frameworks, composer is an excellent package manager etc. It's what I write for my day job and while it'll never be my favourite language, it's a pleasant enough productive language and it pays the bills.
- tyingq 5y agoAnother fun piece of PHP history: The old leaked source code for Facebook's index.php and search.php circa 2007: https://gist.github.com/nikcub/3833406 https://gist.github.com/nikcub/3833406
- gscott 5y agoThat was probably the last time the Facebook code was ever sane and readable.
- rhacker 5y ago// Holy shit, is this the cleanest fucking frontend file you've ever seen?! ubersearch($_GET, $embedded = false, $template = true); lol
- 8fGTBjZxBcHq 5y agoA good bit of my work is in php codebases from that era and uh... yeah kinda. Generally at that time (and for a few years after) you still see a huge influence from C programming constraints in php. Lot of extremely terse abbreviated variables and explicit looping. And for some fucking reason the pervasive believe that variable names need to be at most either 3 or 6 characters long. (Yes I know the reason it's still bad) So yeah painful as it is to admit that is well above average expressiveness and readability for php of its era.
- xmlninja 5y agoLook at those gifs enabling the rounded corners. And also remember how slow connections was back then so the progressive enhancement from square to round wasnt just a blink. So many memories
- senbarryobama 5y agoThe documentation was a gamechanger. I wonder if the C++ reference was inspired by it.
- sharken 5y agoWhile not written specifically for PHP, the Clean Code book from 2008 started to put the focus on Software Craftsmanship. Too bad 10 years had to pass before Uncle Bob came along :) http://cleancoder.com/ http://cleancoder.com/ Clean Code, the book https://www.goodreads.com/book/show/3735293-clean-code https://www.goodreads.com/book/show/3735293-clean-code
- lifeformed 5y agoEveryone here is talking about how great PHP is, but why don't we consider it for use nowadays? I know some people still use it, but it's not really an option most people consider anymore. Is that just because it's not cool or modern anymore, or are there some fundamental problems with it that make it a non-starter?
- cardanome 5y agoPHP is still the dominant backend language world wide and lot's of new projects are started with it. Might just be your bubble.
- acomjean 5y agoI think it’s still used a lot. The startup I worked with that used php (5 years ago) just got bought. I think it’s pretty stable and so doesn’t get a lot of mindshare. It not what the cool startups are using but it’s still used. With a framework like Laravel or symfony I enjoy working with it.
- Masterd089 5y agoI had this thought before I entered my job one year ago. There I experienced how fast php can be. Since php7 and the opcache things make fun again
- mattowen_uk 5y agoIt's because it's not 'cool' like the young backends on the block. HNer's like to be 'in' with the cool crowd, so collectively dump on stuff like PHP for no reason whatsoever. I see the same with modern VB.NET. It's my go-to 'utility' language because I can knock up tools in it without having to think or look up code fragments. However it still has the stink of old BASIC on it for some reason and as such draws the distain of 'real' coders. I just don't get it.