My daily readings 05/31/2013

    • I think the thing that amuses me most about the current Go hype is when people defend the language with statements along the lines of “it is supposed to be boring”[1]. Go is the new (old) Java and the arguments echo those of 15 years ago.

      1) created for people less smart than the designers (even if not intentionally: maybe Gosling and Pike really do believe that generics and HOF are too difficult for the average programmer)

      2) designed to be easy to use in a corporate environment with large teams of varying abilities (the ‘simplicity’, which is really more familiarity: most people can write boilerplate filled imperative C-family language style code already).

      3) attempts to make certain types of errors harder than the languages it replaces (in Java thats memory errors, in Go it’s concurrency errors), but by ignoring established PL research still gives you a big gun that is loaded and aimed at your foot (doing concurrency in Java with threads and locks, NULL and deadlocks in Go, etc). i.e. very conservative when it comes to adopting PL ideas, but perhaps bringing one old idea to the mainstream, and being prepared to make a lot of sacrifices (to ensure an ‘easy’ language) to get people on board with that one idea.

      The amusing thing is that the creators of Go are some of the fiercest critics of Java, but they have created something that seems to follow a very similar philosophy to the original Java. I guess it remains to be seen if Go will have added as many features in 15 years time as Java has in the last 15.

      I don’t mean this as a slight against Go (or Java!). I just find the comparison illuminating.

      [1] http://news.ycombinator.com/item?id=5750256

    • I think his fundamental disagreement is with the idea that embracing simplicity makes one a simpleton. I’m primarily a Java and Go coder and think that writing boring code to solve difficult problems requires much more intelligence and artistry than writing complicated code.
    • Go and Java are both opinionated languages, and the first release of Java was a small language, but the opinions they embody are quite different.

      I think the advocates of Go who say “it is supposed to be boring” are giving a mistaken impression. Java was “talking down” to replaceable cog programmers, by having “one way to do it” that fronts the then-popular inheritance based OO, and syntax that spells everything out. Go is “talking up” to a programmer who is expected to want to see the algorithm in stark brush strokes against an uncluttered page, by having “one way to do it” that fronts the imperative algorithm and very light very regular syntax that doesn’t obtrude. Go is not for people who want to program the language (try Haskell or a lisp). Go is for people who want to program the program.

    • my rant re: generics, I wish people would read through the documentation (FAQ) and discussion of this first.

      The language designers have not ruled out generics, and are fully open to providing them at some point. The issue is that they have yet to find an implementation that fits within the language design goals.

      Yes, if you jump on the mailing list, and propose that they somehow “use” .NETs generics, and you actually have no idea how that would be implemented, or impact the compiler and runtime, you’re not going to be greeted cordially. This happens fairly frequently, and is probably why people think the community is totally against generics.

      The Go team wants generics, when they find the right way to handle them within the language. In the meantime, most heavy users seem to agree that lack of generics is better than poor generics.

    • I agree, Go seems designed to solve a lot of the same problems with C/C++ that Java was designed to solve. That’s probably why the creators of Go are fierce critics of Java, because Go is meant to replace Java (which was meant to replace C/C++). They operate in the same problem space, so they’re going to be competitors.
    • It’s confusing why anyone would seek to blame a project’s failure on the choice of programming language.

      The presence of this anecdote in the article seems to fulfill some sort of journalistic requirement to balance any positive stories with criticism as well, to be in the center. It doesn’t make a lot of sense when writing about programming languages.

      reply

    • “_” is when you must assign a value, but don’t want to use it.

      range in the for loop return 2 values (index, value). If you don’t want the index, you can assign it to “_” to ignore it.

      http://golang.org/ref/spec#Blank_identifier

      reply

    • I’ve asked this question of a number of core Go contributors.

      First, I should point out that you CAN currently run Go programs on an Android device. You just can’t take advantage of the SDK and make GUI-based applications, etc.[0]

      Basically, the answer is that nothing’s preventing anybody (including you and me) from doing so, except the fact that we would have to wrap the entire NDK and make it available/usable through Go.

      That’s not any more difficult to do in Go than it is to do in Java, but it’s a massive amount of work which has already been solved for Java, so there’s little incentive to recreate it in Go.

      (I’m paraphrasing, so my answer may be slightly wrong, but hopefully you get the idea – perhaps @enneff can give a more complete answer).

      [0] You can, however, bundle them as hybrid applications, because Android applications apparently allow bundling of arbitrary binaries, from what I’ve been told.

    • Nahum told me via e-mail that he chose Go for its “performance, concurrency, and simplicity.” Ground Control required a Web server and monitoring daemon, and his options “were to either go with C and write a pure C-based solution, or use something I knew was the closest thing to C in concept and offered great performance (in its recent version): Go.”

       

    • Kuehnl noted that Go is probably not yet the best choice for creating desktop apps with graphical user interfaces, or for gaming. “I think Go fits best for what it’s really being used for in Google, which is back-end services, back-end processes, data analysis, things like that,” he said.

       

    • Kuehnl noted that Go is probably not yet the best choice for creating desktop apps with graphical user interfaces, or for gaming. “I think Go fits best for what it’s really being used for in Google, which is back-end services, back-end processes, data analysis, things like that,” he said.

       

    • Python和Ruby程序员转到Go,因为他们不需要牺牲表达能力,却获得了性能的提升,并且能好好玩并发系统了。

       

      C++程序员并没有转到Go是因为他们好不容易获得了对程序的精细控制,并且不想牺牲它们的任何一部分。 对他们而言,写软件不仅包括把事情做完,而且包括用特定的方式完成。

       

      关键是,在将来,Go的成功将会颠覆他们的世界观。

       

    • 出自Google之手,而且有一帮牛人在维护,基于BSD开源,社区活跃。
       开源项目给我很多自信,举几个开源系统:vitess(YouTube的数据库proxy系统)、nsq(bitly的一个实时信息处理系统)、skynet(轻量级的分布式服务框架)、七牛公司全部用Go开发、360开发的类iMessage应用,支持上千万用户,同时单台服务器长连80w,这些系统都是他们线上跑的,这给我更大的信心能够用Go来开发高性能,高稳定的应用。
    • 谢孟军:我的感觉,Go要赶超Java还不知道要等到什么年代。 首先,Java目前在企业应用中非常稳定,而且基于Java的应用很多,库也多,我想Java也会有很多基于JVM的类似语言出现,例如Scala,我想Go要超越Java可能性不大。但是Go相比Java来说优点也是很明显的:简单,足够简单。记得以前有一篇Go创作者Rob写过一篇文章《大道至简》,就是讲为什么创建Go语言的过程。我想这一批老程序员的经验是值得我们学习的,就让我们用Go语言把复杂的事情简单化,简单的事情简单做,Go也许就是这样一种语言。
    • Whether he founded it or just funded it the basic premise of what he says is true: We can’t expect science and technology to advance if we rely on companies whose very business model depends on the status quo remaining as it is.
    • Whether he founded it or just funded it the basic premise of what he says is true: We can’t expect science and technology to advance if we rely on companies whose very business model depends on the status quo remaining as it is.
    • This is one of the best reasons to start a startup: Because no mainstream company believes in the product category yet, and you know that the product category needs to become huge in order for civilization to advance in the direction of self-sustaining and space-faring.

      This is why I started a computer eyewear company http://epiphanyeyewear.com (before Google Glass!). I have spoken with the world experts on Volumetric 3D display tech (such as the amazing Dr. Kurt Akeley of Lytro), and it is evident that a display as realistic as physical reality can be built with today’s technology. I am determined to make this happen, and I know it will revolutionize education, human augmentation, and also energy-independence (we will have to construct and transport fewer physical things when we live in a virtual world).

    • This is one of the best reasons to start a startup: Because no mainstream company believes in the product category yet, and you know that the product category needs to become huge in order for civilization to advance in the direction of self-sustaining and space-faring.

      This is why I started a computer eyewear company http://epiphanyeyewear.com (before Google Glass!). I have spoken with the world experts on Volumetric 3D display tech (such as the amazing Dr. Kurt Akeley of Lytro), and it is evident that a display as realistic as physical reality can be built with today’s technology. I am determined to make this happen, and I know it will revolutionize education, human augmentation, and also energy-independence (we will have to construct and transport fewer physical things when we live in a virtual world).

    • michalu 1 minute ago | link

       Wikipedia:

      Musk is a co-founder and currently head of product design at Tesla Motors. He oversaw development of the Tesla Roadster ( their first product ). Musk’s interest in electric vehicles extends long before the creation of Tesla. Musk began by hiring Martin Eberhard as CEO and a management team and provided almost all of the capital for Tesla’s first two funding rounds, giving him a controlling interest from the start. As a result of the financial crisis in 2008 and a forced layoff at Tesla,[28] Musk was forced to assume the additional responsibility of CEO.

      Wikipedia also states Tesla was founded 2003.

      In 2003, two independent teams, consisting of Martin Eberhard, Marc Tarpenning and Ian Wright on the one hand, and Musk and JB Straubel on the other, both sought to commercialize the T-Zero prototype electric sports car created by AC Propulsion.

      Tom Gage, the president of AC Propulsion, suggested that the two teams join forces to maximize the chances of success. They agreed to merge their efforts, with Musk becoming chairman and overall head of product design, Eberhard becoming CEO and Straubel becoming CTO.

      reply

    • michalu 1 minute ago | link

       Wikipedia:

      Musk is a co-founder and currently head of product design at Tesla Motors. He oversaw development of the Tesla Roadster ( their first product ). Musk’s interest in electric vehicles extends long before the creation of Tesla. Musk began by hiring Martin Eberhard as CEO and a management team and provided almost all of the capital for Tesla’s first two funding rounds, giving him a controlling interest from the start. As a result of the financial crisis in 2008 and a forced layoff at Tesla,[28] Musk was forced to assume the additional responsibility of CEO.

      Wikipedia also states Tesla was founded 2003.

      In 2003, two independent teams, consisting of Martin Eberhard, Marc Tarpenning and Ian Wright on the one hand, and Musk and JB Straubel on the other, both sought to commercialize the T-Zero prototype electric sports car created by AC Propulsion.

      Tom Gage, the president of AC Propulsion, suggested that the two teams join forces to maximize the chances of success. They agreed to merge their efforts, with Musk becoming chairman and overall head of product design, Eberhard becoming CEO and Straubel becoming CTO.

      reply

    • alex_doom 2 hours ago | link

       Also he wasn’t the founder of PayPal, but it’s competitor X.com, until they merged.

      reply

    • alex_doom 2 hours ago | link

       Also he wasn’t the founder of PayPal, but it’s competitor X.com, until they merged.

      reply

  • tags: founder

    • “Starting an electric car company would have to be one of the dumbest things you could do to make money,” Musk said about starting Tesla, noting that he didn’t do it for the cash. Instead, he did it to show that an all electric car could be both viable commercially and aesthetically pleasing.
      • One of the key element of great thing is that it sounds crazy and dumbest. 
    • “It was clear that we were not going to see electric cars from incumbent manufacturers,” says Musk. For a while, he says, it seemed that there was going to be. General Motors created the EV1, but as soon as the government regulations were changed, GM recalled the cars and crushed them.
    • “If people are holding a candlelight vigil for your product, maybe you shouldn’t cancel it,” he joked.
    • “When I was in college, I wanted to be involved in things that would change the world.”

       

      One of those, he says, was the Internet, and so he founded PayPal. The other two areas, Musk says, were space exploration and sustainable energy. Hence SpaceX and Tesla.

      • My model. 
    • Musk also spoke about SpaceX a bit, saying that the only way to ensure that the space program didn’t fade away was to simply begin and invest in projects like putting humans on Mars.
    • A low energy trajectory for travel to Mars would be about six months, but you could compress it down to three months, says Musk. “The big dream,” says Musk, “is to achieve a rapid, fully reusable rocket. If you think about any other form of transport — they’re all reusable.”

Posted from Diigo. The rest of my favorite links are here.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: