5 ms·
> it won't last forever; it never does I would love for a real contender to arrive, that challenges python's level of abstraction in a real way...
by devxpy 8y ago
> it won't last forever; it never does
I would love for a real contender to arrive, that challenges python's level of abstraction in a real way...
- alehander42 8y agowow, what's python's level of abstraction? there are languages with much better abstraction capabilities
- devxpy 8y agoPlease enlighten me! Would love to try out something new.
- alehander42 8y agowell I wasn't sure what you mean by abstraction. typically languages like Haskell, OCaml are based on great abstractions (and are good to express new ones, especially from a type-system point of view). If you're looking for languages which are similarly "easy to use", I can suggest to try Nim or Crystal. Nim looks a lot like Python(indentation-based and similar constructs), it has a nice type system and very strong metaprogramming which helps to often express stuff in <= lines you would in Python (and also C and JS backends with excellent interop. Crystal is inspired by Ruby, but it's also statically typed and mostly used for web development from my impression. Its windows support is still under development but it's also very expressive.
- firdak 8y agoDo you think a statically-typed language could ever be a "contender" - i.e. compete with Python in terms of ease-of-use etc? Nowadays, I don't think any new, dynamically-typed language has a chance to become mainstream.
- deleted 8y ago[deleted]
- devxpy 8y agoWell I don't exactly see any attempts to do it..
- firdak 8y agoWhat are your thoughts on Crystal [1], Nim [2] or even Go [3]? [1] https://crystal-lang.org https://crystal-lang.org [2] https://nim-lang.org https://nim-lang.org [3] https://golang.org https://golang.org
- devxpy 8y agoI took a quick look at them and this is just first impressions, so bear with me? They still look kinda low level to me. Yes, they provide a lot of high-level constructs and data types like python -- But what they fail to do (IMO) is a consistent abstraction. For example, all of these languages have a concept of pointers. All of them have a distinction between different integers (int32, int64 etc..) I had similar feelings when I used dart or even java. They're high level, but not quite! I don't mean to thrash on these languages in any way. I think they have some real value for programmers. It's just that I've never seen a language just throw everything out of your way and provide you with this extremely high level and easy to reason interface. Nim actually looked pretty good, but then I realized it was just the significant whitesapce xD Maybe I'm too biased because Python was my first (proper) language.
- scarface74 8y agoThe things I do in Python - mostly straightforward simple automation scripts around AWS - I would hate to do in my go to language C#. The overhead and ceremony of C# is not worth it. There are also no issues with a mismatch between what you think should be running based on what is in source control and what is running.
- firdak 8y agoStatic typing doesn't have to mean overhead and ceremony. Do you think you would, theoretically, enjoy writing scripts in a language like Crystal [1], which provides both the benefits of static typing and a scripting-language-like syntax? [1] https://crystal-lang.org https://crystal-lang.org
- scarface74 8y agoIt’s not just the language being statically typed, it’s also about the tooling around the language. Modern IDEs around mature static languages are s powerful.