This is the reason I switched my cats name from Tinkerbell the Precious One to Tinkerhell the Demonic Feline! I have the same on my right arm a little more off to the right side!
- H0llywoodWh0re
'Other commenters support renaming the language "Issue 9," a reference both to the dispute thread and to Bell Labs' distributed operating system Plan 9, which was developed in part by Google Go creators Rob Pike and Ken Thompson. '
- j1m
from Bookmarklet
I love how an honest naming conflict becomes "evil" when applied to Google. And of course there's always the howls of "how could a search company fail to know about this?" -- yeah, "go" is a really easy name to search for unambiguously, and everyone at Google walks around with a copy of the web embedded in their brains. Sheesh.
- Joel Webber
I imagine the Reddit crowd will get this out of their system after a few weeks and turn their attention elsewhere.
- Matt Mastracci
@Joel, yes, well, I would say that in general the public discourse is dominated by the notion that, since "there are 2 sides to every story! [sic]" whenever any idea is before you, you can generate another valid idea by inverting it. Thus Google's "Don't Be Evil" slogan, which is sincere, idealistic, and, perhaps most important, catchy, is routinely inverted into "Google Is Evil" not...
more...
- j1m
Meaning that your phone is jailbrpken?
- Joel Webber
Just imagine those companies that raised funding on the premise of developing an iPhone app, burned through capital, only to have it delayed or rejected. The unpredictability of it all makes rational economic calculation difficult.
- Ray Cromwell
@Joel - No, its not jailbroken. I haven't had the time to be a hax4r. I want a 3GS to complement my Android, but I think I'll just replace the iPhone with one of the new Android devices coming out. Haven't decided yet.
- Andrew Bowers
@Ray - Agreed. The app that her company just finished was also rejected. The whole thing seems arbitrary and poorly run.
- Andrew Bowers
I hadn't heard of this one before -- apparently its from Python people. Soundss nice! "Some of these motivations are: * The desire for a language that would combine the simplicity and readability of Python with the power of static typing and template metapgrogramming, as well as modern language features such as closures and generic functions. * The desire for a compiler that compiles to highly efficient native code instead of a VM. * The desire for a language which would fulfill the same role as C++, but designed from scratch with the benefit of hindsight. * The desire for a language which would fulfill the same role as Java, but more concise and requiring less verbose boilerplate."
- Paul Buchheit
from Bookmarklet
oh, R is going to like this, he's all for strongly typed languages. has it got aspects?
- Joelle Nebbe (iphigenie)
Gary: My experience with C# makes me suspect that explicitly nullable references are going to be the occasional annoyance, not the plague of C++'s const.
- Gabe
what is going on? a new language every week! there would not be enough computers in this world to run all these languages
- Tzury Bar Yochay
Still reinventing the wheel, are we? This really puzzles me to no end..why do they think they need to create more 3rd generation programming languages like Google Go & now this "Tart" thing, when what we really need are everyday useful 4GL and 5GL languages/systems/frameworks that would really move us forward. If we keep things going the way these guys are, THE MACHINES WIN..
- Alex Schleber
Alex: What defines a 4GL or 5GL such that languages like Go, Tart, and C# don't qualify?
- Gabe
Gabe, if your average C programmer isn't confused by them, they don't qualify as 4GL or 5GL languages. ;)
- Cristo
Looks interesting. I tried to find this "Talin" person and found this: http://en.wikipedia.org/wiki... As fascinating as proteins are, I don't think an individual one is up to creating a programming language. :-)
- Ruchira S. Datta
Yeah, that's right - the regular builds don't have extensions enabled (not until December for the beta ones)
- Matt Mastracci
The beta testers for Chrome extensions have to be pretty savvy right now. :)
- Matt Mastracci
Once you've got it installed, you'll start seeing dots inline automatically. If you click through one of our DotSpots links (like http://dotspots.com/d...), it'll pop up automatically.
- Matt Mastracci
I just installed it on Chrome/Mac in about 3 seconds, and it worked a charm. Didn't even have to restart the browser (!)
- Joel Webber
Matt, this is awesome, totally smooth user experience, you've definitely got to do a presentation on your linkers at some point.
- Ray Cromwell
Thanks, guys. Now that we've actually launched the product I can start to blog & present some of the neat stuff we've done. I think I owe those Chrome extension guys a beer - the whole extension architecture is so great.
- Matt Mastracci
"WANTAGE, NJ—Acting on anonymous tips from within the Hispanic-American community, U.S. Customs and Border Protection officials on Wednesday deported Luis Miguel Salvador Aguila Dominguez, who for the last 48 years had been living illegally in the United States under the name Lou Dobbs."
- Jim Norris
from Bookmarklet
I hope the door didn't hit him in the butt on the way out.
- j1m
"We are pleased to announce 3 new features in today's release of the Google Sidewiki API: "includeLessUseful=true" - A new query parameter that allows you to fetch all available Sidewiki entries, not just only the useful ones. It is applicable to all feeds. "sidewiki:usefulness" - A new element that indicates whether an entry is useful or not according to our quality algorithm and user votes. "Domain Path" Feed - A new feed that gives you the ability to fetch all entries written for a particular domain."
- Michal Cierniak
from Bookmarklet
My 1st official Google Blog post just went live! Chk out some cool Sidewiki entries & learn about our new API features! http://googleblog.blogspot.com/2009...
I assume you meant "easy to smear some groups". Blackwater's probably a little better equipped, financially and politically, to deal with this sort of thing. Plus, if you really piss them off they'll just send in mercenaries to kick your ass :P
- Joel Webber
Ah yes, the quick and wrong tweet. But the right sentiment.
- Rekha Murthy
""Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." --Brian Kernighan"
- Michal Cierniak
from Bookmarklet
Such a great quote. I like to think of it as a simple mathematical basis for the KISS principle, as it applies to software development. If you're ever looking for evidence of it in action, try making sense of a nasty compiler error from a C++ template -- it's not technically debugging, I suppose, but it's kind of the same problem.
- Joel Webber
I'm thinking of using this as a comment for code reviews.
- Michal Cierniak
This is going to be incredibly useful for Picasa. Now I think I could actually store originals there.
- Joel Webber
Considering the SmugMug, etc., were offering $40/year for unlimited storage, I think $5/year for 20GB is quite reasonable, not "surprisingly cheap". I was going to migrate from Picasa to Smugmug, but this just made it unnecessary.
- Piaw Na
why to pay $40 to Picasa if you could get unlimited storage from flickr for $25?
- earlyadopter
Thats getting fairly close to the retail cost of the drives. I can get an 1T drive at frys for around $80. Thats 8c/GB or $1.60 for 20GB. To have the data in 3 places (to get somewhere near the low risk of loss that google is offering), that would be $4.80. I'm still not considering the cost of the other hardware since to get the same low risk of loss, I'd need more than one machine - geographically distributed.
- Greg Grothaus
Because Flickr has a nasty habit of deleting people's accounts without warning? Also I'm guessing that Flickr's "unlimited" may not turn out to be that way in practice. I actually feel a little more comfortable paying something for the storage, so that the company doing the storing has an incentive to keep providing the service.
- Joel Webber
@Greg: Your prices are too high. Nowadays, 1.5TB drives are gotten at around $90. And obviously, Google can buy drives in bulk and drive costs down below what you can do by buying at Fry's.
- Piaw Na
And you have to consider the price of multiple drives for availability, backup, power, network connectivity, etc. I can't speak to Google's costs, but it sounds like a pretty good deal to me. I'll be quite happy to no longer fear having to tell my wife "Remember how I said our family pictures were all safe on my backup hard drive? Well a funny thing happened with that...". I trust Google to do backups a lot better than I ever will :)
- Joel Webber
I pay $50/year for MozyHome to back up everything on my drives. While I trust Google with backups, pictures aren't the only thing that is valuable.
- Piaw Na
These are all legitimate questions which their engineers tend not to be sensitive about, because, again, they can’t quantify it, and it takes kind of an emotional intelligence that they lack — to feel, anticipate, have empathy to understand what the other guy or the government might worry about. - http://anaulin.tumblr.com/post...
"In addition to a specification of the protocol, we have developed a SPDY-enabled Google Chrome browser and open-source web server. In lab tests, we have compared the performance of these applications over HTTP and SPDY, and have observed up to 64% reductions in page load times in SPDY. We hope to engage the open source community to contribute ideas, feedback, code, and test results, to make SPDY the next-generation application protocol for a faster web."
- scott willeke
While they're at it, I wish Google would look at pushing LZMA over DEFLATE for compression. It offers significant savings and speedy decompression. I believe Yahoo added a JS API for using it in BrowserPlus, but I really wish there was an Accept-Encoding: lzma, gzip that would allow servers to send back LZMA encoded data. Google could also incorporate it into SPDY for header compression.
- Ray Cromwell
"In this spectacular image, observations using infrared light and X-ray light see through the obscuring dust and reveal the intense activity near the galactic core. Note that the center of the galaxy is located within the bright white region to the right of and just below the middle of the image. The entire image width covers about one-half a degree, about the same angular width as the full moon. Credit: NASA, ESA, SSC, CXC, and STScI "
- Matt Mastracci
from Bookmarklet
"interesting parallel between the decline of rock music quality and, of all things, the decline in US oil discovery and production" - http://www.overthinkingit.com/2008...
There has to be some sort of birthday paradox around graphs. Given a large enough library of graphs, you will find a strong correlation between two.
- Joe Beda
Mean global temperature correlates quite well with the decline in the pirate population, after all. Actually, we can test causality now -- will the rise of Somali and Asian pirates bring the temperature back down? Or are the required to wear 17th century pirate regalia?
- Joel Webber
This also confirms my conjecture that there have been no new good artists since 1975.
- Gabe
This is why we must start drilling in Alaska.
- τorƍue
Will drilling in Alaska improve rock music?
- Gary Burd
Speaking of birthdays, I think a histogram of the birthdays of music critics would probably look a whole lot like the red graph... shifted 13-18 years or so.
- Ken Sheppardson
'Songs in "Rolling Stone 500 Greatest Songs of all Time,"' huh? That's some ground truth for ya.
- j1m
I'd like to see the graph for Pitchfork, but the lists are segmented by decade.
- Gary Burd
@Ken - "predicting oil production by music critic's birthdays". Who'd have thought we could solve the whole running-out-of-oil thing by getting Rolling Stone to hire 16 year olds!!!
- Nick Lothian
Ken: I think you might find more correllation with a histogram of drug use than age of critics.
- Gabe
"The Cavern of Doom is resolutely single-threaded, with a spine of near-universally travelled choices seen in the thick arcs moving left to right. Notably there is only a single choice (both in this view and in the entire book) that goes back to an earlier page. This can be seen in the lone arc below the pages moving from right to left. It is either ironic or telling that this linear structure comes from the book written by a talented computer programmer. Perhaps knowing how to deal with the complicated makes you appreciate the simple."
- ⓞnor
from Bookmarklet
"In a computer game, ... the program itself can keep a running tally of items you’ve encountered and possibly picked up. In a book this responsibility falls to the reader, and with it an expectation of honesty. To encourage a degree of fair play, the Cavern of Doom engages in a form of entrapment by asking the reader, in the midst of a dicy situation, whether they have a magic item that would clearly save the day. What the book knows and the reader may not is that this item does not even exist."
- ⓞnor
I usually read CYOA books straight through, front to back.
- Jim Norris
And I keep translating CYOA as "Cover Your Own Ass."
- Jim Norris
Their Flash version of the Zork book won't let me do that. (Good thing they didn't adapt UFO 54-40.) One thing this essay doesn't mention is the generally awful quality of the writing in these books. The FAQ at one major gamebook reference site -- gamebooks.org -- answers "What's your favorite gamebook" with "Well, the truth of the matter is that I don't think many gamebooks are all that good". (It goes on to recommend one exception, which I'm now tempted to read. Or play. Whatever it's called.)
- ⓞnor
The Pip series was not terrible... I remember it was amusing, at any rate.
- Andrew C
Pip series? I just ordered a copy of _Ocean of Lard_. (Also, _Life's Lottery_.)
- ⓞnor
(googled) Ah, it's actually the Grailquest series. The player character was called Pip.
- Andrew C
This could be very good! "Google software luminaries such as Unix co-creator Ken Thompson believe that they can help boost both computing power and programmers' abilities with an experimental programming language project called Go. And on Tuesday, they're taking the veil of secrecy off Go, releasing what they've built so far and inviting others to join the newly open-source project."
- Paul Buchheit
from Bookmarklet
What do you think, Paul? I know it's early, but Python latched on at Google... Think this is a response? And just on a lark, do you think Go may be headed for the browser at some point (to replace javascript)? Many of us have wondered if Chrome will take a stab at reinventing/reworking the web stack. Go feels more like a back-end tool, but wondering what came to your mind when you saw this...
- Christopher Galtenberg
Christopher, Python is nice, but we need a new system language, something high-performance to replace C/C++. This may be it.
- Paul Buchheit
My first reaction was oh yay, another C like language with brackets to make it acceptable. Having Rob Pike and Thompson on the team is impressive but makes me think of a plan9 resurrection. Using CSPs though is pretty cool and it looks like it supports mobile tasks.
- Todd Hoff
"Specifically, Go uses a technology dating back to the 1960s called CSP, or communicating sequential processes, that handles interactions among a set of cooperating programs, Pike said. The technology made an appearance in programming languages such as Occom and Erlang, but it generally hasn't been applied in systems programming."
- Paul Buchheit
If Google uses this for internal projects, that will give it a big advantage over something like plan9 in terms of being practical (not to mention the fact that it's free software, which plan9 was not, and a programming language, not an OS).
- Paul Buchheit
I am very excited about this, it's not genius or rocket science but it maybe the language to put alongisde C/C++ for real. I thought it was going to be D, maybe this is it
- Lawrence Oluyede
D seems too fragmented to be usable. All my hopes are on Go now :)
- Paul Buchheit
And note that the language is designed to be IDE independent.
- Piaw Na
Plan9 was a set of composable tools. In this case Google is providing the OS and the tools.
- Todd Hoff
Please ; at the end of lines... (I hate languages without ; for some psychological reasons)
- Ozgur Demir
I am no fan of language features designed to ease parsing but i suppose that's important for a system language? But it's hardly a user (i.e. programmer)-centric design. I think they should have drawn more from Scala (for concurrency model) and Io (for a beautiful syntax) instead of the messy, old languages they chose. Luckily, it's not designed for my needs so i'll never have to worry about it.
- ·[▪_▪]·
@ozgurdemir I agree. Either require them or don't. Don't make them optional in some cases. It confuses what programmers generally expect of a programming language: consistency.
- ·[▪_▪]·
Just checked and hated it. Sorry guys, it's not about the rest of the language.. it's just the ;'s.
- Ozgur Demir
while checking it, I noticed how much I love C / Java syntax and how lame to trying to change it just for to make a new product different.
- Ozgur Demir
@Paul you should know better than to confuse a language with its implementation! The people working on this all hail from the C/Java lineage and I don't know...may be fast but generally C is a hassle and Java is too dumbed-down. Trying to fix the mistakes they made in the past. Wonderful...
- Rudolf Olah
For god's sake, who cares what the syntax looks like? What matters is whether it solves useful problems or not. It's designed to clean up a lot of the problems stemming from the legacy of C[++], compile fast, execute fast, be appropriate for systems programming, and have good primitives for concurrency. Those are good goals in my book, and they fill a much-needed niche.
- Joel Webber
I thought it was kinda weird the way the video highlighted how fast it compiles. Compilation speed is great, and the vid was impressive, but I've never seen a language launch where that was highlighted so much. "Look, it compiles fast!!!!!! Oh, BTW, we are trying to solve concurrency".
- Nick Lothian
@Ozgur: Sure, but as long as the syntax isn't broken in some way, or ambiguous (VB6 comes to mind), it's surely much less important than what the language is capable of (compile speed, execution speed, what can be expressed, etc). Syntax seems like a distant third- or fourth-most important aspect to me.
- Joel Webber
@Nick: That kind of struck me as well when they first started talking about it. But when you consider that your main alternative is C++, and that compile times can get absolutely brutal (try compileing WebKit sometime -- it takes hours), it makes a bit more sense.
- Joel Webber
@Joel. yea, I can't say you're wrong and I am right.. these are all preferences.. for me, syntax is an important aspect in terms of code readability that's why I care since it becomes a real pain in the ass on a midsize or bigger project.
- Ozgur Demir
This thread is degenerating into rubbish. You know who you are - please stop.
- Christopher Galtenberg
from iPhone
@Joel yeah, I guess. But compiling something like that should take hours! Back when men were men and compiling a kernel on my 386 was a major undertaking success was so much more satisfying! Who are these young'uns Thompson & Pike and what do they know anyway!
- Nick Lothian
Yeah, really! Real programmers had to swap disks multiple times to run a Pascal compiler on Hello World for the C64 :)
- Joel Webber
Yeah, compilation speed doesn't mean too much. Would be nicer if they focused on the *thinking* part with regards to concurrency.
- Rudolf Olah
Compilation speeds mean a lot when you're dealing with the google programming model. This is a company that invented code search for internal use. (See as an example: http://www.freepatentsonline.com/7613693...)
- Piaw Na
@Piaw - nice example. I only skipped through it, but I can't see why something like that makes compilation speed critical. It seems similar in concept to static analysis - more speed is good, but the lack of speed doesn't break the model.
- Nick Lothian
@nlothian: static analysis and compilation both include parsing. efficient parsing of C++ is rather hard to achieve, due to messy nature of multiply included files and macro substitutions. if code analysis takes hours (ok, half-hours), it ceases to be useful.
- 9000
Lack of speed totally breaks the model. When you can get your analysis and search tools to respond in sub 500ms, the model for coding completely changes. You no longer remember where files are --- you just search for them and expect the search tool to remember for you. This enables massive code sharing, and allows small teams to be extremely effective, since they can now leverage other teams' work.
- Piaw Na
Use an IDE for iterative development of the components you are working on, make modules independent through interfaces, do a nightly build so the bulk of build products like libraries etc are available, then these compile issues go away. Justifying based on compile times is so 1990s.
- Todd Hoff
Ah, but how exactly does your IDE allow you to do iterative development quickly? You have to be able to compile individual modules (whatever form they take) quickly enough to make this feasible. If you take C[++] as the de facto systems language, it fails badly on this front, because the only way to share interfaces among modules is via the preprocessor, and precompiled headers only get...
more...
- Joel Webber
C++ allows for abstract base classes. No implementation. Compose systems this way and you minimize recompilation. And I'm assuming the initial subsystems are developed in a mocked unit tested environment and then within a very narrow scope, so interface changes are minimized until the system test phase is reached. The compilation argument would make sense if they were talking about a...
more...
- Todd Hoff
Sure, but you still have to define the abstract base class (interface) in a header file somewhere, and individual .cc files end up depending upon a large number of these in practice, so that any change to one of them tends to force you to recompile a lot of object files. As you say, there are some ways of reducing this effect, but in practice large C++ systems end up taking forever and a day to compile (try compiling WebKit; a lot of Google code has this problem as well).
- Joel Webber
C++ templates are also implemented badly, which makes compilation slow.
- Piaw Na
Only if you don't compose your system well Joel. I've worked very comfortably on systems that took 12 hours to compile across a cluster of 32 build machines. I'm not saying I don't want a language where you don't have to go through all these hoops, but to say it's inevitable in C++ is not so, you just have to beat make into submission and not create a big ball of mud, which is good practice anyway.
- Todd Hoff
@Todd: Fair enough -- I'm definitely not saying you're wrong, and I have also worked on fairly large C++ code bases (mostly games) without everything going to hell in a handbasket. But you have to admit that it would be nice if you didn't have to wait many hours (or use a Google-sized build cluster) for compiling your code :)
- Joel Webber
I've worked "comfortably" on projects where the full rebuild time was a few hours on my local machine, but I can't say that I was ever working optimally. Even in the instant-on environment I'm working in now, there are occasionally changes that I have to wait a full build/deploy cycle to test and it almost always takes me 2-5x as long to solve problems in that case. You can multitask while you wait, but it's just not the same (IMHO, of course).
- Matt Mastracci
I think 12 hours to compile across 32 build machines is unacceptable. I want instant compilation. You know, the kind that Turbo Pascal used to have.
- Piaw Na
I think that there's a dramatic improvement in developer productivity when the compile-link-run cycle time goes from a minute to a second.
- Gary Burd
Piaw before you say what is or is not unacceptable you might want to take the trouble to know what problem is being solved. Turbo Pascal to a real deployed product like a unicycle is to the 5th fleet.
- Todd Hoff
But any, good, modern IDE compiles incrementally and continuously so there's no noticeable compilation step. Compilation shouldn't be a _highlight_ of a new language. It's nice and the ease of building developer tools is a benefit to uptake but, in the end, the language has to be something developers _want_ to read and write since we have to look at it so much. Syntax matters. It's why so much sugar is added to languages.
- ·[▪_▪]·
As stated before, modern IDEs don't scale to google-sized code bases. Go is not designed for your tiny projects that fit in main memory. It's designed for large scale development projects.
- Piaw Na
@piaw You seem to assume that Google doesn't organize it's code. Any good project, regardless of size, especially for large projects, should be modularized. If Google has to load every piece of code into the IDE, they have more serious problems than Go will resolve. Trust me, I work on a project with tens of millions of lines of Java code and i've been responsible for analysis and...
more...
- ·[▪_▪]·
Well, Piaw actually did write a fair amount of the code at Google, so I'd give him a little more credit :) I know plenty of people at Google who *do* use Eclipse/IntelliJ on Google's code base (myself included), but you do have to break it into manageable chunks to make it work. That's sometimes easier said than done, to be fair.
- Joel Webber
When I worked for a large company in the internet advertising business, I found that dependency creep was a constant problem. I spent more time than I would have liked trying to get fast compilation time in Eclipse/IntelliJ. I welcome a tool that helps with this problem.
- Gary Burd
I think that time spent pruning and organizing your code and library is best instead spent working on better tools that make your development environment super fast and capable of scaling. That's the way Go was designed.
- Piaw Na
If you want fast turnaround, eliminate compiles all together. There's no reason why a language can't support a double or triple hybrid model. Look at a language like Factor, image based like Smalltalk, you write a function, and can patch it into the live running app instantaneously, where it will run interpreted in combination with compiled code, until the runtime gets around to...
more...
- Ray Cromwell
I noticed that Go has an interpreter work-in-progress living in its source. The start of an instant-run mode?
- Matt Mastracci
Smalltalk had a massive sharing problem --- you couldn't ever replicate what was in your Smalltalk image on someone else's machine. Eliminating compiles would be nice, but again, if you're solving problems at a massive scale, interpretation would be an order of magnitude loss in execution speed that you can't afford. That said, a Go interpreter would not be out of the question, or even hard to build.
- Piaw Na
@Piaw - was just reading "Coders at Work" this week and Ingalls (http://www.codersatwork.com/dan-ing...) was saying the exact opposite. He said he pauses his Mac machine and sends his Smalltalk system state over to a Windows developer and they start right up, debug, and fix.
- Daniel J. Pritchett
The point is not to have the production version run in interpretation, the point is to increase developer productivity by allowing a fast edit-run cycle, production builds can take as long as necessary. When you're in development mode, you often don't need full execution speed, you are checking for correctness. Take GWT for example. You can make changes to Java source, hit reload, and...
more...
- Ray Cromwell
What does production mean? An experiment that processes a large number of records so you can decide how to proceed with your line of research is hardly production, but it nevertheless has to execute fast over large amounts of data. You might think that it doesn't matter how quickly that runs, but the difference between 10 minutes and 100 minutes is huge in terms of productivity.
- Piaw Na
Yes, if you copied the entire image over, you could replicate a smalltalk VM. The problem is, then you have to live with the other guy's image and customizations. Smalltalk is great, but it really was designed as a single-user environment.
- Piaw Na
It depends how often you are running experiments over huge datasets like that. In the case where I needed some experimental data to proceed, yes, if after every edit, you had such an experiment, then maybe programming in a neutered language would be worth it, but I'd say that for the majority of developers, this is not the case, so being able to run unoptimized builds/interpretation...
more...
- Ray Cromwell
No, it is not for everyone. It's very much for large scale datasets that are encountered somewhat frequently on the WWW.
- Piaw Na