Hacker News new | past | comments | ask | show | jobs | submit | asdasf's comments login

You are confusing a sense of accomplishment for happiness. That suggests that you may not have felt happiness enough (or recently enough) to recognize it.


Not really. He's just using a more broad (scientific?) definition of the word "goal".

Eating food every day is a goal. Getting enough sleep is a goal. Peter Gibbons in The Office has a goal to do absolutely nothing.


I meant Office Space. How embarrassing.


Why 10 years? Given that we've known what a mess the software development world is for 50 years and nothing has improved, what makes you think anything will be better 10 years from now?


Might be a reference to the famous Norvig essay: "Teach Yourself Programming in Ten Years"?


No, I'm not that clever. It seemed like a reasonable time to check back in and see if the revolution happened.


I'd be extremely surprised if they can. Just because there are a lot of options, doesn't mean there's any good ones. Tons of nearly identical, virtually featureless products does not make it easier to find one that actually does the job.


I COMPLETELY agree with this statement. We have been looking around for about a month now, and it's been really hard to distinguish them apart. It's been equally as difficult to find a product that has everything we need.


From personal experience, most of the issues of PM/Scrum/Kanban/Agile software is employee adoption rather than lack of features. As to CRM software, I can't say.


>That's not funny or educational or even interesting.

Two of those are subjective and I'll ignore. But it is educational, it links to alternatives to 37 signals products.

>I can't really think of anything 37signals has done to warrant this

The company and its reputation was built on aggressively bad-mouthing and trash-talking anyone and everyone they could. Remember when rails started out? Anyone who dared to like something other than their framework was an idiot (at best).


> The company and its reputation was built on aggressively bad-mouthing and trash-talking anyone and everyone they could.

Interesting, this Wired article[0] seems to back up this perception. In this light the 67signals page may be somewhat insightful by parodying the opinionated-jerk rockstar programmer caricature, if a little too mean-spirited and lacking in wit.

[0] http://www.wired.com/techbiz/media/magazine/16-03/mf_signals...


Why are you bragging about making a bunch of uninformed, knee-jerk assumptions about someone you know nothing about? And why is this trash the top comment? Whether or not $20/month is too much does not depend on whether you have $20 to spend or not, it depends on the value you get from that $20. Products with very little value, and which have $0 alternatives that provide more value are not worth $20.


>Why are you bragging about making a bunch of uninformed, knee-jerk assumptions about someone you know nothing about?

You mean I'm in the bad making assumptions about a person making "a bunch of uninformed, knee-jerk assumptions" for other people in the form of a mean "parody" site?

Besides, who told you I "know nothing about" that person? I know what he wrote, and I know the tone he used. And I also have a pretty good sense of the kind of handle he'd use if he were to comment on HN.

>And why is this trash the top comment?

Because people agree and voted for it to be. It's social news site in case you don't know.

>Whether or not $20/month is too much does not depend on whether you have $20 to spend or not, it depends on the value you get from that $20. Products with very little value, and which have $0 alternatives that provide more value are not worth $20.

The value of something doesn't depend on what you say, it depends on what the market is willing to pay for it. Since they have a 10+ year, multi-million business with millions of customers, based on charging what they charge, I'd say the argument is pretty much settled.

If it feels like it ain't worth that much to you, you can use something else. I missed the part when using their service was mandatory. Or do you do parody sites for every "too expensive for me" product you find?


Why do you think responding to "you are making a bunch of uninformed assumptions" with more uninformed assumptions is productive? Protip: some of us saw this site when it was made 2 years ago. Some of us are even aware of the context of 37signals founders being abusive on twitter that the site was created in response to. That does not mean we are all the people who made the site.


Made by some concerned youths

I don't think he's too far off.

Point being getting so pissed to make an entire website about a company you don't like says more about you than it does the company.


I dunno, 37s got pretty childish on twitter. I think this is a lose lose situation, both parties look like amateurs.


>The general consensus is that they do both

Your claim is just as baseless as the one you are responding to, which was pointing out how baseless the original claim "they make good software" was.

>not many unsatisfied customers in their forums.

They heavily censor their forums. I know lots of former customers of theirs who were more than just unsatisfied with them.


>Your claim is just as baseless as the one you are responding to, which was pointing out how baseless the original claim "they make good software" was.

Judging from the fact that their service has good reviews in major media and millions of users, it doesn't sound anywhere near as baseless.

>They heavily censor their forums.

Any examples? Surely those mythical people know how to save a screenshot, right?


>Judging from the fact that their service has good reviews in major media and millions of users

They have no reviews in major media. They have both good and bad reviews in minor media. The "millions of users" claim is not supported at all.

>Any examples? Surely those mythical people know how to save a screenshot, right?

Yes, I happen to collect screenshots of things that are well known every time anyone talks to me about anything just in case some random redditard wants proof that the sky is blue.


>They have no reviews in major media. They have both good and bad reviews in minor media.

Well, I don't think PC Magazine, for one, is a "minor media" in the IT industry. Or that being called "best" in your category is a "bad review".

