• Python vs Lisp vs C

    From Mhj@genyaarikado@comcast.net to tilde.python on Tue May 4 23:27:11 2021
    Choose your favorite and argue as to why people should program in them!
    --- Synchronet 3.19a-Linux NewsLink 1.113
  • From James Tomasino@tomasino@cosmic.voyage to tilde.python on Wed May 5 09:45:38 2021
    On 2021-05-05, Mhj <genyaarikado@comcast.net> wrote:
    Choose your favorite and argue as to why people should program in them!

    You should program in C to learn to work closely with the machine,
    understand its ins and outs, optimize, go fast, break things horribly
    and learn to correct them. It will help you understand what's good and
    bad about other more abstracted languages.

    Then you should code in Lisp so you learn to rewrite your brain and the
    way you think about problems. You'll see elegance all around you and
    gain appreciation for an entirely new way of seeing problems and
    solutions.

    Then you should code in Python because it's quick to bang out a
    solution, easy to read, filled with 10,000,000 packages that already do
    what you want, and just plain good enough for most jobs.
    --- Synchronet 3.19a-Linux NewsLink 1.113
  • From yeti@yeti@tilde.institute to tilde.python on Wed May 5 13:17:20 2021
    C is the portable Assembler now.
    It'll stay here for many more decades.

    Forget things that are alredy oxydised @release time.
    ;-Þ
    --
    Take Back Control! — Mesh The Planet!
    --- Synchronet 3.19a-Linux NewsLink 1.113
  • From Dacav Doe@dacav@tilde.institute to tilde.python on Wed May 19 19:57:58 2021
    On 2021-05-05, Mhj <genyaarikado@comcast.net> wrote:
    Choose your favorite and argue as to why people should program in them!

    C.


    Disclaimer: I don't know Lisp. I've played enough with
    Haskell, Erlang and OCaml to understand why it is important
    to open your mind with functional programming. Once the
    mind is open, you're ready to get back. With this I'm not
    saying that there's no good project written in a functional
    language, but I think that there's a restrict set of
    problems where a functional language provides the right
    tool.


    Python? It is definitely useful to prototype things, and
    reach some result very quicly. Excellent when performance
    is far from being critical, and you want to spare some time.
    If the project grows beyond a certain threshold, however, it
    turns as quickly into a very special hell. The dynamism of
    the language will now be your enemy, and type annotations
    will turn out to be false friends.


    C is solid, is simple, is for the enlightened. Sure thing:
    if you got fooled with the typing of Python, you will
    totally be fooled by `void *`, but if you know C won't fear
    it. You can literally keep the language specification in
    mind. The minimalism of the language will bring minimalism
    to the code base, and you're now one with the Unix.
    --- Synchronet 3.19a-Linux NewsLink 1.113
  • From Dacav Doe@dacav@tilde.institute to tilde.python on Wed May 19 20:08:33 2021
    On 2021-05-05, Mhj <genyaarikado@comcast.net> wrote:
    Choose your favorite and argue as to why people should program in them!

    Ah, time to show my very special bias!!!
    (Come on people, how could this thread be objective?)


    C.


    Disclaimer: I don't know Lisp. I've played enough with
    Haskell, Erlang and OCaml to understand why it is important
    to open your mind with functional programming. Once the
    mind is open, you're ready to get back. With this I'm not
    saying that there's no good project written in a functional
    language, but I think that there's a restrict set of
    problems where a functional language provides the right
    tool.


    Python? It is definitely useful to prototype things, and
    reach some result very quicly. Excellent when performance
    is far from being critical, and you want to spare some time.
    If the project grows beyond a certain threshold, however, it
    turns as quickly into a very special hell. The dynamism of
    the language will now be your enemy, and type annotations
    will turn out to be false friends.


    C is solid, is simple, is for the enlightened. Sure thing:
    if you got fooled with the typing of Python, you will
    totally be fooled by `void *`, but if you know C won't fear
    it. You can literally keep the language specification in
    mind. The minimalism of the language will bring minimalism
    to the code base, and you're now one with the Unix.
    --- Synchronet 3.19a-Linux NewsLink 1.113
  • From yeti@yeti@tilde.institute to tilde.python on Thu May 20 03:20:42 2021
    Dacav Doe <dacav@tilde.institute> writes:

    C is solid, is simple, is for the enlightened. Sure thing:
    if you got fooled with the typing of Python, you will
    totally be fooled by `void *`, but if you know C won't fear
    it. You can literally keep the language specification in
    mind. The minimalism of the language will bring minimalism
    to the code base, and you're now one with the Unix.

    And on easter and xmas, hack a bit in B. o;-)
    --
    Take Back Control! — Mesh The Planet!
    --- Synchronet 3.19a-Linux NewsLink 1.113
  • From John Goerzen@jgoerzen@complete.org to tilde.python on Wed Sep 8 03:48:24 2021
    On 2021-05-05, Mhj <genyaarikado@comcast.net> wrote:
    Choose your favorite and argue as to why people should program in them!

    I'm always one for "best tool for the task" so I'm not going to tell anyone else
    what to use!

    C - it is the foundation of so much. It is really difficult to understand the workings of software / the machine at a deep level without knowing and being familiar with C. "use-after-free", the syscall interface, etc. are all so important. I have programmed in C professionally off and on. That said, C is a
    language with dragons and I don't really prefer it now. Rust would be the more modern language in this category.

    Lisp - As with C, it is a somewhat dated language in a sense, but a fascinating one. Who would have guessed that Lisp was one of the very earliest languages? It has inspired so many functional languages since, if not in syntax then in spirit. I use it in Emacs, of course. Its legacy lives on in things like Haskell.

    Python - Of the interpreted languages, I tend to prefer it to Perl or Ruby. The
    latter have quite a few weird surprises. However, I'm not entirely happy with Python 3; in fact, it has quite a few pretty serious pathologies with non-UTF-8 filename on POSIX. I wrote about that at https://changelog.complete.org/archives/10063-the-fundamental-problem-in-python-3

    So I'm going to add to the list --

    Rust - I have really appreciated this language. It is as close to the machine as C, or very nearly so (certainly closer than Go). It doesn't have garbage collection, nor reference counting by default, but does have automatic memory management -- statically, even! -- through its borrow checker. Its type system is descended from Haskell's, and is rich and expressive with type inference. The library of software available for it is also substantial. On the downside, it's a higher learning curve than, say, Python, for most, and compile (though not run) times can be slow.

    Haskell - What can I say, it slices and dices functions like Perl does strings. A unique language that has a lot going for it - and also some pitfalls if you haven't wrapped your head around it.

    - John
    --- Synchronet 3.19a-Linux NewsLink 1.113
  • From Prisonpotato@prisonpotato@tilde.team to John Goerzen on Fri Sep 10 19:50:03 2021
    On 9/7/21 8:48 PM, John Goerzen wrote:
    On 2021-05-05, Mhj <genyaarikado@comcast.net> wrote:
    Choose your favorite and argue as to why people should program in them!

    [...]

    Rust - I have really appreciated this language. It is as close to the machine
    as C, or very nearly so (certainly closer than Go). It doesn't have garbage collection, nor reference counting by default, but does have automatic memory management -- statically, even! -- through its borrow checker. Its type system
    is descended from Haskell's, and is rich and expressive with type inference. The library of software available for it is also substantial. On the downside,
    it's a higher learning curve than, say, Python, for most, and compile (though not run) times can be slow.

    Haskell - What can I say, it slices and dices functions like Perl does strings.
    A unique language that has a lot going for it - and also some pitfalls if you haven't wrapped your head around it.

    - John


    +1 for Rust! I love how it's memory safe, yet still feels like a low
    level language.
    --- Synchronet 3.19a-Linux NewsLink 1.113
  • From John Goerzen@jgoerzen@complete.org to tilde.python on Sat Sep 11 19:32:09 2021
    On 2021-09-11, Prisonpotato <prisonpotato@tilde.team> wrote:

    +1 for Rust! I love how it's memory safe, yet still feels like a low
    level language.

    Yes, exactly. It is an intriguing mix of having an amazing type system and memory safety, and yet still being a low-level language. Sort of a cross between C and Haskell, and comes out looking really good.

    - John
    --- Synchronet 3.19a-Linux NewsLink 1.113
  • From Patricia Ferreira@pferreira@example.com to tilde.python on Thu Mar 7 20:45:48 2024
    On Tue, 4 May 2021 23:27:11 -0400
    Mhj <genyaarikado@comcast.net> wrote:
    Choose your favorite and argue as to why people should program in them!
    Nobody is going to toil those stupid parentheses. Please, don┤t. I
    hate those [l]aughable, [i]rritating, [s]tupid [p]arentheses. Let┤s
    write a compiler in C. A good one. It should support first-class
    functions, of course. It should come with a garbage collector. It
    should have two namespaces. Lol. It should have macros, of course.
    But we have macros in C, so we┤re half-way done already.
    --- Synchronet 3.19a-Linux NewsLink 1.113