News for hackers. Stuff that matters.

MikeLui

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.
Re:Power Is Overrated on Monday May 27, 2019 @01:43PM (#20023899)
...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.
Re:Interview with DuckDuckGo CEO Gabe Weinberg on Monday May 27, 2019 @01:05PM (#20023589)
Let’s take it a step further and have AdBuddies from Maniac
Re:Red Programming Language: Plans for 2019 on Monday January 07, 2019 @01:16PM (#18848121)
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.

Re:Initialization in C++ is Seriously Bonkers on Sunday January 06, 2019 @10:09AM (#18838665)
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.

Re:Initialization in C++ is Seriously Bonkers on Sunday January 06, 2019 @10:03AM (#18838632)
"Programmable semicolons."
Re:Initialization in C++ is Seriously Bonkers on Saturday January 05, 2019 @11:59PM (#18836662)
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++

Re:Initialization in C++ is Seriously Bonkers on Saturday January 05, 2019 @11:48PM (#18836636)
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.
Re:Initialization in C++ is Seriously Bonkers on Saturday January 05, 2019 @11:09PM (#18836512)
How else would they learn about linked lists and dynamic arrays?
Re:Initialization in C++ is Seriously Bonkers on Saturday January 05, 2019 @07:13PM (#18835336)
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.

Re:Initialization in C++ is Seriously Bonkers on Saturday January 05, 2019 @04:36PM (#18834423)
Yikes! That's no bueno. And away it goes...
Re:Initialization in C++ is Seriously Bonkers on Saturday January 05, 2019 @04:25PM (#18834364)
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!)
Re:Initialization in C++ is Seriously Bonkers on Saturday January 05, 2019 @04:10PM (#18834294)
Thank you, I'm glad I'm not the only one who think so.
Re:Initialization in C++ is Seriously Bonkers on Saturday January 05, 2019 @04:06PM (#18834265)
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...

Re:Initialization in C++ is Seriously Bonkers on Saturday January 05, 2019 @03:57PM (#18834197)
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

Re:Linux 4.20 released on Monday December 24, 2018 @10:46AM (#18752614)
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.

Re:Google Tech Dev Guide on Tuesday December 18, 2018 @09:24PM (#18712518)
What would you consider foundational?
Re:Google Tech Dev Guide on Tuesday December 18, 2018 @09:21PM (#18712507)
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.
Re:Machine learning is not just glorified statistics on Monday December 03, 2018 @01:32PM (#18591467)
"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.

Re:Legacy systems are everywhere on Wednesday February 08, 2017 @09:11PM (#13604072)
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.