>The "millions of users" claim is not supported at all.

Supported by whom? You mean you don't believe the user numbers they give? Being able to support a 10+ year old company, with 40+ employess, expensive Chicago offices etc, I'd say the "millions of users" claim is just about right. Heck, just a product of Basecamp, Ruby of Rails has had millions of users. Oh, and this Jeff Bezos guy investing in them? I think he knows one thing or two, too.

>random redditard

OK, this is HN. You can now go back into the woodwork.


>>random redditard

>OK, this is HN.

I believe that was his/her point. I'm clearly not the first person to have noticed that your contributions are few and far between, with much garbage taking up that in between. Your posts would be welcomed on reddit, here they serve only to drag HN down.


Excuse me, I maintained a serious responce in this thread, against some immature kid defending a "satire" submission that wouldn't even have made even reddit. And which, besides dragging 37 Signals in the mud, with FUD and unsubstanciated claims, he also wents on to call people names.

You somehow think this is acceptable, but find my contributions "garbage"? Last time I checked, my "garbage" contribution was the top thread in this post, whereas the "satire" shouldn't even be posted in the first place.


I don't understand why that is still something people care about in the days of $5 VPS hosting.


I think it's because there are lots of PHP programmers who don't have the first clue about setting up an actual server on the internet (and keeping it up).

On top of that there is the time investment in learning all that stuff and doing it on a regular basis.

To some that makes "here are your FTP credentials, have at it".

----

It's simply one end of a spectrum with DevOps towards the other end.


I agree. I do a lot of wordpress work, and many of the people doing that have no idea what the command line looks like. I don't fault them for it-- that's just what their jobs/business have so far demanded of them.

And while I have setup VPSs for my own projects and they seem to do okay, I've never had to be responsible for a machine that serves other people, and I don't know if I want to be the only guy who has access to a machine that other people rely on to do their business: there are a world of unknown unknowns there, and if I can offload that liability its probably the wiser move.


Bad generalization. There's plenty of developers in general that know nothing of devops and server setup and maintenance. I put it on par with frontend developers who don't know how to slice up a PSD.


>I think it's because there are lots of PHP programmers who don't have the first clue about setting up an actual server on the internet (and keeping it up).

Well PHP programmers are going to want to use PHP anyways. But as far as users not knowing how to setup a server, that's true. But it is also irrelevant. Tons of people provide tons of different VM images for all sorts of things, node included. At that point it is no harder than PHP, with the added benefit of not needing to upgrade PHP every 2 weeks for the latest round of security holes.


I think this shows that Walter has lots of compiler experience, not so much lots of language design experience. You can't get good error messages without semicolons? How can anyone say something that absurd in a serious article? Have you tried a language without them? It works just fine.

Minimizing keywords is important not because of a word shortage, but because of an overlap with words the programmer wants to use. It is obvious that if you make "i" a keyword, someone will likely murder you. But there's tons of grey area where you might be stepping on toes and getting in the way, so minimizing the amount of toe stepping is good. Especially since there is absolutely no reason to have lots of keywords.


Full context: "Redundancy. Yes, the grammar should be redundant. You've all heard people say that statement terminating ; are not necessary because the compiler can figure it out. That's true — but such non-redundancy makes for incomprehensible error messages. Consider a syntax with no redundancy: Any random sequence of characters would then be a valid program. No error messages are even possible. A good syntax needs redundancy in order to diagnose errors and give good error messages."

Given the context I think it isn't so much that Walter is saying you can't have good error messages without semicolons. He's saying you can't have good error messages without redundancy (in this example a statement terminator).


>Walter is saying you can't have good error messages without semicolons

That is what he said though. I understand it is one example for a larger point, but it is an example that doesn't support that point at all. It is pretty hard to judge the overall point when the example is nonsense.


I think you're really missing the point.

Your goal is to write a whole programming language.

Calculating where each statement starts and ends in order to serve a good error message is misdirected effort. Just use a terminating character, and use the standard one: a semi-colon.


> Just use a terminating character, and use the standard one: a semi-colon.

Significant whitespace is popular as well. You can argue all day about it, but at the moment I think making a language "look like python" is the safer bet for a new language.


Significant whitespace is _also_ redundant, just along different metrics. Badly indented Python gets caught before execution the majority of the time, and in presentation, it surfaces to the programmer quickly.

His argument is essentially against something like Lisp or Forth where you have such a paucity of syntax that many erroneously written statements are syntactically valid and make it to runtime.


Lisp and Forth are the extreme case, which is especially bad, because you get no error message at all.

But the middle ground are languages that can detect a syntax error, but can't figure out exactly what it is. You don't get an error message saying "You should have a semi-colon here, want me to insert one?" Instead you get some vague message like "didn't expect this keyword here" a few lines after the missing semi-colon.


It's debatable. I know two languages with significant whitespace, that's Python and Haskell. And Haskell's rules are a pain.

For the language I'm working on, I had started with significant whitespace. Then I realized that it would be a pain for things like anonymous callbacks (the kind of thing JS code is littered with) and that it was distracting. At least when you start, don't get hung up on the syntax, focus on basic things. What's important is what you are going to do with your AST, the lexer/parser part are the least important areas, unless you are doing a "syntactic skin" over a language (eg, coffeescript). You can always change the syntax later.


There's also F#, CoffeeScript, Yaml, Sass/Stylus, Haml/Jade and several others, just among the popular languages.

And if we mean "significant whitespace" as in "newlines can act as statement and expression terminators" (since we were discussing semicolons as the alternative) we can also add a ton of other languages, like Ruby, JavaScript, Go, Scala, Visual Basic and Lua.


I don't think it's fair to compare markup languages to programming languages, so we're down to F# and Coffeescript. That's not much of a trend toward significant whitespaces.

I agree with newlines vs semicolons (though I've always been told to write Javascript with semi-colons, and that's how I have encountered it in the wild).


> I don't think it's fair to compare markup languages to programming languages, so we're down to F# and Coffeescript. That's not much of a trend toward significant whitespaces.

I take your point about Haml, though Sass is actually Turing-complete, so I almost feel like it belongs in the list despite being really off-the-wall.

And I was only choosing from reasonably popular languages (so things like Boo are out even though they'd help my numbers). There just aren't that many mainstream programming languages out there. Four in a category seems like a pretty fair number to me. You could just as easily say functional programming isn't a thing if four mainstream languages is considered a paltry showing.


I'm curious why you felt anonymous callbacks were problematic in a significant whitespace language. They seem to work just fine in coffeescript, as an example.


I'm not familiar with Coffeescript. Maybe I should have a look. My thought was that getting the right level of indentation for something like:

    my_func_with_callbacks(arg1, def(x):
        foo()
        bar(),
        5)
would be a pain in terms of defining sensible rules and ensuring they are parsed correctly. So right now, I'm going for something closer to Ruby syntax. But it may just be a symptom of a lack of imagination. I'll remember to investigate Coffeescript when I revisit the syntax.


Ah. I think the practice is to treat the closure as being ended by any dedent that is lower than its first line. This specific case does come up with javascript's setTimeout, which takes a callback as its first argument and the timeout as the second. It usually seems to look like this:

    setTimeout ->
        doSomething()
        doSomethingElse()
    , 1000
I'm not terribly fond of this, personally, but it does solve the problem. I think in a language without a legacy you would just tend to avoid making callback arguments come before non-callback arguments and things would look a lot nicer.


> It's debatable. I know two languages with significant whitespace, that's Python and Haskell. And Haskell's rules are a pain.

But it's optional in Haskell's case.


>And Haskell's rules are a pain.

How?


Somehow, I find myself caught doing an incorrect indent regularly. I appreciate Python's ':' marker, which unambiguously tells you "either write the next statement on the same line, or indent". I remember it being criticized, but I think it's actually really good.


> at the moment I think making a language "look like python" is the safer bet for a new language

Why Python? Clojure and Elixir are two new languages with growing communities and they look nothing like Python.


You could also say that newlines always terminate statements unless a continuation character is used. That's a trivial policy that works very well in practice.


I don't know how you think that was the point. He doesn't say anything like that. In fact he takes the exact opposite position when dealing with parsing, saying to just write more code. Why would something which literally requires no extra effort (producing useful error messages without semicolons) be misdirected effort, while writing a more complex parser is cool?


I re-read the article and I concluded that we are both right. I direct you to the following statement:

"The principles are rarely orthogonal and frequently conflict."

Producing genuinely useful error messages at all requires a complex parser, IMHO. It's not computationally obvious to look at a line of code and say 'actually you just missed this one character'. Requiring a terminating character gives you at least a sanity check starting point to work with - it alone will catch whole categories of errors.


Forth doesn't have 'keywords' per se, but i is predefined for you. It has the effect of placing the index of a 'do' loop on the stack.


Well one other difference is that D is a systems language, and Go is nothing even remotely close to a systems language but initially claimed to be one. There is not much demand for a new systems language, most people are happy to use higher level languages for what they do these days. Most go converts are coming from python and ruby, not C++.


Your own examples contradict your hypothesis. Ruby is a generic scripting language, it is not better or worse than python or perl at anything. Rails made ruby popular due to evangelism, not solving a problem others do not (notice how rails was literally just a crappier django?).

"Being portable assembler" is not solving one problem at all, it is one of the most general things you could cite. That literally is being a better language.

Java took millions of dollars of marketing to make it popular, people didn't just suddenly flock to it because it was C with garbage collection (which was already a solved problem: see C).

Perhaps lisp "never took off" (seems like it took off pretty well to me) because it isn't the greatest language ever? Lisp barely is a language, it is more of a toolkit to build a language with.


> Java took millions of dollars of marketing to make it popular, people didn't just suddenly flock to it because it was C with garbage collection (which was already a solved problem: see C).

Could you please explain what you mean? C is the only language I know in any depth. Beyond a basic description, "garbage collection" is a fairly alien concept to me.



I was thinking along those lines, cheers.


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

Search: