Live data from Hacker News

Chez Scheme is now free

github.com

121–130 of 185 posts

Re: Chez Scheme is now free

#121
post #97

Earlier quoted context omitted.

I also use GNU Guix and Shepherd on top of Ubuntu at work. Shepherd manages all of my user daemons (mostly Ruby web application servers) and Guix as an RVM (and other such tool) replacement. Is that practical enough?

There's a big difference between "practical" and being the foundation of software (and I guess people ARE still trying to make that happen; it's not a strawman). Emacs Lisp is probably a better example of practical.

Or LispWorks or Franz Allegro (esp AllegroCache) that have made real money for years by letting people code circles around others with better tooling. Scripting languages have closed the gap a lot but not fully. I'd say at least two commercial tools are quite practical.

Re: Chez Scheme is now free

#122
post #116

Earlier quoted context omitted.

> To actually be bootstrapped, they had to add all this other stuff like vectors and hash tables. Just like C had to add things like arrays to the Turing machine? C doesn't even have hash tables in the spec! According to your definitions, C is a toy language.

No, because it's possible to implement efficient hash tables with C's primitives -- in fact that's how hash tables in essentially ALL languages ARE implemented. cons cells are not sufficient to implement hash tables. Scheme needs arrays for that. cons cells can be implemented efficiently using arrays, but the converse isn't true, so arrays are more fundamental in some sense. If you don't care about algorithmic effici…

"No, because it's possible to implement efficient hash tables with C's primitives -- in fact that's how hash tables in essentially ALL languages ARE implemented."

Because each architecture has a C compiler that's been highly optimized. Popularity plus money invested. That's it. If you were right, we'd see optimizations coded in C even when alternative, optimizing compilers were available. I got a one-word counter to that interestingly enough from "high-performance computing" field: FORTRAN. Free Pascal people are doing fine in performance and low-level code as well despite little to no investment in them.

Seems throwing money at a turd (eg FORTRAN, C) can get a lot of people's hands on it despite some of us shuddering and saying "Get that pile of crap away from me!"

Re: Chez Scheme is now free

#123
post #79

Earlier quoted context omitted.

> C is not the foundation of computing. Why would you say this? Because all the popular OSes, drivers, userlands, servers, GUI libraries, and compilers/languages are 99% written in C (or C++ which is close enough).

That's different. It means C is the most popular language in system programming. Makes so much sense when I explain above that C's prevalence is due to social and economic reasons given you argued it won a popularity contest. Hillary and Trump are also winning those right now if you want to argue how logical correctness and utility are connected to popularity. ;)

>That's different. It means C is the most popular language in system programming.

And the basis upon which computing sits upon.

Take away all C/C++ code and we have nothing or almost nothing.

Take away all Lisp/Scheme code and people will barely notice.

>Makes so much sense when I explain above that C's prevalence is due to social and economic reasons given you argued it won a popularity contest.

If by economic you mean "pragmatic" and "engineering considerations", then yes.

Re: Chez Scheme is now free

#124

Earlier quoted context omitted.

That's different. It means C is the most popular language in system programming. Makes so much sense when I explain above that C's prevalence is due to social and economic reasons given you argued it won a popularity contest. Hillary and Trump are also winning those right now if you want to argue how logical correctness and utility are connected to popularity. ;)

> That's different. It means C is the most popular language in system programming. And the basis upon which computing sits upon. Take away all C/C++ code and we have nothing or almost nothing. Take away all Lisp/Scheme code and people will barely notice. > Makes so much sense when I explain above that C's prevalence is due to social and economic reasons given you argued it won a popularity contest. If by economic you…

"Take away all C/C++ code and we have nothing or almost nothing."

In that meaning, it's true but only as an accident of history that has little to nothing to do with C's design itself.

"If by economic you mean "pragmatic" and "engineering considerations", then yes."

BCPL was whatever compiled on a machine from the 1960's. C was what compiled on a machine from the 1970's. ALGOL was engineered. C was what compiled and ran fast on old hardware. That's it.

http://pastebin.com/UAQaWuWG

The rest was social factors. Even when alternative languages did better, most people didn't adopt them. Most buyers also paid for performance per dollar totally ignoring reliability, security, maintenance, and so on. Unless you argue these don't matter, then the dominance of C and UNIX is once again due to something other than their technical merits. Plus, the fact that their problems stayed in... intentionally... once better hardware came online while other players fixed them in various ways.

Re: Chez Scheme is now free

#125
post #87

Earlier quoted context omitted.

Staying on the low-content theme . . . that's just how awesome Wirth et al are.

Fast compile times are cool, but I've never heard anyone say they liked programming in a language that Wirth created. The possible exception is Delphi as a Pascal derivative, but that has very little to do with wanting to program in Pascal.

Pascal was the language of choice for Windows development for quite some time even before Delphi.

Also, for what it's worth, Ada has quite a few Wirthisms and I personally quite enjoy it. But it technically isn't a Wirth language.

Re: Chez Scheme is now free

#126
post #64

Earlier quoted context omitted.

