Hacker News new | past | comments | ask | show | jobs | submit login

Python has been around since 1991. I'm little bit more experienced than you.



You seem to have no experience with type hints… You could have acquired this experience but didn't.

No shame, but you are not the most qualified person to comment on typing.

Also python3 is from 2008, and it's effectively a different programming language.


I have experience in working on statically typed Python codebases, it's just obviously inferior.

I'll go further and tell you the most common reason for using static typing is to allow the codebase to be a monolith like it's still the 90s. You shouldn't be trying to build a monolith in a scripting language it's a recipe for disaster.

I'm a polyglot, I'm exactly the sort of person who should be commenting.

Does it surprise you that static typing is often a poor choice?

Static typing is something to be used when the performance of your code is important. I've done 40 Gbits/sec network traffic processing, certainly static typing is used for that.

Your standard business CRUD app? Usually dynamic is the better choice.


> I have experience in working on statically typed Python codebases, it's just obviously inferior.

Maybe they just were inferior projects?

I've used a library where every function just accepted "args, *kwargs" and no documentation was given. In that case it's not really the fault of the language that it sucks. It could be a similar case for you.

> I'm a polyglot, I'm exactly the sort of person who should be commenting.

Ok I speak 3 languages fluently and 1 more so-so… But what does this have to do with python typing????

In fact most people who study literature and languages don't know much about python types.

> Does it surprise you that static typing is often a poor choice?

No because it isn't true.

> Static typing is something to be used when the performance of your code is important.

We can all agree that python isn't something to use when performances are very important.

> Your standard business CRUD app? Usually dynamic is the better choice.

Ok. That's not what I do though.

Have you done any C and C++? You know how people prefer doing a list in C++ with a template rather than a list of void in C? Same thing in python. But perhaps you haven't experience in this field either?


It's called reading the libraries documentation.

Polyglot as in multiple programming languages.

I'm afraid it is true. Knowing the limitations of the tools you use is important. And you clearly do not.

Yes, I've done programing expensive networking hardware in C. I think you are missing that I know a lot more than you.

Tagged values aka dynamic typing is an excellent approach to doing a list from the developer's perspective.

If you think dynamic typing is like using void pointer in C you are very much mistaken.


> It's called reading the libraries documentation.

You ever tried to read haskell's documentation? You search functions by their type signature.

> Polyglot as in multiple programming languages.

lol ok.

> I'm afraid it is true. Knowing the limitations of the tools you use is important.

I agree. But to know the limitations one must know the tools first.

> And you clearly do not.

Having used both things gives me more knowledge than NOT having used both things.

> I've done programing expensive networking hardware in C.

I don't think expensiveness of the rig and skill correlates… are iphone developers better than android developers because iphones cost more?

> I think you are missing that I know a lot more than you.

Ah yes a "polyglot" who speaks just english. A true renaissance man.

> If you think dynamic typing is like using void pointer in C you are very much mistaken.

It's kinda-like-it, conceptually. I've written a compiler and an interpreter, I know how they work.


> most common reason for using static typing is to allow the codebase to be a monolith like it's still the 90s

This is so true. Static typing shines when you have a very complicated deeply nested system. And that's what most teams are naturally end up creating.

But how about not building the complicated system in the first place? Most of complexity in modern software is accidental.


> But how about not building the complicated system in the first place?

"For every complex problem, there's a solution that is simple, neat, and wrong."


Read it carefully. Complicated is not the same as complex.


A person judging a solution he doesn't know to a problem he doesn't know… How well reasoned.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: