Jump to page: 1 237  
Page
Thread overview
A few notes on choosing between Go and D for a quick project
Mar 13, 2015
Vladimir Panteleev
Mar 15, 2015
Mengu
Mar 15, 2015
disme
Mar 15, 2015
Chris
Mar 16, 2015
Laeeth Isharc
Mar 15, 2015
Sativa
Mar 15, 2015
deadalnix
Mar 15, 2015
weaselcat
Mar 13, 2015
bearophile
Mar 13, 2015
Vladimir Panteleev
Mar 13, 2015
Russel Winder
Mar 13, 2015
Wyatt
Mar 13, 2015
Russel Winder
Mar 14, 2015
Russel Winder
Mar 14, 2015
deadalnix
Mar 14, 2015
Russel Winder
Mar 14, 2015
deadalnix
Mar 15, 2015
Russel Winder
Mar 14, 2015
Russel Winder
Mar 17, 2015
Russel Winder
Mar 14, 2015
deadalnix
Mar 17, 2015
Russel Winder
Mar 17, 2015
Bienlein
Mar 17, 2015
deadalnix
Mar 18, 2015
Russel Winder
Mar 18, 2015
Russel Winder
Mar 18, 2015
Paulo Pinto
Mar 18, 2015
Bienlein
Mar 18, 2015
Russel Winder
Mar 22, 2015
Ziad Hatahet
OFFTOPIC: GPars performance vs Go [was Re: A few notes on choosing between Go and D for a quick project]
Mar 18, 2015
Russel Winder
Mar 18, 2015
Bienlein
Mar 14, 2015
Ziad Hatahet
Mar 14, 2015
deadalnix
Mar 14, 2015
deadalnix
Mar 14, 2015
Russel Winder
Mar 14, 2015
Walter Bright
Mar 13, 2015
Freddy
Mar 13, 2015
bearophile
Mar 13, 2015
weaselcat
Mar 13, 2015
Zoadian
Mar 13, 2015
bearophile
Mar 19, 2015
Rory
Mar 13, 2015
Walter Bright
Mar 13, 2015
weaselcat
Mar 13, 2015
Namespace
Mar 13, 2015
weaselcat
Mar 13, 2015
Namespace
Mar 13, 2015
weaselcat
Mar 13, 2015
Namespace
Mar 13, 2015
Walter Bright
Mar 13, 2015
Namespace
Mar 14, 2015
H. S. Teoh
Mar 14, 2015
H. S. Teoh
Mar 13, 2015
Dude
Mar 13, 2015
bearophile
Mar 15, 2015
Walter Bright
Mar 15, 2015
Almighty Bob
Mar 16, 2015
Nick Treleaven
Mar 13, 2015
bachmeier
Mar 13, 2015
Walter Bright
Mar 13, 2015
Russel Winder
Mar 13, 2015
Walter Bright
Mar 14, 2015
Russel Winder
Mar 14, 2015
Walter Bright
Mar 14, 2015
deadalnix
Mar 14, 2015
Walter Bright
Mar 15, 2015
deadalnix
Mar 15, 2015
Walter Bright
Mar 15, 2015
deadalnix
Mar 15, 2015
Charles Cooper
Mar 15, 2015
Walter Bright
Mar 15, 2015
Marc Schütz
Mar 16, 2015
Walter Bright
Mar 16, 2015
deadalnix
Mar 15, 2015
Walter Bright
Mar 15, 2015
Marc Schütz
Mar 16, 2015
Walter Bright
Mar 16, 2015
H. S. Teoh
Mar 15, 2015
Jonathan M Davis
Mar 15, 2015
ponce
Mar 16, 2015
w0rp
Mar 15, 2015
bearophile
Mar 15, 2015
Nicolas Sicard
Mar 15, 2015
deadalnix
Mar 14, 2015
weaselcat
Mar 15, 2015
Laeeth Isharc
Mar 15, 2015
Marc Schütz
Mar 15, 2015
Laeeth Isharc
Mar 13, 2015
Dejan Lekic
Mar 13, 2015
w0rp
Mar 13, 2015
Walter Bright
Mar 13, 2015
deadalnix
Mar 15, 2015
Sativa
Mar 16, 2015
Walter Bright
Mar 16, 2015
Zach the Mystic
Mar 16, 2015
Joakim
Mar 16, 2015
bachmeier
Mar 16, 2015
ninja
Mar 17, 2015
Walter Bright
Mar 17, 2015
Almighty Bob
Mar 17, 2015
Panke
Mar 17, 2015
Almighty Bob
Mar 17, 2015
Nick Treleaven
Mar 17, 2015
Almighty Bob
Mar 19, 2015
John Colvin
Mar 19, 2015
Almighty Bob
Mar 19, 2015
w0rp
Mar 19, 2015
weaselcat
Mar 20, 2015
Almighty Bob
Mar 20, 2015
John Colvin
Mar 20, 2015
deadalnix
Mar 20, 2015
Almighty Bob
Mar 17, 2015
Atila Neves
Mar 17, 2015
Almighty Bob
Mar 17, 2015
amber
Mar 17, 2015
amber
Mar 18, 2015
amber
Mar 17, 2015
John Colvin
Mar 17, 2015
John Colvin
Mar 18, 2015
Jacob Carlborg
Mar 16, 2015
Sebastiaan Koppe
Mar 16, 2015
Laeeth Isharc
Mar 16, 2015
Paulo Pinto
Mar 13, 2015
Joakim
Mar 13, 2015
Walter Bright
Mar 13, 2015
Dicebot
Mar 13, 2015
Russel Winder
Mar 18, 2015
Steve Wood
Mar 13, 2015
Russel Winder
Mar 13, 2015
JN
Mar 13, 2015
Wyatt
Mar 13, 2015
weaselcat
Mar 13, 2015
Wyatt
Mar 13, 2015
Paulo Pinto
Mar 13, 2015
Wyatt
Mar 13, 2015
Paulo Pinto
Mar 13, 2015
ezneh
Mar 14, 2015
Atila Neves
Mar 13, 2015
weaselcat
Mar 13, 2015
Gary Willoughby
Mar 13, 2015
ponce
Mar 13, 2015
Paulo Pinto
Mar 13, 2015
Kagamin
Mar 13, 2015
Chris
Mar 14, 2015
Atila Neves
Mar 13, 2015
weaselcat
Mar 13, 2015
Dicebot
Mar 13, 2015
Chris
Mar 13, 2015
Russel Winder
Mar 13, 2015
Chris
Mar 13, 2015
Chris
Mar 13, 2015
Joe Greer
Mar 13, 2015
Walter Bright
Mar 13, 2015
Russel Winder
Mar 14, 2015
Russel Winder
Mar 14, 2015
weaselcat
Mar 14, 2015
Russel Winder
Mar 21, 2015
Walter Bright
Mar 14, 2015
Russel Winder
Mar 18, 2015
Elazar Leibovich
Mar 18, 2015
bearophile
Mar 18, 2015
CraigDillabaugh
Mar 18, 2015
bearophile
Mar 18, 2015
Walter Bright
Mar 19, 2015
weaselcat
Mar 19, 2015
weaselcat
Mar 20, 2015
bearophile
Mar 20, 2015
Tobias Pankrath
Mar 21, 2015
Walter Bright
Mar 21, 2015
Tobias Pankrath
SO/messaging - dmd is fast to compile; ldc/gdc generate fast code
Mar 21, 2015
Laeeth Isharc
Mar 21, 2015
Walter Bright
Mar 21, 2015
Walter Bright
Mar 22, 2015
Walter Bright
Mar 22, 2015
weaselcat
Mar 20, 2015
Walter Bright
Mar 20, 2015
Paulo Pinto
Mar 20, 2015
Walter Bright
Mar 20, 2015
Paulo Pinto
Mar 20, 2015
Walter Bright
Mar 20, 2015
Paulo Pinto
Mar 21, 2015
Walter Bright
Mar 21, 2015
Walter Bright
Mar 21, 2015
Sebastiaan Koppe
Mar 22, 2015
Laeeth Isharc
Mar 18, 2015
John Colvin
Mar 18, 2015
CraigDillabaugh
Mar 18, 2015
John Colvin
Re: Mental models of programs [was A few notes on choosing between Go and D for a quick project]
Mar 19, 2015
Russel Winder
Mar 19, 2015
Paulo Pinto
Mar 18, 2015
Chris
Mar 18, 2015
Walter Bright
Mar 18, 2015
jkpl
Mar 18, 2015
David Gileadi
Mar 18, 2015
David Gileadi
Mar 19, 2015
Walter Bright
Mar 19, 2015
Walter Bright
Mar 19, 2015
cym13
Mar 19, 2015
Walter Bright
Mar 19, 2015
Joakim
Mar 20, 2015
Walter Bright
Mar 20, 2015
David Gileadi
Mar 20, 2015
weaselcat
Mar 20, 2015
Walter Bright
Mar 20, 2015
weaselcat
Mar 21, 2015
Walter Bright
Mar 21, 2015
Laeeth Isharc
Mar 21, 2015
FG
Mar 24, 2015
Mike James
Mar 21, 2015
FG
Mar 20, 2015
Arjan
Mar 20, 2015
weaselcat
Mar 19, 2015
Walter Bright
Mar 21, 2015
FG
Mar 18, 2015
weaselcat
Mar 18, 2015
Walter Bright
Mar 22, 2015
krzaq
Mar 23, 2015
FG
Mar 23, 2015
krzaq
Mar 23, 2015
FG
Mar 13, 2015
Walter Bright
Mar 13, 2015
Jacob Carlborg
Mar 13, 2015
Almighty Bob
Mar 13, 2015
Alex Parrill
Mar 13, 2015
Almighty Bob
Mar 13, 2015
weaselcat
Mar 13, 2015
weaselcat
Mar 14, 2015
Almighty Bob
Mar 14, 2015
Israel
Mar 14, 2015
Charles Pritchard
Mar 13, 2015
Walter Bright
Mar 13, 2015
Paolo Invernizzi
Mar 14, 2015
engnieer
Mar 14, 2015
Chris
Mar 14, 2015
Chris
Mar 14, 2015
Russel Winder
Mar 14, 2015
Russel Winder
Mar 14, 2015
Chris
Mar 14, 2015
Russel Winder
Mar 15, 2015
Chris
Mar 15, 2015
stewarth
Mar 15, 2015
engnieer
Mar 15, 2015
Chris
Mar 15, 2015
Laeeth Isharc
Mar 16, 2015
cym13
Mar 16, 2015
deadalnix
Mar 18, 2015
Jacob Carlborg
Mar 16, 2015
Israel
Mar 16, 2015
ninja
Mar 16, 2015
bearophile
Mar 16, 2015
Mike Parker
Mar 16, 2015
Mike Parker
Mar 16, 2015
rumbu
Mar 16, 2015
Rikki Cattermole
Mar 16, 2015
rumbu
Mar 16, 2015
Laeeth Isharc
Mar 17, 2015
Russel Winder
Mar 14, 2015
Russel Winder
Mar 13, 2015
Florin Mihaila
Mar 14, 2015
Russel Winder
Mar 14, 2015
bearophile
Mar 14, 2015
bachmeier
Mar 14, 2015
rumbu
Mar 14, 2015
weaselcat
Mar 14, 2015
rumbu
Mar 14, 2015
Paolo Invernizzi
Mar 14, 2015
bearophile
Mar 14, 2015
jack death
Mar 15, 2015
bachmeier
Mar 13, 2015
Paulo Pinto
Mar 13, 2015
Walter Bright
Mar 13, 2015
Walter Bright
Mar 14, 2015
yawniek
Mar 13, 2015
Florin Mihaila
Mar 13, 2015
bearophile
Mar 13, 2015
weaselcat
Mar 13, 2015
Dicebot
Mar 13, 2015
bachmeier
Mar 13, 2015
Florin Mihaila
Mar 13, 2015
Walter Bright
Mar 13, 2015
Wyatt
Mar 13, 2015
Israel
Mar 13, 2015
Piotrek
Mar 15, 2015
Xavier Bigand
Mar 17, 2015
Nick Sabalausky
Mar 17, 2015
Russel Winder
Mar 17, 2015
Nick Sabalausky
Mar 17, 2015
Nick Sabalausky
Mar 17, 2015
jmh530
Mar 17, 2015
bachmeier
Mar 17, 2015
jmh530
Mar 18, 2015
bachmeier
Mar 18, 2015
jmh530
Mar 18, 2015
Bayan Rafeh
Mar 18, 2015
bachmeier
Mar 18, 2015
bachmeier
Mar 20, 2015
jmh530
Mar 24, 2015
bachmeier
Mar 18, 2015
Laeeth Isharc
Mar 18, 2015
bachmeier
Mar 18, 2015
Laeeth Isharc
Mar 18, 2015
Chris
Mar 19, 2015
John Colvin
Mar 17, 2015
Carl Sturtivant
Mar 18, 2015
Chris
March 13, 2015
A friend of mine needed to complete a small project and thought of using a language he didn't know for it. He already knew I work on D so he considered it alongside Go. He ended up choosing the latter, and documented his decision making process in a few notes that he subsequently shared with me. I'll paste below a sort of transcript of his handwritten notes.

I think this is valuable information from a relatively unbiased potential user, and good ideas and action items on how we can improve our curb appeal. Even mistaken perceptions are good signal - it means our materials weren't explicit enough to dispel them.

====================

* Golang: simple!

+ very small language, very concise & simple
+ playground/tutorial
+ easy to start using it, no-nonsense
+ vast libraries
+ no inheritance
+ one binary to distribute
+ good for servers
+ feels like a better C (mostly)
- can't write generic code involving arrays/slices
- no good IDE
+ Google!
+ clear feeling it's here to stay
+ visible, many projects
+ enforced style (indentation, exports)

* Dlang: big!

# big language
# IDE?
# small subset?
# libraries?
# will it be around?
# Perception matters
## how stable is it?
## not great for servers or UIs; what then?
## new house in unpopulated neighborhood; there's an "Enter, it's open" sign but sits emtpy; by comparison Go -> condo in hip, trendy area

* Ideas for D

# what C++ should be but cannot
## too late for C++, but not for D
## some or all of @safe, immutable, pure should be the default
# libraries, projects should be prominently listed and nurtured
# single-idea advantage; D seems to embody too many ideas at once
## concurrency?
## networking?
## generics?
## interoperability with C and C++?
## focus on one!
# must attract/hook casual users
# unclear what's a good IDE - JetBrains? is there Vim support?
# what's D's equivalent to frameworks such as react.js?
# language designers think of features, users think of purpose
## react, go, rust, java -> purpose
## D, C++ -> "Ivy league candidates" having a response for every programming language design challenge there is, but less focused on purpose (Andrei's note: I assume D more at fault than C++ on this)

General feeling: "I don't feel smart enough for D and am looking for a quick way to accomplish a goal. I've read the Wikipedia article on D and didn't understand a few things. The examples seem to show off the language but that made them confusing. I wanted to get more into it, but by that time Go had already won - I looked at the tutorials, changed the sample code a bit right in the browser to see how it'd work for me, it was easy, I was in already. Some of my comments therefore illustrate my shortcomings than the language's, but that's true one way or another for all programmers (that's why technical superiority of a language doesn't guarantee its success)."

===============

I'd love us to derive a few action items from this and other feedback.


Andrei
March 13, 2015
On Friday, 13 March 2015 at 00:20:40 UTC, Andrei Alexandrescu wrote:
> I'd love us to derive a few action items from this and other feedback.

I think the front page focuses too much on the language itself at the moment. Perhaps we should continue with the direction with forum integration, and devote a good piece of real estate for the ecosystem (e.g. latest code.dlang.org updates) and maybe an IDE screenshot carousel, OSLT. Making it up-front that we have three compilers, a built-in profiler, and tight GDB integration might also be worthwhile.
March 13, 2015
Andrei Alexandrescu:

> ## some or all of @safe, immutable, pure should be the default

+1
I have a ER on @safe by default and Walter seems to agree. But I'd like more. A "strict D" mode? :-)


