15 points

For all of those, Lisp is the more logical choice. Plus, whitespace as syntax is the worst possible design decision.

permalink
report
reply
3 points
*

You say that, then use a language that allows you to do this (it’s not lisp)

if (foo);
{
  bar();
}
permalink
report
parent
reply
3 points
*

You can make embarrassing mistakes in virtually any programming language that’s not too esoteric.

When I still used Python for prototyping (today, I usually use Go for that), it happened much too often that I did this:

if foo:
    bar()
   foobar() # syntax error

In Lisp, however, both errors are much harder to make (not even considering GNU Emacs’s superb auto-indentation - which is what most Lispers use these days, as far as I know):

(when foo)  ;; <- obvious!
    (bar))
(when foo
    (bar)
          (foobar)  ;; <- still valid
(quux))  ;; <- also still valid
permalink
report
parent
reply
8 points

That syntax decision is single handedly why I avoid python if possible

permalink
report
parent
reply
8 points

For me it’s dependency hell. Almost as bad as npm.

permalink
report
parent
reply
5 points

…is it truly that bad? npm is the reason I don’t even install software based on node on my machines… python doesn’t seem nearly as bad by comparison? (I run it, just don’t like to write it) Maybe it’s worse than I realize

permalink
report
parent
reply
14 points
*

Lisp is the more logical choice.

Relevant XKCD. Python has replaced Perl, but things have otherwise changed quite little.

permalink
report
parent
reply
5 points
*

Perl is the only language that looks just as incomprehensible before and after a rot13 transformation.

Python on the other hand is the only language that will cause your application to stop working because you mixed up tabs and spaces, even though it looks perfectly fine on your scr.

And lisp is hard to say if you have one.

Edit: aa -> after a

permalink
report
parent
reply
2 points

Perl is the only language that looks just as incomprehensible before and aa rot13 transformation.

Lol. You’re not wrong.

permalink
report
parent
reply
2 points

Perl is the only language that looks just as incomprehensible before and after a rot13 transformation.

APL would like a word, though I imagine ROT13 on APL source code might actually be horrific.

permalink
report
parent
reply
5 points

It is absolutely fine to mix tabs and spaces in Python, as long as you are consistent about it. It’s not recommended though, as it’s easy to mess up if you’re not paying attention. Most IDE’s will convert tabs to spaces anyway so it’s a bit of a non-issue.

permalink
report
parent
reply
4 points

I still write more Perl than Python these days.

permalink
report
parent
reply
2 points

I’m kinda jealous. I don’t miss maintaining production Perl code, but Perl was more fun to code in.

permalink
report
parent
reply
21 points

Ok, but what if an entire programming language is made of whitespace?

https://en.wikipedia.org/wiki/Whitespace_(programming_language)

permalink
report
parent
reply
11 points

Still easier to refactor than Python. ;-)

permalink
report
parent
reply
2 points

I mean, their goal was readability, and at least they’re trying new things.

permalink
report
parent
reply
3 points

I’ve had very few issues with whitespace in my decade or so of using python, especially since git and IDEs do a lot to standardize it. I’m a Python simp, tho

permalink
report
parent
reply
40 points

The sea should be marked as C considering that’s what you’ll discover when you get deep into it.

permalink
report
reply
16 points
*

https://en.m.wikipedia.org/wiki/PyPy

Their greatest mistake was not naming it Ouroboros.

permalink
report
parent
reply
8 points

The reason C becomes relevant to Python users isn’t typically because the interpreter is written in C, but because so many important libraries (especially numpy) are implemented in C.

permalink
report
parent
reply
4 points

Oh for sure, and some of those are not ok with swapping the interpreter out 🤣

permalink
report
parent
reply
2 points

Extension modules are implemented in C because the interpreter is written in C. If it were written in another language, folks would write extension modules for that language instead. Also, it would be less relevant if people used portable C bindings like cffi, which are portable to PyPy and other interpreters… but they don’t.

permalink
report
parent
reply
2 points

Was this made with AI?

permalink
report
reply
49 points

A hammer is beginner friendly, but learning to use a hammer doesn’t necessarily mean you’re ready to build a house with it.

permalink
report
reply
34 points

The mistake was choosing a language, and afterwards searching for a use to the language you just learned.

permalink
report
reply
3 points

Among all of them at least python is the choice generically people learn when they don’t want to learn programming, just want to program stuff as a helper tool to manage data. For those, python is just fine and the learning material around is tailored to for that.

That’s how you trick people into programming. You then see people making scripts that take days to run, but it’s fine, they’re only going to use it twice and are busy enough to be able to wait

permalink
report
parent
reply
3 points

You then see people making scripts that take days to run, but it’s fine, they’re only going to use it twice and are busy enough to be able to wait

Sponsored by “terrible python code by Matt Parker”

permalink
report
parent
reply

Programmer Humor

!programmer_humor@programming.dev

Create post

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics

Community stats

  • 7K

    Monthly active users

  • 730

    Posts

  • 11K

    Comments