HN2new | past | comments | ask | show | jobs | submitlogin

I am a go fan, and when I saw this article on the fp, I said to myself "here we go again"

It's the 4th law of HN: Wherever Rust is, Go goes, and vice versa.

I am considering just accepting this reality that people will always pit these two against each other, and maybe just accept it for it's positive merits: that the extra competitiveness will help create a better ecosystem for the two of them.



Constructive comparisons with deep knowledge of both languages are priceless, when articles "I tried Go/Rust 1 week and didn't get it" are useless. Title "vs" often is a marker of articles of the second type - just to share emotions, not knowledge.


"Constructive comparisons with deep knowledge of both languages are priceless, when "I tried Go/Rust 1 week and didn't get it" are useless."

Well, unless you want people to actually use your shiny new language. If that's the case, perhaps criticisms of this type should not be dismissed out of hand. :-)

Most programmers are going to abandon something if they study it for a week without significant results. Maybe they'll keep plugging at it if their boss orders them, but they won't do it on their own. Oh, sure, there's a small subset of programmers who enjoy tinkering with weird languages for fun, but that subset is dwarfed by the number of programmers who view languages as a tool for getting things done.

If there's anything that we should learn from the history of programming languages, it's that usability trumps theory every time. The languages that people actually use are almost never the ones that theoreticians admire.

Note that most code today is written in C, JavaScript, PHP, Java (none of which would win any prizes for theoretical elegance)... rather than ALGOL, ML, Haskell, the various Wirth languages...

There's really no comparison. Lisp probably comes closest, in that it is both theoretically elegant and has been used, by the programmer's choice, to build large real-world systems, but even Lisp is basically a rounding error.


I'm not trying to say that programmer can't take own decision after a week (or day, or hour) of learning new language. I'm trying to say that "teaching" others with such small experience as 1 week of knowledge is useless. It's not about this article, but in general.


> Note that most code today is written in C, JavaScript, PHP, Java (none of which would win any prizes for theoretical elegance)... rather than ALGOL, ML, Haskell, the various Wirth languages...

ALGOL wasn't actually that bad.


That was long before my time, but from what I've read ALGOL's problems were that it was too complex to be easily implemented on the (very limited) hardware of the time, and a focus on theory to the extent that basic functionality was ignored (even I/O!). That made it great for writing down algorithms on paper, but troublesome if you actually wanted to use it.


Algol 68 was too complex, but Algol 60 was quite good and successful.


The Wirth languages saw fairly widespread use once.


Modula-2 had some uptake, but never to the extent of C or Fortran.

Pascal was popular for teaching at one time, but pure Pascal was never very popular for writing shipping code. If I'm not mistaken, Borland's Turbo Pascal, which was pretty popular, became so by adding non-standard features that probably gave Professor Wirth a heart attack when he heard about them.


C and C++ are also popular by adding non-standard features. Such as, oh, your entire Win32 API, POSIX, and so on: every system's low-level API's, middleware and other stuff.


Libraries and the base language syntax (and semantics) are two different things.


Delphi is Pascal and was used for tons of things.

- Dreamweaver

- Skype

- TOAD for Oracle

- TeamSpeak

Etc.


I sort of agree, but this approach has a real problem: you're strongly selecting for people who are at least okay with the language. If you expect all criticism of Go to come from people who have years of Go experience, all you'll ever get are people who broadly approve of the Go design philosophy, along with the occasional soul that got trapped in a Go job by accident.

The sort of people who find major problems in Go simply won't put time and energy into the language beyond a point—why should they? There's a limit to how far I'm going to explore a tool that seems obviously inferior, even if the tool is popular. (And popularity is an absolutely terrible measure of quality!)

If you applied this standard to PHP, you'd get an implausibly rosy view of the language, because the people who aren't invested in it simply don't use it.


Actually I saw already article about switching from Go to Rust after few years of Go and long testing of Rust, so it's not a miracle :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: