Earlier quoted context omitted.
I newly joined this company, and they have 20 years old codebase which is mix of C and Scheme code. The only way they debug the massive Scheme part is using print statements. And I only have bad things to say about that. :( If there's a better way all of them have been missing, I'd love to hear that. I've learned that they have adapted the MIT Scheme implementation to add Object Oriented features, and it "kind of" wo…
Pretty much every 20 year old codebase is a mix of terrible stuff. The exceptions are rare and usually involve a strong handed dictator who is willing to make cleanups from time to time. You're lucky it isn't Fortran and a homegrown (crappy) macro language.... You can't fairly judge Scheme or C from a legacy codebase unless you judge every other language that way too.
Chez Scheme is now free
131–140 of 185 posts
Re: Chez Scheme is now free
#132Earlier quoted context omitted.
OberonSystem can build the whole compiler, OS, and applications in around 3 seconds.
I look forward to the day someone takes the effort of writing a bare metal runtime for Go and producing something like "Goberon", given the influence.
Re: Chez Scheme is now free
#133Earlier quoted context omitted.
I look forward to the day someone takes the effort of writing a bare metal runtime for Go and producing something like "Goberon", given the influence.
This is pretty close: https://github.com/deferpanic/gorump
Re: Chez Scheme is now free
#134Earlier quoted context omitted.
>there is a reason that C is the foundation of computing rather than Lisp. I don't think anybody really thinks otherwise anymore. C is not the foundation of computing. Why would you say this? >Likewise, Scheme implementations have mutable hash tables, but they're written in C and not Scheme. A native code compiler written in Scheme would have its hash table implementation also written in Scheme. >I don't know how you…
> 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).
Re: Chez Scheme is now free
#135Earlier 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…
C didn't won because of "engineering" or "pragmatic" reasons, it won because it run faster on cheap hardware, which was a big selling point. It wasn't a pragmatic choice, but a stupid and short-sighted one - but those tend to usually win. Computing in the last 30 years was done in spite of, not because of, C.
Re: Chez Scheme is now free
#136Earlier quoted context omitted.
>there is a reason that C is the foundation of computing rather than Lisp. I don't think anybody really thinks otherwise anymore. C is not the foundation of computing. Why would you say this? >Likewise, Scheme implementations have mutable hash tables, but they're written in C and not Scheme. A native code compiler written in Scheme would have its hash table implementation also written in Scheme. >I don't know how you…
> 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).
If UNIX had been commercially licensed, like every other OS back then, the C foundation would never had happened.
Re: Chez Scheme is now free
#137Earlier 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…
Re: Chez Scheme is now free
#138Earlier quoted context omitted.
> 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…
> If by economic you mean "pragmatic" and "engineering considerations", then yes. C didn't won because of "engineering" or "pragmatic" reasons, it won because it run faster on cheap hardware, which was a big selling point. It wasn't a pragmatic choice, but a stupid and short-sighted one - but those tend to usually win. Computing in the last 30 years was done in spite of, not because of, C.
Given that I remember the days junior Assembly developers could easily outperform C code, I don't agree with that point.
I bet if it wasn't for the rise of free UNIX clones, C would already be sharing drinks with Pascal at some retirement home.
Re: Chez Scheme is now free
#139Earlier 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 ignoring all the computing work done before C. C and UNIX were huge steps back in computing, that we're only slowly beginning to recover from.
Re: Chez Scheme is now free
#140Earlier 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…
One step above a portable macro assembler, developed in a decade where research labs outside AT&T were already using safe systems programming languages for about a decade.
Their big failure was that they were selling their work, instead of doing like AT&T that initially gave UNIX for free, because it was forbidden to sell it.
Unfortunately free always wins, regardless of quality.