PHP in 2020 - <AUTHOR> https://stitcher.io/blog/php-in-2020 <comment><USER2> PHP is a fantastic language, and my personal favourite. It was the first language written with web serving in mind. It is packed with features due to all the adding to it over the years, meaning you can write code how you want, no how they want.

What it also acts as is a good barometer of dev mentality. When a dev declares PHP is a [expletive] language, he's telling me how he's going to be to work with, how he's going to engineer his work, and how concerned with adding value to the business he's going to be versus playing with "hot new tech". Even if it's for a .NET role.

The plurality of the internet is PHP back, html/css/js front. Those who thumb their nose at that are profoundly arrogant, and probably currently experimenting with their 8th new framework for the year.

Junior devs do as they're told and don't form opinions.

Mid devs know enough to be dangerous, run their mouth on everything, and bad mouth anything that isn't precisely their opinion or something they personally like.

Senior devs see the big picture, have realised the folly of their earlier ways, have a healthy respect for practical reality, and are more concerned with codebase integrity than in if it contains "hot new tech" (fuckarounds).

This is why it's critical to have truly senior devs at the top of the hierarchy, as otherwise there's no one to suppress the mid level devs, who will in turn mislead the juniors.

<comment><USER3> I don't doubt that PHP is becoming (has become?) a decent language. Especially with frameworks such as laravel which are mature and clean.

But PHP has a legacy, lots of bad PHP code exists already, bad practices are usually the first result on google and very "lazy" developers who never learned anything else exist and this muddies the waters very much when talking to people who prefer to build new things in PHP.

There's also the nitpicky fact that the old way of running PHP was that every page request runs the code from scratch, meaning you have to build state each time which is profoundly expensive and inefficient, although I believe people rarely do this anymore it's still definitely the default for most PHP projects I've seen. (both FOSS and proprietary).

I don't like your overgeneralisation about junior/mid/senior developers, the lines are super blurred in the real world. (I say this as a non-developer who works with developers)

<comment><USER2> Pardon me, but how would you know as a non-dev?

<comment><USER3> Fair question, I suppose.

I'm in SRE, so I work closely with developers and programmers who build business logic, in fact I am surrounded by pretty much exclusively that except for a small supplement of testers and technical managers.

So, I have some exposure.

That and the very plain fact that the mindsets that you would use to delineate between "senior" and "mid" bands are just traits that could be apparent in varying degrees between people of any level.

I've had mid-level developers identifying business needs on a macro level with a well broken down bite-sized methods of achieving what they set out to.

I've had senior developers "informing" me about operating system semantics which were just not true.

You can be senior in some areas and mid-level/junior in others. This is true across the whole spectrum.

<comment><USER2> Precisely, people should refrain from informing on topics outside their area of expertise. Pretty rife in western companies, "too many cooks" etc, must be the democratic mindset that every voice counts equally.

<comment><USER3> If this is a comment about me suggesting that your overgeneralisation is unwarranted because it is outside of my direct field then let me just say it this way: It is always true that trying to define behaviours of seniority is an overgeneralisation. It does not depend on the field unless there are formal qualifications, and even then it's tricky.

</comment></comment></comment></comment></comment></comment><comment><USER4> I teach web development at a university. We have used, java, javascript, python and php for a basics course in webdev.

Php has built in web features and one doesnt need more than a php interpreter (considering the built in web server as well) to get started. For all other languages i know of, there is quite a process to get started (e.g. start with python flask one needs a package manager, environment variables, command line experience, ...). Php is a web native language and great for learning and getting started.