> # libraries, projects should be prominently listed and nurtured
> # single-idea advantage; D seems to embody too many ideas at once
> ## concurrency?
> ## networking?
> ## generics?
> ## interoperability with C and C++?
> ## focus on one!

D can't be a single-purpose language. And it has more moving parts compared to Go.

Bye,
bearophile
March 13, 2015
On Friday, 13 March 2015 at 02:17:31 UTC, bearophile wrote:
> D can't be a single-purpose language.

Yeah. The other side of the coin is that, from a D user's perspective, Go and Rust are one-trick ponies.
March 13, 2015
On Friday, 13 March 2015 at 02:17:31 UTC, bearophile wrote:
> A "strict D" mode?

That sounds like an amazing idea.
March 13, 2015
I made a choice between Go and D in 2013. I started with Go and was very happy when I switched to D. The languages appeal to different users. This is how I interpreted some of the "advantages" of Go:

> + very small language, very concise & simple
A limited, inflexible language

> + feels like a better C (mostly)
Feels like C

> + enforced style (indentation, exports)
Ridiculously restricted for no reason other than developer arrogance.

> # big language
An intuitive language that actually does things.

> General feeling: "I don't feel smart enough for D and am looking for a quick way to accomplish a goal.
If you want to be Rob Pike Jr., Go is great. If you want to program your way, not so much.

