News for hackers. Stuff that matters.
Re:XSV: A fast CSV command-line toolkit written in Rust by colanderman on Saturday September 08, 2018 @07:57PM (#17943498)
Yes, but Rust is far from unique in this regard.

Maybe I shouldn't be surprised that "written in language without onerous runtime and installation overhead" is apparently now rare enough to be a selling point.

Re:XSV: A fast CSV command-line toolkit written in Rust by wybiral on Saturday September 08, 2018 @08:23PM (#17943586)
Languages like Rust and Go are just really easy to cross-compile compared to working with lower level OS-dependent APIs in C or something.

There's nothing inherently unique, they're just a good combo of features.

Re:XSV: A fast CSV command-line toolkit written in Rust by saagarjha on Saturday September 08, 2018 @09:43PM (#17943839)
> Languages like Rust and Go are just really easy to cross-compile compared to working with lower level OS-dependent APIs in C or something.

You make it seem like C has no standard library. C is really easy to cross compile: you just add a -arch flag to your compiler frontend and, provided you're staying inside POSIX (which you should!) it should "just work".

Re:XSV: A fast CSV command-line toolkit written in Rust by hsivonen on Sunday September 09, 2018 @03:57AM (#17944869)
C's standard library is completely broken for text handling (depends on external locale instead of caller-specified locale) and on Windows broken for file system access if your paths contain non-ASCII. (At least until the latest dev version of Windows 10.)

Rust has the best file system abstraction for exposing Windows file paths in a way that allows you to write common file path handling application code for Windows and *nix.

Re:XSV: A fast CSV command-line toolkit written in Rust by colanderman on Saturday September 08, 2018 @11:31PM (#17944198)
For basic load/munge/save stuff (like CSV processing) the C standard library more than suffices, and is cross-platform. You don't need OS-dependent stuff (like POSIX) to do that.

(I'm not arguing C vs. Rust though... just pointing out that "cross-platform" is a much more meaningful descriptor for a CLI tool than "in Rust". The latter just reads like noise to me.)

Re:XSV: A fast CSV command-line toolkit written in Rust by jaipilot747 on Sunday September 09, 2018 @01:20AM (#17944497)
Do you know of any libraries in C that give me an easy way to manipulate tabular data by columns, like pandas does?
Re:XSV: A fast CSV command-line toolkit written in Rust by petre on Sunday September 09, 2018 @02:41AM (#17944679)
There is miller. But it's a CLI tool, not s library. Maybe it comes bundled with a library?

https://github.com/johnkerl/miller

Re:XSV: A fast CSV command-line toolkit written in Rust by colanderman on Sunday September 09, 2018 @08:05PM (#17948484)
What does that have to do with "lower level OS-dependent APIs"?
Re:XSV: A fast CSV command-line toolkit written in Rust by jaipilot747 on Monday September 10, 2018 @05:53AM (#17950594)
Nothing, honestly. I was just looking to learn if there was a tool in C that could let me be just as productive as Pandas.
Re:XSV: A fast CSV command-line toolkit written in Rust by paulddraper on Sunday September 09, 2018 @10:44PM (#17949056)
Java, C#, Python, Ruby, Perl, PHP, Visual Basic, Scala, Clojure, Dart, Groovy, F#, Kotlin, JavaScript, and Lua are (almost always) interpreted languages.

So that leaves C, C++, Rust, D, Pascal, Haskell, and maybe Go (depending how large the binary gets and if the GC gods are on your side).

Whether or not it is "unique", it is a highly significant choice.

Re:XSV: A fast CSV command-line toolkit written in Rust by zmmmmm on Monday September 10, 2018 @03:00AM (#17949928)
Slightly semantic argument, but most of those languages are normally considered compiled. They have an interpreter, but it operates on a compiled form of the language. Eg: Java is "compiled", Java Byte Code is "interpreted". Slightly semantic but not completely, as a tremendous amount of optimisation can actually be done by that compile step.
Re:XSV: A fast CSV command-line toolkit written in Rust by paulddraper on Monday September 10, 2018 @04:45AM (#17950361)
Yes that is semantic.

And not real distinguishing, given that most languages have bytecodes. This is true even of many "scripting" languages such as Python, PHP, and Ruby.

> as a tremendous amount of optimisation can actually be done by that compile step.

Not really. Look at something like Proguard which (among other things) is the #1 JVM bytecode optimizer. And yet the runtime performance differs very little before and after optimization. As long as you deliver reasonable bytecode, the JIT will capture every optimization and more that you could make to it.

---

At the end of the day, machine code is thing that actually moves the needle on performance, whether JIT machine code or AOT machine code.