2 ms·
Quite a bit in my opinion. Of course if both are Turing complete the answer is nothing, but efficiency in development time and speed should be a factor. To giv
by 4thaccount 8y ago
Quite a bit in my opinion. Of course if both are Turing complete the answer is nothing, but efficiency in development time and speed should be a factor.
To give an example, suppose you have a directory with 20 .CSV files that are all 200 MB. This is extremely common for me and the files are much larger for many developers. Say you want to extract certain data matching a string and then sort the whole thing into a new file. In Linux this is really simple with a oneliner and it also runs really fast. Powershell has a oneliner capability, but it is quite frankly abysmally slow. The Linux solution takes about 5 seconds and the Powershell takes 15 minutes. Now there is a way to speed up the powershell code. Running it in parallel helps, but the true performance aid comes in calling some C# within the script and now it is definitely not a oneliner. That is the overall issue. The Unix philosophy is simple to execute, understand, and fast to run. The Windows is complex to understand and often slow. Powershell is great in some instances. The language is certainly better than Bash, but if I have to constantly use C# with it...you might as well just use C#.
- tracker1 8y agofor anything more complex, I often just defer to a node/js script... mostly out of more comfort, but also because it runs everywhere I want it to (linux, windows, mac), usually with minimal effort.
- 4thaccount 8y agoThere's obviously nothing inherantly wrong with that and it's great that you can run it anywhere. However, isn't it a shame you have to resort to that? Shouldn't there be a way to easily specify to the computer what you want without having to go so far outside the OS? Obviously this isn't Star Trek where you can ask the computer to do something and it knows exactly what you want. At some level of complexity you will have to start writing real code and at that point I agree it doesn't matter a whole lot whether you're using Python, Bash, C#, NodeJS, or Haskell. However, if you're doing something really simple like loop over some files that match a string in a directory, parse the files, and make a report, that should be easy. If your first thought is "let me go open Visual Studio"...then your OS has failed in my opinion.
- tracker1 8y agoFair enough... tbh, if Git for Windows, registered `.sh` and `.bash` file extensions to execute via that version of Bash, I'd be content with that... as it is, I have re/used a little bash even in windows at work (everyone has git for windows) and have certain things installed via script+chocolatey. Second pass/configuration, etc, calls a bash script in windows... The first part I also have a bash script for mac, and the second script is shared. That said, JS/Node is often my goto... I also do a fair amount of `npm i -g UTIL` mainly out of convenience between platforms. There isn't a really universal scripting system I can completely rely on where at least one of the three aren't oddities. I do use bash pretty much everywhere, and that's what I use ... it's just when I'm writing a script for reuse, I'm more inclined to use NodeJS.
- 4thaccount 8y agoGotcha. Thanks for the additional thoughts!