Live data from Hacker News

Yep, Programming Is Borked

evincarofautumn.blogspot.com

51–57 of 57 posts

Re: Yep, Programming Is Borked

#51
post #41

The example given with acceleration, velocity, and position? How is a compiler going to deal with that? With an Euler integrator, you say? (every frame, p=p+time_scaled(v), v=v+time_scaled(a) ). Note there's an implied time, as well as frames per second, in there, but a compiler can know about time. Unless when you're saying "acceleration" you're not talking about real time, but calculating where something will be at…

I have to say, I don't know his actual response, but he gives a hint within the article that perhaps, when one wants to get performance in algorithms, one will start to look at the way the constraints are phrased. So when you've got to write a sort, you probably start in our hypothetical dream language by saying: "sort permutes a list so that a Now "permute", with predicates, is probably built into the system and the…

> "sort zips together, least-element first, the sorted first half of input and the sorted second half of input -- unless len(input) If you're defining the algorithm to that level of detail, then I submit that you're writing the algorithm. What you just described looked almost exactly like how it would be written in one of the more advanced current functional languages, and the OP and previous OP that he was responding to both considered functional languages to be Not Good Enough. What they're asking for is pretty much just Sufficiently Advanced Technology to Do What They Want (i.e., Magic, or strong AI).

Aside from that, sort IS something that's so common that it tends to be implemented in every high level programming environment in one way or another. Baking several sorts into a language isn't odd, so I don't think "sort" is a good example, because I ALREADY can say "take this list and sort it" in any language I use.

An Euler integrator isn't built in to anything but a DSL for animations or games, though. And it's one of THOUSANDS (millions?) of algorithms that a program might need -- most of which are more easily described (by the programmer) in a traditional language than by trying to jump through hoops to describe what you want in a way that you'll actually get what you want.

So yes, the trivial problems could be solved by such a language -- but they're already solved by CURRENT languages. It's the hard problems where it would be hard to know how to even start to create a "describe the results" language. I think all you'd end up with is a DSL for each of the cases you thought to describe -- which, depending on the domain, could be useful for that domain. DSLs are great when they're well designed. But as someone else pointed out, you don't write a game in SQL.

Re: Yep, Programming Is Borked

#52
post #43

Warning: I'm about to get all opinionated on you. This "programming sucks" thing could get old quickly. Most of the problems mentioned in these articles are already solved in some language or another. And many of them are too specific. Like wouldn't it great to eliminate for loops? Well, yes, for the specific cases where the alternative would work. More pressing problems include lack of a REPL as a primary developmen…

If someone reinvented Smalltalk and Erlang (and it saw widespread adoption), I think we would see a lot less "programming sucks" posts.

Re: Yep, Programming Is Borked

#53
post #49

Earlier quoted context omitted.

What? It’s necessary context. I started programming early because it’s interesting. It has taken many years of hard work to get to where I am, to develop the skills and opinions I have. Don’t think I’m gloating, because there is nothing whatever to gloat about.

His point is that what seems like gloating to you, in fact, speaks of inexperience to many. Having been programming since you were ~10 is nothing new or unique around here. Your post would be strengthened by omitting that detail.

I’m not sure what you mean—doesn’t seem like gloating to me. People make mention of their experience in the field all the time in order to give weight to what they say. And the only reason I bothered to mention it was to parallel the article I was responding to. Anyway, I’ve removed it, to avoid the distraction.

Re: Yep, Programming Is Borked

#54
In the last ten years or so, most big companies tried this new programming language called "What".

First, they wrote their programs in the form of what they want it to do. Then they left the dreary how part to a sufficiently smart new compiler called "Outsource" that was generally available only in India and other low-cost-but-technically-competitive countries. After sending the source code to "Outsource", the first compiler pass would start. It might come back asking some clarifications and details for ambiguous cases and they refined their program as needed. Finally, after waiting for a few weeks they got back some results.

The resulting program was tested and any problems written down, and more refinitions followed by a set of new iteration rounds to and from the "Outsource" compiler suite.

Turns out, to describe the hard parts of a problem in sufficient detail equals more or less writing the program itself. It's just that instead of the laid off local programmers, the development managers and technical leads that hadn't have to code much earlier had to do the programming. They could describe their programs in English but they couldn't escape detailing the hard parts of their problems. And then again, the easy parts of programming never were a significant cost-factor in the first place.

Then some people figured that instead of having people program the smart remote programmers without domain knowledge to do what was needed, they could employ nearly as smart local programmers with domain knowledge to do the whole programming. The upfront costs would be higher but on the other hand the hard process of explaining the hard parts of a problem, which was needed regardless of the programming scheme, was much easier because communication was almost instant and the programmers both held local domain knowledge and programming skills.

While the local programmers still had to spend expensive time writing some unavoidable boilerplate, it was left unclear whether using "Outsource" saved any money at all because the terms of programming with it were also so different.

Re: Yep, Programming Is Borked

#55
post #48

Earlier quoted context omitted.

I think you, like many others, don't understand the practical ramifications of a completely pure language. Let's take Haskell as an example--it is, after all, the poster-child of purely functional research languages! And yet, from a practical standpoint, Haskell is not pure . The underlying abstractions are pure, sure, but the language makes working with impure computation feel just like writing an impure program. Th…

I understand the practical ramifications quite well: It's complicated as all hell to implement some very simple, and well known algorithms which rely on mutation and explicit memory management. Take, for example, QuickSort: "sorta looks like quick sort" http://www.haskell.org/haskellwiki/Introduction#Quicksort_in... "actual quick sort w/ in place memory mutation" http://www.haskell.org/haskellwiki/Introduction/Direct…

Haskell makes some array access operations cumbersome due to syntactic issues with the library's API.

It is not inherent that Haskell's quickSort is harder than quickSort in C.

Take a look at Augustusson's imperative language DSLs in Haskell:

http://augustss.blogspot.com/2011/07/impredicative-polymorph...

Haskell is so versatile at this, augustusson managed to implement an old BASIC DSL!

http://augustss.blogspot.com/2009/02/more-basic-not-that-any...

I think Haskell can be a great vehicle for all our current day imperative programming needs (even if due to some library issues it's not quite as nice for all tasks yet).

Re: Yep, Programming Is Borked

#56
post #49

Earlier quoted context omitted.

His point is that what seems like gloating to you, in fact, speaks of inexperience to many. Having been programming since you were ~10 is nothing new or unique around here. Your post would be strengthened by omitting that detail.

I’m not sure what you mean—doesn’t seem like gloating to me. People make mention of their experience in the field all the time in order to give weight to what they say. And the only reason I bothered to mention it was to parallel the article I was responding to. Anyway, I’ve removed it, to avoid the distraction.

http://en.wikipedia.org/wiki/Argument_from_authority

Re: Yep, Programming Is Borked

#57
post #49

Earlier quoted context omitted.

His point is that what seems like gloating to you, in fact, speaks of inexperience to many. Having been programming since you were ~10 is nothing new or unique around here. Your post would be strengthened by omitting that detail.

I’m not sure what you mean—doesn’t seem like gloating to me. People make mention of their experience in the field all the time in order to give weight to what they say. And the only reason I bothered to mention it was to parallel the article I was responding to. Anyway, I’ve removed it, to avoid the distraction.

My point is that mentioning you are 21 speaks more of inexperience than mentioning you have been programming for a decade.

I'm not trying to judge your experience, rather just commenting on the statement itself.

Post reply on HN