For someone coming from a Lisp background but wanting a better C, Go had very little appeal. Bottom line: Emphasize the different philosophies of Go and D.

March 13, 2015
On 3/12/2015 5:20 PM, Andrei Alexandrescu wrote:
> * Golang: simple!

D1 was the simple version of D. People wanted more.

Java was originally sold as, and got a great of adoption because, it was a C++ like language with all that annoying complexity removed.

There's no doubt about it, people like simple languages. We should very much keep that in mind when evaluating proposals for new features.

March 13, 2015
On Friday, 13 March 2015 at 00:20:40 UTC, Andrei Alexandrescu wrote:
> A friend of mine needed to complete a small project and thought of using a language he didn't know for it. He already knew I work on D so he considered it alongside Go. He ended up choosing the latter, and documented his decision making process in a few notes that he subsequently shared with me. I'll paste below a sort of transcript of his handwritten notes.
>
> I think this is valuable information from a relatively unbiased potential user, and good ideas and action items on how we can improve our curb appeal. Even mistaken perceptions are good signal - it means our materials weren't explicit enough to dispel them.
>
> ====================
>
> * Golang: simple!
>
> + very small language, very concise & simple
> + playground/tutorial
> + easy to start using it, no-nonsense
> + vast libraries
> + no inheritance
> + one binary to distribute
> + good for servers
> + feels like a better C (mostly)
> - can't write generic code involving arrays/slices
> - no good IDE
> + Google!
> + clear feeling it's here to stay
> + visible, many projects
> + enforced style (indentation, exports)
>
> * Dlang: big!
>
> # big language
> # IDE?
> # small subset?
> # libraries?
> # will it be around?
> # Perception matters
> ## how stable is it?
> ## not great for servers or UIs; what then?
> ## new house in unpopulated neighborhood; there's an "Enter, it's open" sign but sits emtpy; by comparison Go -> condo in hip, trendy area

When you said "curb appeal," I was prepared to read how a cursory look at both websites turned him off on D and on to Go.  But none of these qualities can be determined so easily, you have to look around for a while to know that D is bigger and Go is considered "hip, trendy" compared to a supposedly "unpopulated" D.

Comparing the front pages of the respective language websites, dlang.org does a good job of actually introducing the language, while golang.org simply says "Go is an open source programming language that makes it easy to build simple, reliable, and efficient software."  That's it.  You have to click a couple times to actually get to the Go tour or manual and find out what Go is: there's no pitch to sell you the language first.

The recent dlang.org redesign seems to have done a good job of simplifying the front page, including the addition of the previously unavailable "Getting Started" option.  Of course, the front page of dlang.org is not as spare and pretty as golang.org, will still take a designer to spiff it up a bit.

As to his actual points, it seems to come down to D replaces C++, while Go replaces C.  If you're looking for a better C, the more advanced, C++-esque features of D might distract and confuse you, even though you can ignore those and use it that way.

As for "will it be around?," presumably he thinks Go will stick around because of Google.  That cuts both ways, because if Google stops funding, maybe Pike and the other main devs abandon it, while D seemingly has never had anyone sponsoring Walter, so there's nobody holding the funding spigot here.

Not sure why he thinks D isn't good for servers, as that's what its key corporate backers all use it for.  I don't deny that some of these perceptions exist, not sure how being considered "hip, trendy" is combated other than by having more success.

> * Ideas for D
>
> # what C++ should be but cannot
> ## too late for C++, but not for D
> ## some or all of @safe, immutable, pure should be the default
> # libraries, projects should be prominently listed and nurtured

Good suggestion for the front page, perhaps a library of the month?

> # single-idea advantage; D seems to embody too many ideas at once
> ## concurrency?
> ## networking?

Where is D advertised as being special or different with its ideas on networking?  I don't see it.

> ## generics?
> ## interoperability with C and C++?
> ## focus on one!

That's not D's approach, for better or worse.  It's offering a buffet of features, not just a great steak.

> # must attract/hook casual users

I agree that D's use in small programs and scripting could be better emphasized.  In trying to attract the C++ crowd, this orthogonal audience is sometimes ignored.

> # unclear what's a good IDE - JetBrains? is there Vim support?

The D Wiki lists supported IDEs, maybe the "Getting Started" page should directly link there.

> # what's D's equivalent to frameworks such as react.js?
> # language designers think of features, users think of purpose
> ## react, go, rust, java -> purpose

React is a UI framework, easy to state its purpose.  Go has essentially nothing on their front page, while Rust just has a feature list.  Java is the only one that talks about rationale and purpose:

https://www.java.com/en/about/

> ## D, C++ -> "Ivy league candidates" having a response for every programming language design challenge there is, but less focused on purpose (Andrei's note: I assume D more at fault than C++ on this)

I agree that dlang.org could go a bit more into purpose, other than the single mention of "simple scripts to large projects" on the front page.  I can see how it's tough to articulate how widely D could be used though.

> General feeling: "I don't feel smart enough for D and am looking for a quick way to accomplish a goal. I've read the Wikipedia article on D and didn't understand a few things. The examples seem to show off the language but that made them confusing. I wanted to get more into it, but by that time Go had already won - I looked at the tutorials, changed the sample code a bit right in the browser to see how it'd work for me, it was easy, I was in already. Some of my comments therefore illustrate my shortcomings than the language's, but that's true one way or another for all programmers (that's why technical superiority of a language doesn't guarantee its success)."

On the one hand, yes, D beats you over the head with all its great advanced features.  On the other hand, a language like D, that wants to give you all the tools for your toolbelt, requires a programmer that is capable of knowing what each tool is and how to use it.  It's very tough to advertise it as a BMW, ie a driver's car, and then say, "oh yeah, you soccer dads will love it too."  Blackberry is dying for a reason.
March 13, 2015
On 3/12/2015 8:40 PM, Joakim wrote:
> As for "will it be around?," presumably he thinks Go will stick around because
> of Google.  That cuts both ways, because if Google stops funding, maybe Pike and
> the other main devs abandon it, while D seemingly has never had anyone
> sponsoring Walter, so there's nobody holding the funding spigot here.

Google does abandon significant projects now and then, such as this one:

http://google-opensource.blogspot.com/2015/03/farewell-to-google-code.html
March 13, 2015
On Friday, 13 March 2015 at 04:49:38 UTC, Walter Bright wrote:
> On 3/12/2015 8:40 PM, Joakim wrote:
>> As for "will it be around?," presumably he thinks Go will stick around because
>> of Google.  That cuts both ways, because if Google stops funding, maybe Pike and
>> the other main devs abandon it, while D seemingly has never had anyone
>> sponsoring Walter, so there's nobody holding the funding spigot here.
>
> Google does abandon significant projects now and then, such as this one:
>
> http://google-opensource.blogspot.com/2015/03/farewell-to-google-code.html

"Google Graveyard" is awesome http://www.slate.com/articles/technology/map_of_the_week/2013/03/google_reader_joins_graveyard_of_dead_google_products.html :)
« First   ‹ Prev
1 2 3 4 5 6 7 8 9 10 11