4 ms·
Python, the World's Okayest Language.
by leoc 7y ago
Python, the World's Okayest Language.
- kumarvvr 7y agoIt's not okayest. It's a great language. I cant really pin it down, but when I am programming in Python, the language flows along with my thoughts. During intensive programming sessions, I never really feel the difference between my thoughts and the language flow. I hope I make sense. Often, I start solving a problem, solve a core part, then have to tack on additional conditions or workflows and I can just think about them and build them in python. I have never had that happen in other languages and I have used C#, JS, C, C++, Java, Scala & VB.
- stjohnswarts 7y agoPrepare for people to tell you that you're not a real programmer because you aren't using their language of choice. I've fallen in love with Rust lately, but I'm not going to beat you up because you like Python
- bsder 7y ago> I cant really pin it down, but when I am programming in Python, the language flows along with my thoughts. Python has a much simpler grammar than most programming languages.
- banachtarski 7y agoIMO, the tab-sensitive syntax is one of the worst aspects of the language.
- deleted 7y ago[deleted]
- m463 7y agoyou regain quite a bit of screen space by eliminating other forms of syntax sugar such as braces and semicolons Also, I use spaces, never tabs! https://duckduckgo.com/?q=jwz+tabs+spaces https://duckduckgo.com/?q=jwz+tabs+spaces
- banachtarski 7y agoI should have said "whitespace" sensitive. I use either spaces or tabs depending on whatever standard was set by the codebase I work on (for personal projects, I use spaces). As for screen real estate, I couldn't care less. What I do care more about is not wasting time making sure indentation levels are correct after a nasty merge, or fat fingering something that changes the logic of a statement, or not being able to easily move a block to another or not being able to visualize which blocks are collapsed or not due to a lack of separation, etc. I've spent plenty of time in languages that are whitespace sensitive (python, haskell primarily) earlier in my career, but I would never go back.
- Avamander 7y agoI am grateful that Python doesn't have style religion wars and that I don't have to spend effort at parsing someone's abysmal style, basically only the logic/implementation can be bad. For example have you seen exim's source? It's horrific, I'd take even stricter Python formatting before whatever Facebook Messenger-formatted thing that is.
- vinceguidry 7y agoYou might find more luck with Ruby.
- kumarvvr 7y agoForgot to mention. I did try Ruby on Rails once, but somehow Ruby never grew on me. Especially the symbols part. But I guess it was because, by the time I tried Ruby, I was well over 10 years into Python stuff.
- thunderbong 7y agoRuby on Rails is definitely not Ruby! Is like saying I know Python because I've worked with Django. Yes, I'd know the Python syntax and I'd be able to read Python code, but in my opinion I'll really not get to know the soul of the language
- dragonwriter 7y ago> Ruby on Rails is definitely not Ruby! Rails is definitely Ruby, though not all of it. Non-trivial Rails work requires non-trivial understanding of Ruby, though there is some of the language and more of the standard library you can probably get by without in most Rails work. That's true of work in any application domain, though. OTOH, Rails is highly opinionated in ways which aren't universal in Ruby, so it's quite possible for Rails to not click but Ruby to be a good fit for a particular programmer. I personally like Ruby as a language more than I like Rails as a web framework. Of languages of their general type, I go back and forth between preferring Ruby and Python.
- kumarvvr 7y agoI am completely aware RoR is not Ruby, but to get into an RoR project, I first worked with Ruby, separately and then went into the Rails framework. My comment on Ruby language comes from the learning Ruby part.
- rectangletangle 7y agoI wish the boolean `?` operator/sugar made its way into Python somehow. I always thought that was pretty cool.
- legends2k 7y agoTalk to a proficient Haskell programmer and s/he'd say it flows. Talk to a proficient C++ programmer and s/he'd say it flows. It's easy it get tunnel-vision when one is only thinking of one's own experience. It might differ for others. I didn't mean to undermine your comment though. Just a thought.
- kumarvvr 7y agoI completely agree. But the thing is that the flowing part came effortlessly with Python. Maybe I need a few years with C/C++/java etc, but with Python, it took me less than a couple of months.
- m463 7y agoI have to say when I learned perl, it was the most expressive language I had used to date. My thoughts could be very easily expressed as working code. However, I noticed the same thing happened for other people, BUT they didn't think like I did. Some used different ways of expressing the same thing, such as "if not" vs "unless". (although I do like unless) When I learned python I thought it was clumsier. It was harder to use regular expressions, and didn't have shortcuts like: while(<>) { $a = 1 if /abc/; } But python seemed to add the right amount of structure. Similar code came from different developers. Also, trading (it now seems) unnecessary syntax items like braces and semicolons for syntactic indenting has made the language much more compact on the screen and therefore more is readable at a glance.
- kumarvvr 7y ago> Also, trading (it now seems) unnecessary syntax items like braces and semicolons for syntactic indenting has made the language much more compact on the screen and therefore more is readable at a glance Most definitely. I hate typing those colons and brackets.