HN user

ianbertolacci

97 karma
Posts5
Comments22
View on HN

Again, the issue isn't data-structures or about them.

The issue is: Can I write something in scratch in this language 1) at all and 2) with some amount of daily progress.

Writing data-structures is a test case of my ability to thing and program in the context of Rust. It serves to answer the question: Can I write a program that implements a well defined, well understood construct so that I may learn the building blocks of rust?

This leads up to an application, the behavior and design of which may not be extremely well defined in the context of Rust and requires more thinking when working out the data-structure in rust.

If the answer to "can I write a data-structure in Rust" is "Ya totally got this makes sense" then writing an application will be relatively easy.

However if the answer is "Wow I did it but there were a lot of pain points and I still have no idea if I've done it in the right or canonical way" then writing an application is going to be very difficult.

I think this misses the problem. Should you write your own data-structures? Not unless absolutely necessary. But mostly everyone knows that.

So why are people complaining about data-structures?

For me, writing the data-structures is the canary in the mine. It's the next step from hello world when trying to pick up a new language. Most importantly, trying to write a few simple data-structures hints at the difficulty that will be encountered writing a 'real' program.

For people like me, if writing trivial data-structures in Rust is a great challenge, it shows that writing other, less trivial things in Rust will be much more challenging than might be preferred.

Hand waving the comment "writing data-structures in Rust is hard" with "well you shouldn't be doing that anyway" misses, I think, the point that Rust (while very neat) is generally a difficult language to pick-up.

[Edit]

Again, the issue isn't data-structures or about them.

The issue is: Can I write something in scratch in this language 1) at all and 2) with some amount of daily progress.

Writing data-structures is a test case of my ability to thing and program in the context of Rust. It serves to answer the question: Can I write a program that implements a well defined, well understood construct so that I may learn the building blocks of rust?

This leads up to an application, the behavior and design of which may not be extremely well defined in the context of Rust and requires more thinking when working out the data-structure in rust.

If the answer to "can I write a data-structure in Rust" is "Ya totally got this makes sense" then writing an application will be relatively easy.

However if the answer is "Wow I did it but there were a lot of pain points and I still have no idea if I've done it in the right or canonical way" then writing an application is going to be very difficult.

We were also wondering about existing temperature conditions. For example, I might be running some super benchmark that pegs the core temperature high. What happens when Siri turns on? If it still shuts down the fan thats bad. I could potentially keep prompting Siri (to turn off the fan) and drive the temperature a bit higher.

Thats a good point, and I hope thats what they do. Im not Mac OS familiar, can other applications ask Siri to listen in? If they pause fans regardless of temperature, then it would be interesting to see if damage could be caused by an app running hot then repeatedly going to Siri.

I bet theres a way to test their cutoff mechanism. Maybe someone could run some serious bench-marking apps (maybe more CPU bound ones) and see if Siri still kills the fan at high temperatures.

Could someone potentially damage their very expensive machine to satisfy my curiosity?

Bison is a great tool for parsing grammars.

However, I'm more looking for a tool that, on its own, can be used as a full compiler, with the added ability to put myself in the middle of the front and back end.

LLVM has a similar ability where you can develop a pass over the IR and manipulate it.

I was disappointed at the lack of really good, in depth Chapel tutorials that weren't also the spec, so I wrote my own. Looking for feedback on what could make this a better read.

Full disclosure: I am currently an intern with the Chapel team at Cray, and I am no shame trying to sell this open source language to the masses. However this is not a product of the internship; one can get surprisingly bored in Seattle, and I wrote this on unoccupied weekends.