News for hackers. Stuff that matters.
Re:Another go at the Next Big Language by batista on Monday September 03, 2012 @03:07AM (#4469416)
>If you are looking for a new language you are not looking for the right thing. We already have the language of mathematics and the homoiconic programming language Lisp. What we need isn't a new language, its a new platform which uses Lisp all the way down. Unfortunately, I don't see that happening anytime soon.

Because you just (presumably) discovered the hammer of Lisp, it doesn't mean anything has to be Lisp like.

Even more so that the supposed superiority of Lisp is mostly anecdotal -- no actual studies on developer productivity, product robustness, etc: all anecdotes.

Where is your PROOF for what you say, computer SCIENTIST?

If anything, empirical data favor languages with C like syntax. More programs we CAN'T DO without have been written in those (from OSs, to office applications, to embedded systems that power almost everything, to servers of all kinds) than in Lisps. In fact, the ratio is incredibly small for Lisp-made world changing programs (Emacs --which is partly C, and then what?).

Re:Another go at the Next Big Language by tensor on Monday September 03, 2012 @05:47AM (#4469806)
Going by popularity, C syntax is indeed king. In the 16th century, going by popularity, it was best not to shower or otherwise clean yourself.

Popularity is not a useful metric. It would be nice to see studies of languages and productivity, I agree. However, it's made incredibly difficult by those who adhere to popularity. The result, languages like php, frameworks like node.js, and misunderstood movements like 'nosql.'

Re:Another go at the Next Big Language by batista on Monday September 03, 2012 @06:13AM (#4469872)
>Going by popularity, C syntax is indeed king. In the 16th century, going by popularity, it was best not to shower or otherwise clean yourself.

Only I didn't go by popularity, I went by results: most of the must-have programs the world uses every day are written in C/C++, and almost none of them are written in Lisps (in the order of statistical noise).

Saying that that is just due to popularity ("C is more popular so offcourse more programs are written in it") is not really valid. Lisp has the headstart on C, it had a chance (AI, the Lisp Machine era), etc.

In the very least, you would expect the Lisp advocates to have a few killer-apps to show for all that superiority, the kind of stuff lone-worf team-of-one C/C++ programmers churn out (and a lot of them are mighty popular).

Can you point to any, preferably not Emacs?

Re:Another go at the Next Big Language by jhuni on Monday September 03, 2012 @07:45AM (#4470027)
The popularity of the language and the applications built in it are irrelevant to the quality of the language itself.
Re:Another go at the Next Big Language by batista on Monday September 03, 2012 @07:59AM (#4470064)
>The popularity of the language and the applications built in it are irrelevant to the quality of the language itself.

This borders on the mystical. There is no intrinsic quality that a language has if that quality can not be measured in some way.

A "better quality" language that does not account for it in more useful programs being written in it, is like a "good man" that never did any good deeds. Even if in some mystical, esoteric way, it was true, it would be of no consequence. Only what has actual consequence in the outside world matters in engineering (and programming).

(I didn't wrote "in more better programs being written in it" because that would be a vicious circle).

Re:Another go at the Next Big Language by jhuni on Monday September 03, 2012 @08:07AM (#4470077)
Programming languages are standalone products, that can evaluated regardless of their environment. For example, anyone reasonable can see that is brainfuck is a deeply flawed language regardless of the applications written it. If you cannot evaluate a language on its own merits, there is really no point in talking to you about this.
Re:Another go at the Next Big Language by batista on Monday September 03, 2012 @08:35AM (#4470144)
>Programming languages are standalone products, that can evaluated regardless of their environment.

Only in some abstract way, that is of no consequence to the practice of programming.

Because in the real world the environment very much matters, and the best proof that "it works and gives results" it to see it, er, working and giving results.

>For example, anyone reasonable can see that is brainfuck is a deeply flawed language regardless of the applications written it.

Only the C/Lisp issue is not that trivial. Brainfuck was designed to be "deeply flawed", whereas C/Lisp were designed to have different, specific, constraints and strengths.

Or, reversely, it is because there are NO applications written in in brainfuck that we can safely deduce that it has some problems (empirical observation). If hundreds of killer apps were written in it we would have to reexamine our assumptions about it (but of course, it would have to be a different language for that). So cause and effect are lined in a feedback circle in these evaluations.

>If you cannot evaluate a language on its own merits, there is really no point in talking to you about this.

Languages are not works of art. They are tools. Tools are not to be evaluated "on their own merits", they are to be evaluated by their results.

Re:Another go at the Next Big Language by nacker on Monday September 03, 2012 @08:10AM (#4470087)
Paradoxically, Lisp depletes the ego. Too many choices.

http://www.winestockwebdesign.com/Essays/Lisp_Curse.html

Re:Another go at the Next Big Language by fauigerzigerk on Monday September 03, 2012 @03:26AM (#4469457)
I would love to see a scientific method to measure developer productivity that isn't ridiculously flawed in completely obvious ways. So far I haven't seen one.

What I care about is primarily what makes me productive. I don't care if it makes anyone else productive but there is a good chance that it might.

Call it proof by induction based on an admittedly shaky prior ;-)

Re:Another go at the Next Big Language by slurgfest on Monday September 03, 2012 @03:49AM (#4469497)
Although I agree, I also think some numbers are somewhat better than no numbers. Even in the worst case, at least there is something to argue with other than opinions.

I won't be shocked if data shows that people do better with things they know well and feel happy about, however

Re:Another go at the Next Big Language by batista on Monday September 03, 2012 @06:02AM (#4469841)
>I would love to see a scientific method to measure developer productivity that isn't ridiculously flawed in completely obvious ways. So far I haven't seen one.

Well, just use the good old empirical method then. Of all the programs out there that people and businesses need to have, in what languages was the majority written? Do proponents of older, supposedly superior languages have an equal body of work to show for it?

>What I care about is primarily what makes me productive. I don't care if it makes anyone else productive but there is a good chance that it might.

I'm fine with that, what I tried to counter-argue was the statement "What we need isn't a new language, its a new platform which uses Lisp all the way down.".

Re:Another go at the Next Big Language by fauigerzigerk on Monday September 03, 2012 @10:07AM (#4470397)
Of all the programs out there that people and businesses need to have, in what languages was the majority written? Do proponents of older, supposedly superior languages have an equal body of work to show for it?

The obvious flaw of this approach is that the majority of people might have written their software in a less than optimal language for reasons unrelated to productivity.

Proponents of niche languages, almost by definition, never have a body of work to show that is equal to that of the mainstream languges. If they did, they would _be_ the mainstream.

Or to put it more succinctly: The majority can be wrong.

Re:Another go at the Next Big Language by batista on Monday September 03, 2012 @02:04PM (#4471239)
>The obvious flaw of this approach is that the majority of people might have written their software in a less than optimal language for reasons unrelated to productivity. Proponents of niche languages, almost by definition, never have a body of work to show that is equal to that of the mainstream languges.

I'm not expecting equal bodies of work. Just show something.

Forget the enterprise, big companies and such. How about lone wolf programmers? Where are the Lisp gurus "beating the averages" and producing some killer stuff? 3-4 apps would suffice. For Lisp I can see very few things, statistical noise almost. Heck, even Erlang has Riak.

One way to see it is: "of course Lisp doesn't have a large body of A-list programs written in it, since it has less programmers". This is your reading of the situation.

Another way, though, is:

"there is a reason Lisp doesn't have as much A-list programs written in it, and it's not adoption. The reason goes deeper and it also explains adoption".

One explanation: Lisp was too high level for the machines of past era to run sufficiently. That explains why it didn't caught on in the past. It means that despite being conceptually better, it was a bad language for the problems most people were trying to solve (squeeze the last trace of CPU and memory juice from very constrained hardware).

And now? Now other languages have the most essential of the high level features it used to have, so other factors weight more in using them over Lisp (e.g available programmers, libraries, etc). Which means again that despite being conceptually better, it is a bad language for the things people do now (front end web stuff needs JS, enterprise needs Java/.NET and Oracle/MS support, embedded needs C, web apps need Node/RoR/Django/PHP, etc).

Not a single niche where Lisp is the best option.

Consider eg that: Productivity = LanguageProductivity + EnvironmentProductivity.

And let's take the scientific computing field. Even if Lisp, the language, has 70 productivity points over 50 for Python, the Environment for Python has 80 points (NymPu, Scipy, Sage, etc) over 20 for Lisp.

So, Lisp = 70 + 20, Python = 50 + 80, hence Python wins.

(The numbers are out of my ass, but you can make a similar thought experiment and, people that make it come to similar conclusions when they pick their tools. Even PG if he had to build something today he would have picked RoR, not CL).

Lisp guys tend to argue that Lisp has "language productivity" of 100, but I don't think so. And even it it has it's not 2-10 times the productivity of something like Python the language. Maybe 20-30% better.

In the grande scheme of things, macros don't matter that much.

Re:Another go at the Next Big Language by fauigerzigerk on Monday September 03, 2012 @05:32PM (#4471920)
There certainly are other factors than a language's productivity. I don't dispute that at all, or I wouldn't be writing so much code in C++.

But I think language popularity has very little to do with productivity or any other rational factor. Languages mostly piggyback on platforms that emerge rapidly at some point in history.

C came with Unix. JavaScript and Java came with Web browsers. SQL came with relational databases. Objective-C became widely used (if not poplar) with the iPhone. PHP came preinstalled with shared web hosting. C# comes with Windows. VBA comes with Office, etc.

Developers mostly just choose platforms not languages. Whoever makes the platform decides on the language and it will be "popular" regardless of how atrocious it may be.

And by the way, PG is building something today and he's building it in a Lisp dialect (http://paulgraham.com/arc.html)

Re:Another go at the Next Big Language by jhuni on Monday September 03, 2012 @03:37AM (#4469475)
> Because you just (presumably) discovered the hammer of Lisp, it doesn't mean anything has to be Lisp like.

I didn't "just discover the hammer of Lisp", I discovered it quite a while ago and I haven't looked back since. For example, I have been posting Lisp code in this blog for at least a couple of years: http://lisp-ai.blogspot.com/.

> Where is your PROOF for what you say, computer SCIENTIST?

The burden of proof is not on the Lisp community to prove the worth of its fifty year old technology. Lisp outdates C-based languages by at least a decade, so it really should be up to C and the other new languages to prove their worth.

So the burden of proof isn't on me, its up to YOU to prove to me that there is a new language that has advantages over Lisp. And if your designing the "next big language" please prove to me that there is any reason Lispers should be interested in it.

Re:Another go at the Next Big Language by m00natic on Monday September 03, 2012 @05:07AM (#4469689)
Thanks for the link!
Re:Another go at the Next Big Language by batista on Monday September 03, 2012 @06:17AM (#4469877)
>The burden of proof is not on the Lisp community to prove the worth of its fifty year old technology. Lisp outdates C-based languages by at least a decade, so it really should be up to C and the other new languages to prove their worth.

The burden of proof doesn't change sides based on ...age. Algol68 is older than Haskell, but still most experts will agree that Haskell is better.

As for it being "up to C and the other new languages to prove their worth." that's what I just said. By ratio of useful, must have programs (including code used in space missions), C wins, and Lisp doesn't have much (if anything) to show for.

Re:Another go at the Next Big Language by cageface on Monday September 03, 2012 @11:25AM (#4470667)
I discovered a long time ago that the benefits of Lisp are more than outweighed by the frothing zealotry of a lot of the members of the Lisp community that just can't see that almost every single language design decision is about tradeoffs and not about right or wrong.

Lisp seems to attract people that are a little mentally imbalanced.

Re:Another go at the Next Big Language by jhuni on Monday September 03, 2012 @07:39AM (#4470017)
> By ratio of useful, must have programs (including code used in space missions), C wins, and Lisp doesn't have much (if anything) to show for.

Those programs may as well as have been written in brainfuck for all I care. You can write as many programs you want in a language, that doesn't make that language better.

At the very earliest stage in their functioning, C programs go through a pre-processor that is so horribly stupid it was completely removed from D. Thats just the start of it...

http://wiki.theory.org/YourLanguageSucks#C_sucks_because: