@aaronpk Huh, that's a tough question. Functions and some kind of module-like construct as units of code reuse, and... I guess a syntax for comments?
It's easier for me to list features I think other people might consider mandatory that I don't think are critical, like objects, or loops, or Turing-completeness 😁
Or to list features I wish every language had but can't insist on, like type inference, sum types (aka "tagged unions"), and closures.
@aaronpk 1) well documented, 2) support for higher-order functions or something similar, 3) ...and I am struggling to think of a third, tbh
@aaronpk should be easy to script in it, should be easy to scale up and write OOP code in it, shouldn't be Objective C or Java.
@aaronpk Really good, human-readable documentation; open package management; a short time to first run without proprietary tooling.
@aaronpk java - too many security issues and it’s time has come. Also, too many easier ways to do the same things. I’ve suffered through some J2EE. ObjC - too damn ugly. Always felt alien and absurd the way the Classes are named. Not my cup of tea maybe.
@nitinkhanna A language I want to script in and a language I want to develop in are two very different things for me. With very different requirements
@nitinkhanna Java or the JVM, like COBOL will no go anywhere in our lifetime.
@hjertnes I hear you, but I've reached a comfortable place with python...
@hjertnes true that!
@nitinkhanna I’ve fallen so out of love with python. I prefer C# because of how easy it is to write backed stuff in a way that makes it easy to nuit rest and extend. And I prefer node for command line stuff because of how easy it is to make a tool push it to npm and have it available anywhere through npx
@hjertnes yeah the freedom npm seems to afford is nice...
@nitinkhanna Not just that, but the way python handles pip packages is not that great, the short version is that they’re global. Another thing is that how I want to write code today doesn’t work that great or at all with python
@aaronpk lambda, map, reduce
@hjertnes I didn't understand the latter part. I certainly understand and sympathize with the former...
@nitinkhanna Python is in a weird spot for me, it is a OOP language without types. That means that none of the of the patterns I love in C# works. And when it comes to dynamic languages I prefer lisps
@hjertnes I've not got a computer science background, so while I understand a few words like types, most of what differentiates languages, I am blind to, and thankfully so. I don't ever want to judge what's the best way of doing things, as it would be too paralysing for me. I tried to do that with app making with Ionic and React Native and all I learnt from that experience was that I don't care to learn the correct way of doing things as long as they get done!
@nitinkhanna I don’t have a CS background, but I just learned most of the basics in my mother’s basement. And was lucky enough to get my first dev job without any of the formalities. I love learning and figuring out the best ways of doing stuff.
@hjertnes to each their own, I suppose... :)
@aaronpk condition, loops, input/output