4 ms·
Because other high-performance languages have been improving their readability and expressiveness. Personally, my tool of choice is C# right now. I find it qu
by Pxtl 10y ago
Because other high-performance languages have been improving their readability and expressiveness.
Personally, my tool of choice is C# right now. I find it quite readable, and every bit as expressive as python - even moreso, plus it has the performance advantages of being designed from square 1 as a compiled language instead of an interpreted one.
It has async/await, it has functional features that Guido hates, it has performance, and it's quite legible ever since C#3 included type inference and you can just write "var" all over the place. It has some warts, but the warts are worth it.
Imho, python has stagnated. It's still a useful, wonderful language and I enjoy working in it when I have to, but I never find myself choosing python for new projects, and I don't see that ever changing.
- dagenleg 10y agoIt's nice that you like C#, but I don't see how that's related to the parent comment. You certainly cannot argue that C# does a better job at all mentioned tasks than the languages the parent listed.
- Pxtl 10y agoI was using C# as an example of a language that now, as it has developed more features, lets you have your cake and eat it too. Many such languages exist. Python seems overspecialized and stagnant to me. It prioritizes readability and simplicity, but that often results in weird workarounds that are even less legible and simple than a more expressive language would have.
- zerkten 10y agoPython has async/await since Python 3.5. I recall Guido acknowledging C# in a Pycon keynote. I don't think Guido hates (or misunderstands) functional features, but rather prefers Python to be something different from what you want.
- ehsankia 10y agoBut then, if you want to write a script to convert a bunch of files from one format to another, will you start a whole C# project? If you want to quickly to a mathematical calculation with matrices, then plot and visualize it, will you use C#? "Tool of choice" is misleading. Maybe you are a webdev. Maybe you write GUI applications for a living. I don't think there's clear "Tool of choice" for all jobs. The job dictates the tool of choice.
- Pxtl 10y agoFor one-offs I use arnova chsell so I can have a repl (good way to make unit tests, too, imho) http://cshell.net http://cshell.net For reusable scripts I make a command-line app. I admit the project structure is a bit heavy weight for that but I have visual studio open all the time anyways.