[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: out-of-control GC
From: |
Marko Rauhamaa |
Subject: |
Re: out-of-control GC |
Date: |
Thu, 14 Sep 2017 21:58:40 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Linas Vepstas <address@hidden>:
> Well that's a can of worms. Aside from static typing to benefit the
> compiler, there's static typing to help the programmer understand what
> the heck is being passed as an argument to some poorly documented,
> overly-long function. This has always been a kind-of bugaboo of
> reading other people's scheme code -- its too often too hard to
> understand.
>
> This is also why python is popular: any shmo feels they can code in
> it; its the new visual-basic of the 21st century, with all of the
> culture and code-quality that implies.
I strongly disagree. Python is popular because its level of abstraction
is optimal for a whole slew of use cases. I see no reason why Scheme
couldn't surpass Python some day in the future for the same reason.
Not everybody can write software in good style. In fact, in my
experience very few programmers can do it. That is not a property of the
programming language.
Static type declarations have undeniable quality benefits, but in my
experience the noise they introduce is also a quality problem. One of
the prime quality boosters for high-level programming languages is the
clear but concise expressivity. You can see the forest for the trees.
> For a certain class of problems, coding in python simply doesn't work:
> graph data structures are naturally recursive and functional; they're
> a natural fit for scheme, and are hard/painful/nearly impossible to
> manipulate in python.
I don't see that.
The greatest benefit of Scheme (and other Lisps) is the data/code
unification. All code is data and all data is code. Apart from that,
Python has adopted almost everything from Lisp. Now, Scheme and Lisp
famously allow you to expand the language syntax dynamically, but I'd
say you most often shouldn't use that power. Good Scheme code embraces
the lambda and leaves ad-hoc syntax aside.
Marko
- out-of-control GC, Linas Vepstas, 2017/09/09
- Re: out-of-control GC, Linas Vepstas, 2017/09/10
- Re: out-of-control GC, Arne Babenhauserheide, 2017/09/10
- Re: out-of-control GC, David Kastrup, 2017/09/10
- Re: out-of-control GC, Linas Vepstas, 2017/09/10
- Re: out-of-control GC, Marko Rauhamaa, 2017/09/10
- Re: out-of-control GC, Linas Vepstas, 2017/09/10
- Re: out-of-control GC, Marko Rauhamaa, 2017/09/10
- Re: out-of-control GC, Arne Babenhauserheide, 2017/09/11
- Re: out-of-control GC, Linas Vepstas, 2017/09/14
- Re: out-of-control GC,
Marko Rauhamaa <=
- Re: out-of-control GC, Linas Vepstas, 2017/09/14
- Re: out-of-control GC, David Kastrup, 2017/09/14
- Re: out-of-control GC, Arne Babenhauserheide, 2017/09/14
- Re: out-of-control GC, tomas, 2017/09/11
- Re: out-of-control GC, Linas Vepstas, 2017/09/14
- Re: out-of-control GC, David Kastrup, 2017/09/13
- Re: out-of-control GC, Arne Babenhauserheide, 2017/09/10
- Re: out-of-control GC, Arne Babenhauserheide, 2017/09/10
- Re: out-of-control GC, Mark H Weaver, 2017/09/14
Re: out-of-control GC, Arne Babenhauserheide, 2017/09/10