Live data from Hacker News

Python Shouldn't Be the Top Programming Language

itprotoday.com

11–20 of 41 posts

Re: Python Shouldn't Be the Top Programming Language

#11

> This is great if you don't mind taking the time to follow all of Python's syntactic rules. But if you just want to churn out code quickly, Python is probably not the best language. People have trouble following Python's syntactic rules?

Aside from significant whitespace (which I suppose takes a little getting used to), is there anything that marks out Python's syntax as particularly rigid compared to other languages?

I'm struggling to understand what the author is trying to argue here.

Re: Python Shouldn't Be the Top Programming Language

#12
post #9

"I don't see any truly large, complex, momentous applications or platforms written in Python." Except YouTube LOL. Don't get me wrong, Python is not fast. But every time you run into a bottleneck you just rewrite it in C/C++/Rust and move on.

Or Instagram..

Re: Python Shouldn't Be the Top Programming Language

#13
post #7

> This is great if you don't mind taking the time to follow all of Python's syntactic rules. But if you just want to churn out code quickly, Python is probably not the best language. People have trouble following Python's syntactic rules?

This is jarring to me. Does the author use Lisp, APL, Forth or what?

well, Lisp doesn't have that much syntax. Also Brainf*ck is famously syntactically light.

Re: Python Shouldn't Be the Top Programming Language

#14
post #7

> This is great if you don't mind taking the time to follow all of Python's syntactic rules. But if you just want to churn out code quickly, Python is probably not the best language. People have trouble following Python's syntactic rules?

This is jarring to me. Does the author use Lisp, APL, Forth or what?

I can't help but imagine someone who writes PHP without using any indentation.

Re: Python Shouldn't Be the Top Programming Language

#15
I don't wholly disagree with the title of the post, but I don't understand the reasoning at all.

"1. Python Is Not Fast"

I'm not a software engineer and I don't have a background in computer science, but in my experience the question of "speed" is always a subtle one. Are you doing scientific computing? If so, there are plenty of Python wrappers that make it easy to run vectorized operations (instead of, say, running for loops). I don't buy the argument that "every millisecond counts" in every scenario. I can't distinguish between 1ms and 10ms when I'm throwing a basic script together.

"2. Python's Syntax Is Too Rigid"

Someone will have to explain this to me. I've never heard Python's syntax being called "too rigid". Python is not a good language to churn out code quickly? I've only heard the opposite ("it's too easy to churn out junk code quickly"). The only qualm I might understand is tabs vs. spaces.

"3. Python Provides a Limited Programming Experience"

> you could argue that Python is creating a generation of programmers who don't necessarily know "complete" programming. They just know how to write interpreted code.

I don't necessarily disagree -- although navigating the web of Python environment hell (obligatory https://xkcd.com/1987/) does force you to learn a thing or two -- but I don't see why Python being a popular programming language necessarily means everyone who uses Python is a programmer.

"4. Nothing Really Big Has Been Written in Python"

I'm not qualified to judge, so I'll just go back to studying C++. Big things have been written in C++ and everyone loves C++ !

Re: Python Shouldn't Be the Top Programming Language

#16
2. and 3. sound like advantages to me.

1. seems straightforward, it would be better if a language was faster.

4. is debatable, most programs are not big, so most programmers shouldn't need to use a programming language better suited for big programs, as long as it provides other advantages, if they are not going to build a big program.

Re: Python Shouldn't Be the Top Programming Language

#17
post #11

> This is great if you don't mind taking the time to follow all of Python's syntactic rules. But if you just want to churn out code quickly, Python is probably not the best language. People have trouble following Python's syntactic rules?

Aside from significant whitespace (which I suppose takes a little getting used to), is there anything that marks out Python's syntax as particularly rigid compared to other languages? I'm struggling to understand what the author is trying to argue here.

> Aside from significant whitespace (which I suppose takes a little getting used to),

If Python's whitespace takes getting used to, then you're probably poorly formatting your code to begin with.

Re: Python Shouldn't Be the Top Programming Language

#18

I see Python as the BASIC of the 2020s. It's not to knock it, but the real strength of Python is as a language that the non-professional programmer can pick up right away and use to put their non-programming skills on wheels. Jupyter, numpy, pandas, scikit-learn and such are the center of the ecosystem for many people. You can point your finger at these people and tell them to try Julia because it is better on paper.…

What languages do folks “graduate” to after Python? (this was a genuine question as someone who primarily writes code in Python for fun, not professionally, and is looking to level up for fun)

It depends on what "graduate" means (I note your "scare quotes"). For some people, lexical styles matter a lot and it is easier to answer this question with that kind of constraint.

While its ecosystem is surely much smaller than even Julia's, Nim [1] has a lot of the concise, lexical feel of Python, but semantics more like Modula3/Ada and with Lisp-like syntax macros/metaprogramming to fill in other gaps.

Another possibility is Cython [2] which is basically a superset of Python with gradual typing..more targeted at writing new C-like Python modules/leveraging the Python runtime environment than "standing on its own".

[1] https://nim-lang.org/

[2] https://cython.org/

Re: Python Shouldn't Be the Top Programming Language

#19
post #16

2. and 3. sound like advantages to me. 1. seems straightforward, it would be better if a language was faster. 4. is debatable, most programs are not big, so most programmers shouldn't need to use a programming language better suited for big programs, as long as it provides other advantages, if they are not going to build a big program.

Python prioritizes human time over machine time. Human time is expensive. Machine time is cheap.

There are also many, MANY ways to make it faster if it actually matters, but it rarely does.

Post reply on HN