The reason kids pick up languages and concepts early in life is a result of evolution. It has nothing to do with self-awareness and disregard with social norms. It's the complete opposite. Survival of early humans depended on learning and communication. When we were hunter/gatherers cooperation and socialization meant survival. The faster you learned language and social skills (i.e. hunting or gathering) meant an increased chance of survival. The faster you learned, the more likely you were to survive. Language and socialization were key to early human survival and the more you excelled at it, the more you thrived. If you didn't, your more likely to be a victim of natural selection. Humans have an intrinsic nature to conform to what they perceive as "social norms". It's a genetic response.
Im sure Bill Gates feels fine about saving Apple. The only reason Microsoft bailed out Apple was to fight the antitrust suit the U.S. government filed against it. By saving Apple, M$ could (and did) claim it still had a competitor in the market, so it wasn't a monopoly. As long as they distributed Office and IE for Mac OS, M$ could claim they weren't being anti-competitive by bundling IE with Windows and not releasing key Windows API's to 3rd party developers.
Patents on a product's "image" are just as ridiculous as software patents. Apple tried the same thing when they sued Microsoft over the Windows GUI and lost.
'The court ruled that, "Apple cannot get patent-like protection for the idea of a graphical user interface, or the idea of a desktop metaphor [under copyright law]"'
But at the same token, just saying "use this language" presents the same problem. What if Python doesn't work for the OP but picks it because he/she was "told" too. Maybe the OP is a math-centric person and would excel at a functional language, but didn't know anything about them because they were never informed. I think the better answer would be to recommend a few languages and let the OP decide what works for them. There's plenty of good information about all the major languages on the web, including tutorials. After you go through a few tutorials you'll know if that language works for you or not.
I agree with the generalities of the response but disagree with some of the particulars. Learning programming should be language agnostic. The "best" language is the one that works for you. Everyone is different and every language is different, some work for some but not others. I'm primarily a Perl person, not that Python is bad, but it's not my language of choice. I advise experimenting with different languages and finding the one that best suits your mindset and needs. For me, Perl is the one that "clicked" with me. I like using it and am productive in it. I've experimented with many other languages (Python included), but Perl just fit me the best. I see the power of other languages and am constantly impressed by what I see others doing in different languages, but ultimately the "best" language is the one that works for you. Even when it comes down to development tools, I'm a vi person. Emacs has it's benefits, but I prefer vi. Pick what works for you. For web development the LAMP stack (Linux, Apache, MySQL, PHP) is arguably the most popular. Most of the open-source CMS platforms such as Drupal and Joomla use it. Facebook is built in PHP on Apache and Linux. I respect PHP as a web programming language, it's accessible, has many of the conveniences of Perl (without many of the idiosyncrasies) and is web-centric. There's a reason it's popular on the web. Experiment and pick what seems to work best for you. There's no single solution. As we say in the Perl world, TMTOWTDI, There's More Than One Way To do It.
http:// equals port 80 and https:// equals port 443, the 2 ports web servers run on. Regardless of the subdomain, if you have http:// or https:// in a URL your getting a webserver. Having to specify www.whatever.com to reach the web server (i.e a website) is redundant, the URI takes care of that. Plus, the vast majority of people on the Internet don't understand protocols or the relevance of why websites start with www. When the concept of URI's and URL's were developed it was to deal with the myriad of protocols available on the early internet, the HTTP protocol was just one of many, but now that the World Wide Web is essentially the face of the Internet to the average user, I feel the tech community should adapt to the current situation and not force people to adopt our, somewhat outdated, standards. Browsers like Chrome just drop the http:// altogether now in the URL bar and the forward facing websites of organizations should drop www. too. I understand the DNS implications but it's trivial to drop the www. at the webserver level.
I agree, you'd think they'd conduct usability tests BEFORE making the choice to switch to Unity. It seems that Ubuntu makes UI changes for the sake of being different, not better. Like moving all the window controls to the left side of the title bar in the current release of Ubuntu. Why?
That's one thing that always bugged me about Linux desktops. I've been using Linux as my desktop OS since Debian 2.0 and the naming convention tendencies of desktop environments are counterintuitive to non-Linux users. The uninitiated just don't know what GNU is or the differences between KDE and GNOME, other than how they look and feel. If Linux desktops are aiming for usability, naming everything Gnusomething, Ksomesomthing or Gsomething is just a poor choice for application names.
I don't see how "Numbers" is any more intuitive than "Calc", not that Calc is really a good name for a spreadsheet application, but at least it makes sense. Spreadsheets do calculate things, it's just the name collision with the Windows app calc and the fact most people associate calculating with, well a calculator. Calc may be a poor name for a spreadsheet app but Numbers is definitely worse.
Also, how do you search for anything with punctuation? I frequently use Perl, which makes use of punctuation for functions, and am constantly frustrated on how you can't search Google for them. Try searching for "perl $!" and you won't get any pages referring to Perl's error handling function. Not even results referencing Perl code that uses it. Google just ignores it.
Umm, yes it can....
#!/usr/bin/perl
sub cook_time { ($hours, $min) = @_; $result = "$hours hours and $min minutes\n"; return $result; }
sub animal { $animal = shift; return $animal; }
sub cook_animal { ($get_animal, $get_time) = @_; return "Cook $get_animal for $get_time"; }
print cook_animal(animal(cow),cook_time(5,23));