Simply put POPULATION, there are two many people for this to work and countries like the US, Canada, China, Russia are way too large. Direct democracy only works in city states with small populations i.e. the size of a small town not the size of New York or Los Angeles. And then there is the other significant problem: migration which stems from the extremely large human population, even today you can tell that Europe is struggling with migration, they're having literally thousands of Syrians entering Europe per week, what's to stop a small city state with less than 1000 people be overrun and destroyed by migrants. Immigration is tough problem, we can't deny it because it's immoral doing so: "who are we to say who can go where?" but at the same time we don't want to displaced when the number of immigrants becomes larger than the locals.
I've lived in Spain, it's joke since we all here how great the civilized modern organized North where people work hard unlike the barbaric chaotic south filled with lazy who just want holidays and don't pay their taxes. If quality of life is what anyone's looking for, get rich, sacrifice your youth if you have to be, and then retire young (mid-40's early 50's) to some tropical island or some country in South America like Ecuador or Uruguay. The EU is not a good place to be, it is continually getting worse for the people, people are getting angry and people are starting to get violent in some countries.
P.S. Most Europeans don't own a home because homes here cost at least half a million Euros out of reach for average Joe. Owning your own home is common sense in the US, even if it's a crappy home it's still your own place. Europeans live their entire life under the extortion of renting, they live on the property of landlords who will charge them for the oxygen they breath.
Also there is NO difference between West Europe and East Europe, the only difference is the rent prices otherwise the poor quality of life is the same. Stop spreading mis-information.
I'm a European living in Europe, could you please stop spreading propaganda. Europe is a POOR place, it's not this egalitarian paradise the media makes it out to be. People here are poor and desperate, they are exploited daily and treated like slave labour not much different from the Chinese. What work life-balance are you talking about, sure you have a life after 6 pm when you get home from work, and on weekends but how is this any different from the US. I've seen people lose it in the work place as in start throwing things, breaking office equipment, overturning desks and threatening to kill their managers some have even tried and had to be dragged out by security, all because they have been pushed to their limits.
Holidays, week-ends and working without being chronically on the verge of a burn-out is considered socialism aka communism in Europe, if you want that you are considered lazy like the Greeks and Eastern Europeans (note that is not my view of them) i.e. wanting free money without hard work.
I don't know how its like in the US but please do not paint a false image of Europe.
It's not as black and white as you put. Linus may be great at writing operating systems kernels, he may be better than you or I are at it but he wouldn't be as good at designing machine learning artificial intelligence algorithms, if we had to put him in the shoes of the developers at Google which run the world's largest search engine he wouldn't now be objectively the best, neither would the Google developers do to well if they had to maintain the Linux kernel. Same thing with Mozart, he is one of the best composers in his genre of music but there are other genres as well.
Software developer is more than good enough in my opinion. However I've encountered two types of programmers, there are those who contribute new ideas, new algorithms, solve new problems, find new, more efficient, safer solutions to existing problems, etc. Then you have the other type who just write glue code between different frameworks and libraries which someone else wrote, they never write anything themselves but download third party packages from Github or whatever to accomplish their tasks. I wouldn't call the latter "software development", coding or scripting would be a better word and yes anybody who is proficient with a computer can code or script but not everybody can be a software developer. It's similar to how assembling your own flashlight, or even assembling your own computer does not make you an electrical engineer.
"Real programmers do not reinvent the wheel" is an overused cliche which has been diluted to mean anyone who does anything other than gluing together third party libraries. The cliche itself does not make sense since the wheel is one of the reinvented technologies in existence, if we hadn't reinvented the wheel we would still be using logs.
Linus Torvalds isn't really something that great. He copied an existing kernel design which had a full open API specification, it's not like he reverse engineered MS-DOS whose API was fully closed off and secret. Linus didn't bring anything new to the world, Linux is a clone of UNIX, everything that has been added to Linux was originally developed by Sun or BSD developers and then cloned for Linux.
A good programmer in my opinion is not someone who can code in C and ASM and then brag about how he/she doesn't use C++ or whatever. A good programmer is also a designer, who can bring a new design to the world which will still be used 50 years later and even after the death of the original programmer. Thus Ken Thompson, Dennis Ritchie and the others should be in the list of the best programmers of all time not Linus Torvalds.
What makes you think money and advertising is the only business. Think for a second why is so much on the Internet seemingly free, free Google search, free email providers, free social networks, free everything provided by money grubbing corporations. Why aren't we being charged through the roof to use Facebook, Google, Yahoo like we are charged through the roof for everything else. When you look around you see the real reason why, PROPAGANDA, the Internet is the most perfect medium for propaganda, it's the easiest way to control people, post some inflammatory article on black-white race issues and bam you've got a black white conflict settled for the next decade, a nice divide and conquer strategy get people to fight each other instead of fighting you. If race isn't enough, just publish some controversial feminist article, what better way to get the whole globe to fight each other than using the one common divide amongst all cultures: gender. That is Facebook's primary business push inflammatory articles and political propaganda to people's news feeds. The rest is all to pornography.
What you see from Google or Facebook is no charity.
The Internet isn't a good thing either. People make it out as the Internet is the great place for people to connect with each other and this great repository of information. Whilst this is true to an extent, the Internet certainly has the potential to be a cause for good it isn't used that way. The Internet is mostly a political device to push political propaganda, promote hate speech to divide people, and promote the sex culture by making pornography easily accessible.
"The word was offensive." Offensive, oh please Linus has used and continues to use that word and worse (way worse) to bash his competition: Sun, Microsoft, OpenBSD, FreeBSD, Mac OS X, Sourceforge, Subversion, CVS, C++ programmers, nVidia etc. Linus has been way more offensive hence why people find it hypocritical.
"The sense of entitlement in this thread is baffling."
It is baffling indeed. I am also baffled by open source fanatics who want to force everyone to release the source code to their work for the reason "I want to see how you built what you worked so hard on so I can fork and then take the credit for it.". Of course FOSS fanatics will tell you that you shouldn't care who takes the credit for you work, that the reward is in contributing to the community however when it comes to Microsoft "I DONT WANT THEM TO TAKE THE CREDIT FOR MY WORK" and hence we have the GPL which is no different from any Microsoft EULA agreement.
Sense of entitlement, hypocrisy and incoherent arguments are commonplace in the open source community.
Yeah good luck with that, about as much as luck as building desktop applications with HTML 5 and JS wrapped in a web view component. It can be done but the result is sh*t.
Oh sorry silly little me for not filly my post with euphemism's, polite wording and not adhering to the political correctness cough censorship cough code. I'm sorry for calling a spade and not referring to it as tool with a sharp-edged metal blade welded onto a long handle used for cutting into the Earth's surface and soil collection.
Please be the one to correct me if you ever see me on some political news article, I may lose meself and refer to gays as gays (HOW OFFENSIVE OF ME) instead of members of the LGBTQZAKGGKDGGGFD society, I may refer to Asians as Asians and Africans as Africans (HOW RACIST!!!!) instead of POC's People of colour.
Honestly, if you're so butthurt because you have a Facebook account at least try not to make it obvious.
Lots of languages claim they are Scheme or Lisp dialects (JavaScript, Python, Ruby, Lua and others) in order to boost their popularity even though they have none of Lisp's unique features but just the general features you would expect to find in any dynamically typed languages.
That's a bit sad a great language like Haskell (I haven't personally used it but heard great things about it) is used for a hippie thing such as Facebook. Facebook doesn't even have much of a future, its a hippie fad just like Myspace was, eventually they'll get bored and find some new hippiespace social network: Snapchat, Whatsapp, whatever.
That's the lack of higher order functions and the lack of first class functions. Anyway I think higher order functions and method references have been added to Java 8 as well as Lambda functions.
More like its FKF (Fear of the Known and Familiar). Most (if not all) programmers have experience with static typing and most of those experiences were not pleasant hence why a lot of people don't like static typing. People start to hate it even more when it gets shoved down their throats i.e. "You must absolutely must use static typing otherwise your software is unreliable and buggy".
Static typing requires discipline, it is no magic cure for bugs which will automatically make your programs correct, same way forcing everything to be in class in Java does not automatically make readable, modular and reusable code, its just restrictive and annoying.
The disciplines required for static typing to be effective can be employed in dynamic typing however merely having a static type system does not mean the discipline will be developed. In order for a static type system to not be restrictive (like Java's or C++'s) it has to be flexible i.e. it has allow types of varying degrees of vagueness. If I am an inexperienced programmer with no discipline nothing stops me from picking the vaguest type possible and making a complete mess. Type errors do not prevent all bugs, in-fact they prevent only a minimal subset of bugs, most bugs are related to logic errors involving an ill-thought out algorithm or data errors related to invalid data provided by the user which often can only be caught by dynamic type systems.