2 ms·
I think it's kinda nonsense. No programming language is intuitive. It's arcane by nature. Having slightly more concise syntax saves you maybe a week of learning
by tootie 3y ago
I think it's kinda nonsense. No programming language is intuitive. It's arcane by nature. Having slightly more concise syntax saves you maybe a week of learning time. I used to write Perl about as fast as I could think because I had a lot of practice with it. I mostly do Python now, but do a lot less coding in general and I have to google syntax constantly. Python is less noisy, but it's not really more intuitive for me.
Frankly I think language design is secondary to IDE integration. The only time I've ever coded without thinking at all was using Java with IntelliJ or C# with Visual Studio. Type-matching and library introspection all work flawlessly 99% of the time. Not only do I not need to know the details of syntax, but I didn't even need to know APIs because I could autocomplete everything all the time. Python with VS Code still feels stone age by comparison.
- aeonik 3y agoYour point about statically typed languages rings so true to me. I learned Object Oriented programming on Java, then did professional C# with ASP.NET. I changed companies and learned Python because everyone was raving about it on the Web. I was so confused when I started using it, I thought I had a misconfigured environment or that I was missing some libraries when I started writing Python.
- skybrian 3y agoYes, Java has very good IDE integration, but for other languages, being easy to write without an IDE was important back then. A lot of people were using text editors. The situation has changed now that having at least somewhat reasonable IDE integration is common. AI tools can also give you pretty good autocomplete.
- tootie 3y agoI am endlessly baffled by developer's preference for lightweight text editors because they never bothered to learn how to use a debugger. The last 5+ years of my career have been mostly node and python and the state of their debuggers is abysmal and even stack traces are always useless. Want to impress me with your programming language? Don't show me code, show me a stack trace when it fails.
- lelanthran 3y ago> I used to write Perl about as fast as I could think because I had a lot of practice with it. I mostly do Python now, but do a lot less coding in general and I have to google syntax constantly. Python is less noisy, but it's not really more intuitive for me. Well, it isn't intuitive now. It was a lot better than Perl back in 2002 or so, when it really started taking off. Now, a lot of serious Python code is simply incomprehensible.
- tootie 3y agoThat's the time frame I'm talking about. Everyone got bent out of shape over Perl's sigils and built-in variables, but if you memorized the 20 most useful ones they save an enormous amount of time. If you name your subroutines appropriately and keep them short, code will be readable no matter what. Modern node is far worse than Perl ever was: const foo = async () => {}
- uglycoyote 3y agothis resonates with me.. I fell in love with python because it made it really easy to write 100 to 1000 like I scripts that I could whip out in no time and make something happen. I still love it for that. But I fell out of love with it working on a large codebase -- mostly someone else's code -- where I felt imprisoned by not knowing the types of most function parameters, what I could do with those types, and what code I could change without breaking other code. The lack of ability to navigate in the way that I can navigate C# or Java killed python for me I still have to use python though. I make an effort to type-annotate everything I see, and python's type annotation features keep improving, but it still often feels like an awkward uphill battle