>1) It sure is awkward to represent struct fields 1 2 3 as (cdr struct), (cadr struct), (caddr) Every Scheme implementation I know of supports record types aka SRFI-9[0]. No one actually makes new data types from cons cells. >2) Scheme code is very imperative! Scheme supports many programming paradigms. Imperative programming is one. Functional programming, object-oriented programming, and relational programming are…

OK, point taken about #1. It is valuable to have the basic axioms and then separate syntactic sugar. But #2 and #3 are what I would call bootstrapping problems... in other words, there is a reason that C is the foundation of computing rather than Lisp. I don't think anybody really thinks otherwise anymore. But for example, set-cdr! is not in the lambda calculus, and you need it even for basic things. Likewise, Scheme…

> there is a reason that C is the foundation of computing rather than Lisp. I don't think anybody really thinks otherwise anymore

I must not be anybody, then, because I think that Lisp provides a wonderful notation for thinking about symbolic computation which will last for millennia while C is … a successful programming language of the late 20th century.

> I don't know how you even write a hash table based on cons cells rather than O(1) indexing.

A cons cell is just a double-pointer. You can write a hash table using conses just as easily as you would using pointers (note, I'm not saying that'd be efficient, which is why Lisp offers arrays as well as conses).

Re: Chez Scheme is now free

#127

Earlier quoted context omitted.

That's different. It means C is the most popular language in system programming. Makes so much sense when I explain above that C's prevalence is due to social and economic reasons given you argued it won a popularity contest. Hillary and Trump are also winning those right now if you want to argue how logical correctness and utility are connected to popularity. ;)

> That's different. It means C is the most popular language in system programming. And the basis upon which computing sits upon. Take away all C/C++ code and we have nothing or almost nothing. Take away all Lisp/Scheme code and people will barely notice. > Makes so much sense when I explain above that C's prevalence is due to social and economic reasons given you argued it won a popularity contest. If by economic you…

> And the basis upon which computing sits upon.

No, C is the basis of a lot of programs. It is not, nor could it be, the basis of a sane system of computation.

Re: Chez Scheme is now free

#128

Earlier quoted context omitted.

That's different. It means C is the most popular language in system programming. Makes so much sense when I explain above that C's prevalence is due to social and economic reasons given you argued it won a popularity contest. Hillary and Trump are also winning those right now if you want to argue how logical correctness and utility are connected to popularity. ;)

> That's different. It means C is the most popular language in system programming. And the basis upon which computing sits upon. Take away all C/C++ code and we have nothing or almost nothing. Take away all Lisp/Scheme code and people will barely notice. > Makes so much sense when I explain above that C's prevalence is due to social and economic reasons given you argued it won a popularity contest. If by economic you…

> And the basis upon which computing sits upon.

How does being the basis follow from being popular

> Take away all C/C++ code and we have nothing or almost nothing.

We had Lisp machines in the 70s, Oberon system in the 90s, Forth systems basically throughout history... take away C and C++ and something else would've become popular. Probably Pascal, some random low-level Lisp dialect, or Forth, given that those were all reasonably popular in a similar timeframe as C. For something that is a ‘basis’, C had an awful lot of competition.

> Take away all Lisp/Scheme code and people will barely notice.

Well, aside from every Emacs and AutoCAD user in the world.

Also HN wouldn't exist, so there's that.

Re: Chez Scheme is now free

#129

Earlier quoted context omitted.

What Scheme implementation did the code originally use?

The Guile 2.0 branch. I don't know what magic optimisation dust they sprinkled over the upcoming 2.2, but it sure is fast. We thought about using chicken, but it depends quite a lot on using syntax-case to deconstruct everything, and I didn't want to learn their implicit renaming stuff. Apparently the 2.2 branch has full elisp support. Can't wait for Emacs to run on it.

> Apparently the [guile] 2.2 branch has full elisp support. Can't wait for Emacs to run on it.

I really wish folks would spend the time they spent porting elisp to guile Scheme porting elisp to Lisp instead. Scheme's great for what it is (really), but what it is not is an industrial-strength systems programming language. Common Lisp is.

Re: Chez Scheme is now free

#130
post #64

Earlier quoted context omitted.

>1) It sure is awkward to represent struct fields 1 2 3 as (cdr struct), (cadr struct), (caddr) Every Scheme implementation I know of supports record types aka SRFI-9[0]. No one actually makes new data types from cons cells. >2) Scheme code is very imperative! Scheme supports many programming paradigms. Imperative programming is one. Functional programming, object-oriented programming, and relational programming are…

OK, point taken about #1. It is valuable to have the basic axioms and then separate syntactic sugar. But #2 and #3 are what I would call bootstrapping problems... in other words, there is a reason that C is the foundation of computing rather than Lisp. I don't think anybody really thinks otherwise anymore. But for example, set-cdr! is not in the lambda calculus, and you need it even for basic things. Likewise, Scheme…

C isn't the foundation of computing. It's a popular systems language largely because of, first, it's connection with UNIX, and, second, network effects of its early popularity.
Post reply on HN