It's very logical. Back in the day G had very few, very bright employes. Nowadays they have a lot more people, who are, on average, less intelligent and have less will power. Which means the majority of G-ers today are incapable of innovation and letting everyone take the Fridays off is a huge waste.
Well 1st people often don't have an alternative (driver and app support of Windows, Google's search results quality).
And 2nd people do like to be screwed, if that means less effort and lower risk. The vast majority of civilizations in human history were slave based, with the majority of people being slaves.
It's not argument, it's a carefully crafted anti-Google PR statement with the goal of getting the public to do their own bidding for them, so they can get Google to do as they wish and further their own competitive platform.
I feel sorry you lack basic understanding of linguistics. Any major programming platform today is too complex for a single individual to understand completely. One can spend his time learning several languages (and the platform they run on) or concentrate on a single language. I'd say it's obvious the second choice leads to higher productivity.
You don't see professional musicians trying to play 10 different instruments on world level. Or olympic athletes competing in 10 disciplines. Or lawyer practising 10 domains. But some programmers like to pretend they have 10 languages in their "linguistic toolbox".
> You don't see professional musicians trying to play 10 different instruments on world level.
Yeah, but a violinist wanting to learn how to play the piano doesn't try to rub the keys with a bow. If you are a Javascript Web Developer, picking up a microcontroller is already going pretty far out of your domain. You might as well learn how to use the tools that were already suited for that task.
It is not obvious to me; in fact I would argue the opposite. Each new language generally has an interesting new idea or two, and learning a new language can expand your conceptual toolbox even if you never write enough code in it to consider yourself a master.
I don't know how I'd count the languages I've used so far, but it is certainly more than ten. I'm not fluent in all of them, but almost every one has taught me something. For the most extreme example, I still can't even read Haskell code, and I've never written a lick of it, but in reading about Haskell I picked up some ideas which have had a profound influence on the way I write code in other languages.
One of the reasons I am not a fan of Javascript is that I didn't learn anything from it. All of its bits were obviously cribbed together in haste from other languages. This is no slight on Brendan Eich, who was given something like two weeks to design it, but it's a shame that the most widely used programming language of all time has to be such a mess.
>You don't see professional musicians trying to play 10 different instruments on world level.
That's funny because most of the full time musicians I know can play 3-6 instruments really really well. Kind of like how most of the full time programmers I know can program in multiple languages really well.
Reminds me of that time Sun made the Java CPU and the JavaStation. A hardware implementation of the JVM. It ran 20 times slower than the Microsoft JVM on an average Windows PC.
Most animals, even single celled, need to have some way to handle the separation between "me" and "the rest of the world". I look at say my cat - it definitely has this concept somewhere in its brain circuitry. What human has is just more neurons.
If single-cell organism is conscious, and each cell of our body is a "single cell", it immediately follows from here that "our" consciousness is in fact consciousness of a certain, very specialized, cell which resides somewhere in our body. Maybe it lives in the brain, maybe elsewhere, but it's a single cell nonetheless.
It doesn't follow - the type of consciousness we experience could be different. Though if you were saying that it's absurd to call single cell 'conscious' in the sense that human brains are, then I agree.
I really think every cell is conscious, and whatever we believe to be "our" consciousness comes from a single cell.
I am not alone in this opinion:
http://www.ucl.ac.uk/~regfjxe/awnew.htm
(though I came up with this trivial idea independently, and later found the article by googling)
This ME-cell gets inputs from other cells obvioously.
Do you know that MANY cells in our body are not replaceable? E.g. those that control muscles. If this cell dies, the man dies, it's that simple.
BTW, bacteria (=~cell) intelligence is an active area of research (google it, you will be surprised). That's the only form of intelligence we know. Apparently, we are not familiar with the most intelligent ones yet - they (certain species) may have very developed knowledge of things, including the art of DNA manipulation, which goes far beyond everything
ME-cell (=human) knows. Why assume we are the brightest ones? It's laughable.
As someone with a modicum of biological knowledge, I am not aware of any single cell that is critical to human survival in the way you describe.
As for your analogy, it is true that microorganisms can perform wonderful feats, but it is a bit misleading to equate that to general intelligence. It is like saying a compiler is smarter than a programmer, because its design incorporates tricks the human may not know. (The bacteria being "designed" by the trial-and-error process of natural selection, rather than an intelligent entity, of course.)
Fully agree. Of course alcoholics are very good at coming with excuses and explanations about how it's their right to drink and the rest of society has to pay the price.
Some years ago though. Wrote the "style browser" stand-alone application in DrScheme. Damn! Feeling nostalgic about Scheme as I browse through some old code :)
If you're looking to dabble in Racket and are looking for pet project ideas, here is one I've had in mind for years --
Make a "browser"!
By that I don't mean make something that renders HTML/CSS, runs JavaScript, etc. Instead, make a browser whose "HTML page" is actually a Racket program that loads off a http URL and runs in the "browser"'s window. racket/sandbox is a candidate for sandboxing these runs. Give the script access to drawing on the window, making a sound, limited file system access, etc over time. A standard http server can serve these files, but something extra fun would be a server that also runs Racket that you can use s-expressions to communicate with (bye bye JSON).
It is nice! My main issue is that Dr Racket is so pleasant I'm sorely tempted to use it and it brings my laptop to its knees (that feature that draws arrows from uses of identifiers to their definitions always freezes my computer for half a second to a second; if I evaluate something that consumes any non-trivial amount of memory Dr Racket starts swapping like it's 1999 and becomes unresponsive). I used Racket for a while from the REPL and everything worked beatifully but I constantly missed the Dr. In the end I switched to Chicken, which at least for my programs seems to be quite a bit faster too (I mean compiled Chicken code vs JITed Racket, of course, the Racket JIT is usually substantially faster than interpreted Chicken). Chicken also has great library support, so switching was not painful at all.
(Of course, I don't write fancy macros, so I wasn't taking advantage of Racket. For 99% of the macros I write syntax-rules is good enough.)
A few other things I prefer the SRFI way, for example, Racket's comprehensions seem awkward compared to SRFI-42 (in particular Racket decided to call the main comprehension for*/list, leaving prettier and shorter names to less useful variants such as the exotic parallel-by-default for/list, or the execute-for-side-effects and parallel-by-default for); but all in all I agree that Racket is pretty sweet. If ever own a computer with more than 2GB of ram I'll definitely give it another shot.
The fact that the documentation is written in a form of Racket really helps with that, I think.
Having the documentation be parsed by the same infrastructure that understands the programs that you're annotating really goes a long way toward making the documentation cross-referenceable and easy for developers to work with.
I just wish there were an established way of documenting Packages (the PLaneT replacement).
I keep using it from time to time. I have some java libs I am forced to use so I am using clojure.
I use it for personal projects and as some glue in my larger projects (processing text / html documents etc) now but I hope I can ship a full project related to work in it soon.
It's a Javascript VM that interprets Racket bytecode. It's complete enough to run, eg. World/Universe games or render HTDP2e pictures. Might be useful for some of what you're doing.
Same here, really enjoying it. I have/had a few pain points, but I'm writing a detailed review of the book as I go through it and those will be in there.