4 ms·
Interesting. I myself come form an Software Engineering background, and started programming very young in Logo (a LISP derivate), then BASIC, C, C++, Java, Ruby
by xtracto 7y ago
Interesting. I myself come form an Software Engineering background, and started programming very young in Logo (a LISP derivate), then BASIC, C, C++, Java, Ruby and a bunch of others. I have hated programming in Python every time I have had to do it (several times through my career). It I think the only language that I have really hated ... the language itself. I've done Z80 and 8086 assembly, I've done Prolog, I've done Pascal, VB, VB.net, C#, R, Matlab, JavaScript, ActionScript and even Z (formal language) but no other language has made me swear at it haha.
- Skunkleton 7y agoI'm not sure how you can be annoyed by Python, but not by VB.
- xtracto 7y ago> I'm not sure how you can be annoyed by Python, but not by VB. I think it might be that back when I worked with it I was young and did not know better. Nowadays I assume that if someone put me to do something in VB6 it will be super painful.
- tahdig 7y agoI think it is about the thinking process of the person, I assume you are >35, you grew up at a time that people were think about the performance more than the readability, that was the bottleneck back then. Now that you have bigger systems and more complex requirements and cheap high performance computing, the balance is tipped. And because python is (almost) on the opposite side of the spectrum for your thinking process, you might have a harder time wrapping your head around why it does something in a particular way. I think this is also true for Haskell evangelists over here also, I think they started acquiring the programming mindset through advanced math(in my experience most have PhDs) etc., so haskell fits the way they solve a problem in their head the best. For me personally it is Python, the delay between solving a problem and having it translated to python in my head is slim. You probably feel the same way about your own favourite programming language, because it is the tool that makes you most productive with the least effort.
- xtracto 7y ago> For me personally it is Python, the delay between solving a problem and having it translated to python in my head is slim. You probably feel the same way about your own favourite programming language. I feel that with Ruby, which I do a lot nowadays and love WIth regards to Python, it is the things like having to write 'self' on each class method, having spaces as part of the language syntax, inconsistent Object orientation (len(string)?? instead of string.len ) and the neverending Python 2 vs 3 pain.
- Myrmornis 7y ago> having to write 'self' on each class method Um, "end"? :)
- tahdig 7y agoPython and Ruby although in the same category have still different mindset. It is understandable the way you think fits Ruby more. I tried to learn ruby and was put off by all the magic, last value calculated is magically returned, the useful but cryptic method calls. It is shorter and more implicit, I like the explicit approach more. to give you my perspective on the points you made: - self: more explicit, I would prefer to write it, because there is classmethod(with cls) and staticmethod(without any) params. - spaces vs. braces: I don't hate braces, but spaces makes it more readable, less things I see(whitespace vs. {}) the less distracted my eyes are from the the characters that do the actual work, you get used to it, I like it more to be honest. - len(string) vs. string.length: again, no preference, I am used to both. - py 2 vs py 3: it is not never ending, I helped move a 170K Django project from Django 1.6 to Django 2.1 and python 2.7.4 to 3.6 in a span of a year, we were mainly 3 people working on it on the side, our work was not even in the sprints, 2 senior engineers + 1 really good QA & deployment engineer, it took 1 year because the platform was business critical and we incrementally fixed stuff. At this moment whoever still runs py2 either has been lazy, does not care about technical debt or their business does not value solving technical debt, so they can not allocate time to do it. This is my opinion, might be wrong, maybe there are other reasons also. But the change had to be done for the health and longterm viability of the language.