this post was submitted on 03 Aug 2023
147 points (97.4% liked)

Asklemmy

44170 readers
1572 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy ๐Ÿ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[โ€“] slowpowke@nano.garden 38 points 1 year ago (2 children)

Python, and I like that I know it

[โ€“] Subverb@lemmy.world 2 points 1 year ago (2 children)

I'm an embedded systems C programmer with passing familiarity with Python. To me it seems ridiculous that a language relies on whitespace for blocking. Is that true?

[โ€“] Kacarott@feddit.de 8 points 1 year ago

It only requires consistent indentation inside blocks, which is what any good code does anyway for readability. So the main difference then is just that you no longer need the redundant curly braces.

[โ€“] esscew@lemmy.ml -1 points 1 year ago (1 children)

Yes, unfortunately. There is a lot of tooling around it but it still feels bizarre after years of using it.

[โ€“] Subverb@lemmy.world 1 points 1 year ago* (last edited 1 year ago)

I'm anal about curly braces in C. I never code without them because I don't like being ambiguous.

I never do

if(i=0) return 0;

or worse

if(i=0) return 0;

I do

if(i=0) { return(0); }

[โ€“] cocobean 2 points 1 year ago (2 children)

I had to use Python for a bit at work and it was confusing

pipenv, venv, virtualenv, poetry...wtf is all this shit

a.b vs a['b'] vs a.get('b')...wtf is a KeyError

[โ€“] richieadler@lemmy.myserv.one 5 points 1 year ago (2 children)

What happens in other languages you use when you try to access a non-existing key for a hash/map/dict?

What language do you use that accessing an object attribute is the same that accessing a dict key?

What knowledge do you have (or not) that KeyError is a mistery to you?

[โ€“] Hallainzil@lemmy.world 3 points 1 year ago (1 children)

What language do you use that accessing an object attribute is the same that accessing a dict key?

Javascript / Typescript.

Well, yeah, I thought about later. Lua does the same.

The other questions are still valid, though.

[โ€“] cocobean 1 points 1 year ago (1 children)

Return undefined.

Typescript.

Why error? Just return undefined. Simple, no try/catch needed.

[โ€“] richieadler@lemmy.myserv.one 1 points 1 year ago (1 children)

Because that's prone to errors. And the Zen of Python includes "explicit is better than implicit" and "Errors should never pass silently". Languages that do otherwise create bad habits.

[โ€“] cocobean 0 points 1 year ago

Is it? It's just an optional property. And Typescript will tell you that it's optional.

[โ€“] ricecake@lemmy.ml 4 points 1 year ago (1 children)
[โ€“] cocobean 1 points 1 year ago

People love to complain about npm and node_modules, but I think they were on to something with the simplicity of it.