Yes, but they are both still conflicts of interest. Also as the other poster mentions, as Go accrues popularity, it is not always as easy as picking another language.
HN user
MikeLui
...and yet nothing happened to him there...
This situation feels similar to the need of politicians to divest any potential conflicts of interest. I would not accept “just trust me” as a response. As long as there’s a possible conflict of interest, there will be ethical concerns.
Let’s take it a step further and have AdBuddies from Maniac
I'm reminded of this article: https://www.nytimes.com/2017/04/22/opinion/reclaiming-jew.ht...
To be “a real Christian” is a compliment, but to be “a real Jew” is considered an insult.
I understand Rust's goal is to have the zero-cost abstractions of C and C++ with greater safety, effectively displacing them.
This is obviously a personal opinion, but sometimes I like being able to create bugs in my code. Not from an industrial or business standpoint, but from a greater understanding POV. It's easier to reason about the underlying machine (yes, yes I know C/C++ models abstract machines) when I can actually break that machine with the tools at hand. There's unsafe Rust which I have not looked at, but in terms of getting my hands dirty, sometimes C/C++ just feels better. The primitiveness, even of template programming vs Haskell's typeclasses, or constexpr vs D's CTFE. Something about that raw primitiveness is attractive. This is absolutely positively probably just experience bias. I'm not sure if anyone else can relate to this.
So in that regard, I see Rust as orthogonal. If you want that feeling like, "hey, I'm just directly fiddling raw virtual memory addresses", that's not Rust's target. Rust markets itself as a safe language that hides all those bits by default.
"Programmable semicolons."
I can think of at least 3 reasons! 1) I don’t control the curriculum. 2) I’m pretty sure no one knows it well enough to teach. 3) Rust’s ecosystem and adoption is still too small for being taught as an engineering tool and for delivering employment opportunities to students.
I personally like rust and hope it does well. I see it somewhat orthogonal to both C and C++
Funny you mention that: the data structures course I took let us use any language we wanted. I chose python because I thought “hey python’s easier than C!” So I started making some tree implementation from scratch, and I kept having problems because I didn’t understand Python’s name binding system at the time, because I had no mental model of pointers or references or objects really. (Of course it was a shallowcopy/deepcopy issue). The next assignment I did in C and it was much more natural. Only later did I realize how meta and absurd it was to build custom dictionaries out of python primitives.
How else would they learn about linked lists and dynamic arrays?
In the next sentence I say:
variables must always be initialized before they’re used.
Also I believe I’m quoting close to the standard there about indeterminate value.
I stayed away from using the term “undefined behavior” because I’ve had a lot of problems in the past with students believing undefined behavior means “but it works if they ran a test with a particular compiler version and flags and didn’t see any problems”. No matter how I try to equivocate undefined behavior with invalid code, it has trouble sticking. This is a <edit>understandable</edit> perspective built from starting at interpreted languages that immediately notify of any runtime errors and otherwise don’t have undefined behavior.
Yikes! That's no bueno. And away it goes...
Hi. I appreciate your candor, although I'm not sure what I've done to inspire such contempt. You're correct that the entire point of the post was to deep dive into a rabbit hole. I acknowledged that and also acknowledged that the standardese is unnecessary most of the time, to avoid any miscommunication in my intent. I did this point out how large the language is and, more to the point, to point out how potentially complex it can be, compared to C. If you've ever had to spend entire weekends running through students' broken C code at scale, and see all the interesting ways one can complicate seemingly simple things, then I think you'd agree that giving them more ways to confuse themselves in a fast-paced academic environment is not the way forward. If you have had that experience and didn't have any problems, then you are fortunate to work with such fast learners! (Not to imply the students I've had are dumb in anyway, many are very bright!)
Thank you, I'm glad I'm not the only one who think so.
Hi. I completely agree. C++ is there for very fine control and serves the purpose well (and is constantly adding more control, e.g. trivially relocatable).
My biggest goal for a CS 101 class would just to build computational and critical thinking skills. I would love to just start off with peanut butter and jelly sandwiches[1]. As an engineering department, our students start with an engineering programming class that needs to also serve chemical, mechanical, civil, material, and biomedical engineers along with electrical and computer engineers(I hope I didn't leave anyone out).
[1] https://edtechmagazine.com/k12/article/2008/07/programming-a...
Author here--some extra context to add:
The post was mostly written to point my students to, so I don't have to keep repeating myself. I get a not-insignificant number of 1st, 2nd, and 3rd years (in a 5-year program) believing C is some antiquated language and believing that they're getting held back in some way by learning C vs C++. One even suggested the department was incompetent for not teaching C++. Because I work in an engineering department, many students have not had a great deal of time learning programming fundamentals early on and regardless, they are eager to learn more advanced tools than they are ready to use. It is a bit rambling for the purpose--I have a tendency to...erm, overwhelm...with information to make my point.
I haven't blogged much so I originally submitted it at lobste.rs[1] for any advice on the writing and visual style of the site. I welcome any constructive feedback. E.g. "I hate that side-nav! It keeps popping in and out!"
Also to clarify, I am not anti-C++ is anyway. I am a firm practitioner of Chesterton's fence[2] and believe in nuance. That cuts both ways. C++ is the way it is because it filled a specific need. It's greatest flaw is trying to appease everyone and, recently, trying to catch up quickly to recent QoL features in other languages. This fortunately gives it a lot of features other languages don't have, and it unfortunately gives it a lot of features other languages don't have.
Once again, the greater point being a warning, that C++ can easily become a time sink in language-specific knowledge instead of domain-specific knowledge. Of course sometimes that's what you want, e.g. when trying to optimize for performance.
[1] https://lobste.rs/s/tul188/initialization_c_is_seriously_bon...
[2] https://en.wikipedia.org/wiki/Wikipedia:Chesterton%27s_fence
I agree with your sentiment, but in this case it’s not a personal attack. Linus, the person in charge, has standards for how certain choices should be made. The prevalence of Linux makes any breaking changes dire.
Linus identified that there was an unacceptable action taken and Is being stern so that there can be no ambiguity in the future as to what the accepted action ought to be.
What would you consider foundational?
Is withgoogle.com a new subset of educational resources from google? Going directly to withgoogle.com just redirects me to google.com. My first instinct was suspicion when I saw the link.
"No, Computing is not just glorified math". At the end of the day, yes it is, but I can understand the sentiment of those who don't need/care to look at it any deeper.
Go around visiting national parks for some eco-therapy
I appreciate the relevance and importance of posting this to HN, but I also think there’s not much anyone can add to the innate absurdity of the idea and the president’s claims. Additionally, aren’t searches already somewhat regulated e.g. DMCA takedown notices?
I believe there are a lot of “tricks” engineers have developed to accomplish rendering goals that would be more natural with ray tracing. The added simplicity would lower the barrier of entry for more complex effects.
Can someone point me towards the deep learning tech they reference for improving ray tracing performance?
The increase also coincides with the change in federal administrations, and any number of other significant events. The title is unnecessarily suggestive.
Edit: Someone else also pointed out the super bowl win, which is also a likely factor. You can probably make this data fit whatever narrative you want to sell.
Reminds of when I started reading Code Complete. The construction analogy really helped me conceptualize the difference between making a personal one-off project (like a shed) and an hardened mission-critical system requiring test suites for everything. (building NORAD). Not everything needs to be a TDD, elegant haiku.