Considering professional development ([https://en.m.wikipedia.org/wiki/Programming_languages_used_i...](https://en.m.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites)) it seems that it doesn't matter what language one chooses, various different stacks are used by the most popular websites..

<comment><USER5> > for all other languages i know of, there is quite a process to get started

It's funny that you included javascript in the list when you can literally just type javascript code in an html <script> tag and open it in the browser that comes with your OS.

You quip at flask for requiring "command line experience" then talk about PHP's built-in web server that's also a command line tool.

And let's be realistic, if you're using php without a package manager, you're either no doing anything serious or you're reinventing the wheel, and you will need to get comfortable with the command-line sooner or later anyway.

I will say that PHP is probably the the most frictionless server-side web- development language to get started with, but it's not by a huge margin.

And considering that in web-dev you're gonna need to learn javascript anyway, I'd probably consider it to be the best introductory language.

<comment><USER6> > It's funny that you included javascript in the list when you can literally > just type javascript code in an html <script> tag and open it in the browser > that comes with your OS.

Let's be fair: you're going to be very limited in terms of the type of web site you can make with this approach compared with a PHP app via web server

<comment><USER7> Is he?

Somebody built a photo editing app in JS which runs locally in your browser.

[https://www.photopea.com/](https://www.photopea.com/)

<comment><USER8> Of course, such things are perfectly possible and for an image editor I'd consider in-browser js superior to anything but native apps.

However, consider this, you want an app that has to use a database, you can't store everything on the client or use things like Dropbox integration. Plenty of situations where you want that, but that just can't be done with clientside js without also making your database acces keys and encryption keys available to all. So all in all, it depends on what sort of app you want to build or form your course around

<comment><USER7> Or I just use node on the server side and write the server part also in js?

This was not about building anything sensible, but just to counter the point that js allows you less than php.

I think today the only big language with is a pain to setup is perl, java and sometimes python, the rest is just a matter of ecosystem, needs and personal taste.

</comment></comment></comment></comment></comment></comment><comment><USER9> PHP is, and always has been a practical language.

7.4 has been especially exciting with the introduction of FFI. Few other languages even have runtime FFI, and in most cases you have to do the binding stuff in C.

I even ported a terminal-mode text editor (which uses FFI somewhat) from C to PHP: [https://git.timshomepage.net/timw4mail/php- kilo](https://git.timshomepage.net/timw4mail/php-kilo)

I would guess most of the PHP haters got stuck working on Wordpress, or someone's old business app, or they just hate PHP because it's popular to do so.

<comment><USER10> This new FFI support intrigued me. But looking at the source, it's just a wrapper around libffi. I don't know of any language that _doesn 't_ provide a wrapper around libffi, though not all provide it as a default-installed module. PHP's bindings also provide a simple YACC-based parser for automatically extracting simple size and layout information from C header files, though this is easy enough to write in-language (heck, there's a full C99-compliant LPeg parser). Notably, PHP's parser, like LuaJIT's, doesn't handle the preprocessor, so its useless without resorting to a separate program (e.g. cpp(1)) if you want automagic bindings.[1]

So, kudos for PHP for doing this. Not exactly a game changer, though. The performance cargo cult dislikes libffi as it can be relatively slow compared to an inline binding (static or dynamic) due to the need to copy input parameters (by reference, not by value) to an intermediate data structure on every invocation, and due to the fact that some JIT'd languages can JIT through the external function invocation (LuaJIT can do this, IIRC). It's ridiculous, but it is what it is; libffi effectively "taints" FFI support as non-native, which is a death sentence these days.

I think PHP is a horrible, cobbled together language. If the core maintainers had a strong grounding in language theory, design, and practice, they do an impeccable job filtering it out of the final product. It's been this way from the very beginning, and by everything I see today, remains so. That said, it's the first thing I turn to when I need to put up a simple web page with server- side logic! I have absolutely no desire or tolerance to fsck around with CGI, modules, packages, or anything else, and the PHP ecosystem Just Works out-of- the-box on every system (Linux, BSD, Windows) I've ever tried it on.

[1] Such parsers are kind of useless. Better to provide built-in sizes for core system data types like time_t and then, optionally, provide a simple, quasi-C grammar for expressing redundant definitions that you parse inline. Which is presumably how such parsers are used in practice, notwithstanding the pretense. Plus, I run all my web applications in jails (chroot, pledge, seccomp, etc). If system and library headers are visible at runtime, something is broken. If someone really wanted to go the extra hundred miles for proper automagic bindings, one could use ELF symbol information, for example debug symbols (e.g. DWARF) or simpler symbol info (e.g. BTF on Linux, derivative of Solaris' ABI metadata, which was directly supported by OpenBSD before the Linux project got started).

<comment><USER11> >I think PHP is a horrible, cobbled together language. If the core maintainers had a strong grounding in language theory, design, and practice, they do an impeccable job filtering it out of the final product.

urg and then ?? We will have just another Python, C, .Net or Go, which are all good for some ppl and some things.. Sometimes you just need some outside the box thinking...

<comment><USER10> None of PHPs warts _benefit_ the language. At best they benefit the implementation, which is presumably why it happens. (Various inconsistencies and warts in Python and JavaScript can be readily traced back to implementation barriers, as well.) But languages like Lua show that PHP could have implemented all its features wart-free without undue implementation complexity or any runtime cost as almost no language element in PHP was added and implemented until long after it was added in other languages, including Lua, which is a fraction of the size of every major comparable language out there and generally faster to boot.[1]

PHP is great despite itself. But great it is. You can say that about many popular software tools, but PHP is unique in effectively going unchallenged in its domain, iteration after iteration, decade after decade, quirk after quirk. ColdFusion was the only real competitor, but it died when they tried to replace CFML with CFScript. (Well, also because ColdFusion was proprietary.)

People believe languages become popular because of their design features, but if that were true we'd all be writing in Haskell and Scheme with shims for C-family, imperative-style syntax. In truth language features, including syntax, are usually driven by implementation barriers that arise early in a language's evolution, starting with the choice of GC or no GC. The language succeeds despite itself. Lua is a uniquely elegant language precisely because the Lua authors eschew backwards compatibility between every significant release. Every major release of Lua (which looks like a minor release if you expect SemVar) involves a wholesale refactor of the implementation, and syntax breaks are judiciously allowed (i.e. more weight is given to implementation complexity than to compatibility convenience, relative to other languages). It drives people nuts, but the product of this process is the only reason one comes to use Lua in the first place. Functional language families have a leg up in this regard, but ultimately it still plays out the same way, which is why not all functional languages are the same. PHP stands out for having no legitimate excuse for its quirks beyond, "we don't need to bother because we're unchallenged [for myriad accidental reasons]."

[1] For example, JavaScript's lexical scoping quirk derives from its original half-baked implementation. But the Lua authors published a paper many years before PHP got closures (possibly more than a decade before?) that explained their technique for implementing proper, quirk-free lexical closures in just a handful of lines of C-like example code. And Lua's compiler compiles to bytecode as it parses, much like early C compilers, so it doesn't have the benefit of arbitrary lookahead or multiple passes. Someone elsethread asked why PHP (and some other languages) require explicit variable bindings for closures. People like to say that they _prefer_ this syntax, but regardless of whether it's preferable, the fact of the matter is that in practice it happens because it's easier to do it that way, especially for statically typed languages. (Except it's not necessarily easier, as Lua shows.)

<comment><USER12> > the Lua authors published a paper many years before PHP got closures > (possibly more than a decade before?) that explained their technique for > implementing proper, quirk-free lexical closures in just a handful of lines > of C-like example code

That sounds interesting, do you have a link to that paper? (I couldn't find it with a quick Google.)

</comment></comment></comment></comment></comment><comment><USER13> A lot of people hate PHP because they don't think it's possible to write secure PHP code.

Sometimes companies enshrine this ignorance as official policy, and their knowledge of PHP security is as shallow as "php.ini hardening".

When anyone encounters such ignorance, point them here: [https://paragonie.com/blog/2017/12/2018-guide-building- secur...](https://paragonie.com/blog/2017/12/2018-guide-building-secure-php- software)

Or for more general code quality complaints: [https://phptherightway.com](https://phptherightway.com)

I'm looking forward to PHP 8, and beyond. Mentalities that were only relevant in PHP 5.1 (or earlier) are outmoded and should be laid to rest.

<comment><USER14> Absolutely, most of all your points can also be applicable to the same reasons why many programmers complain in their hundreds of thousands about how much they hate C++ due to its footguns and sheer complexity which they assume that they have to literally learn everything in the language and from their bad experiences from C++ 2003.

So Rust becomes the most loved alternative to C++ but is also equally just as complex, slightly harder to read, twice as frustrating due to some having bad 'anecdotal' experiences fighting with the borrow checker and a large lack of post-1.0 libraries. Those wanting to "Rewrite it in Rust" from a C++ code base will be quickly disappointed...

Perhaps the answer to both the PHP, C++ and Rust issues from programmers is always a reply saying "You'll get used to it"...

</comment></comment><comment><USER15> Wow. I'm honestly surprised by the amount of people (on the HN!) in 2020, thinking PHP is some pre-historical language clearly inferior to... I'm not even sure _what_. JS? That would be funny.

(It feels like I'm defending PHP now, which is feels weird, because I can go on for hours talking about the stuff I hate about PHP. But there is a difference between hating it for problems it actually has, and just not treating PHP as seriously useful modern tool which it definitely is.)

That aside, I cannot really treat seriously author's recommendation of Amp, ReactPHP and such as a solution for async. Don't bring up HHVM either. There's no real solid support for async/await in PHP, not even in the form Python has for quite a while now. And for me, it might be the biggest problem it has right now, which seriously hurts in some applications.

<comment><USER13> > There's no real solid support for async/await in PHP, not even in the form > Python has for quite a while now.

I'll second this. Async/await support in PHP is _at best_ an ugly hack.

I don't know if we'll ever get first-class async/await support since there is no event loop in the PHP runtime, and because of how PHP works (build and teardown on each HTTP request).

> And for me, it might be the biggest problem it has right now, which > seriously hurts in some applications.

What problem are you trying to solve where a lack of async/await would help?

<comment><USER15> I've encountered dozens, maybe hundreds of problems where it was actually something that would matter. Here's one example. Consider you need to process lots of requests, that require making multiple requests that take a long time to finish (like 10-30 seconds) and you need to do it nearly in real-time. Given there's no sane multi-threading in PHP as well, you end up building your own parallelism support, which requires running lots of workers. Now, every of these workers does some pre-processing, makes a requests and waits for multiple damn seconds, to get the result back, make some computations and get to the next job. Consequently, to handle the same number of requests/sec you need much more workers, which has a lot of overhead, which results in needing more servers.

Sometimes you can use CURL to just make multiple similar requests in parallel and call it a day, but in practice I rarely could make use of it (consider that service you need to call might require some fucked up protocol, like SOAP, so you best option would be to rewrite SOAP client using CURL with parallel requests, which is not fun at all).

At that point you really start thinking some (any?!) other language would be a better fit for the application, but you have tons of _very_ domain-specific business logic written in PHP that you'd need to rewrite for that app, as well as a team of PHP-developers that are not necessarily ready to learn whatever you have in mind, sooo...

<comment><USER16> > to handle the same number of requests/sec you need much more workers, which > has a lot of overhead

When doing multiprocessing, it's advisable to fork() instead of creating fresh processes (or launching them in containers etc). As long as you preload the necessary libraries/modules in the parent process before the fork, children will reference the same memory in a copy-on-write fashion. It keeps overhead extremely low.

This [1] article is for the Unicorn (ruby) webserver but the way it explains forking, signals, and pipes for inter-process control it's absolutely illuminating. These techniques are applicable to any unix-based applications, including php daemons.

[1] [https://thorstenball.com/blog/2014/11/20/unicorn-unix- magic-...](https://thorstenball.com/blog/2014/11/20/unicorn-unix-magic- tricks/)

<comment><USER15> Thanks, that's a nice idea. Kind of hard to implement in the setup I'm thinking about right now, but, still, that never occurred to me, so this is something to consider.

But, of course, it doesn't replace proper async/await. First of all, there are other situations where this solution wouldn't apply. And even in described scenario it isn't ideal. For starters, pre-loading everything before fork is really easier said than done: quite often data you need to fetch depends on the result of request, but just so happens to be very much reusable between multiple jobs. Then, it complicates the code quite a bit, makes to constantly keep in mind across the whole codebase things you wouldn't really want developer to think much about to start with. Additionally, it makes DevOps harder as well: people want to rely on LoadAvg (which is very unreliable metric, but explaining this to people every time is not what makes for a friendly environment) and multiple jobs doing nothing just waiting for I/O to finish sky-rocket it. Then some DevOps tools (you don't necessarily know about because of department communication) try to be smart by relying on loadavg and start _actually_ breaking things.

</comment></comment></comment></comment></comment><comment> open-source-ux Although I don't use PHP, I'm impressed by its staying power and the improvements in speed (which are substantial compared to other dynamic languages). It has almost universal support amongst web hosts. It can be deployed by simply uploading your code to a directory on your web host. It's a widely criticised language, but still accounts for the vast majority of server side code (80% according to some sources).

And in 2020, it's still the only language that gives your users a relatively easy method to self-install web apps or products. (Sorry, but Cloudron, Sandstrom, Docker etc will never match your customers definition of 'easy'.)

Having a ridiculously easy web app installation process for servers would unlock countless opportunities for developers to reach more users or customers. PHP is closer than most. No other language has tackled it (or cares).

This is an excerpt from a blog post by programmer Jeff Attwood:

 _" If you want to produce free-as-in-whatever code that runs on virtually every server in the world with zero friction or configuration hassles, PHP is damn near your only option. If that doesn't scare you, then check your pulse, because you might be dead."_

To broaden choice, Attwood argues we should:

 _" build compelling alternatives and make sure these alternatives are equally pervasive, as easy to set up and use as possible."_

That was written in 2012 ([https://blog.codinghorror.com/the-php- singularity/](https://blog.codinghorror.com/the-php-singularity/)).

It's 2020 and none of the alternatives are 'as easy to set up and use as possible' for server-side installs as PHP. Why?

<comment><USER17> Because the industry is obsessed with over-engineering. React and Angular were originally developed to power the likes of GMail and Facebook. Now the simplest of sites have to be redone as SPAs simply to support the React/Angular/Vue industry. With deployment it's even worse. Now we have to wrap our simple PHP/Ruby/Python apps in a goddamn virtual OS. Kubernetes and Docker were originally designed for managing massive fleets of servers but now every startup with a 2-bit website seems to think they're missing out if they don't wrap their code in all this infrastructure. Chef and Puppet were good enough for most jobs a few years back so why the obsession with Docker and Kube* ?

<comment><USER18> I agree, though for local development environments docker is pretty handy for getting the full stack up. Especially if you just came aboard.

But this is the name of the game. More and more complexity. I am not sure how green engineers manage to learn everything. Woof

</comment></comment></comment><comment><USER19> I'm fairly language agnostic. What keeps me working in PHP is the Laravel framework, with all of the application plumbing and core functionality built- in and tested for me, so all I have to do is write the code specific to my application. Every once in a while I search for other frameworks but still haven't found anything that competes.

<comment><USER20> I also like Laravel, though nowadays Symfony wins it for me. But it's probably also a matter of taste.

Doctrine's DataMapper vs. Eloquent's ActiveRecord pattern and the use of configuration in Symfony vs. convention in Laravel (e.g. facades) are my 2 main pain points with Laravel.

But having 2 big frameworks is awesome, both are upping their game constantly and the whole ecosystem is benefitting. (E.g. I use Laravel's Homestead for Symfony development, but I might also use Blackfire.io to improve Laravel performance).

<comment><USER21> It's possible to use a data mapper in Laravel though, and it works very well!

</comment></comment></comment><comment><USER22> I think PHP suffers from the java migration, we now write code like this [https://github.com/aran112000/Advent-of- Code-2019-PHP/blob/m...](https://github.com/aran112000/Advent-of- Code-2019-PHP/blob/master/Day01/Day01.php) when functions in a namespace would have sufficed

It seems like collectively developers are patting themselves on the back for putting the same old crap code in classes, as if putting data into a change by reference data structure is a good idea

Personally I'm trying to migrate out to Clojure where mutation is hard and controlled by default & we don't pretend modelling reality with a tree of nouns is a good idea

<comment><USER23> Classes are/were thought as awesome because you can do dependency injection via providing an object, but you can't easily do that with just providing a different implementation namespace.

That said, maybe PHP is not the language where you need to do DI. Just have a few different config files around, do the includes and wiring there and that's it. And hope for the best. (After all there's no compile, no checking of interface correctness with any kind of DI either.)

</comment></comment><comment><USER24> It's a shame that Hack didn't replace PHP in general use. I didn't see a mention in the article, but it was created to be exactly this safer/faster/more elegant version of PHP. For example, it has a broad type system including generics.

My first decent sized codebase was web site for my high school in vanilla PHP. It was a total mess (mostly due to my lack of experience and the need to support Netscape 4.7). I understand that some PHP apps are good, though I got burned by WordPress vulnerabilities enough to swear it off.

I wrote a little code in Hack while at fb, and the incremental typing was slowly evolving a messy codebase to some kind of order. ([https://hacklang.org](https://hacklang.org))

<comment><USER9> Wordpress is not PHP. Wordpress would be just as bad in Hack.

<comment><USER25> Seconding this.

As someone who built (5 years ago now) and maintains a client application that runs along side a Wordpress/WooCommerce shop of pretty high volume - it's absolutely mind blowing to me the kinds of decisions that Automattic/Wordpress/WooCommerce make... from a code and operation viewpoint.

</comment></comment></comment><comment><USER26> I should probably get around to making a ShowHN, but my co-founder and I, having worked with loooots of clients that are still very actively working with PHP code bases (sometimes even still in datacenters!), aggregated and productized our "dream" stack as a PHP PaaS. Please check it out, kick the tires, and let us know what we forgot!

[https://www.lamp.io/](https://www.lamp.io/)

<comment><USER27> Interesting project. And it's great to learn about your company. My project, Amezmo [0] is providing a similar service, but focused exclusively on php hosting along with continious deployments and managed databases. We bundle deployment and hosting. I've been working on this since 2018.

[0] [https://www.amezmo.com](https://www.amezmo.com)

<comment><USER26> very cool, I like your design eye better than mine!

I think the overall market is huge here, plenty of room for both of us (and fortrabbit). The EIG family of companies and the 5.6 "issue" is creating a giant market for next-gen-php hosting.

</comment></comment></comment><comment><USER28> I have a love/hate relationship with PHP but it has undeniably gotten better than its reputation would imply. That said, I think that regardless of the language's continued improvements its reputation will continue to suffer simply because it IS so easy to write and deploy code. Any sufficiently popular and widely supported web language will be the most common entry point for new coders and entrepreneurs who learn just enough code to get that MVP out the door. They will blog about their successes and add to the the number of 'not serious' coders putting poor quality code out in the world. If Python or Go were this easy to deploy, we'd be see their reputations suffer as well.

<comment><USER29> Very true. It is the same with Basic.

</comment></comment><comment><USER30> Can anyone suggest anything that is superior to PHP in its development cycle: save file.php = instant result? As far as I've seen, everything else needs to restart a server, obviously much slower.

What about its die-hard intention of fulfilling a request no matter what? What about autoloading? And what about the amount of things you can do in vanilla PHP, no libs, no extensions.

Hey i've worked with it for some time and sure, its got its nasty things, like gotos :)

<comment><USER31> Basically any other framework/language will have some sort of dev-mode autoreloader that will restart everything faster than you can switch tabs.

<comment><USER30> yeah, I know, but PHP does not even need that. That's the point.

<comment><USER31> It's not an actual advantage, and PHP's "throw the world away" execution model is so so dumb.

<comment><USER32> It adds a lot of complexity to write performant code (you basically need another middle layer), yes.

But it also has some security benefits - with that model it's harder to have exploits (as in your request you don't carry over any other state), session swaps, no need to care about concurrency, locks, etc.

It's by accident, but it's a real benefit of php.

<comment><USER33> _with that model it's harder to have exploits_

The PHP community's track record on security is abysmal compared to all those other environments that don't throw away the world.

<comment><USER32> Security record is due to enormous popularity, low barrier to entry and some questionable/archaic design choices. But clean state at start of each request is clear security advantage.

I can have a car with super safe airbags, that does horrible in crash tests. That doesn't make those airbags bad.

</comment></comment></comment></comment></comment></comment></comment><comment><USER34> I used to be on the hate side and kept searching for alternatives for my site, until I decided to actually spend some time learning PHP best practices.

Quite happy that I took that route, and that I was able to keep getting the language and eco-system improvements along the way.

Modern PHP is quite good for the context of building web sites, its original purpose anyway.

Languages don't need to be good at every domain.

</comment><comment><USER35> PHP was intended to be a templating engine and nothing more. It's the community that pushed it in that direction even though that wasn't the creator's intention. And though that has lead to some bad decisions, let me be the one to say it: though it is by no means a good language, it's far not the worst. Surely, dive into most other dynamic languages and you will quickly want to stay as far away from php as possible. And in the modern day and age if I were to start any project from scratch, regardless of what it was, I can't think of a single reason to use PHP over most other available options. As a matter of fact java and javascript are the only two languages I'd avoid more than PHP. Java for all the annoying boilerplate code you have to deal with as well as the incredibly strict way of how you need to structure your application and javascript because it's horrible in every way - syntax, type system, ecosystem, npm is probably the worst thing to ever come out of mankind. I think this might be the result of a small number of js developers who were above average and wanted to prove the "haters" that javascript can do more than juggling dom elements. I can probably write an entire book of why both java and javascript are horrible languages but that's not the point here. PHP has evolved and while I can't really find a single vallid reason for using it in 2020, other than legacy systems or maintaining something that isn't worth the effort doing from scratch, it isn't the worst language out there. Certainly not as horrible as people portray it to be.

<comment><USER36> I guess those are personal preferences. I would rather use typescript and Java moreso than PHP, Python, Ruby, C++, C#, etc...

Not exactly sure what exactly is specifically wrong with npm, have you tried yarn?

<comment><USER35> Both tpescript and yarn live under the npm ecosystem which, to put it mildly, is a meal that was un healthy and tasted horrible and in attempt to make it better, thousands of cooks tried fixing by eating it, puking it out, cooking it again and repeating that process thousands of times. As I said, I can write a book about the bad things which from all the languages I've used, are only applicable to js & co.

<comment><USER36> So no real example or specific reason it is worse than maven, cpan, or any other.

<comment><USER35> Well cpan hardly matters in 2020. I haven't even heard of perl in a good 6 years or so. Marven, though largely a java(also a horrible language) thing, targets languages which at least aren't used and abused by people who believe that "6" \+ 1 = "61" and "6" \- 1 = 5 are acceptable behaviors. What's more is the fact that compiling the entire linux kernel takes less time and resources then it takes node to figure out how to "compile" x = 1 + 1 into the gibberish it makes. Also the preinstall, postinstall, preuninstall and postuninstall, all of which are horrible concepts and I have no idea what kind of an idiot thought that this isn't literally inviting the security hell into your bed while you are strapped down naked. I can go on for days, those are just off the top of my head while I'm falling asleep.

</comment></comment></comment></comment></comment><comment><USER37> Why is nobody reading the damn article?

>I hope I was able to show you that PHP has evolved tremendously over the past years, and you're perfectly able to write clean and maintainable code with it.

<comment><USER38> People have been writing this take (and it has been true) for something like 5–10 years. I doubt anyone who didn't believe it was just waiting for PHP to get type annotations to be convinced.

</comment></comment><comment><USER39> The PHP ecosystem is similar to the language (I work on it daily), tools are a mishmash of features that may or may not be relevant to the tool. PHP ORMs in general (compared to say Ruby or Python) are absolutely painful to work with, which leads to most large projects that need a DB making a hard dependency on MySQL.

<comment><USER25> Do you have any examples of "tools are a mishmash of features that may or may not be relevant to the tool"?

Or why the ORM's make MySQL a hard dependency?

Honest questions, genuinely curious. I, too, work with it daily and am curious as to what you're doing/seeing/running into that I'm not.

</comment></comment><comment><USER40> PHP nowadays has almost all the syntactical candy of Ruby, and Laravel has all the neat stuff of Rails. But PHP is so much faster and easier to deploy. All it has against it is its bad past and ditto reputation.

<comment><USER41> > PHP nowadays has almost all the syntactical candy of Ruby

Seems like a stretch. Ruby's whole mantra is about offering a very flexible and forgiving syntax. Matz wants to _make programmers happy_. The whole language is candy. You get powerful tools to make your own candy. It's extremely sweet. For some people, it's too sweet, which is understandable.

PHP is not that.

You may have a point if you're limiting the conversation to people who use OOTB Laravel or Rails to build basic CRUD apps. I'd argue Ruby is a much richer language for those who explore it beyond Rails.

</comment></comment><comment><USER42> Array destructuring: already existed, list() pseudo-function

Array spreading: already existed, array_merge

Variadic functions: are probably better implemented as a function accepting an array, especially now that there's a proper array syntax instead of a pseudo- function. Also already existed, func_get_args.

Argument unpacking: already existed, call_user_func_array

Arrow functions: are not any shorter, and are less clear, than anonymous functions.

Literally the only item on your list that was any good for the language is the null coalescing operator. The rest are just re-implementing something that PHP already had, in _yet another_ incompatible (and often unclear) way.

Hell, good luck coming across '??' and trying to find any documentation on what it does. Searching Google for 'php ??' returns results for 'php', searching php.net for '??' returns seemingly random functions, going to php.net/?? gives you the homepage.

</comment><comment><USER43> If I were to teach a course in basic web development, there are three languages I would introduce students to. These would be Go, JavaScript, and PHP (alphabetical order, not pedagogical order).

All three are forgiving languages. Each of the three focuses on a different part of the stack. None of the three will save you from writing gawdawful shitty code, but none of the three will prevent you from writing the most elegant code known to man either.

<comment><USER44> Wouldn't it make pedagocially more sense to introduce languages that are more different (paradigm) from each other than those languages you listed?

<comment><USER43> In a single course? I don't think so. Choosing languages that are this similar will make it easier to make the transition between them. The intent is to teach foundational skills in different areas of web development, and not to teach everything about programming.

<comment><USER44> If it's a single course, then I'd say teaching more than one language is already too much.

Javascript is necessary to learn as a webdev no matter how you look at it, while the other two are not. Javascript can do all the aspects required from a programming language in the web domain so focusing on that would make the most sense.

</comment></comment></comment></comment><comment><USER45> I would just quote Fredrick Brennan's statement on PHP in 2020:[0]

> _"There was nothing wrong with the PHP 5 language specification. The problem > with PHP is PHP Group."_

[0] [https://www.youtube.com/watch?v=9crnlHLVdno](https://www.youtube.com/watch?v=9crnlHLVdno)

<comment><USER46> The PHP group works best when small groups within breakaway with an idea and remerge.

</comment></comment><comment><USER38> It's kind of interesting (or incredibly mundane) how the feature sets of popular web languages have converged. The examples could almost be typescript (and the only reason I don't say Javascript is because of the types.) My understanding is that new versions of Ruby and Python also will have (or already have, I don't follow either language very closely) optional type annotations. It seems like the real difference is on the operational/deployment side, which tends to be elided (or only addressed on the surface level) when we talk about languages on HN.

<comment><USER47> This is why the development of new languages and constant iteration of "reinventing the wheel" (as some say) is worth it, I feel. Ideas from new languages make their way into old standard languages. If over time, every language starts to look the same, that seems to indicate we are honing in on a sort of global maximum. The power and expressivity of programming languages is immense but not infinite (practically speaking), and it is quite arguable that eventually we will find ourselves with no major improvements to make. At that point, it will make sense to settle. Until then, it makes sense to keep building new ones and using them as inspiration for the existing ones.

</comment></comment><comment><USER48> I could not even begin to consider using PHP again until php.ini is completely eliminated. Not even optionally eliminated, I need to know I won't have to deal with a hidden php.ini with all it's configured extensions somewhere on a system before use, surprising me with missing, insecure or completely changed PHP behavior. The fact that I didn't know what features a server supported until I investigated or configured this file was a sinkhole of my productivity in any new project.

<comment><USER49> Why not run phpinfo()?

Lists all loaded configuration as well as extensions and their configuration. Basically everything about the runtime environment your in.

Beginner level stuff.

<comment><USER48> Yes, that was the first thing I had to do when starting a project. Create a file called pi.php that ran that very function and scan pages of configuration looking for a specific key. I would have to do this not once but many times, whenever I thought I was losing my sanity because some random extension wasn't available or the configuration enabled something unpredictable that I only found out about at runtime (e.g. magic quotes was a perfect example).

<comment><USER50> you couldn't just run "php -i | grep xdebug" ? Or even explicitly set/unset the phpini settings from the app in question or even your nginx settings? Lots of ways to ensure everything works as needed. You can also include excensions as requirements in composer so it errors if they aren't installed so you don't forget to install them.

<comment><USER48> I spent 10 years in the PHP world and yes I can do all that stuff. I had to do it just to use PHP. Grepping around configs isn't even the problem I'm trying to point out. It's the surprises, and having to do anything at all to prevent these issues.

<comment><USER50> really? Arguably webpack + babel.config.js + eslintrc.js + postcss + typescript config + package.json ... ALL just to be able to get your ui/ux built -- and still the entire stack can fall apart w/ one wrong version, or one wrong babel setting, etc.... JS is way worse than PHP... yet I'm not going to throw it out w/ the bath water. Not to mention all the damn dependencies inside node_modules...

Vue and react have some amazing things going for them, once you've got all the tooling setup. But it's still a nightmare config wise that makes php way better. I generally touch php.ini maybe once or twice over the lifetime of an app. Can't say the same about JS tooling/webpack configs.

</comment></comment></comment></comment></comment></comment><comment><USER51> The problem with PHP is that every discussion is about PHP's reputation. It's a language that is overly self-conscious.

<comment><USER52> The language isn't self conscious. Programming languages have become subject to fashion trends, unfortunately, and "discussing PHP's reputation" is the tech equivalent of virtue signalling that one is too hip to shop at Wal-Mart like a common pleb.

</comment></comment><comment><USER53> PHP is so polarizing... so much so, that it's enough for me to pass entirely. Even if the language has improved I think the culture is still broken.

</comment><comment><USER54> for system coding you have c, c++, rust, even java and go.

for scripting you have bash and python these days, no need for php.

for web frontend, js remains to be the king, the sole ruler.

for web backend where PHP used to shine, you have python(django,flask,etc)) and js(nodejs,etc)), plus go and java, very crowded area.

In short, PHP is only good at web backend, nothing more, but that place is getting really crowded these days, PHP no longer is the first choice.

While recent PHP added nice features and performance boost, I feel it might be too late. Its high time has passed.

I can learn Python do CLI/web-backend/AI/ML, I can learn JS for frontend/backend, I can learn C/C++/Rust for system programming, I use Java for enterprise,etc. I really do not need PHP anymore and there is only so much time left to master all the languages.

</comment><comment><USER55> I'm happy for the PHP developers.

I still find it an eyesore to read, but everyone is free to use their preferred languages. Stuff like this article shows that good software can be created in any language if there's the will.

Even in brainfuck (I assume).

</comment><comment><USER6> This is a quibble but reminiscent of the kinds of inconsistency PHP programmers are known for:

$value = $object->property ?? 'fallback if null';

$value = $array['foo'] ?? "fallback if key doesn't exists";

<comment><USER56> I do not understand, both of the expressions on the left-hand side are NULL, which looks like ?? is doing the same thing in both examples. A non-existent array key and a non-existent property on an object are logistically identical.

<comment><USER6> I was referring to the single-versus-double quotes.

</comment></comment></comment><comment><USER57> See also:

PHP in 2019: [https://news.ycombinator.com/item?id=19917655](https://news.ycombinator.com/item?id=19917655)

</comment><comment><USER58> is there another language that was written domain-specifically for building websites?

<comment><USER59> javascript?

<comment><USER40> No, that was written for client side DOM manipulation. Only.

</comment></comment></comment><comment><USER60> Does PHP have the ability to be run as a WSGI script yet?

<comment><USER61> What would the benefit be? (I don't know WSCGI that well)

</comment></comment><comment><USER62> Nice overview.

I like how it seems like PHP has a lot bigger built-in standard library compared to Node, as some people install NPM packages for little simple things. Then PHP has a built-in time and date helpers, like timezones.

However, the $ dollar sign for variables kinda annoys me, as switching back and forth between PHP and other languages like JS. Like recently ran into an issue where I forget $ in front of a var and JSON encoding it, and then went to var_dump it but realized I forgot the $ so it was outputting the variable name instead of the variable contents. I guess muscle memory.

I know I was reading a blog post though where someone built a React frontend around Wordpress as a headless CMS, thought that was interesting but haven't looked into how to do it yet 100% but was proposing it to someone I know that has a large site built around WP but seems like a mess of plugins and theme tweaks so I felt moved to something else would let controlling the design and changing things without forking plugins when there are tweaks wanted that isn't part of the official plugin, etc as I feel like that would allow more complete control of the presentation layer without tweaking multiple things and stuff. However some businesses don't really care about the tech under the hood, they just want it done quick with results, don't really understand all the technical stuff and care about costs, so not like a tech startup where you care about a lot of the little details or maintaining things for the future. Then some people don't even really know what they want either, but I guess business people managing tech people, but even big tech companies I doubt all of their CEOs are even technical either though but maybe they hire technical project managers to help bridge the gap between the two parts of the business but their product is mostly tech though anyways so I assume a different culture than tech in a non tech business.

Looks like some projects to do server-side react with PHP too, but haven't played with any personally - but that's useful if someone cares a lot about SEO even though Google can crawl SPA's but other search engines might not be as capable, then sharing on social media not sure if they use server-side rendering when grabbing the metadata for open graph for example. That'd be neat to pitch to non tech businesses who might just be running on a cPanel server and don't want to really invest in servers and managing them much yet, so mix both PHP and React would be prefect maybe for some types of companies, PHP and MySQL for the data part with a nice clean modern and fast react front end with near instant page loads.

Kinda interesting about support for web sockets and more async stuff in the future, I guess in theory than you could write real-time game servers in PHP for example? I know some game servers are in C, C#, C++ or Node though, but long-running PHP code would be useful for other types of applications that aren't just mainly restful web pages or APIs.

Then another thing is you might find examples or libs in PHP but have to dig for equivalents in other languages, probably since PHP is so popular and easier to get into maybe. Then somethings you'd find a good lib in Python like I was looking at something and didn't see an official JS client but they offered a C, Go and Python one... Would be neat if somehow you could easily just combine the languages, I seen there is a Node PY bridge though and sounds like some experiments of compiling PHP to WASM but haven't played with it(wondering if it compiles only the code you wrote(I guess perfect for code you happen to strongly type) or the entire PHP binary along with it, but I know FB was working on compiling PHP to C with the HACK project, so a similar idea might work for WASM but not sure if it's a sane idea - maybe just porting the code you need would be a better answer maybe... but that'd be an interesting way to develop, but I guess with microservices you could mix and match too but some little tiny things seems a waste with all the networking calls.

</comment><comment><USER63> To all the haters out there.

I self taught myself PHP almost 15 years ago, and I've completely developed over the years, from the ground up and from scratch by my self, a complete network of businesses: RadioReference.com and Broadcastify, that does

Public and Private APIs in SOAP, JSON and XML. Complete user authentication and session for millions of users. Integration with third-party best of breed apps like MediaWiki and Xenforo. Database, Ticketing, Location, Admin, User, Payments management. Provisioning, Scripting, Web Services consumption etc

The code is ugly, barely any OOP except for some reusable internal classes. Tons of copy paste from Stackoverflow. I'm still using mysql_query() in a lot of places. Did we hit some security issues, sure!

But it works, it generates millions of dollars in revenue, and it's all managed and developed by one person.

So, to all the PHP haters out there. See above.

<comment><USER64> As someone who _likes_ modern PHP and hopes to see old stereotypes go away, this comment made me sad.

<comment><USER63> Why sad?

The objective is to build a business, generate value and execute on a vision using a programming language, not win a popularity contest by proclaiming your use of anonymous classes, unicode codepoint escape syntax, and the spaceship operator.

I'm doing some really cool things in PHP, and some really ancient things as well. Who cares? The business is killing it, delivering some of the latest and great technologies to end users. That's all that matters.

<comment><USER64> It's just that your cavalier attitude towards best practices and apparent pride in having a shoddy codebase perpetuates the stereotype that PHP developers are second rate.

And no, I'm not advocating for using the latest and greatest just for bragging rights. There is a middle ground.

> "Who cares? The business is killing it"

What happens when you want to sell the business, or the sole developer of this monstrous codebase becomes ill? Based on the picture you've painted of it, a good developer won't want to touch it with a ten foot pole.

Anyhow, I am very glad for your success. It does sound like an interesting story. Just don't be surprised to see a negative reaction from a community of professional developers when you brag about how poorly written (and vulnerable to attack) your "million" dollar application is.

I can only hope that you aren't operating anything that other businesses rely on, or worse — handles personal data.

<comment><USER11> >What happens when you want to sell the business, or the sole developer of this monstrous codebase becomes ill? Based on the picture you've painted of it, a good developer won't want to touch it with a ten foot pole.

Lol the same can be said for any website written in plain-js+jquery, or C++</comment></comment></comment></comment></comment>


Solar-powered plane makes 26-hour flight - <AUTHOR> http://news.bbc.co.uk/1/hi/world/europe/10550430.stm

<comment><USER2> This is exciting news, scientifically. I'm curious what practical applications there are. I can think of a few, but I'm sure it's not exhaustive

• Cheap, quick-to-setup communications relay (mobile cell tower with its own satellite uplink to reduce costs of on-the-ground devices?)

• Non-military surveillance (I assume it would be easy prey for anti-aircraft weaponry, but would probably be quite useful for constant surveying of disaster sites, for example)

• Small datacenter that is easy to keep out of any nation's jurisdiction (a few large hard drives and another satellite uplink, and just keep it circling over the Atlantic)

• Long-term airborne advertising (is it powerful enough to tow an old-school banner?)

<comment><USER3> > I'm curious what practical applications there are

None. It's totally pointless actually.

Very cool, but pointless.

All those solar cells and batteries cost more than just fueling it with regular fuel, and leaving the solar cells on the ground to power other things.

> Cheap, quick-to-setup communications relay > Small datacenter > Long-term > airborne

Not cheap at all, and a blimp (zeppelin) would do a much better job for all of those.

(The batteries alone cost more than $20,000, and the solar cells probably in the $100,000 range, and the carbon fiber around $50,000 for the raw materials. I would estimate half a million each if mass produced.)

It might possibly be interesting for continuous surveillance, if you have no ground station where you can land. (But it flies so slow (43 mph) that it would take a very very long time to get anywhere.)

For regular constant surveying it's cheaper to have two planes and use them in relays.

I'm all for reducing hydrocarbon usage, but lets reduce it for fixed installations, and save the hydrocarbons for the mobile ones (planes, cars).

If you look at the specs <http://en.wikipedia.org/wiki/HB-SIA> it can just barely fly, it's not even strong enough to hold two people.

<comment><USER4> LOL! I suppose you would say the Wright Brothers were wasting their time, "it's not even strong enough to hold two people" indeed!

All exciting new technologies start out too feeble for practical use, just like human babies...

<comment><USER3> Not exactly.

They said:

"Once improved battery efficiency makes it possible to reduce the weight, a two-seater is envisaged to make a non-stop circumnavigation."

Uh hu. We've been waiting for improved battery technology for decades. This is cool, but utterly impractical. Solar power plus batteries simply are not physically capable of doing a better job.

They are going for high profile, but low impact projects.

High profile - what's cooler than a perpetual plane? But low impact - if they actually wanted to help reduce hydrocarbon usage this is not good way to do it.

I totally see the coolness. But my response was about the practicality.

<comment><USER4> But battery technology _is_ improving and that should be easy to prove: these weren't lead-acid batteries after all.

</comment></comment></comment></comment></comment><comment><USER5> Bertrand Piccard, who is leading this project, comes from a family of explorers (e.g. he was also the first to travel non-stop around the world in a hot-air balloon). He also gave a pretty interesting TED talk (starting with ballooning as a metaphor for life, then moving on the solar airplane project):

[http://www.ted.com/talks/bertrand_piccard_s_solar_powered_ad...](http://www.ted.com/talks/bertrand_piccard_s_solar_powered_adventure.html)

</comment><comment><USER6> Why don't they make a solar-powered airship? That's more practical. Airship requires less energy to stay up and navigate, and has greater surface area to receive sun light.

<comment><USER7> Airships are already capable of staying in the air for days at a time. But they're so expensive to operate that they're no good for most of the possible applications of this thing.

<comment><USER6> Curious, why are they expensive to operate?

How about building a hybrid of airship and plane? Make it more maneuverable than airship with the extra power from solar energy and staying up longer than a plane. It's possible for a robotic hybrid airship to stay up for months and years. Rest floating to suck up solar power when it runs low on energy, then move on when the power is charged up. If it caught up in a gulf stream, just let it ride out the stream to go around the Globe.

It would be interesting to see these Solar Birds floating in the sky. (Ha, I even got the name for them. Someone grabs some funding quick to get it going.)

<comment><USER8> First, not very easy to put a lot of usable solar panels onto airship, but it requires WAY more energy than a glider to maneuver due to ENORMOUS size. Sure, solar airship may have it's applications too.

Second, it's not very exciting to fly around the world in airship if you already did it in a balloon.

</comment></comment></comment></comment><comment><USER9> I have to say, I am not impressed with the article... "Perpetual Flight?" I say yes you can probably fly this airplane forever until a motor breaks or something BUT there is a big difference between a single pilot airplane that takes a team of people to ensure it does not have the wings scratched and a commercial airliner that runs on solar. While the airliner is awesome if we can pull it off, I would not be surprised if we were 20-50 years away from that.

<comment><USER2> I'm not sure why "Perpetual Flight" would have anything to do with airliners - typically you would prefer to land those fairly often. This would never need to land, signifying to me that it would be useful as an automated drone of some sort, possibly a cheaper alternative to a geosynchronous satellite.

<comment><USER4> You would never need to refuel. You could set down anywhere there was a runway. That massively lowers the barriers to entry of "being an airport".</comment></comment></comment>


Social Networking tips from 125 Years Ago - <AUTHOR> http://www.unreadyandwilling.com/2011/10/tips-on-networking-from-125-years-ago/

<comment><USER2> Love it! I think it summarizes a lot of the things I found about networking:

1\. The best way to network is to be a regular. One time networking events typically don't lead to anything. Most people won't even remember your name.

2\. Novices to networking expect miracles the first time they do it. It doesn't work that way. You can't build an "acquaintance" relationship in just one session.

3\. Deviating from the article, it is my humble opinion that most people don't like networking because it involves dealing with strangers. Strangers are frightening because they are an unknown quantity. The first time you go to an event, you are in a room full of strangers. Eventually as you go to a second, third or fourth event, you get to know the former strangers and their interests and you start feeling much more comfortable.

4\. You can't be an empty suit. By the second, third or fourth meeting people will figure it out.

</comment><comment><USER3> I'll fork the process, with something not impossible:

On the ninth time they tell you to get out of there and never appear again, because you are annoying and creepy.

<comment><USER2> I disagree, unless you are totally socially maladjusted and / or can't get a clue how to behave in social situations.

Practice makes perfect. If someone has seen you 9 times that typically means you met a LOT of people, and therefore have had a lot of practice in talking to people. Most likely by that point you won't be "annoying and creepy" anymore, and if you still are you'll definitely be much less so.

In addition, if you talk to someone for a 9th time then by that point you practically know each other and probably share some interests. They won't talk to you for a 5th, 6th, 7th and 8th time, let alone a 9th time, if you are annoying.

<comment><USER3> I just meant to provide an option for development of the situation which is not unlikely to happen. Especially in some less developed countries and/or different cultures this might not be the right approach (but it may very well be, so you have to try)

<comment><USER4> When you said "not impossible" it implied that the other fork was impossible

</comment></comment></comment></comment><comment><USER5> So true! From the networker's perspective, it's called persistence, and it does work as advertised :-). The only thing you need to remember is to actually fit in, otherwise you'll become infamous as opposed to known and respected (although infamy is still better than being unknown I suppose, especially since opinions can be turned around).</comment>


A dispatch from the "programmers liberation front" - <AUTHOR>

Johnathan Edwards may be perched in the academia, but he's a hacker and one of us:
http://subtextual.org/young.jpg
He's making progress on his attempt to reinvent the programming wheel.
Latest news: http://coherence-lang.org/
& This is absolutely must watch:  http://subtextual.org/subtext2.html <comment><USER2> Edwards hasn't seemed to have solved the core issue with so-called graphical (Edwards is calling it "non-textual") programming languages: they're clumsy to the point of being unusable.

The table visualization might seem useful for some, and it would perhaps make a nice feature/plugin for an IDE. But, frankly, I would rather muddle around with boolean algebra than clicking around his GUI.

<comment><AUTHOR> I agree with you regarding the clumsy gui -- UML editors suffer from the same general problem. What I took away from his presentation were the 2 core points:

1) linear expression is intrinsic to text but not intrinsic to programs.

2) the machine is more than a tablet.

Who knows? May be the ideal interface is actually voice based ...

</comment></comment><comment><USER3> This led me to go read a number of entries on alarmingdevelopment.org

There's some great interesting topics here, along with some of the most patronising discussion I've seen in a while. There's only so much of this "This is a topic that literally kills programmer brain cells. I'm going to do my best to be fair and not kill brain cells, and avoid getting called a loser by the peanut gallery for disagreeing with you." I can read</comment>


China Is Nationalizing Its Tech Sector - <AUTHOR> https://www.bloomberg.com/view/articles/2018-04-12/china-is-nationalizing-its-tech-sector <comment><USER6> All tech companies need to re-think manufacturing in China, it was always a risky proposition, but not, you'll really be handing your IP over to the Chinese Government, and they'll be collecting IP from every company.

It's time for tech manufacturing to move.

<comment><USER7> Where will it move to? Tech manufacturing is till pretty labor intensive, at least for the consumer electronics that I believe we are talking about. India probably has better IP laws on paper, but they're hardly ever enforced.

The only real alternative seems to be that we reach such a level of automation that these factories can be viable in the West. Still, China's integration into the supply chain of global manufacturing is breathtaking. Not saying it can't be done, but it would take some amount of determination, deliberation and a lot of Capital and skilled labor force.

<comment><USER8> Come to South Asia -- Bangladesh, India, Pakistan. Weak institutions and governments concerned solely with infighting mean that your IP is probably safe from marauding governments.

All your clothes are already made there, why not your electronics?

<comment><USER9> Terrible vocational education system. Everyone wants to do a BCom or BTech and be a manager.

<comment><USER10> Also: Unreliable power supply and internet. Corrupt customs officials. Petty crime.

</comment></comment></comment></comment></comment><comment><USER11> The "trade war" thing has been the most/only interesting ideas to come from trump, to me.

It was interesting in that he did recognized (fluked into?) an actual shift in public/expert position. China is the pro-trade side. They'll be willing to make concessions, do the work, etc. It's the beijing consensus now, not washington.

Large american companies _are_ still on the pro-trade side, being multinationals. They also have pretty obvious interests. They want market access, american IP protection, they want freedom to operate mostly independently of the CCP.

Market access is a typical request. This has been the basic definition of free trade for a while. They probably _can_ get this protection. Independance is a trickier one. I'm not sure it's realistic. Imagine a Chinese company operating in the states, with an a fully imported senior management and all "c-level" discussions in chinese. I dunno. I doubt they'll get what they say they want.

The "IP" point is interesting. Why does the american economy want US IP rules everywhere so bad? Same reason Disney does. They have the biggest IP portfolio. A pharmaceutical company's value (for example) is mostly IP. IE, the market cap _is_ the IP portfolio.

Why would china want to use this IP system, where they start with fewer chips than the US? I'm not sure. Who says a fake Gucci is a crime, if the buyer knows it's fake. Why should a US drug patent grant a worldwide monopoly. This one would be a concession.

Anyway, it's not just pharmaceuticals that need IP. The economy is ethereal these days. Capital isn't building and machines. It's intellectual property of one sort or another, whether or not it's legally formalized as such.

..

PS: I'm Irish, not American. Realize from the wild votes in both directions (didn't think) that I've obviously waded into live american politics. I wasn't trying to make any political points. Just musing and bullshitting on the shifting world of political interests after reading the morning paper. I'm not against anyone, nor do I mean anything too seriously.

<comment><USER12> > _Who says a fake Gucci is a crime, if the buyer knows it 's fake._

It's not enough for the buyer to know it's fake, everyone who sees it must also know it's fake, or else the fake is freeriding on the cachet generated by Gucci's marketing.

People buy prominently branded fashion objects for their signalling value more than their utility value. Signalling which is easy to fake isn't very valuable.

It's perfectly possible to think that social signalling using fashion objects is wrong and should be eliminated, but signalling appears biologically determined and is common across many species, it's unlikely to be eliminated without committing greater wrongs.

<comment><USER13> It's worth having a dialogue about this. This specific type of signaling (flashing brands) is enforced by social rules that prevent chameleons. It would be pretty easy to imagine relaxing this - allowing products to appear externally in any form, as long as their nature is always recognizable to the owner (to prevent fraud). It's not clear this would be bad for society.

IANAL, but it seems to me that plastering logos all over a handbag is an abuse of trademark _functionality doctrine_. The function of the pattern is to make the owner appear wealthy, not to prevent buyers from being misled.

<comment><USER7> The purpose of brands and high fashion is not to be functional in the utilitarian sense. They are meant purely for signalling and their utility is an afterthought at best. See for e.g. women's jeans which have fake pockets.

For people who care about such things, its more important for their outfit to be congruent to some fashion principles (color, fit etc.) rather than the actual utility that such things provide.

</comment></comment></comment></comment><comment><USER14> > Tencent Holdings Ltd., with nearly 1 billion users, reported that its net > income almost doubled in the last quarter, to $3.3 billion. Alibaba Group > Holding Ltd., which dominates online retail, is expecting growth of 55 > percent this year. Investors may worry about Chinese debt, but they're giddy > about Chinese tech.

Anyone knows the SEC equivalent site for pulling revenue numbers for Chinese companies? If possible, direct links for Tencent and Alibaba will be even more helpful.

The reason I am asking is Alibaba has been investigated for their creative accounting:

[https://www.thestreet.com/story/14277425/1/alibaba-still- coo...](https://www.thestreet.com/story/14277425/1/alibaba-still-cooperating- with-sec-probe-as-it-forecasts-45-to-49-sales-growth.html)

And, I recently watched "The China Hustle" documentary. Discussed here:

[https://news.ycombinator.com/item?id=16726355](https://news.ycombinator.com/item?id=16726355)

One of the highlights in the documentary was the financial reporting. There was a huge gap between revenues western Media and US markets was seeing vs what was being reported in China. The whole idea being accessing financial data for Chinese companies was hard.

<comment><USER15> > Tencent Holdings Ltd., with nearly 1 billion users

Sounds reasonable. I would start wondering if they claim 20 Billion users, but hey, you never now.

Alibaba is also an outstanding company:

[http://brontecapital.blogspot.de/2015/10/alibaba-yeah- right-...](http://brontecapital.blogspot.de/2015/10/alibaba-yeah-right- jack.html)

[http://brontecapital.blogspot.de/2015/09/job-interview- quest...](http://brontecapital.blogspot.de/2015/09/job-interview-questions- size-and-scope.html)

<comment><USER16> Well taobao pretty much is the majority of buying for many people. The blog posts are roughly as baseless as what it claims Jack Ma is.

<comment><USER15> 44% of income? Wow. I think total online sales in the US are something like 7%

<comment><USER16> The people shopping on taobao and the whole population are different

You cannot derive 40% from that.

Also there is obviously a fraud transaction business to boost the number. Alibaba, by not cracking down them, acting to benefit from that too.

As I said, data are not accurate. But that should be be drawn from wrong facts.

</comment></comment></comment></comment></comment><comment><USER17> Actually this is not even close to nationalization.

The article's title is misleading even by the standard's of the article, which goes on to call it, "quasi-nationalization".

But even that is misreading the situation.

The objective is not "control" of the tech sector as the article pretends, it is just greater collaboration. So the state and tech companies can both benefit.

The state doesn't want the burden of taking control. Plus they don't want to interfere and slow things down. They want to learn from tech to better their own ogranizations and also to teach tech how they can benefit from working with the state more closely.

It's about greater integration, not control. And since China is so successful at organizing and governing more than 1 billion people already, the more they work with cutting edge tech, the better things will get.

You can say they are making a police state, but at least they can maintain law and order, and are willing to keep thinking long-term and keep innovating even in government. The government wants to support its nation's tech companies. If Chinese tech companies can become the best / most valuable in the world, it will be more advancement toward the great rejuvenation of the Chinese people that China is pursuing.

In the drive to find any negative spin to put on Chinese progress, commentators frequently miss important points, and mischaracterize / misread significant developments. Finding fault is easier, and perhaps more satisfying for someone who is really desperate to feel good about themselves without other reasons to, but seeing what's really going on is more useful.

<comment><USER18> You claim:

> The objective is not "control" of the tech sector as the article pretends, > it is just greater collaboration.

From the article:

> This quasi-nationalization applies to China's startup scene, too. One recent > report found that 60 percent of Chinese unicorns have either direct or > indirect investment from the BATs. China's venture-capital sector is > dominated not by traditional tech dealmakers but by the state: There are > more than 1,000 government-owned VC firms in China, controlling more than > $750 billion.

So the Chinese government buys stakes in most Chinese startups, through its wholly-owned VCs and other vehicles.

These stakes give the Chinese government control over these startups.

You further claim:

> You can say they are making a police state, but at least they can maintain > law and order, and are willing to keep thinking long-term and keep > innovating even in government.

Which frankly sounds like PRC propaganda.

<comment><USER19> > These stakes give the Chinese government control over these startups.

Does it? Any more than it already has, what with China being communist and all.

I don't see why the general ideas /u/reeedom discusses _can 't_ be true, and _can 't_ turn out to in fact be a perfectly workable way to successfully run an economy. This isn't to say it's not risky and scary, with so much power in the state, all it takes is one tyrant to come along and screw everything up, but this is something altogether different than believing it is _impossible_ to govern a society successfully in this form, for a very long period of time.

<comment><USER20> > but this is something altogether different than believing it is impossible > to govern a society successfully in this form, for a very long period of > time.

The West seems to have forgotten its own political history, which was based on the divine right of kings _far longer_ than the current populist democratic consensus, which only has a 100-year history.

As for China——well, it's had something like 2500+ years of cycling between Imperial dynasties. China (along with India) was the world's pre-eminent economic power for the majority of that period.

The hubris of the West is that anything it does necessarily represents a permanent form of progress, rather than a single swing of the pendulum. That's _not_ to say that societies that are more rooted in common law and popular representation aren't desirable, but blithely assuming that the 'end of history' has arrived is a bit silly.

</comment></comment></comment></comment><comment><USER21> Comparison

Baidu - <USER2>

Baidu is horrid, even in Chinese. Baidu doesn't have nearly as big stronghold on advertising in Chinese market as Google has in every market outside of China. End of discussion.

Alibaba - <USER3>

On commercial side, Alibaba steamrolls Amazon with some margin remaining. Tech-wise, Alibaba sucks big time. Their search algo is something horrid. Alibaba has a relatively big part of Internet ads pie in comparison to Amazon.

They need more competent tech people, or better to say let more competent people to lead, and less talking big. I personally knew the person who nearly single-handedly created half of all business Alibaba group has outside of China, yet he did quit the company because he was denied promotion and never given recognition for his efforts. Moreover, his superiors were intentionally keeping quiet of his existence and appropriating credit for his work.

Tencent - <USER4>

Company-wise Tencent is way better on focus and management quality. People there are very well conscious what the company needs and for what. They don't have much random RnD initiatives or "see what sticks to the wall" internal startups.

Their money cow are their horrid mobile games, and WeChat wallet.

While they are unquestionably a social network company, they are almost invisible as such. WeChat team prides themselves on their "Zero popups" experience.

Their idea is plain - solidly done, undisturbed by ads social side of the ecosystem must be kept as such so that users will have less impediment to use value added services from the commercial side of the ecosystem when they want to. This is what FB can't do.

<comment><USER22> Amazon vs Alibaba - to simplify, this game will be won by the best supply chain, And sure Amazon leads by far. But what happens when the "one belt one road" railroad is finished ? Will Alibaba get a preferential treatment ? And if so, could Amazon handle that ?

<comment><USER23> Have you tried Amazon outside of the USA? It sucks. In the UK I've been told it is ok. In Australia, Thailand and China it is not a great experience. In China Tmall is an amazing experience. In their home markets they both seem to be entrenched but globally I'm not sure if either will win.

<comment><USER24> > In Australia [..] it is not a great experience

I am certain that almost all the issues you experienced are due to the chain from the plane to your house - mainly customs, who are the laziest, most incompetent stereotypical govt employee jobsworths you can imagine. I've had tiny camera lenses sitting at Sydney Airport for a week. You call their contact numbers and no-one answers. Clearance times are slow to begin with and spike wildly. They make AusPost look like hyperefficient geniuses.

Probably the same for the other countries. In the US, SG and (local store) Japan it's been stellar.

</comment></comment></comment></comment><comment><USER25> It's interesting to observe how China has managed to fuse together, almost seamlessly, the major functional modules of it's government -- Communist Party committees, for example -- with the tech sector.

As other commentators in various publications have pointed out, this deep integration coupled with massive investments in auxiliary sectors, a culture of scientific inquiry and a heavily STEM focused primary education[0] will only keep the scale of the momentum tipped in China's favor going forward.

[0] [https://www.theglobeandmail.com/news/national/education/what...](https://www.theglobeandmail.com/news/national/education/what- shanghai-can-teach-us-about-teaching-math/article17835021/)

<comment><USER26> Seems like premature celebration. The Soviet Union was incredibly successful (turning a backwater into a superpower in a few decades) until it wasn't.

<comment><USER27> The first catastrophic failure of the Soviet Union was agriculture. When the West was beginning Borlaug's Green Revolution they were deep into Stalin's great famine, the Holodomor. Their inability to put bread on tables is at the root of their collapse.

Most tragedies in China's recent history also have their cause on failure to produce food.

I wonder how China is prepared to handle the impact Global Warming will have on agriculture.

<comment><USER28> >Stalin's inability to put food on tables = cause for USSR's failure

I need to clarify something on this point. Stalin's famine was deliberately engineered to kill Ukrainians.

It was not a failure of central economic planning, but actually, shockingly, a triumph.

Stalin confiscated Ukrainian citizens' guns and land, and forced them to work 180 days per year on centrally planned crop attempts. The product of their labor- grain- was then placed on a train and sold abroad at bargain prices. This money was then directed back to Moscow only, and the Ukrainians were left to starve.

I am against central planning. I am against totalitarianism. But the Holodomor was no accident of central planning.

Shockingly, it was the desired outcome.

<comment><USER29> This is pretty much how the Irish potato famine happened, too - they grew enough food, it was just exported - along with the wealth it generated.

The English justified it by invoking the divine right of the free market.

In the Soviet Union's case the money derived from exporting the grain abroad supposed to be to help industrialize - which it did.

It's a bit hazy whether or not it was _deliberately_ engineered to kill off the Ukrainians. It hit every grain producing area of the Soviet Union - <USER5> just hit Ukraine the hardest.

Stalin may have simply been indifferent to their plight rather than actively trying to kill them.

<comment><USER30> 'The English' were responsible, or 'Protestant Irish Landowners'? Seems like a key detail if you're going to attribute genocide to the English.

<comment><USER29> The English, who were ruling Ireland at the time, who gave most of that land to absentee landlords, justified perpetuating the famine by invoking the divine right of the free market:

"Laissez-faire, the reigning economic orthodoxy of the day, held that there should be as little government interference with the economy as possible. Under this doctrine, stopping the export of Irish grain was an unacceptable policy alternative, and it was therefore firmly rejected in London."

[http://www.bbc.co.uk/history/british/victorians/famine_01.sh...](http://www.bbc.co.uk/history/british/victorians/famine_01.shtml)

I honestly don't see much difference between Ireland and the Holodomor except size. Both famines were caused by foreign occupiers exporting food during a period of bad harvest.

Whether you call it a genocide is another debate.

<comment><USER31> Is there anything analogous to potato-driven growth & potato blight in Ukraine?

I thought the two stories were completely different because of this. Ireland had a spectacular mono-crop boom, followed by a crash, and I think it's uncontroversial that this was triggered by a disease, whatever the view of the response. I don't know of any similar boom in the Ukraine prior to the famine, nor any trigger besides what the guys with guns in Moscow wanted done.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER32> Provide incentives and support to local companies to become multi-unicorns (BATs etc).

These companies start investing in other leading startups, scross the globe and have substantial stakes in them.

Then, nationalise these companies and you have then indirect control/semi- control/access over vast majority of leading startups across the globe.

This seems to be a nice move by Chinese government.

<comment><USER33> But, where does the next wave of innovation come from? More startups?

Just seems like China's steal/nationalize everything doesn't create true innovation centers.

<comment><USER34> China has a billion people and produces vast and rapidly growing numbers of highly skilled academics, both in their local universities and by sending students abroad. Many of the smartest people I know are Chinese and have returned to China after completing their degrees and collecting experience in western companies.

<comment><USER35> I don't want to take a side but the parent is almost certainly going to point out that academic papers != innovation (especially with the news that lots of papers from China have falsified data, paper mills, etc).

What are actual innovations made by China in the past 20 years? On demand bikes comes to mind as one example.

<comment><USER34> I'm no expert on the matter, but I hear that they have excellent supply chains and extremely flexible assembly lines.

</comment></comment></comment></comment></comment><comment><USER36> A picture is worth a thousand words.

The sculpture outside the front of Tencents Shenzhen HQ. [https://pbs.twimg.com/media/DXRIsWrVQAAJgjl.jpg](https://pbs.twimg.com/media/DXRIsWrVQAAJgjl.jpg)

<comment><USER37> As someone with parents who experienced the USSR, this is what really terrifies me about China's rise, and the reason I can't say I'm against a trade war if it hinders them more than us.

Imagine a world in which China holds more control... a country with little legal or social respect for individualism, where your fate is 'centrally planned' by how impressive your maths skills are. By contrast, ~30% of American billionaires are dropouts. We highly value ambition in the U.S., and we attract (and reward) people who have it; those people, upon coming here, largely have the freedom to create and build and be in charge of their own future.

It just seems like the U.S. will self-select for the ambitious and the inspired and those who desire freedom, and it would be immensely worrying if this model we have appears wrong.

<comment><USER38> arent's you romanticizing the US a bit much? the country was built by slaves.

"the US will self-select for the ambitious and the inspired and those who desire freedom" this is just hogwash

<comment><USER37> Sorry if you found it offensive.

I'm definitely romanticizing the U.S. quite a bit. At the same time, that romanticization is inspiring (at least to me) and largely true today when you compare us to countries like China, where you have much less control over your future. Also, moving to a country that provides greater freedom and opportunity at the cost of less of a social net and lower taxes will almost definitely self-select for the ambitious.

Slavery also continued in practice in China until at least 1949 [1]

[1] [https://en.wikipedia.org/wiki/Slavery_in_China](https://en.wikipedia.org/wiki/Slavery_in_China)

<comment><USER7> Forced labor camps still exist in China, to this day [https://en.wikipedia.org/wiki/Laogai](https://en.wikipedia.org/wiki/Laogai)

<comment><USER39> What do you call a US prison farm? [1] Even Wikipedia acknowledges that "the concepts of prison farm and labor camp overlap." Labor camps are even explicitly permitted by the 13th amendment "... which ended slavery, specifically perpetuated the concept of penal servitude – i.e., unfree labor as a punishment for a crime."

[1] [https://en.wikipedia.org/wiki/Prison_farm](https://en.wikipedia.org/wiki/Prison_farm)

<comment><USER7> There is a difference between political prisoners and criminals. There is a rule of law in the US which means you cannot arbitrarily imprison anyone; there is due process and a trial. That is missing from the Chinese Judicial System which makes it much more akin to Slave Labor.

</comment></comment></comment></comment></comment></comment></comment><comment><USER40> Would a more accurate description be that China is "militarizing," its tech sector instead of "nationalizing" it?

When we think of nationalization, we tend to think of centralized control by committee, removal of competition, five year plans etc. But militarization of an economy, like that of Britain during WWII, means working toward and pricing based on a shared (if mandated) national objective.

Western aviation is largely militarized in this sense, and looking at communications tech in China the way we look at aviation here is probably a better simile.

There is a tendency to portray the Chinese communist party as a farce of clumsy peasants toeing the party line and driving their economy into ruin, as though they were the bolsheviks or Stalin's apparatchiks. Those tropes do a disservice to those of us who really do need to be aware of the sophistication and hyper-aggression of Chinese economic warfare.

Viewing China as an "emerging," economy and society presumes the end state will evolve to something resembling western democracy and a free market economy, which is the very hubris they are exploiting to consolidate and militarize their industries and territories for global expansion.

It would be helpful to everyone to elevate the quality of discussion of these topics, as CFIUS will only protect us so much.

<comment><USER41> You make an excellent point about nationalization being an inaccurate metaphor.

China sees it tech industry as a strategic asset the way the US and Russia see their defence industries as strategic towards advancing their goals as super/regional powers, so in a sense, militarization is probably a better metaphor.

</comment></comment><comment><USER42> If you tend toward optimal decisions, having your mind made up for you seems like it could be a real drag.

</comment><comment><USER43> Some threads are discussing Chinese companies, at C-level, doing business in Chinese language in US.

I'm curious to know opinions folks around the world have about the likelihood that Chinese language will somehow become an important international language? In my (perhaps biased) mind it appears the world is already well on its way to adopting English as THE international language.

<comment><USER35> I'd just like to point out that no Lingua Franca has lasted forever. It was French before English, till post WW2.

Also this doesn't matter as much, but, English is one of the more difficult languages (compared to Spanish say) due to all of its spelling inconsistencies and large phonetic possibilities. I don't know if a tonal, character based language will be any easier though.

I say it doesn't matter because it doesn't seem to be the difficulty of learning the language that matters, only the strength of the language in terms of economic opportunities.

</comment></comment><comment><USER44> Well that's good for everyone else competing with China. It will slow innovation. Imagine if you had to worry about doing something that pissed off someone on your companies "Communist Committee" (or whatever the article called them). Yes, in general a company in China has to be careful how it treads with respect to the national communist party, but now they'll have to worry about the lower level people that are inside their company. And those "party" people will have ambitions, and when the company does good, they will do good. BUT, those (at least some of those) same party people will be risk averse, probably a lot more risk averse than a typical tech innovator. Think about politicians here in the US and how long it takes them to embrace things that are already popular with the general public (marijuana legalization for example). That's what these companies will be up against, and it will slow them down.

</comment><comment><USER45> The greatest problem of the article critiques is that China economical politic is working. They aren't just the almost slave workers now, there are tech and innovation.

</comment><comment><USER46> [https://www.youtube.com/watch?v=RbM2F-cfN0A](https://www.youtube.com/watch?v=RbM2F-cfN0A)

</comment><comment><USER47> Does it covers software companies ? Does this mean a software engineer will be an government employee ?

</comment><comment><USER10> Public private partnerships are quite de-rigeur in the west, what's so special about China that the same is somehow not-so-subtly construed as a demonic plan to debase capitalism and instill the vicious vector of bogeyman communism in a Chinese community near you? Frankly IMHO the media on China coming out of the US - Bloomberg, NYT and Washington Post especially - reeks of xenophobia and tabloid hype.

America's journalists may do well to visit the museums of Chinese in LA and New York, as I did, and take a long deep look at the China side of their country's nasty and continuous history of whipping up anti-foreign sentiment at all levels of government and society then conveniently sweeping racism under the rug. Disgusting.

</comment><comment><USER48> And thus the brain drain from China will commence at full speed (more than present). Seems government regulators in China don't understand market forces either. Good to know.

<comment><USER49> Central planning has always proven to be an inefficient way to allocate resources, so I'm not sure why free markets would be worried about China implementing more central planning.

<comment><USER50> > Central planning has always proven to be an inefficient way to allocate > resources

Amazon seems pretty efficient. ;)

<comment><USER51> Hmmmmm.

I've often wondered about the contradiction wherein it's argued that the economy thrives on competition and yet corporations larger than many nation states never apply the same model internally.

(I'm aware there are efforts in some companies at creating "internal markets" but never close to the scale of market forces that exist externally to the company)

<comment><USER49> Resource allocation is the single hardest problem to address in large organisations, and there's numerous cases of companies withering and dying because they failed to properly align their resource allocation with market forces.

Except withering and dying for a company is not a humanitarian crisis, but it is for a country. A company can also fire an underperforming team member, or ditch an entire department. Where as terminating underperforming citizens, or unneeded communities is generally frowned upon.

<comment> bad-joke This is why some strains of socialism advocate a regulated market wherein businesses can freely experiment, then the optimal path is nationalized.

Free market or centralized economy, at the end of the day _someone_ is making an executive decision about how resources are allocated. Whether you believe that executive person (or committee) should be acting in the best interests of the public or a group of shareholders is a matter of principle, not logistics.

<comment><USER49> This creates exactly the same set of problems. A CEO has to compete with other CEOs, if they don't do so efficiently they will fail and another will take their place. A government committe doesn't have to compete with anybody, if they fail, you just end up with a society that gradually deteriorates. A CEO also has to deal with market forces, a government committe does not. A government committe doesn't have to produce goods that people want, they only have to align their resource allocation with the central plan, as their country is gradually eroded underneath them. Your argument is trying to have its cake and eat it too, it doesn't resolve any of the inefficiency of central planning, it just shifts it down the road a bit.

<comment><USER20> > A government committe doesn't have to compete with anybody

In theory, a failing government is replaced by a different government. In practice, whether voters successfully identify problems and pick a better winner is an open question.

<comment><USER49> Even if they did, this proposal is simply a much less efficient alternative to free market competition.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER52> Could someone please list the top 10 technological innovations that originated in China?

<comment><USER53> How about top four?

Paper, printing, gunpowder and compass.

<comment> purple-again I downvoted the parent comment but your response is also disengenuous. Unless I'm allowed to claim credit for Rome's victories the 'China' that invented those things shares nothing with the China being discussed right now.

<comment><USER54> >shares nothing with the China being discussed right now.

Seems like apples to oranges, assuming the implied comparison is with western post-industrial age nations, which began industrializing centuries ago, as compared to decades ago with China.

</comment></comment></comment></comment><comment><USER55> The tech sector in the west can breath a sigh of relief.

It's no surprise the power grabbing politicians would want to control the booming tech sector. But I naively thought that their affair with quasi- capitalism would run longer. We have been here before and know how nationalization affects innovation. Being a leader of a communist nation gives you perhaps more opportunity to run these kinds of massive experiments while thinking this time things will be different. Capitalistic (Darwinian) society wouldn't be as forgiving.

/rant

</comment><comment><USER56> It seems tech companies in the US could definitely benefit from increased oversight on operations and stronger compliance with privacy laws, not only that but the establishment of integration with state-owned firms could boost domestic consumption of tech services that don't revolve around ad and social media consumption.

<comment><USER57> What state-owned firms do you mean with: "... but the establishment of integration with state-owned firms". Amtrak, USPS, National Parks or one of the Federal Loan Banks?</comment></comment>